- Treat 0 minute klines as permanent ones; rename valid_tkline() to valid_aline_time(); remove TK_SECONDS/TK_MINUTES cruft
- The `general::dots_in_ident` configuration directive has been renamed to `general::specials_in_ident` and now covers the '-' and '_' characters in addition to '.'
- Bump copyright years
- Replace WATCH with IRCv3.2 MONITOR
- For consistency, the `general::network_desc` configuration directive has been renamed to `general::network_description`
- Reformatting of various header files in some places
- Removed 'spoof_notice' from auth::flags. Spoofs are not 'hard spoofs' anymore as they used to be back in the days. The real host can always be seen via /whois. Also with vhosts now this notice doesn't make much sense anyway
- 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'
- In the serverinfo {} block, the following configuration directives have been renamed: ssl_certificate_file -> tls_certificate_file ssl_dh_param_file -> tls_dh_param_file ssl_dh_elliptic_curve -> tls_supported_groups ssl_cipher_list -> tls_cipher_list ssl_message_digest_algorithm -> tls_message_digest_algorithm - In the operator {} block, the following configuration directives have been renamed: ssl_certificate_fingerprint -> tls_certificate_fingerprint ssl_connection_required -> tls_connection_required - In the connect {} block, the following configuration directives have been renamed: ssl_cipher_list -> tls_cipher_list ssl_certificate_fingerprint -> tls_certificate_fingerprint
- Supported TLSv1.3 cipher suites can now be configured explicitely via the new 'serverinfo::tls_cipher_suites' configuration directive
- Merge conf_dns_lookup into conf_resolve_host
- Rename several functions in conf.c as follows: set_default_conf -> conf_set_defaults read_conf -> conf_read validate_conf -> conf_validate lookup_confhost -> conf_resolve_host check_client -> conf_check_client read_conf_files -> conf_read_files clear_out_old_conf -> conf_clear
- Change conf:check_client() to a boolean type
- Bump copyright years everywhere
- The connection timeout for connect{} blocks can now be configured via the 'connect::timeout' configuration directive
- Move oper_privs_as_string() from conf.c to m_stats.c
- Removed general::tkline_expire_notices configuration directive and added user mode +X (sees *LINE expiration notices) instead
- Cleanup server connecting related code even further - Make comm_connect_tcp() take less arguments and remove unused dns resolving functionality
- The 'serverinfo::vhost' and 'serverinfo:vhost6' configuration directives have been deprecated. If you need to bind() a specific address you can specify one in the connect {} block - The 'connect::vhost' configuration directive has been renamed to 'connect::bind'
- conf_connect_allowed, find_conf_by_address, find_address_conf, find_dline_conf: drop the aftype argument
- The 'general::ignore_bogus_ts' configuration option has been deprecated
- Update copyright years
- conf.h: remove unused CidrItem struct
- More parse_aline() tweaks
- Cleanup parse_aline() related code
- Make use of bool even more
- Make use of the bool data type in some more places
- Make use of the bool data type in some more places
- Make use of the bool data type in some places
- Documentation changes
- Stylistic changes
- Stylistic changes
- Rename attach_conf() -> conf_attach(), detach_conf() -> conf_detach(); clean up documentation
- Clean up some awful CONF_SERVER handling in serv_connect()
- Remove experimental libgeoip support
- Update copyright years
- Implemented channel mode 'L'. Channels with that mode set can make use of an extended ban list size specified with the new 'channel::max_bans_large' configuraton option. This mode can be set only by irc-operators or servers.
- Update copyright years
- Import FLOODTIME changes from p4
- Implement INVITE expirations
- Added 'channel::max_invites' configuration directive
- Fixed svn properties
- conf.c: removed unused cluster_a_line() prototype
- 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
- parse_aline() cleanups
- Remove useless parameters from operator_find()
- Cleanups to operator/connect block lookup routines
- conf.h: removed now unused MaskItem::count
- 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 XLINE / gecos{} conf implementation
- Cleanup/separate RESV conf implementation
- Improve libGeoIP support
- Move service {} block configuration management into its own module
- conf.h: removed old shared_items leftover
- 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.
- conf.h, conf.c: remove now unused ConfigServerInfo.rsa_private_key
- Remove MaskItem::rsa_public_key
- Incorporate gnutls support by Adam & Attila
- Operators can now REHASH on remote servers; requested by astrutt - REHASH now requires at least one parameter which currently might be one of CONF, MOTD, or DNS
- Update copyright years
- Add channel::invite_delay_channel configuration option
- Rename 'xconf_item' list to 'gecos_items'
- conf.h: whitespace changes
- Fixed bug where changing 'serverhide::flatten_links_delay' would not have any effect - Allow disabling the 'event_write_links_file' event with 'serverhide::flatten_links_delay' being zero - Get rid of 'config_serverhide_entry::links_disabled'
- Rename uconf_items to shared_items and oconf_items to operator_items
- Added serverhide::flatten_links_file configuration option and get rid of LIPATH
- Renamed serverhide::links_delay configuration directive to serverhide::flatten_links_delay
- The general::oper_pass_resv configuration directive has been deprecated. Added the join:resv and nick:resv operator flags for better fine tuning
- Remove splitmode checking
- Remove unused header includes
- Cleanup/fix names of several #ifndef INCLUDED_*
- Make use of enums some more
- Added 'xline_exempt' to auth{} block flags
- Get rid of valid_comment()
- Removed glines - Added kline_min_cidr, kline_min_cidr6, dline_min_cidr and dline_min_cidr6 configuration options
- Reject remote k-line requests that don't have enough non-wildcard characters
- Changed some function to void if we don't need a return value - Have some other functions return saner values
- conf.h, conf.c: renamed some structures to match naming convetion of other structures
- Constifications
- Fixed core in conjunction with OSX 10.10/possibly other system when parsing pseudo{} blocks as reported by Daniel Oaks - Reverted -r4080, -r4609 and 4106 as they only cause undefined behavior on some systems
- conf.h, conf.c:cluster_a_line(): made 'capab' and 'cluster_type' unsigned types
- 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
- Update copyright years
- Added general::stats_m_oper_only configuration option
- The general::true_no_oper_flood configuration option has been deprecated. Operators still can have higher 'flood' limits with no_oper_flood = yes; hoewever, they are no longer allowed to bypass RecvQ limits.
- Cleaned up style; reformatting; const correctness
- general::hide_spoof_ips is now deprecated
- Renamed variables; const correctness - Removed IsConfOperator macro
- Renamed exempt::coid to exempt::country_id
- Removed hybrid 6 leftovers
- Update GPL 2 license headers
- Implemented pseudo {} blocks (service aliases) - Fixed compile warnings with -Wmissing-field-initializers
- Removed ipv6 detection. We now assume all systems that run hybrid have ipv6 availability and sockaddr_storage.
- Re-arranged ConfigServerInfo structure
- Removed unused ConfigServerInfo structure member
- Renamed structures to meet code conventions
- Moved all ip caching related code to ipcache.c
- Cleaned up ipcache
- Improved AWAY throttling to allow for better fine-tuning
- Cleaned up and sanitized /challenge related code - rsa.c:get_randomness(): removed EGD support; also don't fall back to RAND_pseudo_bytes() if RAND_bytes() fails. If RAND_bytes() fails, just reject the /challenge request.
- Added ssl_message_digest_algorithm configuration option to serverinfo{} block. See doc/reference.conf for more information.
- conf.c, conf.h: change some structures to anonymous structures
- Added max_channels to class{} blocks
- Fixed bunch of compile warnings with -Wconversion
- Added general::throttle_count idea from p4
- Use unsigned whenever possible
- Made the INVITE/KNOCK throttling logic less aggressive as requested by Adam
- Added INVITE flood protection/throttling as requested by Adam. This basically works similar as the KNOCK throttling algorithm.
- conf.h:struct config_file_entry: changed 'oper_only_umodes' and 'oper_umodes' to unsigned int types. Otherwise we may expect integer overflows in the future if more user modes get added.
- conf.h: removed extraneous comma
- conf.h: remove invalid/useless comments
- conf.h: remove unused macros
- Renamed general::warn_no_nline to warn_no_connect_block
- Style corrections/constification
- Clean up redundant/unused header includes
- Have /info report MPATH and SPATH aswell
- conf.h: made some more constants use an enum
- m_stats.c, conf.h: removed unused CONF_FLAGS_LIMIT_IP and CONF_FLAGS_NOMATCH_IP definitions
- hostmask.c: get rid of this (type & ~0x1) hack
- Clean up all files in include/ (fixed indentation, removed whitespaces/tabs) - Fixed copyright years
- Got rid of find_kill() and find_gline() wrapper functions
- conf.c:valid_tkline(): minor cleanups
- Added generall::cycle_on_host_change configuration option as requested by Adam <adam@anope.org>
- Added general::stats_u_oper_only configuration option
- Implement certificate fingerprint validation for oper{} and connect{} blocks. Some code taken from oftc-hybrid. Hello, stu!
- Moved disable_remote_command configuration directive from general{} block to serverhide{] block
- Remove unused temporary_resv list. Move channel_resv_list to conf.c
- Cleanup ISUPPORT code and get rid of message.c
- Cleanup flattened links code
- Implement motd{} configuration blocks based on ircu's implementation
- resv.c: move valid_wild_card_simple() to conf.c
- Got rid of CONF_HUB enum type
- Got rid of CONF_CLASS enum type
- Removed channel::quiet_on_ban configuration option. This feature is now enabled by default
- Moved report_confitem_types() to m_stats.c
- Forward-port -r1920 [Dropped PCRE support]
- Added basic support for libGeoIP - Added exempt configuration option to resv{} blocks
- Cleanup m_map.c - Implemented serverhide::hide_services configuration option
- conf.h: removed MaskItem::hnext member
- Cleanup/reorganize header file layout - Fixed naming convention in some places
- 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
- Improved WEBIRC authentication; added 'webirc' to auth::flags
- /info now also shows pathnames of g-/x-line database files
- minor MaskItem structure cleanup
- Finish stabilizing/cleanup of conf parser
- First pass of conf parser stabilization/cleanup
- More config subsystem cleanups
- Cleanup configuration subsystem - Fixed broken CIDR support for /challenge
- Initial rewrite of the configuration subsystem
- flesh out new *line database handling - simplify temporary bans
- 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.
- Second time's the charm? Moving svnroot/ircd-hybrid-8 to svnroot/ircd-hybrid/trunk
- 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
- 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 all unused references to GPATH and glinefile. There's no glines.conf.
- Removed use_invex, use_except and use_knock configuration options. These features are now enabled by default
- removed serverhide::disable_hidden configuration option - update NEWS
- removed &localchannels
- remove g-line acls - added general::gline_request_duration configuration option which simply replaces the harcoded PENDING_GLINE_TIME definition
- 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
- 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.
o) Removed channel::burst_topicwho configuration option. Topicsetters are now sent by default
- 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
- rename some struct AccessItem members
- Cleanup/rewrite Hub/Leaf-mask configuration. Hub and Leaf configuration items are no longer separately attached to Client structures.
- conf.h: remove unused CONF_NOLIMIT definition
- remove operlog and logpath from config_file_entry structure
- Remove all Class related #defines like MaxTotal, MaxSendq, etc. All they do is lead to confusion.
- change back CLEANUP_TKLINES_TIME to 60 seconds
- cleanup temporary k/d/g line code
- Remove temporary RKLINES/RXLINES leftovers
- 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
- move conf_yy_input and conf_yy_fatal_error to conf_lexer.l - conf_lexer.l: replace a strcpy with strlcpy
- Sort out unused ConfItem flags
- 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
- 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
- remove tls_version from server_info struct
- 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
- improve ssl/tls support - cipher suites can now be specified via ircd.conf
- 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
- added CIDR support for operator{} blocks - operator "name"{} is no longer supported
- Rewrite and cleanup half-broken logging subsystem. Logfile rotating is not working yet
- add 'globops' to operflags
- 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
- preliminary services support
- create ircd-hybrid-8 "branch"
- recreate "trunk"
- Bump up max temporary kline time to 360 days
- cleanup and sanitize m_server.c. remove hostmasking. Improve TS6 suppport
- remove old dot_in_ip6_addr configuration option. this is now obsolete.
- 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
- add configure test for pcre lib and remove pcre sources from the tree
- doxyfy
- remove conf_add_d_conf wrapper
- removed references to struct DNSReply
- fix possible auth/dns related memleaks
- added ssl_server_protocol configuration option to servinfo{}. valid flags are 'sslv3' and 'tlsv1'
- squash several compile warnings
- lp64\llp64\ilp32 portability fixes
- 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
- 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
- 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
- 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
- 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
- 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
- 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
MFC: + removed invite_ops_only, controlled by +p now + sorted ircd.conf:channel{} a bit
- 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.