- Made cleanup_pending_glines() an event started off when loading the m_gline module - Removed s_gline.c, s_gline.h and metadata.c
- check_client: remove this useless IRCD_SOCKET_ERROR case
- We do not need a local copy of addr in accept_connection() Made several functions use the const keyword for read-only parameters
- Moved tstats() to m_stats.c and killed s_stats.(c|h) - Got rid of extra ServerStats pointer - Killed ms_error which was basically a duplication of m_error
+ make it compile, and maybe even run...
- Got rid of MAXCONFLINKS. You can even have a billion connect{} blocks if you want..
- Removed now unused llflags parameter from sendto_server()
- Ripped out lazylinks as discussed on irc. the main concept wasn't very well designed and will be done in a better way some day. Anyways, they propably never worked and were considered bloat by most people. Good bye!
- Typo
- More preparations for the new u@h mask storage system, also added some small example to report_confitem_types() how to deal with it when reporting items
- Show the total number of clients in a class in "STATS y|Y" output (as per irc2.11 / ircu2.10.12)
+ this should fix the bug with low ping timeouts for servers. keep cleaning up the conf stuff.
- Mainly re-wrote split_nuh() to fix a regexp kline bug where we would cut off the user portion after 9 chars, but also to be a bit more flexible when we have to deal with different user/host name lengths. - Re-wrote m_capture() to use split_nuh()
+ fixes for accept
recommitting: + added UMODE_BOTS to default oper umodes. From my experience most opers don't know/remember about this flag, and it gives them much help in hunting floods etc.
- Changed cluster{} to use a MatchItem struct
- Fixed core caused by memory corruption with cluster{} blocks
- ULINES/XLINES are actually MatchItems
- Fixed some nice core that showed us the dark side of using unions. rxlines (MatchItem) were contantly being trashed due to "aconf->status = status;" assignment in make_conf_item() - Fixed another core in conf_add_server()
- Finished WATCH implementation - Added missing 'return' after register_remote_user() call in nick_from_server() which would cause an extra hash_del/strcpy/hash_add combination.
+ removed invite_ops_only, controlled by +p now + sorted ircd.conf:channel{} a bit + added newconf framework for channel{} + added missing 7.2 RELNOTES
- fixed a typo
- Fixed several compiletime warnings
* prototypes are now prefixed with either nothing or EXTERN (meaning it's an ircd.dll API) * dynamic modules now work on win32.
- Fixed problem with IP throttling
- More conf cleanups, aconf->client count is no longer needed as an AccessItem can now be deleted immediately. - Note bug in s_conf.c with flush_deleted_I_P, it was trying to free MatchItems using an AccessConf this bug is in 7.1.4 as well as 7.2 flush_deleted_I_P() is no longer needed at all in 7.3 since AccessItems are removed immediately. - Fixed a few cores in server establishment, notably ->serv has to be allocated sooner since there are no confs to attach. make_server() is probably called once too often now.
- Make ->conf conf_ptr to be consistent in all places.
- removed free_access_item() - a few cleanups in s_conf.h as well
- get rid of map_conf_item and unmap_conf_item - Use an union in struct ConfItem, but only allocate memory needed
- Make delete_conf_item() table driven Still not quite done.
- removed an unused function find_conf_name() from here - fixed prototype for verify_access() - added free_aconf_items() free_match_items() - removed map_to_list() since this is merely a table lookup now - cleaned up delete_conf_item() a bit more Not done yet...
- Don't do any client/oper conf attach at all if any possible
- still need a temporary copy of the client auth block for much the same reasons as a copy of the passwd is needed. - need a copy of the oper conf for get_oper_name() so reuse no longer needed temporary spot for client auth block
- attach/conf cleanup take 2 - Each client has now one AccessItem for its connect stored in localClient->iline - The corresponding class is now stored in localClient->class The ramifications of this move are, there is no conf list to traverse to find the AccessItem, the class is instantly available from the localClient struct without having to traverse the confs list and indirectly through the aconf. This speeds up get_sendq etc. functions. As a bonus, at least 4 fewer bytes are used in the Client struct, since a dlink list is 4 words. It does mean there is no longer a separate conf oper, which leads to the kludge of patching the clients iline into an oper conf when a client opers up. I don't think the oper flags are used after the client is opered, so the patching operation may not be necessary. - Server confs are stored in ->serv->sconf as before but attaching happens much earlier. - server hub/leaf masks continues to be a dlink list but linked from the ->serv which is only allocated for servers. - cleaned up some comments, added a comment, notably to check_server() which badly needed it. - Pass ClassItem or AccessItem etc. in when it makes more sense than passing in struct ConfItem. This simplified and clarified rebuild_cidr_class() And lo, there was a great rejoicing.
- More GCC4 fixes
- Forward-ported GDENY core fix
- First pass at s_conf.c cleanup for attach clients - attach_conf() is gone replaced with attach_iline() Clients/servers have one single I line "attached", i.e. the confs list is gone. - Add attach_leaf_hub() Add a leaf or hub mask to the given server, ->serv must exist since there can be a list of hub masks and leaf masks, this continues to be a dlink list - Removed redundant find_conf_exact() This function can be replaced in all cases with find_exact_name_conf() notably because all find_conf_exact did differently was count whether an oper conf would cause an already connected client to exceed class limits. - oper_up() now takes an extra conf pointer pointing to the found oper conf, the oper flags are set in the client->iline as necessary in oper_up() - Cleaned up more prototypes that should have been moved from s_conf.h to parse_aline.h notably. find_kill() and find_gkill() - m_stats.c needs more cleanup since memory in attached "confs" is now not counted. This should be replaced with iline memory count and hub/leaf confs memory count.
- CHANNELLEN vs. LOCAL_CHANNELLEN fix. Local JOINs are limited to 50chars whereas remote SJOINs/JOINs can be upto 200chars for backwards compatibility.
- Split out most of the *line *resv stuff into separate file parse_aline.c should go eventually into the subdir conf - removed double -o in Makefile.in in src, this caused compile to fail for me
- splitted ircd/libio, all headers connected with libio sources have been moved for internal use only. To use libio interface, include "libio.h" (which is already done in "stdinc.h")
- removed last references to the ircd core, libio is independent now - to do: split headers
- reorganisation goes on, removed external references from libio/mem
- Reverted oper_privs_as_string() back to its previous version which is easier to maintain when adding new operflags. Even the one who wrote the new version introduced a bug by not taking care to keep the oper_flags_table in sync with the OPER_FLAGS_* bits. (which also no one really wants to do ...) - Updated it to deal with new 'remoteban', 'operwall' and 'operspy' flags
- svn:keywords
- svn:keywords
- Fix svn:keywords
- imported sources - can be moved later according to the directory/branching scheme, but we need the svn up
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.