- Sprinkle some assert(); cleanup existing ones
- Killed userhost.c. Rewrote everything to use ipcache.c
- Implemented channel mode 'N' which prevents users from changing their nick while in a channel with that mode set
- Stylistic changes
- Restore fd_table. No longer allocate fde_t items from within any other structures like the AuthRequest, or Connection structure - struct AuthRequest once again is no longer allocated from within the Connection structure
- Update copyright years
- 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.
- Rename get_client_name() to client_get_name()
- Rename some functions in client.c to comply with naming convention
- Update copyright years
- Get rid of clear_ban_cache_channel() and clear_ban_cache_client(). Use clear_ban_cache_list() instead.
- m_nick.c: style corrections; move comment to proper place
- m_nick.c:change_remote_nick(): user mode 'n' now shows nick name changes from remote clients, too
- m_nick.c:perform_nick_change_collides(): whitespace change
- m_nick.c: stylistic changes
- Minor cleanup to send_umode() to get rid of the redundant struct Client * pointer
- Now that we got time_t to work nicely on openbsd with snprintf's conversion specifiers, we ran into a similiar issue on Raspbian/ARMv7's time_t which is of signed 32 bit and doesn't cope at all with %j. Instead of doing tricks, get rid of time_t everywhere and forever and use uintmax_t instead which has at least a 'standardized' conversion specifier associated with it.
- Cleanup/separate RESV conf implementation
- Move resv.* to conf_resv.*
- Update copyright years
- m_nick.c: removed more outdated comments
- m_nick.c:uid_from_server(): removed outdated comment
- CAPAB_SVS is now mandatory
- Removed backwards compatibility hack for older servers that allowed client->sockhost being "0"
- Replaced a rather strange mixture of atoi(), atol(), and strtoul() with strtoimax(). ircd-hybrid should be 2038-safe now
- 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
- Implement ircv3.2 chghost client capability support
- m_nick.c: check for valid UIDs on client/UID introduction, too
- m_nick.c: clean up/clarify some tests in check_clean_nick, ms_nick
- m_nick.c: get rid of the server_p argument in check_clean_nick, check_clean_user, check_clean_host
- m_nick.c:change_remote_nick(): use const
- m_nick.c: reformat check_clean_nick, check_clean_user, check_clean_host
- m_nick.c: use me.id a sender prefix when sending KILL in check_clean_nick, check_clean_user, check_clean_host; sprinkle some asserts
- Use client->name when updating the fd's associated name record with fd_note()
- The general::oper_pass_resv configuration directive has been deprecated. Added the join:resv and nick:resv operator flags for better fine tuning
- Get rid of UMODE_ALL
- Make use of the *Flag() macros in some more places
- m_nick.c:ms_uid(): removed redundant parc < 10 test
- Various documentation updates provided by Jackal
- Use C99-style initializers in all struct Message items - Removed MFLG_SLOW - Removed DUMMY_HANDLER
- Removed useless zero initializers from the module_entry as suggested by Adam
- m_nick.c:uid_from_server(): default to '*' for clients that don't have an accountname assigned
- m_nick.c: minor fixes to update fd info accordingly if unregistered clients change just the case of their nick. Patch provided by Adam.
- Minor cleanups and optimizations to usermode handling
- Update copyright years
- m_nick.c: if possible compare ip addresses rather than hostnames in both perform_nick_change_collides() and perform_uid_introduction_collides()
- Get rid of NOCAPS
- Renamed Client::svid to Client::account
- Renamed 'localClient' Client structure member to just 'connection'
- Fixed misspellings
- Update GPL 2 license headers
- Fixed compile warnings with -Wmissing-field-initializers
- m_nick.c:change_local_nick(): improved an assert()
- Fixed ERR_NICKTOOFAST numeric string to make more sense and to comply with other ircds
- Renamed structures to meet code conventions
- Fixed typos all over the place
- m_nick(), mr_nick(): use target_p->name when reporting ERR_NICKNAMEINUSE
- m_nick.c:check_clean_nick(): make sure not to send a KILL for a server
- m_nick.c: removed unused header includes
- m_nick.c:perform_nick_change_collides(): style cleanups
- m_nick.c: removed unused/dead code
- m_nick.c: fixed compile error with --enable-assert
- m_nick.c:uid_from_server(): fixed use of wrong CLient pointer
- m_nick.c:change_remote_nick(): fixed broken assert()
- m_nick.c: improve documentation
- Cleaned up UID introduction / NICK change related code
- Removed LocalUser.last_nick_change as well as LocalUser.number_of_nick_changes. Now using existing struct which is also being used for INVITE/KNOCK throttling.
- Got rid of SEND_UMODES. We now propagate all modes.
- m_nick.c: style corrections
- m_nick.c:ms_uid(): updated documentation
- Create 8.2.x branch
- Moved files: s_user.c -> user.c s_misc.c -> misc.c s_serv.c -> server.c
- doxygen
- Style corrections/constification
- Get rid of the ID() macro
- Get rid of kill_client_serv_butone()
- m_nick.c:perform_nick_collides(): incorporate Adam's "Send kills due to nick collisions back to the source." changes. Original commit message: Send kills due to nick collisions back to the source. This fixes a race condition with users changing hosts and then nick colliding which causes servers to disagree on whether or not the colliding users are the same user. With this patch if this happens both users are killed instead, even if their timestamps differ. The proper way to fix this is to compare a 'real host', which we do not store, or IP. With TS5 and prior we could not do this because the KILLs would be targeting nicks and not UIDs, which would not work as both sides would always lose, but we can do this now as the other side can safely drop the KILL for a nonexistant UID if the servers do agree.
- Incorporate Adam's exit_client/quit storm cleanups Note: QS is mandatory now
- Removed client_p pointers from everywhere
- Server now no longer accepts TS5 links
- Applied Adam's sendto_one_numeric() changes
- Applied Adam's "Put the command name in parv[0], not prefix name" patch
- white-space changes / style cleanups
- Renamed ts_warn() to sendto_realops_flags_ratelimited()
- register_remote_user(): removed unused realname/gecos parameter
- Clean up all files in modules/ (fixed indentation, removed whitespaces/tabs) - Fixed copyright years - Made module handlers int type for later use
- m_nick.c, m_join.c: Tweaked channel/nickname rejection notices
- Renamed kill_client_ll_serv_butone() to kill_client_serv_butone() just to satisfy Adam's OCD
- mr_nick(): remove legacy code for nicks cantaining '~'. valid_nickname() already takes care of this.
- m_nick.c:change_local_nick(): fixed nickchange-flooding logic not to further penalize already penalized clients
- whowas: Renamed functions. add_history -> whowas_add_history off_history -> whowas_off_history get_history -> whowas_get_history
- Removed outdated comment
- Another fix to previous commit. Am I drunk? Aye!
- Merged valid_username() and clean_user_name()
- m_nick.c: replaced few strcpy() with strlcpy()
- m_nick.c, m_part.c: only style corrections
- Mostly style cleanups & whitespace changes
- Numeric 432 now shows the actual reason of quarantined nicknames
- 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
- Forward-port -r1792 [Added SVSHOST command handler which allows services to change the hostname of a specific user]
- 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
- Add support for "away-notify" client capability
- Forward-port -r1697 [Fixed bug where ircops could not see nick rejection notices]
- m_nick.c:mr_nick(): remove useless IsExemptResv() test which can never be true since the EXEMPT flags are set after nick/user/capab registration
- Forward-port -r1685 [STATS q|Q now shows how many times a resv{} block has been matched]
- Initial rewrite of the configuration subsystem
- Fixed compile warnings due to missing arguments to sendto_realops_flags()
- 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
- ms_nick(): reject nickname changes without a TS
- removed &localchannels
- Added back server notice when a client tries to obtain a reserved nick name. Kinda useful notice; no idea why it got removed 10 years ago
- 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
- 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
- replace all instances of parv[0] with source_p->name
- cleanup module loader. Make module api more flexible
- Start cleaning up macros in client.h. Replace several ClientHasSomeCoolFlag() with simple HasFlag/HasUMode macros.
- implement NICK/UID servicestamps - add "SVS" to server capabilities
- change_local_nick(): remove unnecessary client_p parameter
- move change_local_nick() from client.c to m_nick.c
- nick_from_server, uid_from_server: don't blindly increment Count.invisi without checking if we already did. Fixes invalid usercount in case servers sends redundant modes within an NICK/UID message.
- 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.
- 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
- 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"
- removed all instances of STATIC_MODULES since we don't have static modules anymore - removed m_mkpasswd module from contrib
- Sort out unneeded arguments of some user registration functions
- branch off trunk to create 7.3 branch
- move ircd-hybrid-7.2 to trunk
- fixed build with --enable-assert - fixed STATS z reporting correct memory consumption of channel bans/excepts/invites and watchlist entries
- move list manipulation routines from tools.c to list.c - mem_frob() goes to memory.c - sort out redundant/unneeded header includes
- set_initial_nick(): remove *outdated* comment and make this function only take 2 parameters. source_p == client_p for local clients.
- moved set_initial_nick() to m_nick.c
- 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
- Killed s_stats.c
- 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
Backported WATCH
- ACCEPT fixes as reported by ThaPrince
- Added missing 'return' after register_remote_user() call in nick_from_server()
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.