- Got rid of several pointless irc_getnameinfo() calls in places where we can simply use client->sockhost. - Removed contrib/m_ltrace.c. Use TRACE instead. - Fixed compile errors in m_gline.c and m_info.c
- Merged check_xline() and check_regexp_xline() into a single function
- Forward-ported ts6 fix from 7.2 - Updated INSTALL
- Renamed MAXPARA definition to IRCD_MAXPARA and moved it to ircd_defs.h - Untabified parse.c
- Added missing !u@h prefix when sending MODE message back to a client
- 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
- register_remote_user(): Fixed bug where we would increase Count.total and source_p->from->serv->dep_users for unregistered remote clients and don't decrease them if we exit the client due to non existand server or fake direction.
- Removed some outdated XXX comments
- Implemented CAP command handler based uppon ircu's m_cap() - Added somewhat outdated draft-mitchell-irc-capabilities-01.txt until I get the latest version from kev. - Added "multi-prefix" cap so clients supporting "multi-prefix" may recieve multi prefixed NAMES replies, e.g. @%+nick1 @+nick2 .. - Fixed "make clean" for src/conf/
+ make it compile, and maybe even run...
- Don't allocate new dlink_node pointer on each client creation, rather reuse localClient->lclient_node for linking it into unknown_list and move it into local_client_list after client registration.
- Small changes so register_local_user() only takes 2 parameters instead of 4
- 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!
+ this should fix the bug with low ping timeouts for servers. keep cleaning up the conf stuff.
- Got rid of do_local_user() function
- 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.
- reorganisations which aim at: 1) moving read_conf_files() at the end of daemon bootup process, 2) making load_*_modules a part of conf parsing, after the 1st pass
- Fixed bug where we would increase Count.invisi even if invisible_on_connect is off
- get rid of map_conf_item and unmap_conf_item - Use an union in struct ConfItem, but only allocate memory needed
- 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.
- 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.
- 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")
- Re-added an equivalent of H6's sixth O-line field (Modes to get on operup). - Updated efnet's example.conf to reflect the new opers_bypass_callerid directive - Misc style corrections to s_user.c while on it
- 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.