- Change RPL_WELCOME to rfc2812 style now that we have the realhost information in Client::realhost
- client.c, user.c: show the real host in client connect/exit notices
- auth.c: have auth_dns_callback() to check for invalid hostnames rather than in user.c:register_local_user()
- Store real host information in Client.realhost and extend the UID message to send the actual host. This allows operators to see the real host of a client in /whois and /whowas.
- Remove UMODE_HIDDENHOST as we don't need a separat mode for that
- Add UMODE_MAX_STR enum to user.h and make use of it in relevant places
- user.c:show_lusers(): get rid of redundant tests
- Fixed style inconsistencies in various places
- Fixed old bug where lusers/stats u would report an invalid max local connection count in RPL_STATSCONN
- Removed redundant 'Count.max_loc_cli'; use 'Count.max_loc' instead
- Rename get_client_name() to client_get_name()
- Get rid of Count.local
- Get rid of Count.myserver
- Get rid of Count.total
- Update copyright years
- user.c:send_umode(): fixed compile warning (-Wshadow) on centos and possibly others
- Get rid of clear_ban_cache_channel() and clear_ban_cache_client(). Use clear_ban_cache_list() instead.
- Fixed svn properties
- user.c:register_remote_user(): remove TS5 leftover
- Change userhost.c to deal with ip addresses only. Also we no longer care about usernames/ident replies. Due to the hash function in hash.c not ideal for ip addresses, we'll be using either iphash.c, or patricia.c soon for this.
- s_user.c: rename variables for consistency
- user.c:send_umode_out(): replace MyClient test with just MyConnect
- Minor cleanup to send_umode() to get rid of the redundant struct Client * pointer
- user.c:register_local_user(): style correction
- Cleanup/separate XLINE / gecos{} conf implementation
- Remove some HAVE_TLS
- Incorporate gnutls support by Adam & Attila
- user.c:introduce_client(): replaced a MyClient() test with just MyConnect()
- Update copyright years
- Add CMEMBER_STATUS_FLAGS / CMEMBER_STATUS_FLAGS_LEN and make use of it in some places (replaces some magic values sprinkled in the code)
- CAPAB_SVS is now mandatory
- Removed client->account backwards compatibility hacks for 8.1
- user.c:report_and_set_user_flags(): remove the 'Congrats' from server notices
- Use the %ju conversion specifier for time_t and get rid of these non-portable (unsigned long) casts; replace some uint64_t with uintmax_t
- user.c:user_set_hostmask(): really should be using sendto_common_channels_local() instead of sendto_channel_local() for sending AWAY, otherwise we would end up sending multiple AWAY messages to clients.
- Implement ircv3.2 chghost client capability support
- user.c:user_set_hostmask(): make use of sendto_channel_local() for sending 'AWAY' to avoid walking target_p->channel twice
- Merge sendto_channel_local_butone() functionality into sendto_channel_local() and get rid of sendto_channel_local_butone()
- s_user.c:valid_username(): moved 'dots' to innermost scope
- user.c:user_set_hostmask(): replace a MyClient() test with just MyConnect()
- Revert the Debian reproducible build patch for now. For some reason it does not work for me under OpenBSD and havent yet figured out what the issue is.
- Move user_oper_up() from user.c to m_oper.c
- Allow the maintainers of the debian ircd-hybrid package to have their own BUILD_DATE shown in the RPL_CREATED numeric. Patch submitted by Dominic Hargreaves <dom@debian.org>, slightly modified by me to fit ircd-hybrid needs
- Rename functions in userhost.c to comply with naming convention
- Rename several functions in listener.c to comply with naming convention
- Make server_die() use enum; minor cleanups here and there
- Rename server capabilities flags from CAP_* to CAPAB_*
- Get rid of UMODE_ALL
- Make use of the *Flag() macros in some more places
- user.c:user_oper_up(): remove useless assert()
- Removed RPL_YOURID. Clients don't need to know about their associated UID nor is the information of any use for them
- Rename oper_up() to user_oper_up()
- Rename user_usermodes_init() to user_modes_init()
- Moved all ISUPPORT related code to isupport.c; renamed several functions to meet our coding convention
- Move all SID/UID related code to id.c
- Automatically generate sid on startup if none is configured. Patch provided by Adam
- Added 'xline_exempt' to auth{} block flags
- user.c:report_and_set_user_flags(): removed g-lines leftover in server notice
- Removed glines - Added kline_min_cidr, kline_min_cidr6, dline_min_cidr and dline_min_cidr6 configuration options
- sendnick_TS(), introduce_client(): use the %u conversion specifier for unsigned ints
- user.c:register_remote_user(): removed strcmp() mess from remote connection notices (backward compatibility for older servers using "0" in UID messages for spoofed hosts)
- user.c: incorporate Adam's add_one_to_uid() rewrite
- Sprinkle some assert()
- user.c: update documentation
- Don't make use of CAP_TS6 as we no longer need it, but still send it to other servers via CAPAB for backward compatibility
- Changed SVSTAG to use user modes
- Added oper::whois configuration option which allows to override the default RPL_WHOISOPERATOR numeric string shown in /whois.
- Fixed bug where "/rehash" would always reset the "MAX", "JFLOODTIME", and "JFLOODCOUNT" values that have been changed from within IRC via the "/set" command - Renamed the following ircd.conf configuration directives to be more descriptive: max_clients -> default_max_clients join_flood_count -> default_join_flood_count join_flood_time -> default_join_flood_time - Updated related ircd.conf documentation accordingly
- Fixed compile warnings
- Minor cleanups and optimizations to usermode handling
- Update copyright years
- user.c:register_remote_user(): show ip addresses in remote connection notices aswell
- Cleaned up style; reformatting; const correctness
- user.c:register_remote_user(): modernize old 2.8 notice
- general::hide_spoof_ips is now deprecated
- user.c, m_server.c: ip addresses are always propagated via UID regardless of ip spoofs
- Get rid of NOCAPS
- user.c:user_set_hostmask(): skip target_p when sending JOINs to channel members
- user.c:check_xline(): removed pointless test on 'conf->reason'
- user.c:init_isupport(): removed +e/+I values from EXCEPTS/INVEX tokens
- user.c:report_and_set_user_flags(): fixed typo in comment
- Renamed Client::svid to Client::account
- Renamed variables
- Added support for the "extended-join" client capability
- Constification
- user.c: style corrections
- user.c:valid_nickname(): minor cleanup
- Don't assemble umode buffer twice in send_umode_out()
- user.c:send_umode(): even if source_p == client_p, don't pass both client_p and source_p as arguments
- Renamed Channel::chname to Channel::name
- Renamed 'localClient' Client structure member to just 'connection'
- user.c:register_local_user(): cosmetical fixes to server notice
- Update GPL 2 license headers
- Replaced RPL_NEWHOSTIS with RPL_VISIBLEHOST
- user.c:oper_up(): successful operator logins are now announced globally via GLOBOPS
- Renamed various variables
- Renamed structures to meet code conventions
- user.c:register_remote_user(): constification
- user.c:user_welcome(): removed useless test on source_p->id
- Renamed serv_list to local_server_list
- Renammed global_serv_list to global_server_list
- Don't add/remove unregistered connections to/from global_client_list
- Allow [ in usernames
- Removed supported.h
- Cleaned up UID introduction / NICK change related code
- Got rid of SEND_UMODES. We now propagate all modes.
- Renamed global_channel_list to channel_list
- user.c:add_isupport(): fixed compile warning with -Wconditional-uninitialized
- Use unsigned whenever possible
- Removed OPERWALL. Use GLOBOPS instead.
- Halfops are now part of the ircd core and enabled by default
- user.c:valid_username(): removed extraneous semicolon
- user.c, m_stats.c: whitespace changes
- user.c:valid_username(): removed extraneous parentheses
- user.c:add_one_to_uid(): use unsigned keyword
- user.c:register_local_user(): removed redundant source_p->localClient->allow_read = MAX_FLOOD_BURST assignment
- user.c:register_local_user(): removed pointless assignment
- Added usermode +p which hides channel list in WHOIS
- Added usermode +q which hides idle and signon time in WHOIS
- Renamed MyMalloc() to MyCalloc()
- Style corrections
- Moved files: s_user.c -> user.c s_misc.c -> misc.c s_serv.c -> server.c
- Removed useless header includes
- s_user.c:valid_nickname(): removed redundant assert()
- s_user.c: update/cleanup documentation
- s_user.c:register_local_user(): remove/update pretty outdated comment
- Moved set_user_mode() to m_mode.c
- s_user.c: reformating
- s_user.c:send_umode_out(): removed unused variable
- Style corrections all over the place
- Fixed some comments; cleaned up style here and there
- Get rid of the ID() macro
- s_user.c:check_xline(): use CONF_NOREASON for default reason
- Get rid of kill_client()
- Incorporate Adam's exit_client/quit storm cleanups Note: QS is mandatory now
- s_user.c:set_user_mode(): replaced a IsServer () test with MyConnect()
- Removed client_p pointers from everywhere
- s_user.c:send_umode_out(): replaced a DLINK_FOREACH loopn on serv_list with just sendto_server()
- Server now no longer accepts TS5 links
- Removed unused header includes here and there
- Added sendto_one_notice()
- Applied Adam's sendto_one_numeric() changes
- white-space changes / style cleanups
- register_remote_user(): removed unused realname/gecos parameter
- Clean up all files in include/ (fixed indentation, removed whitespaces/tabs) - Fixed copyright years
- 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
- 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
- Fixed core with empty auth::spoof entries
- White-space commit / style corrections
- s_user.c: style corrections, remove useless comment
- s_user.c:user_set_hostmask(): don't send QUIT message to channels if cycle_on_host_change is turned off
- Added generall::cycle_on_host_change configuration option as requested by Adam <adam@anope.org>
- 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.
- s_user.c:introduce_client(): must send CERTFP on client introduction aswell
- Removed usermode +C
- Now that invite- and ban-exempts are hardcoded, there's no need to delete them from ISUPPORT-list on /rehash
- Cleanup ISUPPORT code and get rid of message.c
- Implement motd{} configuration blocks based on ircu's implementation
- 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
- s_user.c:report_and_set_user_flags(): minor spelling fixes
- Undo -r1899 for now [Changed RPL_WELCOME to comply with rfc2812]. Looks like this confuses mIRC in conjunction with spoofed hosts
- Fixed compile error
- Merged valid_username() and clean_user_name()
- 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
- Added usermode F (remote client connect/exit notices) on public request
- Forward-port -r1920 [Dropped PCRE support]
- Removed operflag 'nick_changes'. Operators can now set +n at will
- Changed RPL_WELCOME to comply with rfc2812
- Constification
- m_users, show_lusers: removed extranous arguments to sendto_one()
- Revert to -r1831
- 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
- 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
- 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)
- 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
- First pass of conf parser stabilization/cleanup
- More config subsystem cleanups
- Initial rewrite of the configuration subsystem
- 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
- 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
- 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.
- s_user.c:oper_up(): use get_oper_name() when announcing an operator
- 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
- NICKLEN definition no longer respects the trailing NUL character (reverts to old behavior)
- 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
- 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
- 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
- oper_up(): if both ConfigFileEntry.oper_umodes and oconf->modes aren't specified, don't give a client any other default oper-modes
- Start cleaning up macros in client.h. Replace several ClientHasSomeCoolFlag() with simple HasFlag/HasUMode macros.
- implement NICK/UID servicestamps - add "SVS" to server capabilities
- 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
- 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
- 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)
- create ircd-hybrid-8 "branch"
- recreate "trunk"
- 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.
- 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
- 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 Client.client_host and Client.client_server to LocalUser struct
- Move do_local_user to m_user.c
- Sort out unneeded arguments of some user registration functions
- branch off trunk to create 7.3 branch
- move ircd-hybrid-7.2 to trunk
- 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
- move list manipulation routines from tools.c to list.c - mem_frob() goes to memory.c - sort out redundant/unneeded header includes
- add configure test for pcre lib and remove pcre sources from the tree
- 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
- lp64\llp64\ilp32 portability fixes
- Killed s_stats.c
- Avoid useless irc_getnameinfo calls in several places
- Got rid of Serv.dep_users and Serv.dep_servers
- 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'
Backported WATCH
- Add +C - add etrace -full Reviewed by: cryogen, bear
+ added DEAF isupport
- Fixed compile warning in change_simple_umode as reported by Volk
- 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.
- The 2nd and 3rd character of a SID may be a digit as well. Spotted by ThaPrince - Fixed compile warnings in log_user_exit()
- ts6 fixes as explained on irc
- Added missing !u@h prefix when sending MODE message back to a client
- 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
- 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.
+ this should fix sockhost relaying (ThaPrince #1)
- Fixed bug where we would increase Count.invisi even if invisible_on_connect is off
- 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
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
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.