- Cleaned up some special magic in show_iline_prefix. Someone tell me why we should copy aconf->user into a separate buffer after the prefix? Also renamed it to make_iline_prefix.
- 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
- Added mask_list dlink_list to MatchItem/AcccessItem structs. These lists will later be used to hold a chain of hostmasks used for hub_mask, leaf_mask, and auth{}/oper{} user masks so we later don't need to duplicate a whole MatchItem or AcccessItem via ugly ColllecItems.
- Removed death code. We don't have sth. like conf *lines* anymore
- Show the total number of clients in a class in "STATS y|Y" output (as per irc2.11 / ircu2.10.12)
- Don't free() source_p->localClient->auth_oper after calling oper_up() on source_p. Added small explanatation about why you shouldn't do that.
- More m_connect cleanups, I also never liked the idea of temporarily modifying a connect item, so let's do this a bit different now.
- Get rid of some really outdated PORTNUM assignments/tests in m_connect(). connect items have a default port set upon creation. - Untabified m_connect.c
- optimized ircncmp()
- Fixed core with regexp k-lines
- Removed comp_with_mask()
+ added support for integer enumeration in conf manager + will need this for listen{}
+ this should fix the bug with low ping timeouts for servers. keep cleaning up the conf stuff.
- Entirely changed the way of ban match processing to be more cleaner. It also should nicely speed up matching of pure ip (may include cidr mask) bans. - Removed match_cidr() which is now not longed needed - Add back some prototypes to res.h to fix compile errors
- Fixed broken CIDR bans (untested). Fix needs to be backported to 7.2 after it's been tested
- Fixed some compile errors and some shadowed declarations.
- Add TODO for adding global ungline support.
- Cleaned up find_user_host a bit more, also added support for "KLINE somehost.edu"
- Rewrite find_user_host() to use split_nuh()
- s/NICKLEN+1/NICKLEN/
- 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()
+ present halfops as ops to servers which don't support it + should work but please review before I break another net ;)
- Made struct Message.bytes a 64-bit integer datatype
- Kill mo_info() and use ms_info() instead
- Don't allow shared (remote) k-lines to be set without a valid reason
- documentings
- Got rid of multiple bogus_host() copies
- More documentation
- m_admin.c: fixed comment about parv[1]. Also did some style cleanups
- Updated doxygen.conf
- Continue doxyfying modules
- Flag the client as being ip-spoofed if setting a new hostname via CHGHOST, that way non-opers can't figure out the IP with a simple WHOIS. Suggested by adx
- Add missing semicolon
- This should fix broken set_topic() as reported by CoolCold
- Got rid of do_local_user() function
- Updated example confs to reflect topicburst config option
- Fixed bug where we wouldn't send the HUB capability token when using cryptlinks
- Only locally connected clients should be checked for a valid channelmembership when processing the INVITE message. Remote clients that are outside a channel e.g. services, are allowed to send INVITEs. This also fixes a bug with anope services. Reported by r0d3nt
- Fixed core in case aconf->cipher_preference and ConfigFileEntry.default_cipher_preference are both NULL pointers Reported by opteron-hani via Joan
- Fixed compile error caused by previous commit - Removed outdated comment
- Moved 'invited' dlink_list to LocalUser struct which will save some 1.3mb of ram on a typical efnet server.
- Don't pace "WHO #somechan" and "WHO *" as this breaks several clients
test commit (hi adx!)
fix beta verbage
+ fixed logic for maxlisters + if maxlisters=0, show the 'list disabled' notice
- parser change
- forward port fix for core from 7.2
- fixes infinite loop; spotted by *runedude* Jeremy Sayres and my email is runedude@runedude.net
- Fix indentation style on metadata source, and enable keyword expansion. (sorry!)
- Add a simple metadata API for extending channel/client/whatever structs via adding a single dlink_list to the structure you wish to make extensible. Reviewed by db.
- fixed nasty core in operator {} block if umodes was used, yy_aconf is not allocated during 1st pass
- Fixed the fix ;P It is possible that sockhost field is empty for remote clients coming from a TS5 server
- Fixed WHOIS bug with RPL_WHOISACTUALLY. Spotted by adx
- Added support for (\) escape character to has_wildcards()
- Fixed name clash between *FloodNoticed macros in client.h and channel.h
- Moved has_wildcards() from m_list.c to match.c and re-use it in some other places.
- forward port from 7.2, this bug is no longer present with last send.c
+ fixed my bustage
+ (MFC) fixed problems with amd64 and possibly other platforms
- Killed 'flood_noticed' int in LocalUser struct
- Fixed missleading comment about LocalUser.last in LocalUser struct
+ hopefully fixed /dev/poll
- Fix logic so it actually works right for opers/admins/unopered with spoof/unspoof logic
- add a maxlisters /quote set limit the number of possible listings going on at once
- Fix typo .type = ENTITY_NONE - Fix prototype for find_userhost() prototype and fixed calls of this function
+ another slight bug, ie '/msg 0 something' would not lead to any error message (as it was delivered)
+ fixed something that would obviously lead to a compile error
+ and yet another one, *sigh*
+ another slight fix for /msg nick@server,nick@server bug
+ fixed several m_message issues + no idea how many bugs did I introduce, or even if it compiles, be welcome to review.
+ fixes for accept
+ ported rate limiting fixes from 7.2
+ s/extern/EXTERN/ in include/conf + implemented class{} from scratch; it's almost done, I only need to add limit checking code + added nice syntax e.g. number_per_ip = 3, global:5; + added some aliases ie host_limit === number_per_ip, userhost_limit === number_per_userhost (replaces max_local & max_global mess) + check example.conf for more details.
+ updated RELNOTES
- Small cleanups to m_mkpasswd.c
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.
+ forgot to update newconf as well
- Changed cluster{} to use a MatchItem struct
- propset svn:keywords "Id" modules/m_watch.c
- Fixed parser error with max_watch. Reported by CooldCold
- Forgot to remove my debugging code ..
- Fixed core caused by memory corruption with cluster{} blocks
- Disabled optimization. i.e. restored -O0 - #if'd out My* inline functions from memory.h
- 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()
- Fixed problem where configure wouldn't deal properly with openssl 0.9.8. Reported by CoolCold
- Moved serial to LocalUser part
+ updated default NICKLEN to 15, and still 9 on --enable-efnet
+ missed this one
+ updated custom oper/admin messages
- Cosmetical fix to "STATS z"
- Updated configure
+ 7.1 -> 7.3
- Don't allocate memory until it is known it will be allowed - No need to allocate memory twice.
- Forgot to remove accept_num, we dont need it anymore.
- Got rid of build_nuh_list() - Readd ability of showing ACCEPT list via "ACCEPT *" as described in umodeg.txt
- Fix core, don't try to remove accepts for remote clients
- Fixed indenting in set_initial_nick
- Fixed misc compile errors
- Fixed and cleaned up new acceptcode, e.g fix memory leaks, don't allow wildcards in a mask when removing accepts, don't allow redundant masks etc.
- Cleaned up report_memory() a bit more. user_invite_count is actually the same as channel_invite_count.
- Style correction to watch.c - Add some statistical information about WATCH headers/entries to "STATS z"
- This commits the n!u@h accept code I'll tidy it up more later.
- Cleaned up watchcode
+ check_pidfile could go up, maybe even more, again a part of sorting bootup process
+ keep it compact, ie we have a sequence of things which together constitute "os environment initialization" (libio_init, outofmemory handler setup, fdlimit change handler etc etc), don't break it with ircd "me" setups.
- move me initialisation after libio_init() so make_dlink() works
- replace all MODE_PRIVATE with MODE_PARANOID - Can't use make_dlink_node() too early in startup or it will core
+ missing header
+ added logging{} block. I hate to add this rusty code to new conf but it's the only way for now.. + style corrections
+ moved max_watch to the beginning of 'registered users' subsection
- 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.
- no case sensitive on findmodule_byname
- Fixed compile error in m_invite.c and s_serv.c - Added m_watch.c
- svn propset svn:keywords "Id" - Use EXTERN for prototypes
- Finish off WATCH API
- Add watch.c
- First preparation for adding WATCH support
+ simple implementation of modules{} + ok this sucks, we need new module manager
- 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
+ use L_CRIT not L_WARN in parse_fatal
+ coded new serverinfo + added parse_fatal, similar to parse_error but using L_CRIT and server_die + cold moved out from reset_conf, verify_conf callbacks to a global conf_cold
+ an attempt to fix the HUB capability mess, we _should_ be able to establish an LL link now
- s/init_serverhide/init_admin/
+ implemented admin{} support
+ implemented serverhide{} + added splitmode activation/deactivation to conf/channel.c
+ added missing call in init_conf() + added serverhide{} skeleton
+ implemented channel{}
+ 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 typo in clear_ban_cache()
- Killed Channel.locmembers. The few cycles we save aren't worth the memory wasteage.
- sorted general{} in example confs according to src/conf/general.c scheme
- fixed a typo
- Fixed several compiletime warnings
- Added some asserts to exit_one_client()
- Killed count_whowas_memory()
- Rewrote whowas.c to use linked list routines from tools.c
* prototypes are now prefixed with either nothing or EXTERN (meaning it's an ircd.dll API) * dynamic modules now work on win32.
* compile dynamic modules under win32
- Fixed bug in sendto_channel_remote() that would cause multiple copies of the same message to be sent to the uplinked server. That one needs propably to be backported to 7.1.4 and 7.2
- Q. When is an address not an address? A. When it is a handle! Keep track of handle address and base address of loaded module separately. The address is also used for modlist and could be derived in modlist from handle, but later.
* dynamic module support for win32
* make win32 port work with libio.dll
- copyright fixes
* implemented general{}
* finish last commit
* added general{} framework
- rearranged new conf headers a bit
- somehow it didn't get committed, fixing
- Bind uses a semicolon as commentcharacter for resolv.conf. Let's deal with it properly - Do some logging if we skipped any namserver because we reached the max of allowed servers
- Fixed typo ...
- Fixed gcc4 related compilewarnings in inet_ntop6(). Reported by ThaPrince
- Fixed problem with IP throttling
- ETRACE should spit out an error if used by a non-oper. Reported by nenolod
- Removed two extra memsets in make_request()
- Fixed compilewarning about unused parc in a more or less clean way. Reported by Marines
- committed configure changes by nenolod (William Pitcock) to check for HAVE_DLINFO - fixed logic for picking up address for the mod_list
- Use dlinfo() to get the actual load address of the module i.e. its library base. The previous code was using the "handle" which is wrong. Hopefully should compile on linux as well, perhaps we should also have an HAVE_DLINFO checked for in configure.
- Removed LocalUser.port
- Make contrib compile with HEAD
- chghost desync fix by adx
- Fixed bug where we would increase Count.invisi even if invisible_on_connect is off
- fixed register_callback re-registering
bump patchlevel to 7.3beta. Change this to 7.3beta1 when we are ready to release beta1.
- compile libio as a dll on win32 - next step is compiling the whole ircd as a dll to export its symbols - after that, we'll be able to support loadable *.dll modules. NOTE: m_operspy.c doesn't compile now (error at localClient->iline)
- res.c would send out hundreds? of retry requests on clients that did not resolve, i.e. SERVFAIL. The code was essentailly ignoring SERVFAIL hence generating request after request after request. This appears to fix this major bug. It would be a good idea to add some logging here however.
- Fix m_testline.c in HEAD This bug is old. The code was missing a test for a kline conf and the sendto to print that kline out, in the case where it was a kline against and IP. i.e. foo@ip.ip.ip.ip it would work in the case where it was a kline against a dns.
- interim fix for memory leak in m_testline.c, Michael's split_nuh() would be a better solution. - restore original argv1 if needed, remember to also free this
- 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.
- Limit maximum WHOWAS replies for remote requests to 20, as per H6
- Fixed a bug where remoteservers would send us an ERROR on "WHOWAS nick count remoteserver.net". Propably one of the oldest bugs that got introduced in 7.0.
- 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
- fix compile warning - removed p variable
- m_testline fix using split_nuh()
= Commit y.tab.c part as well
- Fix ~ on oper flags, auth flags and connect flags
- fix testline to work with cidr i lines of the form foo@ip.ip.ip.ip/bits
- 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
- Updated example.conf as suggested by pi
- 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.
- Fix my nasty code
- renamed m_tb.c to m_tburst.c [could not resist]
- it is probably more clean to do it this way..
- Moved ms_tburst() to m_tb.c as suggested by adx - Fixed problem where we would send both TB and TBURST to the same server
- More TBURST changes
- First logic fix to m_tburst(). Don't fully reject a TBURST in case remote topic is the same than ours, that would just cause more desyncs. Just accept/propagate it, but don't send a TOPIC to the channel.
- Removed TBURST_PROPAGATE define, it's now enabled by default.
- Readded m_tburst.c. It currently doesn't compile and needs a rewrite.
- More GCC4 fixes
- Fixed compiling error; I think, needs review, but compiles
- Missing struct
- Fix another valid_wild_card() implicit
- Missing header; parse_aline.h for function valid_wild_card()
- Update contrib Makefile to compile with libio
- remove extra -o in gcc arguments
- Forward-ported GDENY core fix
- Change the topic whenever the topics don't match even if the TS is different because if we check topic TS and we have a topicTS mismatch, we will have 2 different topics on two different servers.
- fixed header name collision on linux *yawn*
- Fixed compile error in m_ctrace.c
- fixed core on /links
- 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.
- Moved llname to LocalUser struct
- Got rid of restart(), cleaned up m_restart() and make it use server_die()
- Fixed bug in m_whois() that would allow users to send a WHOIS to remote servers with an empty argument via "WHOIS someserver.org :"
- 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
- Finialise svn:ignore keywords to fix everything
- added dynamically extensible conf parser (compiles ok); enough to start modularising general{} -> general.c, auth{} -> auth.c and so on.
- svn:ignore for KDeveloper
- integrated close_standard_fds with libio_init
* attached misc/tools.c to misc/list.c, this should really have been done earlier. * moved mem_frob() to memory.c * single libio_init() instead of all startup functions; btw, I don't know if ircd's still able to boot ..
- register_callback: always restore the original handler at the end of the chain, not only when the chain is empty
test commit, hybrid-commits@ should really be working now
another test commit. hybrid-commits@ should be working now
test commit
s/beta/releasce candidate/
test commit
- fixed server form of CHGIDENT/CHGHOST/CHGNAME
- further win32 fixes, use ircd_signal.c interface (signals are wrapped around WM_USER's wParam) - note that the callback for WM_SIGNAL (ie WM_USER) defined in libio is independent from the ircd, ie variable dispatch_wm_signal is set in ircd_signal.c. - now it compiles, to do: turn libio into a DLL to allow symbol references in m_*.dll protocol modules.
- misc win32 fixes
- fixed contrib #includes
- Re-commit these since they accidently got deleted :x
- preliminary win32 fixes
- stale .depend
- svn:ignore for .depend
- svn:keywords *smacks adx*
- fixed errors on last commit - moved rlimits.h to comm
- 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
- removed external references from libio/net, still to do: comm
- removed external references from libio/misc - imported s_misc.c to libio, moved CurrentTime there
- removed external references from string/ - still to do : misc net comm
- removed some libio sources left in src/
- reorganisation goes on, removed external references from libio/mem
- split libio Makefiles for easier maintenance - moved pcre.h to main include/ as it is currently a part of libio interface (in the future all such headers should be moved to libio/ and integrated...) Now, libio components like comm, misc etc. should be as independent as possible (from the rest of ircd and from each other), to allow easy reuse in other software and to keep the interface clean.
- separate interface (irc_res.h) and implementation (irc_reslib.h) - moved resolver from comm/ to net/
- move non-irc related sources to /libio - todo: make it independent of the rest of code
- 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
- 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
- committing from src/ is generally bad ..
- added a hook for get_channel_access to allow oper override modules - please review
change to static "SVN"
switch to SVN Revision for serno
- well I don't think "one or two of these modules will core your ircd". too much bullshit.
- *hopefully* this hack fixes cryptlinks+ts6 instead of breaking them ;)
- documented cidr_bitlen
- disallow ':' as the 1st character of server passwords, forbid spaces too (breaks PASS %s TS 6 %s)
- test
- Update svn:ignore to match old .cvsignore
- 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
x
test 12312431241
blah
xxx
zzz
test
another
test 123
this is a test
yet another test commit
yet another test commit
test commit. will it email?
Deleted ircd-hybrid/trunk
Deleted ircd-hybrid/tags
Deleted ircd-hybrid/branches
- test commit
Initial import