- 'STATS ?' is oper-only now
- server_hunte(): drop the 'parc' argument. It's no longer needed.
- Each type of command handler now has its own min/max argument count pair; remove remaining argument checks from all modules
- m_stats.c: kill stats_ports() wrapper
- Masking of k- and i-lines to regular users has been removed. Just with other stats, reporting to regular users can now only be enabled or disabled. - Free memory pointed to by client->connection->password in register_local_user()
- m_stats.c:stats_dns_servers(): remove extraneous parantheses on irc_nsaddr_list
- m_stats.c:report_auth(): swap tests
- m_stats.c:stats_operedup(): reduce size of 'buf' to 32
- Move channel invitation related functions to channel_invite.c
- Extbans have been implemented. Main implementation done by Adam for p4. Currently supported extbans: Matching: $a:<account> Matches users logged into a matching account. $c:<channel> Matches users that are on the given channel. An additional prefix of either @, %, or + can be specified to test for certain channel privileges. $o:<class> Matches IRC operators that have joined a class matching the mask. $r:<realname> Matches users with a matching realname. $s:<server> Matches users that are connected to a server matching the mask. $u:<modes> Matches users having the specified user modes set or not set. $z:<certfp> Matches users having the given TLS certificate fingerprint. Acting: $j:<banmask> Prevents matching users from joining the channel. $m:<banmask> Blocks messages from matching users. Users with voice or above are not affected.
- Replaced most occurences of 'SSL' with 'TLS'
- Bump copyright years everywhere
- Rename struct Membership to ChannelMember - Rename Channel::last_knock to last_knock_time - Rename Channel::last_invite to last_invite_time - Rename chptr to channel
- Command handlers are now of type void again
- m_stats.c: StatsStruct: remove excessive 'const'
- m_stats.c: remove extraneous variable initializations in some places
- m_stats.c:stats_tab[]: use designated initializers
- m_stats.c:show_ports(): style correction
- m_stats.c:stats_servlinks(): use IEC prefixes
- Kill a few memcpy() not needed in some places
- Move oper_privs_as_string() from conf.c to m_stats.c
- m_stats.c:stats_events(): use proper conversion specifier
- Use proper conversion specifiers in some places; remove pointless casts
- Should be using monotonic clock almost everywhere now; sort out mixture and misuse of 'firsttime', 'lasttime' and 'since' in the Connection structure
- Make more timers use monotonic time
- Add support for monotonic clocks and have some timers make use of it; remove event_set_back_events()
- conf_connect_allowed, find_conf_by_address, find_address_conf, find_dline_conf: drop the aftype argument
- Update copyright years
- Make use of the bool data type in some more places
- Fixed style inconsistencies in various places
- Killed Connection::aftype. Use Client::ip.ss.ss_family instead.
- Killed userhost.c. Rewrote everything to use ipcache.c
- pseudo {} blocks aka services aliases are now reported via "STATS s"
- Move pseudot_stats() to m_stats.c
- m_stats.c:stats_tab[]: who would have thought that R comes right after Q
- Report configured pseudo {} blocks in '/stats R'. For now we use the numeric 227. Maybe there's some other numeric that's more suitable for this.
- Add channel_get_list() to channel.c which should be used when accessing channel_list outside of channel.c
- Stylistic changes
- m_stats.c:stats_tstats(): fixed 'unknown closes' statistic; minor cleanup
- Move fd_dump() to m_stats.c; rename it to stats_fdlist()
- Clean up remaining sizeof() to sizeof(variable)
- Update copyright years
- Move all CAPAB related code to server_capab.c, and server_capab.h
- Fixed style inconsistencies in various places
- Removed redundant 'Count.max_loc_cli'; use 'Count.max_loc' instead
- Rename get_client_name() to client_get_name()
- m_stats.c:stats_memory(): optimizations
- m_stats.c:stats_memory(): add some server stats
- Cleanup some bad mess in mo_trace(). This also fixes some bug where we would get RPL_TRACELINK replies with "ac2ptr_is_NULL!!" from remote servers including SIDs or UIDs.
- No longer put servers on the 'global_client_list'. This was just bad.
- Rename hunt_server() to server_hunt()
- Update copyright years
- Style corrections
- Remove excessive const keyword on dlink_node pointers
- m_stats.c:show_ports(): don't show IP addresses to admins unless !ConfigServerHide.hide_server_ips
- m_stats.c:stats_L_list(): remove extraneous test on ConfigServerHide.hide_server_ips since get_client_name() already deals with that
- m_stats.c:stats_L_list(): sanitize utterly bad logic
- m_stats.c:stats_memory(): use the %zu conversion specifier
- m_stats.c:stats_memory(): fix /invite memory stats
- m_stats.c:stats_memory(): get rid of 'channel_memory'
- m_stats.c:stats_memory(): remove away/topic info as these have a fixed size now
- Merge send_capabilities() and show_capabilities() into get_capabilities()
- m_stats.c:show_iline_prefix(): whitespace change
- m_stats.c: style corrections; use const keyword where appropriate
- m_stats.c:stats_memory(): remove TOTAL info which is completely off anyway
- m_stats.c: renamings
- m_stats.c:stats_events(): use proper conversion specifier
- m_stats.c:stats_memory(): remove extraneous whowas_count_memory() call
- Change whowas system to use a linked list instead of othe this monolithic WHOWAS table - Size of the whowas nick name history length is now configurable
- m_stats.c:stats_memory(): variable renamings; remove unused code
- m_stats.c: remove unused header includes
- m_stats.c:report_shared(), report_cluster(): increase buffer size for the extra 'c' character
- m_stats.c: split report_confitem_types() into two separate functions
- Cleanups to operator/connect block lookup routines
- m_stats.c: merge some of the recently introduced conf-report functions
- m_stats.c whitespace changes
- Cleanup more conversion specifiers
- Show some stats about allocated listeners in /stats z
- m_stats.c: remove stats_usage()
- 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.
- m_stats.c:report_gecos(): whitespace change
- Cleanup/separate XLINE / gecos{} conf implementation
- Cleanup/separate RESV conf implementation
- Move service {} block configuration management into its own module
- Move resv.* to conf_resv.*
- m_stats.c: renamings & constifications
- Clustering has been broken in -r7159. Rewrote most of the shared/cluster implementation to be less obscure. This introduces a little bit of code duplication, but increases readability, is less error prone, and reduces memory consumption a bit.
- Fixed bug where shared & cluster confs would not get removed from their associated list and memory free'd (SHARED_ALL sets all bits and therefore IsConfDatabase(x) == true
- m_stats.c: replaced a couple of MyClient() tests with just MyConnect()
- Update copyright years
- Remove trailing whitespaces
- USERHOST_REPLYLEN I never liked. Gone.
- m_stats.c: made the idle time look nicer in STATS v|p by using a formatted time string
- Move report_dns_servers() from res.c to m_stats.c
- 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
- Make mem-usage counters use size_t and use the %zu conversion specifier accordingly
- Rename 'xconf_item' list to 'gecos_items'
- Rename uconf_items to shared_items and oconf_items to operator_items
- Add dissect_time() from HOPM and make use of it in some places
- Clean up stats handling a bit and made lookups constant time
- m_stats.c:show_iline_prefix(), report_auth(): let remote opers see auth blocks {} with spoofs and k/x-line exempts - client.h: removed now unused MyOper macro
- Move show_ports() from listener.c to m_stats.c
- Remove unused header includes
- Move show_events() from event.c to m_stats.c. Remove now unused prototypes.
- Added 'xline_exempt' to auth{} block flags
- 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
- Removed glines - Added kline_min_cidr, kline_min_cidr6, dline_min_cidr and dline_min_cidr6 configuration options
- Changed some members of the Ban structure to use fixed-size arrays
- Style corrections only
- Renamed idle_time_get() to client_get_idle_time()
- m_stats.c: minor cleanups to comments; removed invalid ones
- m_stats.c: explicitely use 'unsigned int' instead of just 'unsigned' when casting variables to be used with the %u conversion specifiers
- Update copyright years
- Added general::stats_m_oper_only configuration option
- general::hide_spoof_ips is now deprecated
- Renamed variables
- Improved RPL_LOAD2HI numeric
- m_server.c, m_stats.c: constification
- m_stats.c:stats_glines(): removed useless test. conf->reason cannot be NULL
- Renamed 'localClient' Client structure member to just 'connection'
- Renamed struct LocalUser to struct Connection
- m_stats.c:report_Klines(): removed useless test
- Update GPL 2 license headers
- Implemented pseudo {} blocks (service aliases) - Fixed compile warnings with -Wmissing-field-initializers
- Fixed compile warnings
- Renamed various variables
- Renamed structures to meet code conventions
- ipcache.c:ipcache_get_stats(): constification; depend on the caller to set integers to zero
- Moved all ip caching related code to ipcache.c
- Fixed typos all over the place
- Renamed serv_list to local_server_list
- Removed hooking system
- m_stats.c:stats_tstats(): prefix "/stats t" reply with 't' instead of 'T', as "/stats T" reports configured motd{} blocks
- m_stats.c:stats_auth(): removed useless test on conf->class
- m_stats.c: style corrections
- m_stats.c: constification
- m_stats.c:report_confitem_types(), report_auth(): removed useless test on conf->class
- Renamed global_channel_list to channel_list
- user.c, m_stats.c: whitespace changes
- m_stats.c:stats_tstats(): fixed faulty sendto_one_numeric
- Replaced remaining sendto_one() with sendto_one_numeric(). SND_EXPLICIT idea derived from ircu.
- m_stats.c:stats_operedup(): don't show idle time if operator is +q
- Fixed bug where "STATS p" would show an invalid amount of irc-operators in case there are +H opers
- Moved files: s_user.c -> user.c s_misc.c -> misc.c s_serv.c -> server.c
- Moved irc_res.c to res.c - Moved irc_reslib.c to reslib.c
- Moved s_gline.c to gline.c
- Fixed corrupted "STATS U" output
- Style corrections/constification
- Fixed inconsistent style in several places
- m_stats.c:stats_servlinks(): removed extranous spaces
- m_stats.c: renamed mo_stats() to ms_stats()
- Removed client_p pointers from everywhere
- m_stats.c: get rid of remaining from & to pointers
- Added sendto_one_notice()
- Applied Adam's sendto_one_numeric() changes
- Applied Adam's "Put the command name in parv[0], not prefix name" patch
- m_stats.c, conf.h: removed unused CONF_FLAGS_LIMIT_IP and CONF_FLAGS_NOMATCH_IP definitions
- white-space changes / style cleanups
- Revert -r1925. We no longer show how many times an oline has been hit.
- Clean up all files in modules/ (fixed indentation, removed whitespaces/tabs) - Fixed copyright years - Made module handlers int type for later use
- Avoid magically sized temporary buffers
- Removed useless sanity checks - Fixed bug where remote /STATS requests were not rate limited
- whowas.c: renamed count_whowas_memory() to whowas_count_memory() - watch_count_memory(), whowas_count_memory(): constification, renamed variables, removed unused variables
- m_stats.c: fixed typo
- Added general::stats_u_oper_only configuration option
- Moved disable_remote_command configuration directive from general{} block to serverhide{] block
- Remove unused temporary_resv list. Move channel_resv_list to conf.c
- m_stats.c:report_confitem_types(): remove unused variable
- Implement motd{} configuration blocks based on ircu's implementation
- Got rid of CONF_HUB enum type
- Got rid of CONF_CLASS enum type
- Cosmetical cleanups
- 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]
- "STATS s" now shows configured services{} blocks as well
- Cleanup m_map.c - Implemented serverhide::hide_services configuration option
- Fixed "STATS e" showing random data sometimes - Mino style corrections to m_stats.c
- 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
- KLINE, DLINE, SQUIT and KILL now make use of CONF_NOREASON as well
- 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
- Fixed some other invalid conversion specifiers
- %lu conversion specifier has been used when it should be %u
- Improved WEBIRC authentication; added 'webirc' to auth::flags
- 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
- 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 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
- More config subsystem cleanups
- Initial rewrite of the configuration subsystem
- flesh out new *line database handling - simplify temporary bans
- 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.
- 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
- stats_tklines(): remove unused variable
- Fixed bug in stats_klines() showing oper_reason to unopered clients - Fixed /stats d|D showing "(null)" if there's no oper_reason
- Fixed possible core on /stats
- Made Client::away a fixed-size array at the expense of a somewhat higher memory consumption
- remove g-line acls - added general::gline_request_duration configuration option which simply replaces the harcoded PENDING_GLINE_TIME definition
- m_stats.c: minor cleanups; remove useless wrapper functions, etc.
- move has_wildcards() to irc_string.c and make use of it in several places
- 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.
- 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
- 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
- remove servlink in preparation for tls links/compression
- 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
- 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.
- cleanup module loader. Make module api more flexible
- Start cleaning up macros in client.h. Replace several ClientHasSomeCoolFlag() with simple HasFlag/HasUMode macros.
- make channel::topic and channel::topic_info fixed-size arrays
- 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
- create ircd-hybrid-8 "branch"
- recreate "trunk"
- fixed several compile warnings
Added back STATS/TRACE/MOTD/ADMIN request notices. Removed spy_*_notice modules accordingly.
- fixed "stats z" displaying bug
- removed all instances of STATIC_MODULES since we don't have static modules anymore - removed m_mkpasswd module from contrib
- 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
- remove half done and broken win32 support
- removed remnants of --disable-gline-voting
- show pending gunglines in STATS g
- lp64\llp64\ilp32 portability fixes
- Killed s_stats.c
- show some watch statistics in STATS z
- 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
- Fixed negative "STATS ?" output as reported by ThaPrince - Updated RELNOTES
- Backported revision 315 (trimmed memory usage by moving invited dlink_list to LocalUser struct)
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.