- hash.c:exceeding_sendq(): constification
- Fixed server name leak for hidden servers in /who, /whois and /whowas
- Fixed kline issue as reported by Andrei Hristow
- conf.c:conf_free(): sanely clear hub/leaf lists fur debugging purposes
- Cleaned up RPL_WHOISADMIN hack
- automake 1.14.1
- Fixed EOB not working for remote servers (Fake Direction)
- list.c:dlinkFindDelete(): minor readability improvements
- channel_mode.c:set_channel_mode(): removed legacy code which has been introduced in rev 7.66(CVS) / Sat Dec 14 04:08:38 2002
- Avoid magically sized temporary buffers
- Avoid magically sized temporary buffers
- introduce_client(), sendnick_TS(): fixed buffer overflow if a client has all possible modes set that are defined in SEND_UMODES
- client.c: #include "parse.h"
- client.c:make_client(): make use of the SetUnknown() macro
- version.c: cosmetical changes
- stats_hooks(): no longer sending an extra empty line before RPL_ENDOFSTATS
- Update AUTHORS & version.c
- conf.c:valid_wild_card(): add missing va_end()
- send.c:sendto_anywhere(): removed unreachable code. server never sends SID-prefixed messages to clients - send.c:sendto_match_servs(): removed unused variable
- ircd.c: show serial number on startup
- Administrators may now see channel modes in /LIST
- src/irc_reslib.c: removed advertising clause
- Optimized find_person()
- client.c:find_person(): completely disallow UID guessing as suggested by Adam <adam@anope.org>
- Better distinguishing between usermode +g and +G in both /whois and /privmsg as suggested by Adam <adam@anope.org>
- listener.c:show_ports(): fixed ip address leakage even if hide_server_ips is set to 'yes'. Reported by Adam <adam@anope.org>
- Renamed kill_client_ll_serv_butone() to kill_client_serv_butone() just to satisfy Adam's OCD
- channel.c: optimized find_channel_link() as suggested by Adam <adam@anope.org>
- src/channel_mode.c: fixed small buglet in send_mode_changes() with server hiding enabled. Reported by Adam <adam@anope.org>
- src/numeric.c: added missing +h mode to 004 numeric when building the ircd with --enable-halfops as reported by Adam <adam@anope.org>
- src/send.c: fixed several compile warnings with -Wsign-conversion
- channel_mode.c: fixed warnings with clang
- Added usermode +W. Users connected via a webirc gateway get this mode set by servers. - /WHOIS now shows whether a client is connected via a webirc gateway
- Style corrections
- Got rid of find_kill() and find_kline() wrapper functions
- Administrators can now see +s channels in /LIST
- Stole ircu's RPL_WHOISACCOUNT numeric
- Cleanup build system
- find_person(): fixed naming convention - find_chasing(): reduced required arguments
- Bison 3.0
- Fixed issue with resolver timeouts
- Update AUTHORS
- ioengine changes as of 14AUG13
- ioengine_epoll.c:engine_add(): remove debugging notice
- Added initial SSL support for client connections
- channel.c:can_send(): fixed issue with channel mode +n having no functionality. Reported by Fawkes
- Fixed ident
- Sort out unused macros
- Another round of conversion specifier fixes
- Ficed conversion specifiers in some places
- Cleanup structures; fixed comments - Removed rfc1459_command_send_error() message handler
- ioengine changes as of 01AUG13
- ioengine changes as of 31JUL13
- ioengine changes as of 31JUL13
- ioengine changes as of 28JUL13
- send.c:kill_client_ll_serv_butone(): add missing initialization of vd.vd_args
- src/ioengine_poll.c: fixed compile warning
- ioengine changes as of 24JUL13
- Fixed misc. compile warnings
- ioengine changes as of 23JUL13
- ioengine changes as of 23JUL13
- Change command message handlers to int type
- Add completed_connection()
- ioengine changes as of 21JUL13
- ioengine changes as of 20JUL13
- ioengine changes as of 19JUL13
- motd.(c|h): fixed core with zero byte length ircd.motd. Reported by Fawkes
- ioengine changes as of 18JUL13
- ioengine changes as of 17JUL13
- ioengine changes as of 16JUL13
- Fixed bug that would prevent servers from linking together if connect::aftype wasn't specified
- ioengine changes as of 15JUL13
- ioengine changes as of 14JUL13
- ioengine changes as of 11JUN13
- ioengine changes
- Initial changes implementing new ioengine/message queues
- Working towards implementing new ioengine
- Removed old engine files
- svn propset
- Add various socket engines
- Add ioengine.(c|h)
- Add NEWIO branch
- find_accept(): solved XXX
- hook.c: constification/style corrections
- Fixed core with empty auth::spoof entries
- Automake 1.14
- White-space commit / style corrections
- Added XLINE and RESV logging types
- hostmask.c:hash_text(): removed pointless cast
- ircd.c: temporarily disable FAKEHOST capability
- Fixed Dom's irc-name
- doc/reference.conf: revised reference.conf by Dominic Hargreaves <dom@earth.li> - version.c, AUTHORS: added Dom to contributors list since he helped al lot with GNU/Hurd testing and bugfixing
- motd.c: fixed possible core with "STATS z" as reported by Fawkes
- Stole ircu's outbound message queue implementation for later use
- conf.c:attach_iline(): there should never be a conf that hasn't a class attached to it. Let it crash if it's otherwise
- s_user.c: style corrections, remove useless comment
- conf.c:valid_tkline(): minor cleanups
- s_serv.c:show_capabilities(): fixed buffer oddities
- numeric.c: constificate replies[]
- s_misc.c: constify weekdays[], months[]
- whowas: Renamed functions. add_history -> whowas_add_history off_history -> whowas_off_history get_history -> whowas_get_history
- whowas.c: renamed count_whowas_memory() to whowas_count_memory() - watch_count_memory(), whowas_count_memory(): constification, renamed variables, removed unused variables
- Rename Ban::username structure member to Ban::user
- Added FAKEHOST server capability for later use
- s_user.c:user_set_hostmask(): don't send QUIT message to channels if cycle_on_host_change is turned off
- s_bsd.c:ssl_handshake(): shrink buffer size of md
- Added generall::cycle_on_host_change configuration option as requested by Adam <adam@anope.org>
- s_serv.c: cleanup show_capabilities(). Replace sprintf() combo with strlcat()
- Back out previous changes to detach_conf()
- conf.c:detach_conf(): fixed bug where we didn't call remove_from_cidr_check() in some cases
- Added general::stats_u_oper_only configuration option
- trace_get_dependent(): use unsigned int here
- ircd.c: whitespace commit/style cleanup
- conf_parser.y: don't attempt to copy ciphers if there aren't any
- Add operator::ssl_connection_required configuration option
- Add usermode 'S' (client is connecte via SSL/TLS). Allows services to keep track of what users are connected via SSL, and allows to see ssl-status of remote clients in a /whois.
- rename 'fingerprint' configuration directive to 'ssl_certificate_fingerprint'
- channel_mode.c:add_id(): don't leak server names of servers that are hidden. Patch provided by Adam <adam@anope.org>
- automake 1.13.4
- Change CERTFP implementation to use SHA-256 hashes - Remove base16_encode()
- numeric.c: fixed core introduced in -r2228
- s_user.c:introduce_client(): must send CERTFP on client introduction aswell
- s_bsd.c:ssl_handshake() replaced a xstrndup() with xstrdup()
- Cleanups and fixes to previous commit -r2228
- Implement certificate fingerprint validation for oper{} and connect{} blocks. Some code taken from oftc-hybrid. Hello, stu!
- Added read_links_file()
- conf_class.c: white-space changes
- s_serv.c:write_links_file(): replaced a dlinkAdd() with dlinkAddTail()
- channel.c: optimized can_join(). Do less intensive tests before actually testing for ban/exempt masks
- motd.c: style correction
- Moved disable_remote_command configuration directive from general{} block to serverhide{] block
- Fixes to changes done in -r2164
- motd.c:motd_destroy() don't attempt to unlink a local/remote motd from MotdList.other
- motd.c:motd_cache(): do the stat() before fopen() + improve error reporting in case stat() failed
- Removed Client::client_host and Client::client_server members
- Removed usermode +C
- Style correcions/white-space changes
- Fixed debug assertion being triggered on ident lookup as reported by Stuart Walsh
- automake 1.13.3
- Now that invite- and ban-exempts are hardcoded, there's no need to delete them from ISUPPORT-list on /rehash
- Remove unused temporary_resv list. Move channel_resv_list to conf.c
- motd.c, motd.h: fix compile warnings
- motd.c, motd.h: add support for ip masks
- motd.h, motd.c: minor cleanups. use 'unsigned' whenever possible
- Cleanup ISUPPORT code and get rid of message.c
- Cleanup flattened links code
- Implement motd{} configuration blocks based on ircu's implementation
- Don't let non-SSL users join +S channs if ircd has been compiled without SSL support. Spotted by Stuart Walsh
- m_svsmode(), user_set_hostmask(): minor cleanups and fixes to previous commit
- m_svsmode.c: avoid HostServ floods
- s_user.c:user_set_hostmask(): send a QUIT/JOIN combination to other channel members to avoid desynchronized IALs
- s_user.c:user_set_hostmask(): don't unset FLAGS_IP_SPOOFING if the client's hostname has already been spoofed by an auth{} block based spoof.
- Finished proper implementation of usermode 'x' (UMODE_HIDDENHOST) Only services may set a fakehost via SVSMODE.
- s_user.c, s_serv.c, rsa.c: style corrections; mostly whitespace changes
- get_member_status(), valid_wildcard(): constification
- resv.c: move valid_wild_card_simple() to conf.c
- conf_parser.l, conf_parser.y: style corrections
- conf_parser.y: fixed logic error allowing connect{} blocks that don't have valid send/receive passwords
- s_user.c:report_and_set_user_flags(): minor spelling fixes
- m_version.c: removed confopts(). Configuration options can be seen in /info
- conf_parser.y: match() takes care of multiple globs. no need to run collapse()
- Undo -r1899 for now [Changed RPL_WELCOME to comply with rfc2812]. Looks like this confuses mIRC in conjunction with spoofed hosts
- Fixed broken spoofs
- Removed testline and testmask
- s_serv.c:hunt_server(): removed collapse() call. Let match() deal with it.
- version.c: update copyright years
- Fixed compile error
- Merged valid_username() and clean_user_name()
- automake 1.13.2
- Added 'locops' and 'wallops' to irc-operator flags --- Diese und die folgenden Zeilen werden ignoriert -- M include/client.h M src/conf_parser.c M src/conf_parser.h M src/conf_lexer.c M src/conf_parser.y M src/conf_lexer.l M doc/reference.conf M modules/m_locops.c M modules/m_wallops.c
- m_svsmode(), set_user_mode(): \n, \r, \t aren't treaded specially anymore
- Remove entering_umode and change_umode callbacks in preparation for the modular usermode subsystem
- Removed 'remote', and 'global_kill' oper flags, and added 'connect', 'squit', and 'kill' flags for better fine-tuning instead. Whether or not a specific action is allowed on a remote server can be controlled by appeding the ':remote' flag. For example: 'kill' allows only local clients to be killed, whereas 'kill:remote' allows to issue a KILL for remote clients
- Mostly style cleanups & whitespace changes
- Removed unused OFLAG_OPER_SPY definition
- Only show remote client exit notices if the server sent an EOB
- regenerate parser/lexer
- Added 'nononreg' (+R) to general::oper_umodes
- Added usermode F (remote client connect/exit notices) on public request
- Cleanup previous commit -r1957
- EOB is now send to all servers globally
- Print chunk capacity to debug.log instead of ircd.log
- Tweaked various mempool chunk sizes
- (RPL_REDIR) Change conversion specifiers
- Fixed strange user/oper idle-times shown in /trace
- Implemented channel mode +M. Clients that haven't identified their name with NickServ may not speak in a channel that has this mode set
- Update comment
- conf.c:verify_access(): removed unused variable
- Removed channel::quiet_on_ban configuration option. This feature is now enabled by default
- can_send(): fixed bug where bans were not checked against non-channel members
- can_send(): ops/hops/voices may not speak thru +c; ensure msg_has_controls() isn't called twice for non-chanops
- can_send(): ops/hops/voices may not speak thru +c
- Implemented channel mode +c. Known from other ircds, this mode basically prevents users from sending messages including control codes to a channel that has this mode set
- Move report_resv() to m_stats.c
- "STATS o" now shows how many times an oper{} block has been used. Just like "STATS x|q"
- Moved report_confitem_types() to m_stats.c
- Forward-port -r1920 [Dropped PCRE support]
- Made valid_wild_card_simple() easier to read
- Unidentified/unregistered nicks may not speak in +R channels
- Fixed shared{} blocks not working as expected - Fixed spoofs not working as expected
- Removed operflag 'nick_changes'. Operators can now set +n at will
- channel.c:get_member_status(): removed useless NULL pointer test
- Changed RPL_WELCOME to comply with rfc2812
- Made find_capability() return an unsigned int
- WHOIS may no longer accept wildcards
- Fixed broken compile with libGeoIP disabled
- Fixed core on rehash with resv exempts
- God Damn It; resv exempts should be working now
- Minor fixes to new resv exempt code
- Added basic support for libGeoIP - Added exempt configuration option to resv{} blocks
- Constification
- Added 'nononreg' (+R) to oper::umodes and general::oper_only_modes
- Cleanup m_map.c - Implemented serverhide::hide_services configuration option
- numeric.(c|h): remove RPL_TEXT, re-add RPL_RSACHALLENGE
- Constification, replaced few sprintf with snprintf
- Fixed some compile warnings
- send.c:sendto_common_channels_local(): fixed core which has been introduced in -r1734
- Add ERR_CHANBANREASON (numeric 485)
- Numeric 432 now shows the actual reason of quarantined nicknames
- Remove current msg locale implementation
- m_users, show_lusers: removed extranous arguments to sendto_one()
- bison 2.7.1
- Revert to -r1831
- bison 2.7.1
- Made all numeric defines use the actual string instead of the numeric value which allows to use gcc's printf format attribute - Remove current message locale implementation
- Forward-port -r1741 [Fixed logfiles not getting reopened on /rehash]
- Minor cleanups to hash.c; removed now unused functions, style cleanups
- Quarantined/reserved channels may now contain wildcards
- Renamed example.conf to reference.conf - Due to upcoming feature implementation, resv{} blocks are no longer stackable
- Removed recently added m_svshost.c. Services may now change the host of a specific user via "SVSMODE <timestamp> <target> +x <hostname>"
- Remote server connection and split notices now go to new usermode +e
- set_user_mode(): remove useless debugging notice
- myctime(): replaced strcpy() with strlcpy()
- Cleanup/reorganize header file layout - Fixed naming convention in some places
- Forward-port -r1792 [Added SVSHOST command handler which allows services to change the hostname of a specific user]
- Replaced all occurrences of ircsprintf with sprintf/snprintf and killed sprintf_irc.(c|h)
- Fixed possible core in try_parse_v4_netmask() as reported by bobnomnom
- Forward-port -r1784 [Fix bug where idle time sometimes is 0 even if the client didn't send any private message]
- Forward-port -r1774: - Configuration parser now does support 'year' and 'month' units - Add support for fake idle times to /whois. Known from csircd, this adds min_idle, and max_idle configuration directives to class{} blocks
- Forward-port -r1771 [channel_mode.c: check_string() didn't work right in case string started with a space. (i.e., "MODE #chan +b : c" results in a weird ban mask) Bug got introduced in ircd-hybrid-5/channel.c, Revision 1.26
- Fixed some other invalid conversion specifiers
- %lu conversion specifier has been used when it should be %u
- conf_parser.y: fixed warning introduced by previous commit
- Forward-port -r1740 [Fixed yyerror() not reporting configuration errors in some cases]
- Forward-port -r1750 [IMPORTANT: nick and topic lengths are now configurable via ircd.conf. A max_nick_length, as well as a max_topic_length configuration option can now be found in the serverinfo{} block] - OpenSSL 0.9.8s and higher is now required in order to enable ssl support
- Rebuilt conf_parser.c - Minor logic fixes to recently added away-notify capability
- Forward-port -r1744 [conf_parser.y: fixed fd leak with rsa public keys]
- Quick and dirty workaround to fix build on GNU/Hurd because of undefined PATH_MAX
- Forward-port -r1732 [Dropped support for linux rt signals]
- Add support for "away-notify" client capability
- automake 1.13.1
- parse.c:handle_numeric(): add missing space as reported by Mantas
- automake 1.13
- parse.c:handle_numeric(): implement ircu-based improvements/cleanups which basically avoid reprinting numeric buffers
- src/ircd.c: minor updates to myopts[] commandline options
- Improved WEBIRC authentication; added 'webirc' to auth::flags
- /info now also shows pathnames of g-/x-line database files
- Forward-port -r1685 [STATS q|Q now shows how many times a resv{} block has been matched]
- channel_mode.c: chm_invex, chm_exempt: ban and invite exemptions are now always sent regardless of CAP_IE/CAP_EX
- parse.c:handle_numeric(): added temporary workaround for servers sending numeric 451 (ERR_NOTREGISTERED) in response to the "NOTICE AUTH ..." messages uppon registration
- bison 2.7 & automake 1.12.6 - Update configure.ac
- event.c: fixed bug spotted by Jakub S. where timed events stopped from working if the system's clock is running backwards
- Fixed bug where specifying a listener port without an ip address didn't work
- conf_db.c: import backup/restore cleanups from 5.1.24
- client.c: fixed another compile warning with --enable-assert
- Cleanup unused header file includes - Fixed minor compile warning in conf.c
- memory.c: removed mem_frob() - automake 1.12.5
- Fixed inconsistent svn file properties
- channel.c:send_channel_modes(): now that CAP_IE and CAP_EX are mandatory, let's always send invite/ban exception during a burst
- conf_class.c: remove unused header includes
- add mempool.(c|h)
- hostmask.c:find_conf_by_address: fixed logic error which got introduced in -r1652
- Implemented memory pool allocator which basically is taken from Tor's mempool allocator for Tor cells - Fixed compile warnings in conf_class.c - ./configure --enable-assert works again
- added improved match() stolen from ircu - fixed compile warning in m_module.c
- changed match() polarity. match() now returns 0 on match and 1 on non-match This cleans up several places where function pointers of different matching functions like irccmp/strcmp/match are passed to other functions. - added improved collapse() to match.c
- Fixed class blocks not getting default values set properly - bison 2.6.5
- Fixed few bugs that have been introduced with config rewrite - Set some reasonable default values right after a class has been created
- minor MaskItem structure cleanup
- conf_parser.y: fixed some logic errors
- Finish stabilizing/cleanup of conf parser
- First pass of conf parser stabilization/cleanup
- conf.c: cleanup detach_conf()
- More config subsystem cleanups
- Fixed class limits for oper{} blocks
- Cleanup configuration subsystem - Fixed broken CIDR support for /challenge
- svn propset svn:keywords "Id"
- Add conf_class.c, conf_class.h
- Initial rewrite of the configuration subsystem
- restart.c: since save_all_databases may generate server traffic and log activity, it makes more sense to save the databases _before_ flushing the sendqueue/closing file descriptors
- restart.c: ensure databases get dumped to disk before terminating
- flesh out new *line database handling - simplify temporary bans
- read_uint8, write_uint8: use uint8_t instead of unsigned char
- minor cleanups to conf_db.c; Get rid of 16 bit limitation string lengths
- dbs are now periodically flushed on disc every 5 minutes
- Removed temporary_xlines list
- klines, dlines, xlines, glines and resv now make use of the new database; also, temporary *lines are now stored, so they're not lost after restarting the ircd. This also applies to G-lines.
- src/conf_db.c: Cleanup get_file_version()
- Added conf_db.c based on ircservice's binary database for later use
- bison 2.6.3
- Made m_globops() and ms_globops() use sendto_realops_flags() - Added message-type parameter to sendto_realops_flags() which can be one of SEND_NOTICE, SEND_GLOBAL, SEND_LOCOPS - Forward-port -r1617
- Second time's the charm? Moving svnroot/ircd-hybrid-8 to svnroot/ircd-hybrid/trunk
- modules.c: better error reporting if lt_dlsym() fails for some reason
- client.c:exit_client(): cleanup oddities when removing servers from serv_list. Connecting and HandShaking servers are never added to serv_list, so no need to try to remove them.
- parse.c: whitespace commit
- Removed remnants of MFLG_UNREG which is no longer needed with the current implementation of message handlers
- find_person(): allow services to seek clients by UID even if they're +i
- Replaced TimeStamp based services IDs with more flexible account names
- Removed general::kline_with_reason configuration options. It's now enabled by default - Removed remnants of the broken reject holding code
- Removed general::use_whois_actually configuration directive. This is now enabled by default
- write_links_file(): minor cleanups. Also remove useless assert()
- Fixed an off-by-one with spoofs. Spoofs are now also checked for invalid characters.
- conf.c: r(x|k)line.conf is gone. Don't try to load it on startup
- automake 1.12.4
- ircncmp(): ignored length variable. fixed
- removed server hostmasking leftovers
- fixed minor compile warnings
- removed unused terminal symbols
- Topics as well as user-aways are now sent in a burst by default
- Removed rkline.conf and rxline.conf leftovers. Regular expression based k- and x-lines can be set via ircd.conf only.
- Removed general::client_flood configuration option and added the new 'recvq' configuration directive to class{} blocks. The max size of a receive queue can be seen in "STATS Y" for each class - Update NEWS
- Removed two outdated/invalid XXX tags
- Update fgeek's email
- Update adx's email address
- flex 2.5.37
- automake 1.12.3
- Removed all unused references to GPATH and glinefile. There's no glines.conf.
- bison 2.6.2
- Removed use_invex, use_except and use_knock configuration options. These features are now enabled by default
- bison 2.6.1
- removed serverhide::disable_hidden configuration option - update NEWS
- Made Client::away a fixed-size array at the expense of a somewhat higher memory consumption
- fix msg_channel_flags() so it can deal with messages coming from servers
- removed &localchannels
- remove CAP_TB - add proper TS6 support to TBURST
- s_user.c:oper_up(): information about oper privileges can be obtained via "STATS p|o". No need to send a separate notice on oper-up.
- bison 2.6
- s_serv.c:sendnick_TS(): another TS6 fixup when bursting AWAY
- automake 1.12.2
- Added 'set' to operator privilege flags. Gives access to the "SET" command
- remove g-line acls - added general::gline_request_duration configuration option which simply replaces the harcoded PENDING_GLINE_TIME definition
- s_user.c:oper_up(): use get_oper_name() when announcing an operator
- Minor constification changes
- Added m_module.c and moved mo_module() into it
- Removed OMOTD --- Diese und die folgenden Zeilen werden ignoriert -- M include/defaults.h M include/conf.h M include/numeric.h M include/motd.h M src/s_user.c M src/messages.tab M src/motd.c M src/ircd.c M modules/Makefile.in M modules/m_challenge.c M modules/m_oper.c D modules/m_omotd.c M modules/m_rehash.c M modules/Makefile.am M NEWS
- conf.c: fixed stupid bug which would set the default value of max_chans_per_user to 50 while setting max_chans_per_oper to 0
- Removed MODLOAD, MODRELOAD, MODUNLOAD and MODLIST command handlers. They all have been replaced by the new "MODULE" command which now deals with the LOAD/UNLOAD/RELOAD/LIST parameters.
- Removed "MODRESTART" command. "MODRELOAD *" will now reload all modules.
- Backed-out -r1429. Unregistered clients may again speak in +R channels
- Added channel::max_chans_per_oper configuration directive. The old way was to let ircops join three times the amount of max_chans_per_user. I'd rather would make this a class{} based limit, but this would require us to reprint the ISUPPORT buffer every time a client connects.
- NICKLEN definition no longer respects the trailing NUL character (reverts to old behavior)
- channel.c:can_join(): use strcmp() instead of irccmp() when comparing channel key (+k)
- Unregistered clients may not talk in a +R channel
- parse.c: make msg_tree_parse() only take one argument - client.h: rearrange structures
- update comments "I: line vs. auth{} block"
- automake 1.12.1 & bison 2.5.1
- channel::disable_fake_channels now also disables ascii 29 (mIRC italic) when set to yes. Italic text (ctrl+i) is supported since mIRC 7.0
- "STATS Y|y" now reports CIDR limits as well
- Truncate 'cidr_bitlen_ipv4' to 32 if someone feeds us with a value higher than this. The same applies to 'cidr_bitlen_ipv6' that has a value higher than 128.
- Minor cleanups to check_server(). Checking for long servernames was redundant here, since valid_servername() already does that job. Also make use of match_conf_password()
- Don't try to access aconf->user when aconf is a SERVER_TYPE. aconf->user is a NULL pointer.
- src/conf.c: fixed compile error with openssl disabled
- minor cleanups to the module code
- /info no longer sends information about the platform ircd is running on - remove get_ircd_platform() function - configure: --enable-efnet switch is no longer required
o) Removed channel::burst_topicwho configuration option. Topicsetters are now sent by default
- move has_wildcards() to irc_string.c and make use of it in several places
- match(), match_esc(): remove XXX-comment. Bad idea to have match() rely on collapse()
- decrease HOSTIPLEN to 45 - fix some buffers that should use HOSTIPLEN+1
- src/hash.c: there's no need keep on searching clientTable[] for a server-id if we didn't find it in the idTable[] before.
- src/hash.c: minor style corrections
- conf.c:attach_conf(): remove useless conftype test. conf is now always one of CLIENT_TYPE, SERVER_TYPE, or OPER_TYPE.
- conf.h: remove CONF_LISTEN_PORT and CONF_EXEMPTKLINE #defines - hostmask.h: remove HostMaskEntry structure - hostmask.c: remove find_gline_conf() and find_kline_conf() wrapper functions
- conf_parser.y: removed outdated and missleading comment
- s_bsd.c:close_connection(): fixed connection scheduling
- cleanup match_conf_password(). remove outdated comments
- rename some struct AccessItem members
- conf.c:get_sendq(): fixed an assert()
- conf.c: cleanup get_sendq(), get_client_class() and get_client_ping(). Now that we don't have any other attached conf than CONF_CLIENT|CONF_SERVER|CONF_OPER, we may simply use the last attached conf pointed by x->confs.head
- client.h: get rid of Server::sconf
- Cleanup/rewrite Hub/Leaf-mask configuration. Hub and Leaf configuration items are no longer separately attached to Client structures.
- conf.c: remove CLIENT_CONF leftovers in clear_out_old_conf() clear_out_address_conf() already does the deal.
- Get rid of OPERNICKLEN. Oper login IDs are no longer limited to NICKLEN*2
- Remove all Class related #defines like MaxTotal, MaxSendq, etc. All they do is lead to confusion.
- minor cleanups to s_gline, hostmask.c and m_stats.c. remove useless NULL assignment of dlink_node pointers. the DLINK_FOREACH macros already take care of this.
- autoconf 2.69 & automake 1.12
- hostmask.c: move report_Klines() and report_auth() to m_stats.c
- "UNKLINE bla@bla.net" may accidentaly remove existing klines such as *@bla.* - Fixed
- cleanup temporary k/d/g line code
- Remove temporary RKLINES/RXLINES leftovers
- Cleanup hostmask.c. Make it use dlink list manipulation routines
- Cleanup conf_add_server(). Remove traces of obsolete username verification for incoming server connections.
- Optimize get_oper_name(). No need to walk client_p->localClient->confs. If there's any attached CONF_OPERATOR, it'll always be the last attached one
- conf.c: remove unused prototypes
- whowas.c: sort out header includes
- remove clear_tree_parse()
- free_client(): add some assert()
- watch_init(): remove useless memset since watchTable resides in .bss - replace C++ comments with C comments
- cleanup and rewrite whowas.c to use the dlink list manipulation routines - increase NICKNAMEHISTORYLENGTH to 16384
- minor cleanups to the getopt code
- automake 1.11.5
- move conf_yy_input and conf_yy_fatal_error to conf_lexer.l - conf_lexer.l: replace a strcpy with strlcpy
- conf_parser.y: dh prime size should be at least 1024 bits
- fix odd behaviour of ircncmp with 'n' being 0, plus performance improvements.
- irc_reslib.c: add localhost as default nameserver in case we cannot find a suitable entrie in resolv.conf - irc_res.c:res_ourserver(): no need to test against INADDR_ANY. This is a relict of old BIND versions which added INADDR_ANDY as default nameserver if no other servers could be found.
- hunt_server(): removed extranous match(). me.name cannot contain wilds anylonger. This is basically a fakename leftover.
- hostmask.c, rng_mt.c: avoid use of long int types
- Applied patch to shut up gcc with -Wformat-security enabled. Patch submitted by Moritz Muehlenhoff/Debian Security.
- get_client_name(): only compare client->name with client->host if it's any type of server. Saves thousands of irccmp calls.
- get_client_name(): made IP-masking more logical for ipv6 clients. At least allow determining whether or not a connection is ipv6.
- automake 1.11.4
- Update copyright-years
- init_hash(): remove unused variable
- Squash two other compile warnings. ircd now compiles clean with -Wall -Wextra -Wno-unused -Wcast-qual -Wcast-align -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wredundant-decls -Wshadow -Wwrite-strings -Wundef
- Remove unused configure tests - Fixed compile warning in conf_parser.c
- Change SHOW_IP, MASK_IP and HIDE_IP into an enum type - Removed unused CONF_SERVER_INFO_TLS_VERSION_* definition
- minor cleanups to the new logging system
- Get rid of fileio.c. Replace some ircsprintf() with snprintf() while on it
- Remove log::timestamp configuration directive. Timestamps are now enabled by default. - Timestamps are iso8601 now
- parse.c: remove unused prototypes
- parse.c: fixed archaic bug which would easily allow para[] being accessed out of bounds. Just to remember: para[] must be able hold: <prefix>+<15params>+<NULL>
- remove unused variables
- minor cleanups and fixes to the new logging system - decrease LOG_BUFSIZE to 1024
- Removed 'ssl_server_protocol' configuration directive and added 'ssl_client_method' and 'ssl_server_method' instead. Both of these options can now be changed at runtime. - src/Makefile.am: swapped order of conf_parser.y and conf_lexer.l - Update example configuration files
- client.h: remove servlink leftovers
- renaming files: ircd_parser.y -> conf_parser.y ircd_lexer.l -> conf_lexer.l s_conf.c -> conf.c s_conf.h -> conf.h s_log.c -> log.c s_log.h -> log.h
- ssl_server_handshake(): better error reporting
- rsa.c:report_crypto_errors: remove ERR_load_crypto_strings call. libcrypto error strings are already registered by SSL_load_error_strings() - rsa.c: remove verify_private_key()
- improve ssl/tls support - cipher suites can now be specified via ircd.conf
- show info about compression/expansion methods on link establishment
- servlink is gone; cleanup and sanitize openssl detection tests
- Implement basic tls connections for server-server links
- remove servlink in preparation for tls links/compression
- add 'dline' and 'undline' operator flags - implement remote dlines mainly for services purposes, but can be used by operators as well - update example configuration files; remove invalid shared::flags entries
- fixed style in some places
- Add user mode +H which simply hides operator status to other users. This solution replaces current method of hidding operator status where the admin mode is not sent to other servers unless hidden_administrator is disabled. - m_who() now takes care whether an operator is hidden or not
- automake 1.11.3
- ircd.c: fix compile warning
- added CIDR support for operator{} blocks - operator "name"{} is no longer supported
- remove useless NULL-pointer assignment
- remove general::burst_away configuration directive. AWAY burst will have to be controlled via connect::flags explicitly.
- automake 1.11.2
- irc_res_mkquery(): fixed compile warning with gcc 4.6
- A file size of 'unlimited' can now be specified for log files
- add log file rotation
- Rewrite and cleanup half-broken logging subsystem. Logfile rotating is not working yet
- parse.c: remove unused variable, plus style cleanups
- move content of msg.h, ircd_handler.h and handlers.h into parse.h and remove headers accordingly - killed common.h - remove m_killhost.c and m_flags.c from contrib/ - sort out unused header includes here and there
- listener.c: remove outdated comment. remove useless header include
- move firsttime, since, and lasttime Client struct members to LocalUser struct - m_watch.c: show_watch() now properly reports signon times. This also fixes an invalid signon time of zero for remote clients.
- rename mod_list to modules_list and make it static - remove now unused _modinit and _moddeinit prototypes
- move remaining functions in dynlink.c into modules.c
- Getting rid of rlimits.h. Relying on RLIMIT_NOFILE is more than enough nowadays
- m_unregistered(): fix 11 years old bug where ircd sends an invalid formatted ERR_NOTREGISTERED string. - ERR_NOTREGISTERED is not rate-limited any longer
- replace all instances of parv[0] with source_p->name
- replace bunch of ircsprintf with snprintf
- oper_up(): if both ConfigFileEntry.oper_umodes and oconf->modes aren't specified, don't give a client any other default oper-modes
- cleanup module loader. Make module api more flexible
- add 'restart'/'module' operator flags which allows better fine tuning whether or not an operator may have access to RESTART/MOD* commands - ircd_parser.y: (oper{}): ensure yy_aconf->port is set to zero, before setting any privilege bits. Fixes odd behaviour with multiple 'flags' entries. Also removed ability to negate operator flags with a tilde '~'. Pretty useless since all operator privilege flags are set to zero by default.
- Start cleaning up macros in client.h. Replace several ClientHasSomeCoolFlag() with simple HasFlag/HasUMode macros.
- add 'globops' to operflags
- Implement GLOBOPS - remove debugging code from parse.c
- make channel::topic and channel::topic_info fixed-size arrays
- implement NICK/UID servicestamps - add "SVS" to server capabilities
- move change_local_nick() from client.c to m_nick.c
- Forward-port r1183: exit_client(): We were accidentally trying to free memory pointed by source_p->lclient_node. Fixed.
- Forward-port r1177: Fix ERR_ACCEPTEXIST numeric string. Two %s conversion specifier have been missed here
- Cleanup and restore older parts of the irc-command parser. Gives back ability to specify maximum amount of parameters that are processed within a command.
- remove idle-time klines - rename LocalUser.last to LocalUser.last_privmsg - m_message.c: reset source_p->last_privmsg even if a client is messaging itself
- several fixes to services compatibility mode
- add usermode +R; only registered clients may message other clients with that mode set - add channelmode +R; only registered clients may join a channel with that mode set
- update s_conf.c:map_to_list
- rename find_server to hash_find_server to satisfy naming convention - pull m_services.c and m_jupe.c from contrib/ - style fixes in some places
- Add service aliases
- Improve services support - Add channelmode +r
- rename clean_nick_name() to valid_nickname() and move it so s_user.c - add SVSNICK module - update Makefile accordingly
- UMODE_REJ goes to usermode 'j' - add UMODE_REGISTERED ('r') (registered nickname)
- preliminary services support
- create ircd-hybrid-8 "branch"
- recreate "trunk"
- Update CHANMODES ISUPORT...
- add new channel modes O and S
- Style cleanups - Doxify hook.c
- replace several ircsprintf with snprintf
- Improve multi-prefix client capability support
- fixed compile warning in ircd.c
- Update NEWS file - Minor optimization to update_client_exit_stats close_connection - Move MaxConnectionCount/MaxClientCount to Counter struct
- User IDs are now shown in client connection notices. Requested by some ircu user.
- update my email address
- Bison 2.5
- we are finally 7.3-STABLE
- add dlink_move_node() and make use of it in several places - reuse LocalUser::lclient_node for local_client_list and serv_list (moving node between unknown_list and serv_list/local_client_list)
- fixed stupid assert() which prevented clients from being added to local_client_list
- replace several ircsprintf with snprintf
- Got rid of irc_addrinfo.c and irc_getnameinfo.c - Fixed broken ipv6 detection due to incorrect use of AC_CHECK_TYPES
- simplify remove_ipv6_mapping() and get rid of inetntoa
- removed all instances of STATIC_MODULES since we don't have static modules anymore - removed m_mkpasswd module from contrib
- Bump up max temporary kline time to 360 days
- removed HUB capability, which was a LL leftover
- cleanup and sanitize m_server.c. remove hostmasking. Improve TS6 suppport
- ircd_parser.y: ensure only valid hostnames can be specified in serverinfo::name
- set_user_mode(): don't unset modes specified in general::oper_only_umodes for remote clients
- Rename bogus_host() found in several modules to check_servname() and move it to s_serv.c - serverinfo::sid is now mandatory and must be specified. ircd won't start otherwise
- Move RPL_ETRACE to messages.tab - CHANGE RPL_WHOISSSL to use the 671 numeric
- move Client.client_host and Client.client_server to LocalUser struct
- Fixed broken configure test for sigio - Update libtool to latest 2.4 release
- rebuild parser
- Updated ltdl to latest 2.2.10 release
- Switch libltdl to recursive build mode
- minor libtool fixups
- rebuild scanner using latest bison 2.4.2 which finally fixed those -Wundef related warnings
- ts_warn(), ilog(): replace two vsprintfS with vsnprintf. We're immortal now!!!!!!!!!111
- Move do_local_user to m_user.c
- Sort out unneeded arguments of some user registration functions
- move Client.serial to LocalUser struct
- Dropped support for old style 'operflag = yes|no;' configuration format
- Made general::kill_chase_time_limit accept time units. too bad this entire crap is still needed even with ts6.
- remove old dot_in_ip6_addr configuration option. this is now obsolete.
- Update copyright years
- contrib/spy_links_notice.c: do not show additional arguments supplied to the LINKS command in spy notices. new behaviour is to simply show the command sent by the client, which exactly behaves like all other contributed spy modules. - remove clean_string()
- 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