- automake 1.11.1
- fixed compile errors as reported by Peter Evans
- branch off trunk to create 7.3 branch
- move ircd-hybrid-7.2 to trunk
- Update AUTHORS and add fgeek to contributors. There's still some stuff you have to do, henri!
- Fixed compile with --disable-openssl
- remove pointless check_class() call on ircd initialization
- fix build with poll, select and rt-signal
- rsa.c: removed outdated and missleading comments
- fixed broken cryptlinks as reported by henri - removed deprecated inet_misc.c - removed __attribute__ format, which sometimes really is usefull, even if unportable unless gcc, but for now they only give false warnings
- show_iline_prefix(): fixed an off-by-one when copying aconf->user. strlcpy really isn't hard to understand, is it?
- Add -Wextra -Wcast-align -Wbad-function-cast to CFLAGS if --enable-warnings is specified - Fixed several compile warnings - 64-bit cleanliness fixes, e.g., reorganize data structures to reduce storage/unnecessary padding
- remove tools.(c|h)
- move list manipulation routines from tools.c to list.c - mem_frob() goes to memory.c - sort out redundant/unneeded header includes
- more configure cleanups and modernizations
- add configure test for pcre lib and remove pcre sources from the tree
- continue doxyfying sources
- remove conf_add_d_conf wrapper
- remove unused small_file_date() function
- moved set_initial_nick() to m_nick.c
- remove half done and broken win32 support
- timeout_auth_queries_event(): don't try to close auth->fd twice
- change resolver/auth to use balloc memory pool - ircd.c: init_resolver() has to be called *before* read_conf_files(), otherwise recvfrom() aborts with ENOTSOCK in case there are configured connect{} blocks with a host that needs to be resolved on the very first configuration read.
- delete_resolver_queries(): remove extranous non-NULL test. ptr->data can never be NULL. let it crash, if it ever happens to be
- properly clean out irc_nsaddr_list before re-reading resolv.conf
- remove add_local_domain
- res_readreply(): check for fake replies before doing anything else
- update irc_reslib.c to latest libbind 6.0
- fix possible auth/dns related memleaks
- irc_res.c: fixed wide-spread off-by-one when copying hostnames
- res_readreply, do_query_number: removed ip6.int support. ip6.int delegations were deleted in 2006
- res_readreply(): fix broken logic with ipv6 enabled where we ONLY sent a second A QUERY in case a -broken- nameserver returns NXDOMAIN for AAAA when A record exists. fixed and removed workaround for broken nameservers.
- fixed bug where unregistered clients were not able to complete registration process with /quote PONG <ping_cookie> in case the client was assigned a zero value ping-cookie
- added a mersenne twister basedn prng
- speed up processing of incoming NICK/UID bursts - fixed archaic bug where bursting servers with missconfigured NICKLEN were able to desync the network's nickname database
- remove useless MyConnect tests in m_time() and m_lusers() - remove useless TS6 handling in m_who() since this is sent to local clients only
- avoid using native basename() since some implementations may or may not modify passed data
- removed last traces of crypt.c - add disable-static to libtools options
- remove crypt.c, snprintf.c
- added ssl_server_protocol configuration option to servinfo{}. valid flags are 'sslv3' and 'tlsv1'
- make valgrind shut up when calling epoll_ctl
- implement proper GUNGLINE support
- removed LL leftover in set_default_conf(). now ServerInfo.hub properly initializes on /rehash
- propset keywords
- squash several compile warnings
- remove m_error.c from src/
- lp64\llp64\ilp32 portability fixes
- move m_error.c to modules/
- fixed some configure mess and imported latest libtool sources
- Update autools versions. - Fix acinclude.m4 to work on FreeBSD at least.
-Remove obsolete references to LL
- Fix typo
- bug fix by caf <kevin@sylandro.com>
- Added some missing files - Moved HOSTLEN and USERLEN definition back to ircd_defs.h Those two shouldn't be configurable
- Implemented libtool-ltdl. Only shared modules are supported currently - Several build fixes and cleanups. ircd now builds and runs without any problems - Added back all files to SVN that are needed to built the daemon I really don't want to force other people that want to test the snapshots or svn versions to install yyacc, lex, automake, autoconf and libtool... No problem having required files in svn - Removed some automake maintainer stuff which is kinda useless for us
fix compile warning
Completely redo the build system. Now uses libtool and automake. Suggest you clean out your tree and then do ./autogen.sh.
- Added new 'server' option to listener::flags
- Killed s_stats.c
- Avoid useless irc_getnameinfo calls in several places
- Got rid of Serv.dep_users and Serv.dep_servers
- Backported new ACCEPT code which adds support for n!u@h masks
- Removed LazyLinks in 7.2 to stop people from asking why we keep broken code for half a decade. LL will be implemented in a smarter fashion in due time
- fixed bug which would cause invalid invisible counts on oper-up in case operator::umodes and/or general::oper_only_umodes contains 'invisible'
- change_local_nick(): No need to call clear_ban_cache() twice on source_p
- hash_find_id() should be using strcmp instead or irccmp
svn propset svn:keywords
flex & bison
Backported WATCH
- Fix some compile warnings with gcc 4.2.2 - Update configure.ac
- When a connect block uses a hostname instead of an IP, ircd will connect to the hostname's IPv6 if available, independent of the aftype setting. This causes the ircd to fail to connect to a IPv4 host that also has an IPv6 IP. Submitted By: evilmoon (hgchew) (via Sourceforge bts)
- Fixed occasional core when placing RESVs on channel names as repoared by Christopher A. Bongaarts.
- fix core in temp channel resv - remove unused variable in m_join - update RELNOTES
- fix typo in ircd_parser.y regenerate y.tab.c and lex.yy.c - fix order shown in CLIEXIT - remove mode parsing in ms_join - reflect addiction cconn_full flag
- Add +C - add etrace -full Reviewed by: cryogen, bear
+ fixed off-by-one which turned out to cause large memory overwrites + this is an old one, very hard to catch: 1) FreeBSD system, 2) a lot of clients (preferably 10K+), 3) exiting/reading from/writing to 128+ clients at a time, 4) ircd version where the bug shows up clearly (on 7.3 WHOWASHASH gets corrupted, and somewhat later we have a core: whowas_add_history -> dlinkDelete) This applies to ALL versions of hybrid since 7.0, but is known to disclose most noticeably under 7.3
- Fixed bug in find_conf_exact() which sometimes made CHALLENGE useless
- Misc. fixes to TESTMASK/TESTLINE as reported by Phar Lap - Prevent TESTLINE from reporting k-lines twice - Show the actual k-line reason when reporting k-lines - Test the host part of a u@h mask against the client's sockhost field in TESTMASK - Added support for nick masks to TESTMASK - CIDR is to come in 7.3
- Added missing %s conversion specifier to RPL_MODLIST. Now /modlist shows up whether or not a module is resident
- Fix for the parseargs() fix
- Fixed compile error
- Fixed ban cache as reported by ThaPrince
- Backported r754 (parseargs() didn't accept more than one switch)
+ fixed an old bug that affected our numeric delivery: Spotted by: stu Imagine we have a scenario like this: [origin A on server 0] --> [OUR IRCD] --> [TS6 server] --> [TS5 server and target Z] We'd try to address Z by its null ID only because the next server on the way is TS6. That led to delivery failure in cases like ts6(origin)->ts6->ts6->ts5(target).
+ fixed a bug where auths/klines/glines with digit wildcards (#) were not handled correctly
+ added DEAF isupport
- Rebuilt configure using autoconf 2.60
- fixed core on MODRESTART as reported by xZ/CoolCold
- Also show the full path of .included configuration files when reporting syntax errors. This is just cosmetical.
- Applied nenolod's parse_resvconf() fix
- ACCEPT fixes as reported by ThaPrince
- Fixed small memory leak in delete_auth()
- Updated copyright years in version.c and INSTALL - Bumped version to 7.2.2 in configure.ac and doxygen.conf
- close_connection(): Fixed some harmless bug that could result in incorrect sent statistics in "STATS t" - Updated RELNOTES
+ patch against truncated NAMES output Submitted by: Murat Deligonul <deligonul@gmail.com>
- check_classes(): Only call destroy_cidr_class() on a class that is ready for deletion, otherwise the current cidr count would become unadjusted in case a disabled class gets re-enabled later on.
- Fixed possible core introduced by previous commit - Put some asserts into detach_conf()
- Fixed class limit bug as spotted by stu. ("REHASH" would always reset current user count) - Made "STATS y|Y" show inactive (deleted) classes that still have attached clients
- balloc.(c|h): backported r544 (Killed Block::used_list) - Update RELNOTES
- Rebuilt y.tab.(c|h) using bison 2.3 - Bumped pcrelib version to 6.4. There were no changes since 6.3 that would have affected our hacked version of the pcre library, so this is mainly to satisfy paranoid I-always-need-the-latest-version people
- Fixed compile error in s_auth.c
+ backported numeric changes
- Fixed bug that would exit unknown clients in check_unknowns_list() that are still processing auth/dns queries. Basically check_unknowns_list() should only exit clients that have finished auth/dns and didn't send a NICK/USER combination since they have been released from auth. Reported by ThaPrince.
+ added invisible character ^O (cancel all formatting)
- actually remove the chars that should not be marked as visible chan chars
- At least I noticed it myself, I got it completely backwards when folding in Michael's suggested optimisation.
- optimise Michael's fake channel catcher. Make it work first, then optimise.
- Added channel::disable_fake_channels which disallows creation of channels that have ascii 2, 3, 31 and 160 in their names. - Minor improvements and cleanups to channel name validation routines backported from 7.3
- Fixed compile warning in change_simple_umode as reported by Volk
- Fixed an off-by one bug in the ip limiting code as reported by Volk
- Backported r376 (STATS y now shows the total number of clients in a class) - Rebuilt y.tab.c using bison 2.2
- attach_conf(): We even need to increment CurrUserCount if a class got attached to a server or operator. Spotted by stu. - Removed IRCD_SOCKET_ERROR define
- report_error() expects two %s conversion specifiers as reported by ThaPrince. This function really should get rewritten at given time. It just confuses people.
- Removed dalloca.h
- Added missing sigaction for SIGALRM
- Cosmetical fix to "STATS k|K". temporary regexp based k-lines should be prefixed with 'kR' and permanent ones with 'KR'.
- Backported core fix for regexp k-lines
- Ignore signal SIGXFSZ which killed the ircd process on daxnet because of a file size limit set too low. That way, write() and friends will abort and errno will be set to EFBIG. We may think about a NOTICE which could be sent to operators on a failed write attempt to either the log files or k/x-line files.
- Backported RKLINE fix so the user and host portion of a banmask don't get cut off after 10 and 63 chars, respectively. A split_nuh() rewrite was required for this. - Removed now unused xstrldup() function
- Merged check_xline() and check_regexp_xline into a single function
- Clear the TS6 CAPAB bit possibly set on an unregistered client connection in mr_motd(), mr_admin() and register_local_user(). This is a kludge for now.
- m_restart(): don't send restart notices twice to locally connected clients
- Proper typecasting in newblock()
- Added new general::stats_e_disabled configuration option. Known from RB, all it does is to disable "STATS e", which is a good idea if you have any exempted server ips. - Updated RELNOTES
- The 2nd and 3rd character of a SID may be a digit as well. Spotted by ThaPrince - Fixed compile warnings in log_user_exit()
- log_user_exit(): removed extranous newline character in log message. fixed invalid casts
- Fixed a bunch of compile warnings
- ts6 fixes as explained on irc
- Backported changes made in HEAD to get rid of Channel::locmembers. This is mainly to save about 5megs of ram on networks like efnet where we have about 600k allocated Membership structures.
- Added missing bracket
- can_send: splitted up some bigass if() statement
- Backported accept_connection() cleanup from HEAD
- Backported add_connection() speedups
- Added missing !u@h prefix when sending MODE message back to a client
- Backported msg_tree_parse() speedup
- When checking for first " in a line, make sure it doesn't run off the end of the line before it finds one.
- Fixed static build for m_cap() (fix doesn't need to get forward-ported to HEAD) - Added BS alias for BOTSERV
- 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
- channel_member_names(): properly count the number of prefixes that will be written to lbuf
- Backported CAP changes from HEAD since it doesn't affect any of the ircd's core components and should be supported as soon as possible.
- exit_client(): Don't bounce a QUIT back to origin's server Reported by adx
- Yet another mach_chan fix (broken #*chan vs. &chan match logic as pointed out by adx)
- Don't give away IP information unless it's an admin doing /stats P
- Backported match_chan() fix to get /list *chan* to work
- Cleaned up the resolver some more, added some comments
- Redo NXDOMAIN check so IPV6 still works
- Unbreak can_send
- Get rid of can_send_part. This also fixes a bug where voiced clients weren't able to send a PART message to the channel. Reported by ThaPrince.
- Properly close ssl clients
- reported by Jon, resolver was not checking for NXDOMAIN as well as SERVFAIL this caused odd DNS reports and took longer to connect. Tested by Jon (ThaPrince). (backported from head)
- rebuilt y.tab.c
- Fixed bug where "listen { flags = ssl; port 1,2,3; }" would result in only port 1 being set ssl enabled.
- Fixed typo in example.conf and send.c
- Got rid of the last IVARIANT we had and replaced it with two asserts().
- Fixed bug in fd_close() that caused a core when calling restart_resolver()
- Don't try to keep pointers to already freed memory on temporary_resv list when manually removing tempoary N/C resvs.
- Fixed possible core in expire_temp_lines()
- Fixed same problem for SSL_write. Some interesting reference about the problem we experienced can be found at http://www.mail-archive.com/openssl-dev@openssl.org/msg13939.html
- Fixed bug where all ssl clients would get disconnected in certain situations. (reported by many people)
- Add BMASK and TMODE onto message tree when building with static modules. reported by hb505.
+ fixed unaligned memory reference in resolver Submitted by: Immo 'FaUl' Wehrenberg
MFC r396 from ircd-hybrid 7.3 (s_auth.c reliability fixes)
- fixed compile error in sendnick_TS()
- Forward-port banfix from 7.2 (reported by ThaPrince)
+ this should fix sockhost relaying (ThaPrince #1)
- Soft caller ID fix as per ThaPrince (find_channel_link was called with wrong pointer)
- Imported recent channelban changes from HEAD which have been tested extensively. The match_cidr() fix didn't work in the first try, so I'm not going to bother with further debugging. - Removed match_cidr() and comp_with_mask()
- Forgot the half of the fix
- Fixed compile error on srv4 as reported by KEYofR
+ MFC support for halfop->op rewriting.
- Fixed compile error reported by Volk and CoolCold
- As reported by CoolCold: - Updated cmode helpfile - Added support for old-style topicburst = yes|no
- Someone fixed a core in ircd_parser.y but forgot to rebuild y.tab.c, so ircd still kept on coring if using 'umodes' option in operator{}
- Improved topic bursting. Read the comment in s_serv.c:send_tb for further info
- Finish off TBURST (untested)
- Fixed core in case aconf->cipher_preference and ConfigFileEntry.default_cipher_preference are both NULL pointers Reported by opteron-hani via Joan
- Backported revision 315 (trimmed memory usage by moving invited dlink_list to LocalUser struct)
- fixed infinite loop spotted and fixed by *runedude* Jeremy Sayres and my email is runedude@runedude.net
- This is part of the nasty core fix; the y.tab.c and y.tab.h files were committed earlier, I have no idea why this file did not get committed.
+ fixed unportable usage of va_list that make ircd cry on amd64
+ MFC /dev/poll
MFC set +b on opers by default
- Fixed another core on dlclose()
- Fixed core on /modunload, /modrestart
- Fixed problem where configure wouldn't deal properly with openssl 0.9.8 - Rebuilt y.tab.c using bison 2.1
+ 7.1 -> 7.2
- make findmodule_byname case sensitive
MFC: + removed invite_ops_only, controlled by +p now + sorted ircd.conf:channel{} a bit
- Fixed compile error in load_a_module() with glibc that don't have a Link_map typedef
- backported fix from HEAD done by Michael - Fixed bug in sendto_channel_remote() that would cause multiple copies of the same message to be sent to the uplinked server.
- Fixed gcc4 related compilewarnings in inet_ntop6(). Reported by ThaPrince
- Removed LocalUser.port - Removed two extra memsets in make_request()
Backported from HEAD - committed configure changes by nenolod (William Pitcock) to check for HAVE_DLINFO - fixed logic for picking up address for the mod_list
- MFC iorecv/iosend changes to allow charset recoding
- Fixed bug where we would increase Count.invisi even if invisible_on_connect is off
- MFC: fixed register_callback
(backported from HEAD) - irc_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.
- backported from HEAD flush_deleted_I_P is trying to treat MatchItems as if they are AccessItems I am almost sure this function is redundant as well.
- backport fixes from 7.3 (HEAD) for testline and ~ flags
- That one should be the propper fix for GDENY items. Previous fix broke the ability of stacking user/name/action combinations. That fix still needs to go into -HEAD, and VERY important, into 7.1.3. Someone please test this, e.g. write a small dump function that spits out GDENY items.
- CHANNELLEN vs. LOCAL_CHANNELLEN fix. Local JOINs are limited to 50chars whereas remote SJOINs/JOINs can be upto 200chars for backwards compatibility.
- And update the parser files
- At the very least, don't create a gdeny conf with a NULL name, this is bad manners.
- 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
- *hopefully* this hack fixes cryptlinks+ts6 instead of breaking them ;)
- MFC disallow ':' at the beginning and ' ' in server passwords
create 7.2 branch, we can move/rename it as needed.
- 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