- mkpasswd.c: make sure plaintext isn't NULL when passing it to crypt()
- res.c:query_name() remove memset that's not needed
- res.c: rename reslist::namelength to reslist::name_len
- res.c: remove AR_TTL definition we don't need
- res.h: move HEADER struct and #defines relevant to the resolver to reslib.h
- Correctly prefix all functions found in reslib.c with reslib_ instead of irc_
- res.h, reslib.h, reslib.c: update functions from latest glibc
- Update NEWS.md
- reslib.c: fixed code formatting
- m_who.c:who_send(): fix to previous changes regarding the TLS flag
- m_who.c:who_send(): show clients that are connected via TLS with the 'S' flag
- Fix clang warnings with -Wreserved-id-macro
- Rename Connection::serial to Connection::send_marker
- Fix clang warning in sendto_match_butone() with -Wsign-conversion. Kill MATCH_HOST/MATCH_SERVER while at it.
- m_who.c:m_who(): remove redundant parentheses
- channel.c:channel_check_spambot_warning(): change logic slighty to only send notices for JOINs
- Rename check_spambot_warning to channel_check_spambot_warning; declare as static and remove prototype in channel.h
- Renamings: add_user_to_channel -> channel_add_user, remove_user_from_channel -> channel_remove_user
- coverity.yml: run daily
- m_who.c:who_send(): fix CID 1518859 (Code maintainability issues)
- Rename some functions in conf_class.c: get_client_class -> class_get_name get_client_ping -> class_get_ping_freq get_sendq -> class_get_sendq get_recvq -> class_get_recvq
- m_who.c: use const where possible
- m_who.c: remove unused header include
- Documentation updates
- m_accept.c: update documentation
- m_rehash.c:mo_rehash(): replace test on `parc` with `EmptyString`
- m_connect.c:mo_connect(): replace test on `parc` with `EmptyString`
- m_invite.c:m_invite(): remove test on `parc` that's not really needed here
- m_who.c:who_send(): only show ip addresses to users that have irc operator status or /who themselves
- m_who.c: update documentation
- Whitespace changes
- m_who.c: merge PR #37 by @progval: "Add missing support for WHOX field %o"
- m_error.c: use get_client_name() instead of source_p->name for logging
- Bump version to 8.2.41
- m_who.c: fixed a bug with the default match selectors being always enabled
- m_who.c: style corrections
- Update NEWS.md
- Add who.txt based on ircu's readme.who
- m_who.c:who_global(): don't just return in the middle of iterating through global_client_list or you might still have clients with the FLAGS_MARK bit set after leaving this function.
- - m_who.c: for clients we don't share a channel with, include the name of the first visible channel in the RPL_WHOSPCRPL/RPL_WHOREPLY
- m_who.c: send channel names and prefix modes in RPL_WHOSPCRPL/RPL_WHOREPLY for clients we share a channel with
- m_who.c: deduplicate
- m_who.c: move admin/membership tests from m_who() to who_on_channel()
- m_who.c:who_matches(): move the x->realhost check from the ip to the host match selection
- m_who.c:who_matches(): replace `switch` with just an `if`
- m_who.c(): renamings: who_options -> WhoQuery do_who -> who_send do_who_on_channel -> who_on_channel who_common_channel -> who_on_common_channel
- m_who.c: revert to old behavior where masks starting with a # are exclusively treated as channel name. Otherwise this would lead to inconsistent behavior where `WHO #name` would report a user with the gecos `#name` depending on the existence of the channel `#name`.
- m_who.c: WHO now requires at least the mask argument
- Update NEWS.md
- Implement IRCv3 WHOX. Some code derived from ircu.
- m_who.c:do_who(): increase buffer size of `status` by two so channel prefix flags don't get truncated in case a user has all flags set
- Update NEWS.md
- m_who.c:m_who(): don't run collapse() on channel-/nick names
- Remove svn $Id$ from documents in doc/
- Markdownify INSTALL.md some more
- configure.ac: remove AC_REVISION
- m_bmask.c: fixed compile warning
- m_sjoin.c: fixed compile warnings
- m_whowas.c:do_whowas(): fixed server name leak in `WHOWAS` with `serverhide::hide_services` enabled
- Update NEWS.md
- m_nick.c:uid_from_server(): NULL-initialize `res`. Closes github issue #36.
- Update NEWS.md file
- Implement dedicated mode lock timestamps that get set by services only. For now these are unused.
- channel.c:channel_send_modes(): send MLOCK during burst, too - m_mlock.c:ms_mlock(): always propagate MLOCK to other servers regardless of the channel's timestamp
- m_join.c:ms_join(): remove unused variable `isnew`
- m_join.c:ms_join(): clear the invite list heret, too. Currently this was only done in ms_sjoin().
- Implement MLOCK (server-side mode locking)
- channel_mode.c: add channel_mode_can_change() and move the various authorization checks out of the mode chandlers
- m_resync.c: make sure the request comes from a server
- help/cmode: reformatting
- Update help/cmode
- Style cleanups
- numeric.c: whitespace change
- m_join.c:ms_join(): readability improvements
- m_sjoin.c:ms_sjoin(): readability improvements
- m_nick.c: remove the 0 TS case in both perform_uid_introduction_collides() and perform_nick_change_collides()
- m_join.c:ms_join(): just use source_p as first argument to sendto_one()
- m_join.c:ms_join(): if we receive a remote JOIN from a server for a channel which doesn't exist on our side, bail out and send back a RESYNC to avoid a possible channel state desynchronization
- Add `RESYNC` server capability
- Rewrite channel_modes() to return a combined modes+parameters string instead of dealing with two separate buffers
- channel_mode.c: rename all occurrences of `alevel` and `alev` to `rank`
- channel_mode.c: get rid of get_channel_access() which basically duplicates member_highest_rank()
- channel.c:channel_do_join(): removed persistent channels remnant
- Update NEWS.md
- m_sjoin.c: always forward the channel's modes. Even in case our TS is lower. This mimics inspircd behavior.
- m_server.c:server_burst(): fix faulty assert()
- Merge server_send_tburst() into channel_send_modes()
- Add RESYNC server command for later use. Servers can use this command to request the mode/topic state of a channel
- Automake 1.16.5 is now required
- m_sjoin.c: remove pointless comparison of channel keys and limits to match up with v8 of the TS6 proposal
- set_final_mode(): NUL terminate pbuf here, too
- Update NEWS file
- ci.yml, coverity.yml: checkout@v3
- Remove COPYING file as it has been replaced by COPYING.md; update README.md accordingly
- Add COPYING.md from https://www.gnu.org/licenses/old-licenses/gpl-2.0.md
- README.md: adjust badge style
- Update README.md
- Update INSTALL.md to use markdown
- Update NEWS.md
- Update AUTHORS.md
- Update AUTHORS.md to use markdown
- Revert changes to AUTHORS.md for now. We'll do this different.
- Update AUTHORS.md to use markdown
- AUTHORS.md, INSTALL.md, README.md: remove svn $Id$
- NEWS.md: remove footer
- Move AUTHORS to AUTHORS.md and INSTALL to INSTALL.md
- Move NEWS to NEWS.md
- Move README to README.md
- autoreconf
- Replace deprecated autoconf macros
- autoreconf
- bison-3.8.2
- channel_mode.c: minor correction to the channel_mode_set() prototype
- Have channel_mode_set() look up for channel membership instead of passing it a struct ChannelMember pointer
- m_server.c:server_send_client(): use DLINK_FOREACH_PREV for iterating through the svstag list to keep the order on other servers in sync
- Change user_get_mode_str() to take an int and use it for SVSTAG user mode creation in server_send_client()
- Add user_get_mode_str() to deduplicate user mode buffer generation code in some places
- m_sjoin.c: fixed archaic issue where ircd wouldn't relay SJOIN to other servers in case no nick list has been provided (i.e. to just update the channel TS)
- m_sjoin.c: stylistic changes
- m_sjoin.c: replace sprintf with snprintf
- m_sjoin.c: remove parabuf2 which is no longer needed
- Fixed issue where we would needlessly create a new SJOIN buffer from scratch (with a trashed modebuf since it gets modified in-between)
- m_sjoin.c: take out the trailing space if sending a new SJOIN message
- Further sjoin cleanups
- m_join.c, m_sjoin.c: remove code relevant for channels with a TS of 0 which we don't support anyway
- m_sjoin.c: removed the *parv[3] == '0' case which is described in TSora protocol changes. We're not using the 0 mode case for more than 21+ years now.
- m_sjoin.c: kill have_many_uids and use EOB status instead
- m_sjoin.c: removed pointless buffer length check
- Major cleanups to m_sjoin.c
- Rename some CHACCESS_CHAN* constants: CHACCESS_CHANOWNER -> CHACCESS_OWNER CHACCESS_CHANADMIN -> CHACCESS_ADMIN CHACCESS_CHANOP -> CHACCESS_OP
- user.c:send_umode(): initialize 'what' with MODE_QUERY
- Fixes to channel_rank_to_prefix() and channel_rank_to_prefix()
- Add generic prefix to rank, and rank to prefix mapping functions so modules no longer need to know about the available channel prefix modes
- m_kick.c:m_kick(), ms_kick(): avoid copying kick reason just to limit the string length
- channel.c::channel_do_part(): avoid copying part reason just to limit the string length
- channel.c:channel_part_one_client(): improve readability
- add extban_knock.c; autoreconf
- Implement extban $K of type `acting`. This extban prevents matching users from using the KNOCK command.
- Simplify matching logic for acting extbans
- channel_mode.c:channel_mode_init(): improve test
- Update NEWS file
- m_info.c: add channel::default_join_flood_count and channel::default_join_flood_time to /info
- Style corrections
- m_whois.c: fix to previous changes
- m_whois.c: use a different prefix for +p/+s channels, or channels while the target client is +p
- conf_parser.y: no longer accept a comma separated list of facilities in log::file:type directive
- channel_mode.h, src/channel_mode.c: rename struct chan_mode::required_oplevel to required_rank
- Fix +v users being unable to send messages to +m channels as pointed out by @progval (PR #35)
- channel_mode.h: remove CMEMBER_STATUS_FLAGS definition. Tweak CMEMBER_STATUS_FLAGS_LEN enum
- isupport.c:isupport_init(): remove two useless isupport_add() calls
- Implemented the owner/admin channel prefix modes. These are optional and can be enabled with the channel::enable_owner and channel::enable_admin configuration directives
- Change extban_format() to size_t
- Rip out channel mode 'u' for now
- channel_mode.c: documentation
- Dynamically build buffers containing channel modes for RPL_ISUPPORT and RPL_MYINFO
- conf_pseudo: rename PseudoItem::serv to PseudoItem::server
- server.h: remove explicit values from server_hunt_ret enum
- channel.c:channel_part_one_client(): fixed incorrect test on can_send() return value as pointed out by progval
- m_invite.c: send IRCv3.2 invite-notify regardless of channel mode +i
- Drop support for /dev/poll
- autoreconf
- channel.h: remove explicit values from CAN_SEND_* enum
- Update ax_define_dir.m4
- Update NEWS file
- Update NEWS file
- The ERR_NOCTRLSONCHAN and ERR_NOCTCP numerics have been dropped. Whenever a message cannot be sent to a channel, ERR_CANNOTSENDTOCHAN is returned with the according reason. - KNOCK can now be used on private channels. Channel mode +K can be used instead to control whether or not KNOCKs may be used on a channel.
- channel.c:channel_demote_members(): rewrite to remove all member flags in a single run. Also members having multiple flags set are now stuffed into the same MODE message (as long as pargs <= MAXMODEPARAMS)
- Bump copyright years
- conf.c:verify_access(): move strlcpy() to a more appropriate place ;D
- user.c:register_local_user(): move up valid_username() to deal with invalid user names at an earlier stage
- Build client->username earlier in conf.c:verify_access and get rid of all this ugliness in user.c:register_local_user
- channel.c: minor documentation fixes
- Update NEWS file
- match.c, reference.conf: add strikethrough to `channel::disable_fake_channels`
- m_join.c:ms_join(): update channel's name to be the correct case if !keep_our_modes just like in ms_sjoin()
- m_sjoin.c:ms_sjoin(): remove pointless test on 'isnew' which is always false in case of !keep_our_modes
- Bump version to hybrid-8.2.40
- match.c:match(): incorporate changes made in https://github.com/UndernetIRC/ircu2/commit/de343d67ff8e67606d6a638222316f6059a6849a to fix https://github.com/UndernetIRC/ircu2/issues/12
- coverity.yml: replace wget with curl
- Update NEWS file
- autoreconf
- listener.h: remove now unused header include
- restart.c:server_die(): readability improvement
- Documentation fixes; whitespace changes
- Update NEWS
- listener.c:listener_finalize(): fix `STATS P` displaying issue with compressed ipv6 loopback/inaddr_any
- listener.c:listener_add(): remove redundant dlinkAdd(). This now happens in listener_make()
- listener.h, listener.c: change listener::name to pointer type; rename inetport() to listener_finalize()
- user.c:valid_username(): `general::specials_in_ident` may be set to 0 now to not allow any special characters at all
- m_kill.c:mo_kill(): use find_person() instead of hash_find_client() for looking up target clients
- README.mkpasswd: add missing documentation for the '?' switch
- listener.c:listener_add(): remove pointless code
- Update NEWS
- listener.c:inetport(): fixed gh issue #30 where ircd wouldn't listen on both ipv4 and ipv6 ports in case no address has been specified
- Update README
- ax_arg_enable_debugging.m4: instead of resetting CFLAGS entirely, just take out any debugging/optimization options and append the new ones
- ax_arg_enable_warnings.m4: move AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option]) to configure.ac to have this flag set in an earlier stage
- ax_arg_enable_warnings.m4: add -Werror=unknown-warning-option for clang so support for all the other flags can be detected properly
- ci.yml: disable fast failing
- coverity.yml: misc tweaks
- ci.yml: build on macos-latest but exclude gcc for now
- coverity.yml: misc cleanups
- coverity.yml: derive project from GITHUB_REPOSITORY
- coverity.yml: whitespace changes
- coverity.yml: add timeout; whitespace changes
- Add coverity workflow
- ci.yml: add missing CC environment variable
- ci.yml: have jobs time out after 10 minutes
- ci.yml: build with both gcc and clang
- Remove .travis.yml
- .github/workflows: add rudimentary ci.yml
- Update .travis.yml
- Update NEWS
- autoreconf
- Bump version to 8.2.39
- m4/: changes to syntax only
- extban_usermode.c: minor cleanup/dedupe
- mkpasswd.c: define _XOPEN_SOURCE for glibc 2.27 and below
- Update NEWS
- ax_require_defined.m4: update to latest version
- ax_check_compile_flag.m4: update to latest version
- ax_append_flag.m4: update to latest version
- ax_append_compile_flags.m4: update to latest version
- configure.ac: style improvements
- tls_openssl: cleanly build with openssl 3.0; use OSSL_STORE api to retrieve dh parameters; replace deprecated functions
- Allow 'hideidle' and 'hidechans' to be set in 'general::oper_only_umodes'
- m_oper.c:oper_up(): partially remove some of the UMODE_INVISIBLE logic that's unreachable code as user modes aren't removed in this function ever
- Replace IsFloodDone() occurrences with HasFlag()
- Treat 0 minute klines as permanent ones; rename valid_tkline() to valid_aline_time(); remove TK_SECONDS/TK_MINUTES cruft
- help/who: update to reflect the +B user mode
- s_bsd.c:ssl_handshake(): unregister from i/o events and reset read/write handlers before entering auth. server.c:server_tls_handshake(): likewise
- conf.c:attach_iline(): just let the client silently in if their class is full and they are exempted from limits. No point in explicitely telling them that their class is full and they have exceed_limit = yes
- user.c, m_server.c: remove IsDead() tests in register_local_user() and server_estab() that are no longer needed. ages ago, the sendto_* functions used to call exit_client() (via dead_link())
- Update NEWS file
- match.c: use bool in some places
- Revert accidental changes to qstring regex
- Change MAX_INCLUDE_DEPTH to 5
- Update NEWS file
- Update NEWS file
- Bump version to 8.2.38
- The `general::dots_in_ident` configuration directive has been renamed to `general::specials_in_ident` and now covers the '-' and '_' characters in addition to '.'
- Update NEWS file
- Update NEWS file
- channel_mode.c:send_mode_changes_client(), send_mode_changes_server(): don't send the appending space in the TMODE/MODE message in case paracount == 0
- s_bsd.c:add_connection(): fixed stupidly broken 'ipv6 loopback address irc-sanitizer' logic
- Change accept/callerid related code to no longer re-use the 'struct split_nuh_item' and have its own 'struct AcceptItem' instead. Minor other cleanups to callerid related functions.
- Recreate autogenerated lexer file
- conf_lexer.l: port over C comment handling we introduced to hopm a while ago
- conf_class.c:class_ip_limit_add() return 'true' even in case of overruling. Add note why pnode->data needs to be increased in case of overruling, too
- conf.c: move class_ip_limit_add() from conf_attach() to attach_iline() where all the other session limit tests take place. Moving this is safe as it is guaranteed that a auth conf can never be attached twice.
- conf.c: refactor conf_check_client()
- Update NEWS file
- Valid characters allowed in user names for local clients are now [A-Za-z0-9._-]
- res.c:res_readreply(): remove pointless 'continue'
- user.c:introduce_client(): use sendto_server() to actually benefit from shared data buffers
- client.c:exit_client(): documenting
- res.c: remove timeout_resolver() wrapper; remove unused 'next_time' calculation in timeout_query_list() as this function is run each second anyway
- Bump copyright years
- Update NEWS file
- Final removal of backwards compatibility code for ircd-hybrid 8.2.22 and below. Also, minimum supported version of Anope is now 2.0.8.
- Update NEWS file
- Bump version to 8.2.37
- Update NEWS file
- motd.c:motd_memory_count(): include memory allocated for motd->mask and cache->path
- Update help/index
- whowas.h, whowas.c: rename list/hash dlink_node members of the Whowas struct to actually make sense
- m_monitor.c:monitor_add(): move valid_nickname() call
- Update NEWS file
- Update NEWS file
- m_pass.c: if a client sends multiple PASS messages, only accept the password sent in the first one
- send.c:sendto_match_servs(): rename 'cap' to 'capab'; remove useless test on 'capab'
- Stylistical changes
- Update NEWS file
- doc/, help/: add MONITOR documentation
- Delete draft-mitchell-irc-capabilities-01.txt
- monitor.h, monitor.c: monitor_find_hash() doesn't need to be externally visible
- monitor.c:monitor_del_from_hash_table(): replace dlinkFind/dlinkDelete combo with dlinkFindDelete
- monitor.c: deduplicate (add monitor_free() function)
- extban.h: whitespace change
- extban.c:extban_get_isupport(): remove useless post-increment on 'p'
- Revert echo-message changes for now
- send.c:sendto_channel_butone(), sendto_anywhere(): test for IsDead() before actually calling send_message()
- send.c:sendto_anywhere(): use a separate buffer for sending the echo message as we always need to have the sender in the n!u@h format here
- Implemented IRCv3.2 `echo-message` extension
- Update NEWS file
- m_cap.c:m_cap(): remove test on cmd->proc
- m_cap.c: rename capabilities::namelen to capabilities::name_len; convert CAPFL_STICKY to bool
- Rudimentary `cap-notify` support
- m_cap.c: remove CAPFL_HIDDEN
- Removed Connection::cap_client; renamed Connection::cap_active to Connection::cap
- m_cap.c: remove CAPFL_PROHIBIT & CAPFL_PROTO
- m_invite.c: cleanup kludgy type-casting
- m_cap.c: rename 'caplist' arguments of the CAP handlers to 'arg'
- Add FLAGS_CAP302 to client flags for clients that support the CAP 302 extension
- Rename Connection::caps to Connection::capab
- m_cap.c: remove ACK & CLEAR subcommands
- m_monitor.c: remove copyright that no longer applies
- Update NEWS
- isupport.c:isupport_init(): add BOT=B to RPL_ISUPPORT as proposed in https://github.com/ircv3/ircv3-ideas/issues/43
- Update NEWS
- Update NEWS
- Re-create autogenerated parser files
User mode `B` has been implemented. Clients with that mode set are marked as a bot in both `WHOIS` and `WHO`. This mode can only be set by IRC operators (as long as the `bot` directive is set in `general::oper_only_umodes`), servers, and services. This mode can for example be used to mark HOPM as official network bot.
- numeric.h, numeric.c: move RPL_WHOISTEXT to 339
- monitor.h: update comment
- monitor.c:monitor_count_memory(): add +1 for '\0'
- monitor.h, monitor.c: change Monitor::name to pointer type
- Update NEWS
- user.c:register_local_user(): reduce buffer size from 512 to (sizeof("Invalid username []") + sizeof(client->username))
- Stylistical changes
- Bump version to 8.2.36
- .travis.yml: add focal; remove trusty/xenial; additional build on AWS Graviton2
- conf_parser.y: as of bison 3.5, an explicit POSIX yacc compliance warning is thrown when %type isn't applied to non-terminals
- monitor.c: update documentation
- Rebuild autogenerated files
- Replace WATCH with IRCv3.2 MONITOR
- m_svstag.c: replace strncmp with strcmp
- m_invite.c:ms_invite(): timestamped INVITE messages are mandatory now
- m_who.c:m_who(): eliminate accessing 'parc'
- m_stats.c:parse_stats_args(): eliminate accessing 'parc'
- m_svsjoin.c, m_svspart.c: eliminate accessing 'parc'
- m_svstag.c: eliminate accessing 'parc'
- channel.c:channel_send_members(): replace IRCD_BUFSIZE with sizeof(buf)
- m_stats.c: use ms_stats() for OPER_HANDLER
- m_server.c: whitespace changes
- m_message.c: update comment
- m_message.c:handle_special(): remove pointless strchr(nick, '%') test. Support for host names has been removed years ago.
- conf_class.c:class_find(): minor readability improvement
- ircd.c: tweak event_try_connections interval. try_connections() gets called every 15 seconds.
- Update NEWS file
- Bump version to 8.2.35
- channel.c:channel_send_mask_list(): fixed issue with truncated ban masks
- Update NEWS
- Update NEWS file
- m_svsaccount.c: remove unused header include
- reference.conf: spelling
- Update NEWS file
- For consistency, the `general::network_desc` configuration directive has been renamed to `general::network_description`
- m_nick.c: restore comatibility mode for 11 arg UID messages. Final removal is scheduled for the end of 2020.
- Bump version to 8.2.34
- m_nick.c:uid_from_server(): replace 'if' with 'else if'
- Restore backwards compatibility mode for non RHOST server. Final removal is scheduled for the end of 2020.
- m_server.c: minor documentation cleanups
- Update README
- configure.ac: minimum supported version of automake now is 1.16.1
- Update NEWS
- Update NEWS
- README: use https
- Remove serno.h
- Update NEWS file
- Update NEWS file
- Update NEWS file
- Update NEWS file
- Update NEWS file
- Update NEWS file
- m_svsmode.c: cleanups; remove possibility to modify hosts/accountnames as these are now handled by SVSHOST and SVSACCOUNT, respectively
- Switch to 6 arg SERVER/SID commands
- id.c:valid_sid(), valid_uid(): don't allow lowercase letters in server/user IDs. Changes provided by Adam.
- README: use https for anope.org
- Delete old 8.3 branch
- Update umode and modes.txt
- User mode 'u' and 'b' have been removed - Spam/flooding notices that previously have been sent to user mode 'b' now go to user mode 'f'
- conf.c, user.c: "Too many connections", "auth {} block is full", and "Too many clients, rejecting" server notices now no longer go to user modes u/f, but go to user mode j (rejection notices) instead
- conf.c:conf_check_client(): remove listener information from unauth server notice
- channel.c:check_spambot_warning(): move assignment
- m_server.c:server_send_client(): drop backwards compatibility for non RHOST servers
- Remove CAPAB_QS. Quit Storm removal is default behavior for more than 20 years now.
- Remove CAPAB_SVS
- Add SVSACCOUNT command handler
- Update NEWS file
- conf_class.c:class_mark_for_deletion(): eliminate somewhat stupid typecasting
- m_stats.c, listener.c: listener->active is of type bool. Use true/false where appropriate; change inetport() to bool
- Bump version to hybrid-8.2.33
- m_stats.c:stats_ports(): mark listeners with deferred accept() with 'D' in "STATS P"
- Implement accept() deferring. Closes github issue #4
- Stylistic changes
- m_who.c:who_matches(): add support for CIDR notation
- m_nick.c:m_nick(): make use of member_has_flags()
- client_svstag.c: whitespace change
- m_kick.c:m_kick(): simplify half-op testing logic on 'member_source'
- Style corrections; reformatting
- Cleanup ip address matching routine in various places
- conf.c:operator_find(): allow matching against client->realhost; deduplicate
- tls_gnutls.c:tls_set_ciphers(): fixed broken string conversion specifier
- Make use of listener_has_flag() in various places; client-only listeners are now marked with a 'C' in "/stats P"
- channel.c:channel_send_namereply(): update documentation
- Added 'client' option to listener::flags
- m_user.c: merge do_user() into mr_user()
- Rename some occurrences of 'client_p' to 'client'
- user.c: remove unused header include
- user.c:introduce_client(): remove old backwards compatibility code for non rhost servers
- m_kline.c:kline_check(): allow klines to match against client->realhost
- m_kline.c:kline_handle(): add missing IsClient() test to prevent the non-wildcard rejection NOTICE from being sent to servers
- m_nick.c, m_svsnick.c: removed old backwards compatibility code
- server.c:write_links_file(): rename 'target_p' to 'client'
- Update NEWS file
- Removed MAXIMUM_LINKS_DEFAULT
- m_svshost.c: don't pass SVSHOST to other servers in case the host name is invalid
- m_svsnick.c: actually use 'new_nick' instead of parv[3] which can be a timestamp
- m_svsnick.c: always send the 5 arg SVSNICK to other servers
- 'STATS ?' is oper-only now
- m_knock.c: reject request with ERR_CANNOTKNOCK if MODE_NOKNOCK is set
- Update NEWS file
- Implemented channel mode 'K'. KNOCK cannot be used on channels with that mode set.
- m_oper.c:m_oper(): slightly improve readability
- packet.c:parse_client_queued(): use 'return' consistently. 'break' needs to be used only in case of a state change
- channel_mode.c:channel_modes(): minor optimization to save potentially redundant member_find_link() calls
- configure.ac: replace obsolete AC_CONFIG_HEADER with AC_CONFIG_HEADERS
- tls_gnutls.c, tls_openssl.c, tls_wolfssl.c: fixed ret vs. retlen vs. length inconsistency
- tls_openssl.c: clear OpenSSL's error queue before SSL_get_error() invocation
- channel.c:channel_send_namereply(): remove show_eon argument. In hybrid we no longer have a case where a names reply needs to be sent with no RPL_ENDOFNAMES
- Rename channel_member_names() to channel_send_namereply()
- Bump version to 8.2.32
- m_join.c:set_final_mode() replace 1/-1 oddness with MODE_ADD/MODE_DEL; make m_sjoin() use set_final_mode() from m_join.c for now
- m_close.c: replace DLINK_FOREACH_SAFE with a simple while()
- m_sjoin.c:remove_ban_list(): replace DLINK_FOREACH_SAFE with a simple while()
- Update NEWS file
- Update help/extban
- Extban $t of type 'acting' has been implemented. This extban allows matching based on TLS protocol version and/or cipher suite
- extban_channel.c: documenting
- Rename find_channel_link() to member_find_link()
- Add member_get_prefix_len() and make use of it in some places; rename get_member_status() to member_get_prefix()
- m_sjoin.c: fixed ages old bug where server name hiding would not work for bmask removal; incorporate server name hiding cleanups from m_join.c
- Move remove_a_mode() from m_join.c to channel.c and rename it to channel_demote_members(); have m_sjoin.c make use of it as well
- m_join.c:remove_a_mode(): minor logic fix to previous commit
- m_join.c: refactor remove_a_mode()
- m_join.c: minor cleanups to server name hiding; remove pointless remove_our_modes() wrapper
- whowas.h, whowas.c: rename Whowas::online to Whowas::client
- s_bsd.c:comm_checktimeouts(): minor cleanups; remove pointless tests on timeout handlers
- s_bsd.c:comm_setflush(): really set F->flush_timeout to 0 if called with timeout = 0; same goes for comm_settimeout()
- Update NEWS file
- Replace remaining occurrences of IsMember with find_channel_link and remove IsMember entirely
- send.c: restructuring & reformatting
- Fixed remaining style issues
- m_set.c:quote_autoconn(): show status as OFF/ON instead of 0/1 just like in quote_autoconnall()
- auth.c:auth_release_client(): move copying of x->host to x->realhost to conf.c:verify_access()
- m_mode.c: style correction
- m_whois.c: rename whois_can_see_channels to whois_channel_show_status; use enum for it instead of hardcoded values that have no meaning
- m_whois.c:whois_person(): fixed archaic bug where, when sending a RPL_WHOISCHANNELS reply to a remote client, it could be truncated on the remote side in case the server/client IDs are longer than the actual names
- Remove hardcoded numeric digit from RPL_WHOISCHANNELS
- Remove hardcoded numeric digit from RPL_NAMREPLY
- parse.c:parse(): move comment to where it really belongs to
- Add METADATA command handler for later use
- Store tls version/cipher in Client::tls_cipher for later use
- Rename Client::certfp to Client::tls_certfp
- m_oper.c: replace %s!%s@%s combo with client_get_name
- m_set.c:quote_spamnum(): use proper conversion specifier for GlobalSetOptions.spam_num
- parse.c:parse(): remove redundant IsDead test
- parse.c:parse_handle_numeric(): unconfuse some extra smart looking condition
- .travis.yml: send irc notifications on failure only
- server_hunte(): drop the 'parc' argument. It's no longer needed.
- m_links.c: minor cleanups to parameter handling
- m_rehash.c:mo_rehash(): remove sanity test on parv that's now no longer needed
- m_module.c:mo_module(): remove sanity test on parv[1] that's now no longer needed
- Update NEWS
- Style corrections
- parse.c:parse_handle_command(): re-added MyClient() test to allow handlers to be re-used for remote clients
- Refactor Message flags
- Remove superfluous tests on 'parc' in some modules
- m_topic.c:ms_topic(): remove redundant test on 'parc'
- Track how many times a command has been issued via ENCAP in Message::ecount. Can be seen in /stats m now.
- parse.h: documenting
- Each type of command handler now has its own min/max argument count pair; remove remaining argument checks from all modules
- Update NEWS file
- Reformatting of various header files in some places
- Update NEWS
- Bump version to 8.2.31
- Fixed various style inconsistencies
- user.c:register_local_user(): remove assert() on client->servptr that's now pointless
- Move setting of client->servptr to more appropriate places
- Update NEWS file
- channel_mode.c:add_id(): actually store the raw ban mask in ban->banstr for servers/remote clients (fixes github issue #18)
- channel.c:msg_has_ctrls(): fixed issued with high ascii erroneously being parsed as control characters due to overflowing 'p' (github issue #19)
- channel_invite.c:invite_find(): add some basic documentation
- m_user.c: avoid sprinkling and indexing parv[] multiple times
- Change m_userhost() and m_ison() so sendto_one_numeric() can be used
- Replace some occurences of sprintf with snprintf
- m_accept.c:list_accepts(): replace sprintf with snprintf
- m_accept.c:list_accepts(): minor code readability improvements
- event.h: add missing 'extern' to 'event_base' to fix broken build with gcc 10 as reported by Dominic Hargreaves. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=957377
- Fixed style inconsistencies in various 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
- Remove strtok_r() compatibility code
- ircd.c:setup_fdlimit(): fixed setrlimit() throwing EINVAL on macOS/catalina (#16 on github)
- 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
- Update NEWS file
- Bump version to 8.2.30
- Update NEWS file
- m_nick.c: change all check_clean_* functions to bool type
- Remove unused header includes
- m_nick.c: style corrections
- Update doc/modes.txt
- Update NEWS file
- propset
- Add src/extban_nick.c
- Extban $n of type 'acting' has been implemented. This extban prevents matching users from changing their nick while in the channel. Users with voice or above are not affected. - Channel mode +N has been changed so channel members with +v can change nick names, too
- Update NEWS file
- m_sjoin.c:ms_sjoin(): cleanup usage of 'tstosend'. Just use channel->creation_time instead.
- m_join.c:ms_join(): fixed ages old bug where in the channel it would appear as if the client removed the modes/topic instead of the server
- Fixed issue where HAVE_LIBCRYPTO wouldn't get defined even if the configure test was successful
- help/Makefile.am: properly install the extban help file
- Update NEWS file
- tls_wolfssl.c: make use of recently added wolfSSL_CTX_set1_groups_list if available. Kudos to the guys at wolfSSL for implementing it that fast.
- m_who.c:do_who(): reduce buffer size from IRCD_BUFSIZE (512) to 8
- Reduce size of some user mode relevant buffers from IRCD_BUFSIZE (512) to UMODE_MAX_STR (56)
- Stylistic changes to m_svsmode.c & m_svsnick.c
- propset
- propset
- autoreconf
- Move channel invitation related functions to channel_invite.c
- user.c:introduce_client(): rename 'server_p' to 'server'
- extban.c:extban_format(): break early as there can't be more than one acting or matching extban
- configure: remove test for accept4
- Bump version to 8.2.29
- reference.conf: it's actually named enable_extbans
- motd.c:motd_lookup(): check against client->realhost, too
- Update NEWS file
- client.c: rename some occurrences of 'source_p' to 'client'
- Rename most occurrences of 'client_p' to 'client'
- extban_account.c:extban_account_matches(): replace irccmp with strcmp
- extban_server.c: allow $s to be used for invite exceptions
- extban_account.c:extban_account_matches(): logic fixes so $a:* actually matches any logged-in user
- extban.c:extban_get_isupport(): remove extraneous cast
- Update reference.conf
- propset
- Re-create autogenerated files
- 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.
- Update NEWS file
- Bump version to hybrid-8.2.28
- ircd.c: remove unused header inclusion
- Re-create parser files
- Renamings: tls_new_cred -> tls_new_credentials tls_free_cred -> tls_free_credentials tls_verify_cert -> tls_verify_certificate
- conf.c:conf_read_files(): minor cleanup; kill 'filename' pointer
- conf.c:conf_read_files(): remove second buffer which doesn't make any sense here
- Update NEWS file
- channel.c:find_bmask(): bmasks are now tested against x->realhost, too
- tls_gnutls.c:tls_new_cred(): verify gnutls_global_init() run
- server_tls_handshake(), ssl_handshake(): make use of client_get_name()
- tls_wolfssl.h: fixed minor documenting issue
- conf_parser.y: style corrections; mostly whitespace changes
- Update INSTALL file
- Update NEWS file
- m_who.c:who_matches(): match() against x->realhost, too
- Stylistic changes
- Stylistic changes
- Update NEWS file
- Update NEWS file
- tls_gnutls.h: remove extraneous #if !defined(HAVE_LIBCRYPTO). HAVE_LIBGNUTLS and HAVE_LIBCRYPTO can't be defined at the same time.
- reference.conf, tls_gnutls.h: documentation updates
- propset
- Update README file
- .travis.yml: move coverity scan to build matrix
- Move ax_with_tls.m4 to ax_arg_with_tls.m4
- Bump version to hybrid-8.2.27
- Update .travis.yml
- Update .travis.yml
- Update .travis.yml
- Update .travis.yml
- The --enable-openssl, --enable-gnutls switches, and their disabling counterparts --disable-openssl and --disable-gnutls, have been replaced with the --with-tls switch which takes one of the following options: 'openssl', 'wolfssl', 'gnutls', and 'none'. If nothing has been specified, configure tries to autodetect in the following order openssl/libressl -> gnutls -> wolfssl.
- Update reference.conf
- reference.conf: whitespace change
- autoreconf
- Implemented experimental support for wolfSSL. Minimum supported version is 4.3.0
- tls_gnutls.c, tls_openssl.c: tls_get_cipher, tls_get_version: reduce buffer sizes
- ax_arg_openssl.m4: minor correction to AC_MSG_CHECKING usage
- Minimum supported GnuTLS version is 3.6.5 now
- tls_openssl.c:tls_new_cred(): (re)set default ciphers if there aren't any defined in the configuration
- Replaced most occurences of 'SSL' with 'TLS'
- Update NEWS file
- tls_openssl.c:tls_new_cred(): stylistic changes
- tls_openssl.c:tls_new_cred(): despite being mentioned in the manual, feeding SSL_CTX_set_ciphersuites with an empty list doesn't work
- tls_openssl.c:tls_get_cipher(): drop the explicit bits used information as this is redundant --- Diese und die folgenden Zeilen werden ignoriert -- M src/tls_openssl.c
- Rebuilt parser files
- 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
- tls_openssl.c:tls_new_cred(): default to X25519:P-256 groups
- Rebuilt parser files
- Supported TLSv1.3 cipher suites can now be configured explicitely via the new 'serverinfo::tls_cipher_suites' configuration directive
- tls_gnutls.c, tls_openssl.c: stylistic changes
- tls_openssl.c:tls_new_cred(): log a warning in case SSL_CTX_set_cipher_list failed
- tls_openssl.c: further modernization: replace SSL_CTX_set_tmp_ecdh with SSL_CTX_set1_groups_list
- Minimum supported version of OpenSSL is 1.1.1 now; modernize tls_openssl.c, drop/replace usage of obsolete functions
- tls_openssl.c:tls_new_cred(): fixed compile warning
- conf_parser.y:reset_block_state(): deduplicate
- configure: minimum supported OpenSSL version is 1.0.2r now
- Update NEWS
- OpenSSL now runs with automatic curve selection if no curve is defined in serverinfo::ssl_dh_elliptic_curve
- channel.h: remove unused ShowChannel macro
- server.c:write_links_file(): replaced kind of redundant snprintf() with just strlcat() appending the LF character
- conf.c:conf_dns_callback(): kill a memcpy()
- Merge conf_dns_lookup into conf_resolve_host
- m_names.c:m_names(): remove extraneous test on 'parc'
- 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
- user.c: merge check_xline() into register_local_user()
- Bump copyright years everywhere
- tls_gnutls.c:tls_verify_cert(): we're actually not interested in the length of the certificate list. i.e. pass NULL as second argument to gnutls_certificate_get_peers().
- Rebuilt parser files
- The connection timeout for connect{} blocks can now be configured via the 'connect::timeout' configuration directive
- Update reference.conf
- Update README file
- hash.c: stylistic changes
- hash: move initialization of 'hashf_xor_key' into strhash() and kill hash_init()
- Various stylistic changes
- channel_mode.c:get_channel_access(): fixed compile error with --enable-assert
- 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
- modules.c: whitespace change
- Command handlers are now of type void again
- m_stats.c: StatsStruct: remove excessive 'const'
- Renamed 'creationtime' Channel structure member to 'creation_time'
- m_stats.c: remove extraneous variable initializations in some places
- m_stats.c:stats_tab[]: use designated initializers
- Update NEWS file
- tls_gnutls.c:tls_new_cred(): fixed segfault issue in case there's no DH parameter file. Reported by Dominic Hargreaves <dom@debian.org>
- m_server.c: stylistic changes
- m_server.c:mr_server(): drop the connection in case the other side attempts to introduce a server name we don't expect.
- m_server.c:server_check(): play nice with already attached connect{} records; Break early if a matching record was found as there's no point in processing the rest of the list
- m_server.c:server_estab(): clean up stupid logic where we perform an extra test on client_p->connection->confs to see whether the connect{} block record really got attached
- tls_gnutls.c:tls_new_cred(): test the return value of gnutls_dh_params_init() and act accordingly
- s_bsd.c:setup_socket(): enable TCP_QUICKACK
- Update NEWS
- PR #14 by albert-github: Correction of some obvious documentation bugs
- Update NEWS
- hostmask.c:try_parse_v4_netmask(): made 'addb' of type uint8_t
- s_bsd.c:comm_connect_tcp(): fixes to -r9034
- Update NEWS
- Update NEWS
- conf_class.c:class_find(): fixed logic that wouldn't allow to pick up inactive classes leading to '/rehash' not updating existing classes and rather creating duplicates
- m_stats.c:show_ports(): style correction
- misc.c:address_compare(): improve readability
- s_bsd.c:comm_connect_tcp(): kill another memcpy()
- parse.c:parse(): replace IsDefunct() test with IsDead(). Checking for FLAGS_CLOSING and FLAGS_KILLED is redundant at this point.
- hostmask.c:try_parse_v6_netmask(): change 'unsigned short' to 'uint16_t'
- hostmask.c: commit message from p4: fix stack out of bounds write when parsing v6 netmasks. Additionally fix the check for the number of given cidr bits to be > the number of parsed bits to not erronously parse valid v6 masks as hosts.
- m_undline.c, m_unkline.c: fixes to previous changes
- Update NEWS
- m_stats.c:stats_servlinks(): use IEC prefixes
- misc.h: use IEC prefixes
- m_links.c: /links can no longer be used remotely
- Update NEWS file
- hostmask.c:try_parse_v4_netmask(): make UBSan shut up
- listener.c:listener_make(): another memcpy() bites the dust
- Update INSTALL file
- m_unkline.c: merge kline_remove_and_notify() into kline_remove(); add a notice when attempting to remove a conf based k-line instead of telling the user that the k-line doesn't exist. m_undline.c: likewise
- listener.c:inetport(): kill pointless copying of listener->addr
- res.c:do_query_number(): kill another memcpy()
- Kill a few memcpy() not needed in some places
- Actually remove send_queued_all() as it is no longer needed
- send.c:send_queued_all(): deduplicate
- send.c:sendto_common_channels_local(): remove pointless test on 'user->connection->serial' as 'user' is skipped in the loop anyway and never gets a new serial set. This is a remainder of when that logic used to work differently.
- m_svsmode.c: use 'true' instead of plain 1 as second argument to sendto_common_channels_local()
- send.c: stylistic changes
- send.c: replace remaining IsDefunct() tests with IsDead()
- client.c:exit_client(): add assert()
- auth.h: remove unused AuthRequest::node
- m_*line.c: use const on 'aline'
- Stylistic changes
- Run try_connections() once every five seconds
- client.c, server.c: use monotonic time for server connection cycle
- autoreconf
- Bump version to 8.2.26
- m_svinfo.c: intmax_t -> uintmax_t
- m_away.c: killed ms_away(), a pure duplicate of m_away()
- Expire gecos and resv denies on the fly while looking them up
- Move oper_privs_as_string() from conf.c to m_stats.c
- m_server.c:server_estab(): change FLAGS_CLOSING check back to FLAGS_DEADSOCKET. This one got lost when https://svn.ircd-hybrid.org/viewcvs.cgi/ircd-hybrid/src/s_serv.c?root=cvs&r1=7.276&r2=7.277 has been reverted
- Update NEWS file
- Recreate parser files
- Removed general::tkline_expire_notices configuration directive and added user mode +X (sees *LINE expiration notices) instead
- tls_gnutls.c, tls_openssl.c: stylistic changes
- tls_gnutls.c: avoid maintaining multiple priority strings
- Made read/write functions use ssize_t
- send.c:send_queued_write(): refactoring
- packet.c:read_packet(): minor cleanup; don't break the loop if we can just return here
- packet.c:read_packet(): read until EAGAIN for non TLS clients, too
- whowas: rename hashv to hash_value
- mkpasswd.c: remove crypt() redeclaration
- send.c: split up if statements
- Lower TLS handshake timouts to 5 seconds. Add separate TLS_HANDSHAKE_TIMEOUT enum to tls.h
- Fixed issue where timeouts set with comm_setselect() were not working as in most places this function has been called with seconds when it really expected milliseconds. Removed all related multiply/divide by 1000 nonsense that's sprinkled in the code as ircd currently does support one-second granularity anyway.
- client.c:client_get_name(): remove outdated comments
- m_stats.c:stats_events(): use proper conversion specifier
- Update NEWS file
- auth.c: change ident timeouts to 4/4
- ipcache.h: documentation update
- Killed CurrentTime
- ircd.c:main(): improve seed generation
- Use proper conversion specifiers in some places; remove pointless casts
- m_server.c:server_estab(): for consistency, set client_p->connection->created_real here as well, even if we don't need it for servers
- Should be using monotonic clock almost everywhere now; sort out mixture and misuse of 'firsttime', 'lasttime' and 'since' in the Connection structure
- Update documentation in some files
- Use monotonic clock for client->connection->first_received_message_time and channel->first_received_message_time
- event.c:event_time_set(): fixed logic error
- event.c:event_time_set(): fix compile warning
- Use monotonic time for client->connection->last_privmsg
- Use monotonic time for client->connection->last_privmsg
- channel.c:check_spambot_warning(): remove extraneous parentheses
- Make more timers use monotonic time
- Add support for monotonic clocks and have some timers make use of it; remove event_set_back_events()
- Replace gettimeofday() with clock_gettime(). We're not falling back to gettimeofday() for old/weird systems that don't have clock_gettime()
- auth.c:auth_connect_callback(): allow a read timeout of 3 seconds
- auth.c:auth_delete(): eliminate possible race conditions
- auth.c: remove auth_timeout_queries() and related code. Just let the dns and identd timeouts finish the request - Removed IDENTTIMEOUT from '/set' options. We now no longer allow users to change this on runtime. identd timeout is 5 seconds now
- user.c:user_set_hostmask(): send CHGHOST to the client whose host gets changed
- auth.c:auth_dns_callback(): replace `EmptyString()` test with just `namelength == 0`
- auth.c:auth_free(): set auth->client pointer to NULL
- auth.c:auth_dns_callback(): minor readability improvements
- Add address_compare() and make use of it in some places
- server.c:server_connect_callback(): remove redundant memcpy(). Address is already being copied to client->ip in server_connect()
- Remove redundant x.ss.ss_family = res->ai_family assignments. This is already set by getaddrinfo()
- Recreate parser files
- Cleanup server connecting related code even further - Make comm_connect_tcp() take less arguments and remove unused dns resolving functionality
- m_connect.c:mo_connect(): swap conf->host and conf->name arguments in server connection notice
- server.c:server_connect(): cleanup address binding related mess
- Regenerate parser files
- 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'
- getopt: rename YESNO to BOOLEAN
- config_parser.y: minor style corrections
- conf_parser.y: reject connect{} configuration entries with invalid server names
- m_info.c: stylistic changes
- conf_lexer.l: remove unused 'passwd'
- conf_lexer.l: remove unused 'quarantine'
- client.c:check_conf_klines(): skip dead clients on the unknown_list, too
- server.c: move SetHandshake to proper place
- Fixed bug where handshaking servers wouldn't timeout
- client.c:check_pings_list(): remove various tests as we don't process anything else than clients and server that have finished registration
- autoreconf
- ax_arg_gnutls.m4: update gnutls version string
- conf_connect_allowed, find_conf_by_address, find_address_conf, find_dline_conf: drop the aftype argument
- Made comm_get_sockerr() and comm_accept() take a fde_t pointer as argument
- ax_arg_gnutls.m4: minimum supported GnuTLS version is 3.5.8 now
- ax_arg_openssl.m4: minimum supported OpenSSL version is 1.0.1f now
- tls_gnutls.c, tls_openssl.c: disable TLSv1.1
- s_auth.c:auth_read_reply(): use sizeof(buf)-1 instead of RFC1413_BUFSIZ for recv()
- send.c:sendto_match_servs(): add IsDead test
- client.c:exit_client(): remove extraneous IsDead test. sendto_one() already does that.
- auth.c: sprinkle some assert()
- Update NEWS file
- channel.c: fixed previous changes to is_banned()
- Move CAN_SEND_ enum from channel_mode.h to channel.h
- Tidy up some enums; misc style corrections
- m_set.c:quote_identtimeout(): fixed invalid use of ERR_NOPRIVS; test for admin oper flag instead of the user mode
- m_set.c:quote_autoconnall(): prevent 'status' from being OOB read in case the type of GlobalSetOptions.autoconn ever changes again
- Use bool for SetOptions.autoconn
- Made Connection::oper_warn_count_down unsigned; clean up some logic in check_spambot_warning()
- Made Connection::join_leave_count and SetOptions::spam_num unsigned
- Recreate autogenerated files
- No longer enforce a lower limit of MAXCLIENTS_MIN on GlobalSetOptions.maxclients and ConfigServerInfo.default_max_clients
- Recreate autogenerated files
- The 'general::ignore_bogus_ts' configuration option has been deprecated
- m_sjoin.c: use bool
- m_set.c:quote_autoconn(): readability cleanups
- tls_gnutls.c, tls_openssl.c: disable TLSv1.0
- configure.ac: don't let --enable-debugging remove -Wno-format-truncation
- autoreconf
- configure.ac: AC_CHECK_FUNCS_ONCE: add accept4 for later use
- ircd.c: added setup_fdlimit(); move max file descriptor check out of fdlist_init()
- fdlist.c:fd_note(): don't leak memory on F->desc if it is already allocated
- fdlist: change F->desc to a pointer and use xstrdup to copy description
- fdlist.h: remove unused F->connect.S; reduce FD_DESC_SIZE to 80
- autoreconf
- Add -Wcast-function-type to CFLAGS if available
- Recreate autogenerated files
- conf_lexer.l: made ieof() use bool; minor style corrections
- autoreconf
- configure.ac: disable -Wformat-truncation as it's spamming only false-positives with the current code
- Update copyright years
- Fixed issue with remote RESV introduced in -r8669
- Recreate autogenerated files
- Bump version to hybrid-8.2.25
- conf.h: remove unused CidrItem struct
- m_dline.c: dline_handle(): drop some notice back to the user in case of a malformed IP address; fixed style inconsistency in dline_check()
- m_dline.c:dline_check(): deduplicate
- m_watch.c: use const
- autoreconf
- Get rid of version.c
- conf.c:verify_access(): improve readability
- m_away.c:do_away(): re-add strncmp check. Now with away-notify we don't want clients to be able to spam other channel members with the same away message over and over again
- modules: replace MODULE_FLAG_CORE and MODULE_FLAG_NOUNLOAD with dedicated variables; fixed the ircd from crashing in case reloading a module fails
- auth: replace AM_DOING_AUTH and AM_DNS_PENDING with dedicated variables
- m_whois.c:whois_person(): make 'callerid' use bool
- Sprinkle some assert()
- Rewrites to have parse_handle_command() end the flood grace period. MODE and TIME no longer ends the grace period.
- client.h: remove last traces of Connection::allow_read
- Get rid of Connection::allow_read and have parse_client_queued() determine max lines to be processed
- packet.c: made extract_one_line() of type size_t
- server_die(): remove die/restart enum. Use bool instead.
- Boolify
- Stylistic changes
- Move resv_find() test out of resv_make()
- m_cap.c: change most functions to void type
- Update NEWS file
- m_resv.c:resv_handle(): adding RESVs with wirldcards no longer requires administrator privileges
- m_resv.c:ms_resv(): add missing newline
- m_dline.c:dline_handle(): remove valid_wild_card() test not needed for dlines
- m_oper.c:oper_up(): in preparation for further configuration subsystem rewrites, don't retrieve the conf pointer through x->connection->confs.head->data. Pass it as separate pointer to oper_up() instead.
- More bool conversion. This should be everything now.
- AUTHORS, version.c: update my email address
- Update dline and kline help files
- Fix Coverity CID 1475602: Memory - illegal accesses (UNINIT)
- More parse_aline() tweaks
- Cleanup xline_remove()
- Further parse_aline() cleanups; get rid of find_user_host() - /KLINE and /DLINE now no longer supports nick names
- m_list.c: rename 'errors' variable
- Stylistic changes
- Cleanup parse_aline() related code
- m_topic.c:ms_topic(): fixed server name hiding issue
- tls_none.c:tls_new_cred(): fixed bool conversion mistake. Should return 'true' here
- Make use of bool even more
- m_join.c: remove unused header include
- 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
- Use bool data type in struct Whowas
- Use bool data types in some places
- channel_mode.c:chm_simple(): remove hardcoded CHACCESS_HALFOP oplevel test to allow channel mode modules to register their own oplevel in the future
- Cleanups to add_id and del_id; have these function take a dlink_list pointer to the channel's banmask list
- channel_mode.(c|h): get rid of the specialized chm_ban, chm_except, and chm_invex functions and just have chm_mask instead
- Use a boolean type for chan_mode::only_servers and chan_mode::only_opers
- channel_mode.h: remove excessive const
- channel_mode.(c|h): get rid of the specialized chm_op, chm_hop, and chm_voice functions and just have chm_flag instead
- ircd_getopt.h: remove unused ENDEBUG from argtype
- m_sjoin.c:remove_ban_list(): minor cleanups
- m_join.c, m_sjoin.c: cleanup chaotic (re)use of global variables
- svn propset
- patricia.c:ascii2prefix(): fixed compile warning
- m_nick.c: stylistic changes
- hostmask.h: remove mask_addr() prototype
- Recreate conf_parser.c
- Backport ipcache and class cidr limits rewrite from trunk
- Makefile.am: add patricia.c to ircd_SOURCES
- Add latest patricia sources from trunk
- Stylistic changes
- m_nick.c:uid_from_server(): add the ipcache record only if getaddrinfo() doesn't fail
- m_server.c: merge 'Simplyify server_check logic, do not use magic constants everywhere' (Adam)
- client.h: whitespace cleanups
- conf_db.c:open_db_read(): simplify
- Fixed style inconsistencies in various places
- client_svstag.c:svstag_attach(): documentation
- Rename Channel:locmembers to Channel::members_local
- watch: cache hash values
- Sprinkle some assert(); cleanup existing ones
- Minor style corrections
- channel.c:channel_do_join(): deduplicate
- modules.c: style corrections
- s_bsd.c:ssl_handshake: use 'F' instead of 'client_p->connection->fd'
- s_bsd_epoll.c: remove syscall.h header include
- s_bsd_epoll.c: get rid of the fixed size ep_fdlist and add support for a growing epoll_event array. Some code derived from libevent.
- s_bsd_epoll.c: use epoll_create1 w/ EPOLL_CLOEXEC
- s_bsd_epoll.c:comm_setselect(): use memset 0 on 'ep_event'
- Minor cleanup to fd_open()
- user.c: style corrections
- auth.c: style correction; add some assert() to auth_error()
- Style corrections
- fdlist.c: initialize 'highest_fd' with -1 so we don't run into problems if we ever have a fd == 0 in fdlist_update_highest_fd(), which currently is highly unlikely
- AUTHORS, version.c: purge a bunch of yada yada yada
- m_oper.c: oper_up() is called for local clients only; use NULL as first argument to sendto_server()
- channel.c: channel_do_join() is called for local clients only; use NULL as first argument to sendto_server()
- Style corrections
- Further cleanups to log.c
- log.c: further cleanups
- log.c: cleanups to improve readability; remove pointless log_set_file() call in ilog()
- Update reference.conf
- Update NEWS file
- Killed Connection::aftype. Use Client::ip.ss.ss_family instead.
- Recreate autogenerated files
- Killed userhost.c. Rewrote everything to use ipcache.c
- m_unresv.c: stylistic changes
- pseudo {} blocks aka services aliases are now reported via "STATS s"
- Update NEWS file
- m_knock.c: avoid indexing parv[] multiple times
- propset
- Move svstag related code into its own files
- Update NEWS file
- m_whois.c:whois_person(): services clients are now tagged with 'is a Network Service' in "WHOIS"
- Documentation changes
- autoreconf
- configure.ac: remove -fno-strict-aliasing from cflags
- conf_gecos.c, conf_resv.c: stylistic changes
- Bump version to ircd-hybrid-8.2.24
- auth.c: deduplicate; minor cleanups
- Implemented channel mode 'N' which prevents users from changing their nick while in a channel with that mode set
- s_bsd_epoll.c:comm_setselect(): add assert()
- m_svskill.c: cleanup ms_svskill(). args_min is 3 now. A TS argument is now always required, but it can be 0
- conf_pseudo.c:pseudo_message_handler(): stylistic changes
- Recreate conf_parser
- Move pseudot_stats() to m_stats.c
- Update NEWS file
- 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.
- conf.c:clear_out_old_conf(): free ConfigServerHide.hidden_name
- m_die(), m_restart(): don't give any hints about how to use this command if missing the server name parameter. Just send ERR_NEEDMOREPARAMS.
- Stylistic changes
- autoreconf
- ax_arg_enable_warnings.m4: add -Wshift-negative-value
- m_ison(), m_userhost(): const correctness
- Add channel_get_list() to channel.c which should be used when accessing channel_list outside of channel.c
- Stylistic changes
- conf_gecos.c: remove unused header include
- Allow a matching function to be passed to conf_service.c:service_find()
- Stylistic changes
- Update NEWS file
- Rename some functions to comply with naming convention
- m_server.c:ms_sid(): removed outdated/invalid comment
- m_server.c:ms_sid(): use source_p->from instead of client_p
- m_server.c:server_estab(): removed outdated/invalid comment
- Remove fd-management.txt hostmask.txt index.txt network.txt send.txt from doc/technical/
- Remove CHW and HOPS server capabilities. These are mandatory for quite some time now.
- Rename some functions to comply with naming convention
- ircd_signal.c:setup_signals(): use NULL instead of 0 as third argument for sigaction()
- Update NEWS file
- m_stats.c:stats_tstats(): fixed 'unknown closes' statistic; minor cleanup
- m_userhost.c:m_userhost(): removed pointless MyConnect() test which is a lazylink leftover
- m_userhost.c:m_userhost(): changed size of 'response' buffer to something more sane
- server.c:serv_connect_callback, finish_ssl_server_handshake: cleanups; immediately continue with read_packet()
- client.c:client_free(): remove some assert() that are now no longer valid
- client.c:dead_link_on_read(): replace two report_error with a sendto_realops_flags/ilog combo
- list.c: revert 'dlinkDelete(): reset m->data as well'
- Rename attach_conf() -> conf_attach(), detach_conf() -> conf_detach(); clean up documentation
- Move close_connection() from s_bsd.c to client.c
- Clean up some awful CONF_SERVER handling in serv_connect()
- hash.c:free_list_task(): properly unlink nodes from their lists even though memory is freed solely for debugging purposes
- autoreconf
- Rip out mempool
- s_bsd_epoll.c, s_bsd_kqueue.c: make use of epoll_event.data.ptr and kevent.udata
- defaults.h: change NETWORK_NAME_DEFAULT and NETWORK_DESC_DEFAULT
- Move fd_dump() to m_stats.c; rename it to stats_fdlist()
- client.c: moved clear_invite_list(), and del_all_accepts() calls from exit_one_client() to exit_client()
- Update NEWS file
- Update NEWS
- Fixed bug spotted by Erick J. Velez where ircd would not remove RPL_WHOISOPERATOR based svstags when deoppering.
- autoreconf
- Move 'gcc_stack_protect' to 'ax_gcc_stack_protect'
- "JOIN 0" is now no longer supported
- fdlist.c: remove unused header includes
- res.c:restart_resolver(): Added sanity test. ResolverFileDescriptor might be NULL at this point
- auth.c: added some assert()
- Update INSTALL and README
- autoreconf
- Moved AC_DEFINE_DIR to AX_DEFINE_DIR
- Bump version to ircd-hybrid 8.2.23
- Update NEWS file
- mempool.c:mp_pool_init(): fixed compile warning with --disable-mempool
- Style corrections
- auth.c:make_auth(): fixes to previous commit
- auth.c:make_auth(): properly assign 'auth' to 'auth->client->connection->auth'
- s_bsd_kqueue.c:comm_select(): fixed another compile error
- s_bsd_kqueue.c:comm_select(): fixed build
- 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
- client.c:client_free(): fixed assert() broken by previous commit
- client.c:client_free(): inspect most of the relevant 'struct Client' and 'struct Connection' members
- client.h: removed 'country_id' libgeoip leftover from Client struct
- autoreconf
- Add --enable-efence switch to allow easy linking with the electric fence memory debugger library
- autoreconf
- The memory pooling allocator can be disabled with the --disable-mempool switch now
- ax_append_compile_flags.m4: update to latest version
- ax_arg_enable_warnings.m4: add -Wduplicated-cond
- Update NEWS file
- Recreate parser files
- autoreconf
- Remove experimental libgeoip support
- client.c:client_free(): set client_p->connection = NULL after freeing it
- Clean up remaining sizeof() to sizeof(variable)
- s_bsd.c: removed useless auth.h header include
- auth.h, auth.c: reformating; rename some functions to comply with naming convention
- auth.h, auth.c: made release_auth_client() 'static'; removed declaration in auth.h
- m_help.c:do_help(): silence some valgrind warning
- auth.c:auth_delete(): clear AM_DOING_AUTH, and AM_DNS_PENDING flags as appropriate
- auth.c:release_auth_client(): use the AddFlag macro
- list.c:dlinkDelete(): added assert()
- client.c:exit_client(): added assert(); style correction
- client.c:exit_aborted_clients(): deduplicate
- list.c:dlinkDelete(): reset m->data as well
- client.c:client_free(): fixed compile error introduced by previous changes
- client.c:client_free(): sprinkle some assert()
- mempool.c:mp_pool_new(): minor clarification in some debug log message
- ircd.c:main(): show 'ircd_version' and 'serno' in 'Server ready' message
- Update copyright years
- m_trace.c:do_trace(): 'tab' should be const here
- channel.c:check_spambot_warning(): stylistic changes; improve readability
- channel.c:check_spambot_warning(): remove extraneous parentheses
- Update INSTALL file; clarification on the --enable-debugging switch.
- motd.c:motd_lookup(): fixed indentation
- Update NEWS file
- m_webirc.c: from p4: don't allow ips to begin with :
- s_bsd.c: from p4: add_connection(): clean up logic for ips beginning with :
- m_trace.c:do_trace(): restore H6 behavior where the RPL_TRACECLASS list would be sent only on a full TRACE list
- m_encap.c: fixed comments
- m_etrace.c:do_etrace(): cleanups
- m_trace.c:do_trace(): cleanup/deduplicate
- Change RPL_WELCOME to rfc2812 style now that we have the realhost information in Client::realhost
- Have s_bsd.c:comm_accept() take a fde_t pointer instead of a struct Listener
- channel_mode.c:set_channel_mode(): use explicit NULL
- m_encap.c: documenting
- flex 2.6.4
- m_webirc.c:mr_webirc(): set source_p->realhost here too
- channel_mode.c:channel_modes(): fixed invalid test
- client.c, user.c: show the real host in client connect/exit notices
- auth.c: add documentation
- auth.c: have auth_dns_callback() to check for invalid hostnames rather than in user.c:register_local_user()
- Update NEWS file
- 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.
- client.h: remove outdated comment on Client.host
- Remove UMODE_HIDDENHOST as we don't need a separat mode for that
- user.h: remove prototypes for functions that no longer exist
- server_capab.h, server_capab.c: propset
- Add server_capab files
- autoreconf
- Move all CAPAB related code to server_capab.c, and server_capab.h
- irc_string.c: sync strlcpy() and strlcat() with latest versions from openbsd
- channel_mode.c: replace some two-case switches with just a small if/else if
- Update Riedel's email address
- channel_mode.c:chm_simple(): drop redundant mode changes; deduplicate
- Fixed NULL pointer dereference in chm_nosuch()
- channel_mode.c:cmode_tab[]: use designated initializers
- Get rid of chm_registered() and chm_simple_oper()
- Cleanup channel mode table handling
- Update NEWS file
- Add RPL_ETRACEEND numeric taken from irc2.11
- m_trace.c: reformatting
- m_etrace.c:do_etrace(): get remote ETRACE to work properly
- m_etrace.c:do_etrace(): cleanup function arguments
- m_trace.c: rename do_actual_trace() to do_trace(); cleanup function arguments
- m_module.c:module_reload(): use EXIT_FAILURE for exit()
- m_etrace.c: use me.name for RPL_TRACEEND
- Update NEWS file
- m_trace.c: kill ms_trace() not really needed
- m_etrace.c: add support for remote ETRACE
- m_trace.c: documentation
- 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
- m_info.c: clarification on 'failed_oper_notice'
- Update modes.txt
- numeric.c: add channel modes 'Lu' to RPL_MYINFO
- channel_mode.c: constification; remove useless comments
- Update NEWS file
- Rebuilt configuration parser files
- 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.
- Add chptr->mode.mode manipulation macros
- channel_mode.h, channel_mode.c: use 'unsigned' in some places
- Implement channel mode 'u' which hides bmasks (+b/+e/+I) to non-chanops everywhere
- configure.ac: remove test for sys/resource.h
- send.c: replace IsDefunct() test in sendto_wallops_flags(), and sendto_realops_flags() with just IsDead()
- send.c:sendto_realops_flags(): only allocate a single dbuf_block instead of multiple ones depending on how many recipient there are
- m_ison.c, m_userhost.c: fixed style inconsistencies
- send.c:sendto_realops_flags(): initialize 'ntype' with "???"
- channel.c:channel_make(): commenting
- m_xline.c: fixed style inconsistencies
- channel.c: fixed style inconsistencies
- channel_mode.c: fixed an issue in chm_key() where "MODE #chan +k-k bla bla" would result in a "MODE #chan +k-k *" sent back to clients.
- channel_mode.c:send_mode_changes_client(): remove senseless code
- channel_mode.c:chm_ban, chm_except, chm_invex: add some comments about the max length of 'mask'
- channel_mode.c: send_mode_changes_(client|server): remove length test on parabuf; minor other cleanups
- channel_mode.c: send_mode_changes_(client|server): rename variables; 'nc' -> 'modecount', 'mc' -> 'paracount'
- channel_mode.c: fixed possible issue in send_mode_changes_(client|server) where it wouldn't strip the trailing space on TMODE with more than MAXMODEPARAMS parameters
- Remove some pointless/outdated comments
- Bump version to ircd-hybrid-8.2.22
- m_trace.c: use me.name for RPL_TRACEEND
- m_server.c: stylistic changes
- Removed CAPAB_IE and CAPAB_EX. These are mandatory for some years now.
- 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()
- server.c: stylistic changes
- m_pass.c: remove unused header includes; update comments
- server.c:server_hunt(): use 'tmp' instead of 'node->data'
- m_whowas.c:do_whowas(): rename variable
- client.c: stylistic changes
- numeric.c: made ERR_SSLONLYCHAN more descriptive as requested by r0d3nt
- m_stats.c:stats_memory(): optimizations
- m_stats.c:stats_memory(): add some server stats
- m_trace.c: stylistic changes
- m_trace.c:do_actual_trace(): replace hash_find_client() with find_person() so remote requests with UIDs are processed properly
- m_trace.c: further cleanups to mo_trace()
- Made server_hunt() return a const pointer
- 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.
- Get rid of Count.local
- Get rid of Count.myserver
- Get rid of Count.total
- No longer put servers on the 'global_client_list'. This was just bad.
- client.c: merge update_client_exit_stats() into exit_one_client()
- Update README
- Rename some functions in client.c to comply with naming convention
- Rename some functions in auth.c to comply with naming convention
- Rename hunt_server() to server_hunt()
- Move check_server() from server.c to m_server.c; rename it to server_check()
- 'opers_bypass_callerid' now defaults to 'yes'
- send.c: style corrections
- send.c:sendto_channel_butone(): split long if statement
- send.c:sendto_channel_butone(): test IsDefunct() on 'target_p->from' instead of 'target_p' as it can be a remote client
- misc.c: add some comments
- conf_resv.c:resv_find(): remove explicit initialization on 'node' and 'list'
- conf_class.c:class_init(): make things look saner
- motd.c:motd_lookup(): don't retrieve ClassItem pointer when there's no need to
- .travis.yml: fix to previous commit
- .travis.yml: attempt to fix the gcc build on OS X
- Update copyright years
- m_kill.c:mo_kill(): removed old irc2.6 comment no longer valid these days
- m_kill.c: removed target's SID from the kill notice
- Update NEWS file
- m_ping.c: remove useless tests on 'destination'
- Style corrections
- Cleanup m_ping.c
- m_etrace.c:do_etrace(): swap test
- channel.c:channel_do_join(): rename variable
- m_kick.c:m_kick(): whitespace changes
- m_invite.c:m_invite(): adjust "/invite" to work with the new Invite structure
- Bump version to 8.2.21
- Update NEWS file
- m_error.c: fix comments
- m_oper.c: move oper-up logging to oper_up()
- m_set.c: replace mixture of %d/%i conversion specifiers with proper ones
- m_pong.c: cleanup ms_pong()
- m_pong.c:ms_pong(): added wrong direction test as suggested by Adam
- mempool.c: remove useless NULL assignment
- m_connect.c: update comments
- m_connect.c: ignore the port argument to CONNECT and always use the port provided in conf->port
- m_eob.c: remove server_eob() backwards compatibility code
- Style corrections in several places
- Make hash.c:free_list_task() use dlinkDelete() instead of dlinkFindDelete()
- help/set: whitespace change
- m_message.c:flood_attack_channel(): don't rate-limit messages sent by opers
- Use unsigned where appropriate
- Rebuilt parser files
- Import FLOODTIME changes from p4
- m_svsnick.c: fixed spelling
- m_svsnick.c: add source ts support
- Update NEWS file
- flex 2.6.2
- autoreconf
- Update NEWS file
- reference.conf: ramp up invite_expire_time to 60 minutes
- Minor style corrections and constifications
- Rebuilt parser files
- Implement INVITE expirations
- hostmask.c: try_parse_v6_netmask()/try_parse_v4_netmask(): set address family accordingly. parse_netmask(): zero out 'addr'
- conf.c:conf_error_report(), yyerror(): use const
- Bump version to hybrid-8.2.20
- autoreconf
- Removed help/error
- Update NEWS file
- motd.h: increase MOTD_LINESIZE to 321
- channel.c, dbuf.c: stylistic changes
- conf.c:conf_error_report(): fixed compile warning
- motd.c:motd_cache(): stylistic changes
- Rebuilt parser files
- user.c:send_umode(): fixed compile warning (-Wshadow) on centos and possibly others
- Update NEWS file
- .travis.yml: disable gcc builds on osx for now
- Added 'channel::max_invites' configuration directive
- Get rid of clear_ban_cache_channel() and clear_ban_cache_client(). Use clear_ban_cache_list() instead.
- Get rid of clear_invites_channel() and clear_invites_client(). Use clear_invite_list() instead.
- s_bsd_kqueue.c:kq_update_events(): make 'zero_timespec' a const struct
- m_whois.c:whois_person(): re-add /whois notice. Goes to user mode +y
- conf.c: fixed a lineno off-by-one for parser warnings in included configuration files
- conf_lexer.l: replace a snprintf with strlcpy
- conf_lexer.l:cinclude(): we don't use yyin
- Add stripws() to irc_string.c; make warnings about syntax errors with multiple whitespaces look nicer
- Update NEWS file
- Show GnuTLS/OpenSSL library/header versions in /INFO as suggested by Adam
- conf_lexer.l: cleanup config include stack code (Adam)
- Update help/kick
- Update help/kick as suggested by jackal
- version.c: update metalrock's email
- Update metalrock's email
- AUTHORS, version.c: fix inconsistency
- Add Andrew Strutt to AUTHORS and version.c
- reference.conf: clarify that 'anti_spam_exit_message_time' applies to PART, too
- Update NEWS file
- Remove excessive const keyword on dlink_node pointers
- conf_pseudo.h, conf_pseudo.c: added pseudo_get_list() for later use
- m_nick.c: style corrections; move comment to proper place
- Bump version to 8.2.19
- m_svsmode.c: revert -r7665
- conf_lexer.l: update filename for \file
- Fixed more svn properties as pointed out by jackal
- m_dline.c, m_xline.c: whitespace changes
- hostmask.c:add_conf_by_address(): stylistic changes
- Update Doxyfile to 1.8.8
- Fixed svn properties
- m_svsmode.c: use const
- reference.conf: update copyright years
- Update NEWS file
- 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
- Update NEWS file
- 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
- Update NEWS file
- m_svinfo.c:ms_svinfo(): whitespace change
- m_svstag.c:ms_svstag(): replace strtoimax() with strtoumax()
- m_who.c:m_who(): swap tests
- m_who.c:who_matches(): allow operators to search by ip address
- m_who.c: merged big mask matching conditional statement found in who_global() and who_common_channel() into a separate function. As a side effect this fixes a possible server name leak in who_global() with server hiding enabled
- conf.c:conf_rehash(): from p4: Log when rehashing due to sighup
- m_away.c: deduplicate
- list.c: fixed typo in comments
- send.c:sendto_match_servs(): move test
- user.c:register_remote_user(): remove TS5 leftover
- Update help/stats
- Re-built autogenerated files
- 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.
- Update README
- Update NEWS file
- Update NEWS file
- m_stats.c:stats_memory(): use the %zu conversion specifier
- m_nick.c: stylistic changes
- channel.c:channel_part_one_client(): update comment
- s_user.c: rename variables for consistency
- Update NEWS file
- 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
- 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
- res.c: minor stylistic changes
- res.c: reslist::id is now of unsigned type; remove reslist::sent which we currently don't need
- res.c:send_res_msg(): remove extraneous parentheses
- Bump version to 8.2.18
- Merge send_capabilities() and show_capabilities() into get_capabilities()
- server.c: style corrections
- m_svshost.c: propset
- token_vector(): use unsigned where appropriate
- autoreconf
- Add m_svshost.c for later use
- Update NEWS file
- hash.c: fixed previous commit to free_list_task()
- hash.c:free_list_task(): we really want to use dlinkFindDelete() here instead of just dlinkDelete()
- Move initialize_server_capabs() from ircd.c to server.c and rename it to server_capab_init()
- user.c:register_local_user(): style correction
- Rename init_resolver() to resolver_init()
- Rename init_netio() to netio_init()
- channel.c, m_message.c: stylistic changes
- Minor cleanup to client/channel burst logic
- m_sjoin.c: we're only doing UIDs
- autoreconf
- Rewrite invite handling to be more flexible for future additions such as client based invite throttling, invite expiration, etc
- Update NEWS file
- channel.c:channel_do_join(): const correctness
- channel.c:add_invite(): trim down client's invite list until there are no more than ConfigChannel.max_channels entries on the list
- Update NEWS file
- channel.c:add_invite(): fixed possible core with channel::max_channels = 0
- conf.c:check_client(): removed redudant sockhost info in server notice
- conf.c: removed unused cluster_a_line() prototype
- server.c:find_servconn_in_progress(): replace match() call with irccmp()
- server.c:show_capabilities(): remove "TS" which is irrelevant info
- Update AUTHORS and version.c
- whowas.h: documentation
- m_connect.c:mo_connect(): don't let 'flags::connect:remote' override 'flags::connect'
- reference.conf: tweaks and updates by Dominic Hargreaves
- attach_connect_block(), check_server(): replace match() calls with irccmp() since the strings that are to be compared cannot contain wildcards anyway
- Bump version to hybrid-8.2.17
- Update NEWS file
- channel_mode.c: cosmetical changes
- ircd_defs.h: increase REASONLEN to 260
- Removed KILLLEN; use REASONLEN instead
- m_stats.c:show_iline_prefix(): whitespace change
- ircd_defs.h: add TOPICLEN documentation
- ircd_defs.h: improve NICKLEN documentation
- reslib.c:add_nameserver(): remove useless test on 'res'
- mempool.h: #undef MEMPOOL_STATS
- mempool.c:mp_pool_get(): stylistic change
- modules.h, modules.c: avoid using HYB_PATH_MAX for module_path::path
- whowas.c:whowas_make(): fixed potential core when general::whowas_history_length is set to 0
- whowas.c:whowas_trim(): use dlink_list_length
- Update NEWS file
- whowas.c:whowas_trim(): fixed test on whowas_list.tail
- client.c:free_client(): fix broken assert()
- Rename Client::whowas to Client::whowas_list
- hash.c: remove unused header includes
- event.c: remove unused header includes
- conf.c:read_conf_files(): removed isupport_rebuild() call no longer needed
- numeric.h: remove irrelevant comment
- Update reference.conf
- Bump version to hybrid-8.2.16
- watch.c: remove unused header include
- m_stats.c: style corrections; use const keyword where appropriate
- m_svsnick.c:ms_svsnick(): split up if statement
- m_stats.c:stats_memory(): remove TOTAL info which is completely off anyway
- Update NEWS file
- client.c:find_chasing(): remove useless cast
- m_kill.c:mo_kill(): remove ueseless cast
- m_stats.c: renamings
- m_stats.c:stats_events(): use proper conversion specifier
- m_stats.c:stats_memory(): remove extraneous whowas_count_memory() call
- Update NEWS file
- whowas.c: remove unused header include
- Further cleanups to recent WHOWAS changes
- Update reference.conf
- Rebuilt autogenerated files
- whowas.c: documentation
- whowas.c: documentation
- ircd.c:main(): actually call whowas_init() now
- 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_dline.c, m_kline.c, m_xline.c: use const keyword where appropriate
- m_stats.c:stats_memory(): variable renamings; remove unused code
- Minor style cleanups & constification
- parse_aline() cleanups
- m_stats.c: remove unused header includes
- m_stats.c:report_shared(), report_cluster(): increase buffer size for the extra 'c' character
- m_dline.c, m_kline.c: expiry time for *LINES set by remote clients is no longer capped at MAX_TDKLINE_TIME
- m_kline.c: save us a second parse_netmask() call
- m_dline.c: deduplicate
- m_kline.c: deduplicate
- m_xline.c: deduplicate
- m_xline.c: merge relay_xline() into ms_xline(); allow services to override valid_wild_card_simple()
- m_kline.c:ms_kline(): allow services to override valid_wild_card()
- m_resv.c:resv_handle(): allow services to override valid_wild_card_simple()
- m_set.c:quote_autoconn(): use conf->name when reporting the server name
- m_stats.c: split report_confitem_types() into two separate functions
- Remove useless parameters from operator_find()
- Cleanups to operator/connect block lookup routines
- numeric.h, numeric.c: remove unused ERR_NOADMININFO
- m_stats.c: merge some of the recently introduced conf-report functions
- whowas.c: rename some variables for consistency
- whowas.c: doxygen
- list.c: cleanup/dedup dlinkFindDelete()
- Update doc/ircd.8 by jackal
- Remove artificial cap of minimum required size of the dh parameter file
- conf.h: removed now unused MaskItem::count
- m_stats.c whitespace changes
- send.c:sendto_realops_flags(): use sendto_one_notice()
- parse.c:parse(): change length to size_t type
- numeric.c: RPL_TRACEUNKNOWN: use proper conversion specifier for 'uintmax_t'
- m_svskill.c: remove unused header include
- m_svstag.c: remove unused header includes
- Update help/invite explaining what INVITE with no arguments does
- Update NEWS
- Update NEWS
- Update README
- Update NEWS file
- m_resv.c, m_xline.c: replaced atoi() with strtoumax()
- Update NEWS file
- autoreconf
- Bump version to 8.2.15
- Cleanup more conversion specifiers
- m_message.c:build_target_list(): stylistic changes
- m_message.c:flood_attack_*(): incorporate fixes from p4 so 'can_flood' actually works
- Show some stats about allocated listeners in /stats z
- Remove unused header includes
- Remove excessive 'const'
- m_stats.c: remove stats_usage()
- Update NEWS file
- client_attach_svstag(): remove excessive 'const'
- m_eob.c:ms_eob(): use proper conversion specifier
- client.c:exit_client(): improve user logging
- conf.c:clear_out_old_conf(): removed double motd_clear() call which somehow sneaked in
- Update NEWS file
- README: add 'Raspbian Jessie' to tested platforms
- 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.
- fdlist.h: removed FILEIO_V2 define
- Remove useless header includes
- client.h: remove unused struct MaskItem declaration
- Constification
- Re-built parser files
- conf_parser.y: fixed triggered assert with user = "" in auth {} blocks
- conf_resv.h: removed unused struct ResvExemptItem members
- m_stats.c:report_gecos(): whitespace change
- svn propset
- conf_gecos.h, conf_gecos.c: fixed copyright info
- autoreconf - re-create parser files
- Add conf_gecos.*
- Cleanup/separate XLINE / gecos{} conf implementation
- Update NEWS file
- m_info.c: OUTPUT_STRING for libgeoip_ipv4_database_file and libgeoip_ipv6_database_file
- Bump version to 8.2.14
- Update NEWS file
- tls_none.c:tls_new_cred(): return 1 if no tls support is available so conf_handle_tls() doesn't exit the process
- conf_pseudo.c: renaming for consistency
- m_resv.c: cosmetical changes
- conf_resv.c:resv_make(): move code
- Further fixes to resv rewrite
- conf_resv.c:resv_make(): actually add the item to its corresponding list
- Re-create parser files
- Cleanup/separate RESV conf implementation
- ircd.c: ensure ircd.log is set up properly before calling tls_init()
- tls_openssl.c: removed logging to stderr which is closed at this point anyway
- tls_none.c: add missing tls_handshake() dummy
- Let's do this better
- Don't exit out with GnuTLS when there's no key and/or certificate
- Leave fd 3 open for GnuTLS < 3.3.10 that don't have https://gitlab.com/gnutls/gnutls/commit/684b825f5f78cc7ad1f61be232fd20ee0bc5b56f " When gnutls_global_init() is called manually from the application check the urandom fd for validity That addresses the issue where a server closes all open file descriptors and then calls gnutls_global_init(). "
- reference.conf: another whitespace cleanup
- Minor simplifications on clearing lists
- reference.conf: whitespace change
- Re-create parser files
- conf_service.c:service_clear(): free() service->name
- Improve libGeoIP support
- reference.conf: minor doc improvements to service {} section
- conf_cluster: remove useless header include
- Re-create parser files
- autoreconf
- Move service {} block configuration management into its own module
- Renamed 'mod_clear_paths()' to 'modules_conf_clear()'. Further simplification to modules_conf_clear()
- whowas_off_history(), pseudo_clear(), client_clear_svstags(): simplifications
- Update NEWS file
- conf_cluster, conf_shared: remove unused header includes
- Recreate parser files
- autoreconf
- Move resv.* to conf_resv.*
- tls_openssl.c: removed extraneous curly braces not needed with c99
- conf.c:conf_handle_tls(): use EXIT_FAILURE
- conf.c: documenting
- conf.c:oper_privs_as_string(): rename variables
- conf.c:oper_privs_as_string(): adjust/improve buffer size
- send.c:sendto_match_servs(): fixed longstanding issue where we would cluster to non-CLUSTER capable servers
- svn propset
- m_stats.c: renamings & constifications
- conf.c:clear_out_old_conf(): clear ClusterItems
- conf.h: removed old shared_items leftover
- Regenerate parser files
- autoreconf
- Clustering has been broken in -r7158. 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.
- Update NEWS file
- Update NEWS file
- Update README
- Update reference.conf
- tls_gnutls.c: explicitly disable SSLv3 for releases prior to 3.4
- tls_gnutls.c: add %SERVER_PRECEDENCE to priorities
- tls_openssl.c: removed test on OPENSSL_VERSION_NUMBER which is no longer needed
- tls_openssl.c:tls_new_cred(): set ciphers from serverinfo::ssl_cipher_list which somehow got lost in the rewrite
- AUTHORS: replace occurences of Hybrid with ircd-hybrid
- version.c: replace occurences of Hybrid with ircd-hybrid
- send.c:sendto_match_servs(): allow for 0 cap
- Update README
- autoreconf
- ax_arg_gnutls.m4: add simple 'checking' message
- autoreconf
- ax_arg_openssl.m4: require 1.0.1d and above
- ax_arg_gnutls.m4: fixed previous commit
- ax_arg_gnutls.m4: require 3.3.8 and above
- autoreconf
- configure.ac: remove check for wait.h
- tls*: more copyright fixups
- Update NEWS file
- Re-built parser file
- 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_rehash.c:mo_rehash(): fixed match() test
- autoreconf
- Remove rsa.h for real
- Move report_crypto_errors from rsa.c to tls_openssl.c - Move binary_to_hex from rsa.c to misc.c - Removed rsa.c & rsa.h
- Bump version to 8.2.13
- More copyright -- from Adam
- Fix gnutls error handling -- from Adam
- Fix cert leak in tls_verify_cert -- from Adam
- Remove useless raw_result -- from Adam
- stdinc.h: removed openssl header includes which no longer should be here
- conf.h, conf.c: remove now unused ConfigServerInfo.rsa_private_key
- tls_gnutls.h: fixed compile error
- Update NEWS file
- tls_gnutls.h, tls_gnutls.c: minor cleanups
- Re-create parser files
- reference.conf: fixed spelling
- conf_pseudo.h, conf_pseudo.c: fix/update copyright header
- conf_parser.y: removed bunch of unused/redundant header includes
- tls_openssl.c: style corrections
- conf_parser.y: removed some cruft
- tls_gnutls.c:tls_get_cipher(): make the string look similar to the openssl variant (add protocol information)
- reference.conf: add some example commands for gnutls support
- Remove MaskItem::rsa_public_key
- Remove some HAVE_TLS
- propset
- Re-generate parser files
- autoreconf
- Incorporate gnutls support by Adam & Attila
- m_connect.c:mo_connect(): remove invalid comment
- m_webirc.c: constification; avoid multiple array indices; stylistic changes; improve server notices
- ax_arg_openssl.m4: removed now unused ENABLE_SSL condition
- Improve documentation
- Improve documentation
- Improve documentation
- m_tburst.c: mention that parv[5] can be an empty string
- m_topic.c: mention that parv[2] can be an empty string
- m_topic.c:ms_topic(): fixed parameter validation
- m_watch.c:m_watch(): removed pointless increment on 'user'
- watch.h, watch.c, m_watch.c: rename some variables for consistency
- Update reference.conf; mention that ip directives can be stacked in exempt blocks
- Update NEWS & reference.conf
- Update NEWS file
- Update help/rehash
- Constifications; style cleanups in some places
- m_resv.c, m_unresv.c: 'standardize' RESV/UNRESV notices/logging to look similar to KLINE/DLINE/XLINE messages
- m_unresv.c:mo_unresv(): UNRESV does not have reasons - removed 'char *reason'
- m_squit.c: improve SQUIT logging; make logging look similar to CONNECT for consistency
- m_connect.c: minor cleanup - avoid multiple array indices
- m_connect.c: improve CONNECT logging
- m_resv.c: use non-encapsulated RESV for temporary RESVs; removed me_resv(). Not sure why encapsulated RESV had this unused parv[3] argument which always was "0".
- Rebuilt conf_parser.c
- 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
- m_connect.c:mo_connect(): cleanups
- m_connect.c:ms_connect(): parv[3] is not allowed to be NULL, so clean up weird logic checking EmptyString(parv[2])
- channel.c: replaced a couple of MyClient() tests with just MyConnect()
- m_stats.c: replaced a couple of MyClient() tests with just MyConnect()
- user.c:introduce_client(): replaced a MyClient() test with just MyConnect()
- m_userhost.c: replaced a MyClient() test with just MyConnect()
- Rename 'non-standard' RPL_TRACEEND to RPL_ENDOFTRACE
- Update README
- Update NEWS file
- autoreconf
- Bump version to hybrid-8.2.12
- Renamed MyCalloc to xcalloc
- hash.c:hash_init(): deal with genrand_int32() returning 0
- reference.conf: clarification
- modes.txt, umode: clarification
- NEWS: fixed typo
- channel.c:channel_send_mask_list(): avoid using list->length directly. use dlink_list_length() instead
- Update NEWS file
- Update NEWS file
- isupport.c, match.c: casemapping is 'ascii' now
- Update copyright years
- modes.txt: minor update
- resv.txt: minor update
- m_help.c:do_help(): document the +1 on 'path'
- m_help.c:do_help(): avoid using HYB_PATH_MAX
- Update NEWS file
- hostmask.c:hostmask_send_expiration(): initialize 'ban_type' to something saner to display in case we hit the switch's default case
- Remove trailing whitespaces
- Cache channel name lengths
- Update NEWS file
- auth.c: change start_auth_query() to void
- auth.c: fixed core on ident lookup if comm_open() fails
- dbuf.c:dbuf_put_args(): improve/clarify documentation
- client.c:get_client_name(): adjust size of 'buf'
- client.c:check_pings_list(): adjust size of 'buf'
- Update NEWS file
- Move IRCD_MAXNS to reslib.h, rename it to RESLIB_MAXNS, and increase it to 8
- Allow general::ts_warn_delta, and general::ts_max_delta to become 0
- Update NEWS file
- resv.txt, stdinc.h: comment/documentation updates provided by jackal
- s_bsd.h, s_bsd.c:comm_connect_tcp(): change the 'timeout' parameter to a time_t to match up with the other comm_* functions
- s_bsd.c:comm_connect_tcp(): move comments to proper place
- channel_mode.c:chm_limit(): move variable
- Update NEWS file
- client.c:conf_try_ban(): initialize 'ban_type' to something saner to display in case we hit the switch's default case
- client.c: fixed SVSTAG memory leak with remote clients
- m_mode.c, m_tmode.c: optimization; now no longer lookup remote clients for channelmembership as we grant remote clients full chanop status anyway
- m_dline.c:dline_add(): whitespace change
- conf.c:read_conf_files(): add 'T' to CHANMODES
- misc.c:time_dissect(): adjust size of 'buf'
- USERHOST_REPLYLEN I never liked. Gone.
- channel_mode.c: minor cleanup/optimization to the v/h/o mode handlers
- Fixed bug where setting the path/filename via the -klinefile, etc. switches would not have any effect. Reported by gp.
- m_nick.c: removed more outdated comments
- m_nick.c:uid_from_server(): removed outdated comment
- m_xline.c: removed me_xline() encap handler
- CAPAB_SVS is now mandatory
- Removed client->account backwards compatibility hacks for 8.1
- Removed backwards compatibility hack for older servers that allowed client->sockhost being "0"
- Added channel mode +T which forbids NOTICEs to be sent to a channel
- m_message.c: minor cleanups
- m_message.c: minor cleanups
- auth.c:auth_connect_callback(): remove two pointless remove_ipv6_mapping() calls
- auth.c:auth_connect_callback(): remove two pointless remove_ipv6_mapping() calls
- m_message.c:msg_channel(): cleanup; get rid of redundant sendto_one_numeric()
- m_message.c:msg_channel(): cleanup; get rid of redundant sendto_one_numeric()
- channel.c:channel_part_one_client(): fix compile error
- channel.c:channel_part_one_client(): optimization; don't call can_send() when there's no need to
- channel.c:channel_part_one_client(): optimization; don't call can_send() when there's no need to
- Add CMEMBER_STATUS_FLAGS / CMEMBER_STATUS_FLAGS_LEN and make use of it in some places (replaces some magic values sprinkled in the code)
- Add CMEMBER_STATUS_FLAGS / CMEMBER_STATUS_FLAGS_LEN and make use of it in some places (replaces some magic values sprinkled in the code)
- Replaced a rather strange mixture of atoi(), atol(), and strtoul() with strtoimax(). ircd-hybrid should be 2038-safe now
- Replaced a rather strange mixture of atoi(), atol(), and strtoul() with strtoimax(). ircd-hybrid should be 2038-safe now
- m_server.c: rename set_server_gecos() to server_set_gecos()
- m_server.c:server_set_flags(): minor cleanup
- m_server.c: add some documentation for server_set_flags()
- m_server.c: add server_set_flags() and make use of it
- m_server.c: add 'flag' and 'sid' argument to SERVER command; add 'flag' argument to SID command. - m_pass.c: mention that parv[3] and parv[4] will be deprecated in some future release
- memory.h: removed unused header include
- memory.h: removed unused header include
- Remove unused header includes
- Remove unused header includes
- channel.h, channel.c: declared can_join() as static
- channel.h, channel.c: declared can_join() as static
- parse.c: clean up some assert()
- parse.c: clean up some assert()
- m_svinfo.c: whitespace changes
- m_svinfo.c: whitespace changes
- m_svinfo.c: mention parv[3] is unused nowadays
- m_svinfo.c: mention parv[3] is unused nowadays
- hostmask.c:add_conf_by_address(): minor improvement for ILP64
- hostmask.c:add_conf_by_address(): minor improvement for ILP64
- channel.c:channel_part_one_client(): fixed broken test on can_send(). Suppressing part messages was completely broken for ages
- channel.c:channel_part_one_client(): fixed broken test on can_send(). Suppressing part messages was completely broken for ages
- m_svinfo.c: do some logging when dropping a link due to incompatible TS version
- m_svinfo.c: do some logging when dropping a link due to incompatible TS version
- m_svinfo.c: use get_client_name() instead of just source_p->name for server notices messages
- m_svinfo.c: use get_client_name() instead of just source_p->name for server notices messages
- Added channel mode +T which forbids NOTICEs to be sent to a channel
- client.c:check_pings_list(): replace %d conversion specifier with %ji
- client.c:check_pings_list(): replace %d conversion specifier with %ji
- client.c:exit_client(): add sockhost field to far client exit notices; swap 'comment' with 'sockhost' in local client exit notices to match up with connection notices
- client.c:exit_client(): add sockhost field to far client exit notices; swap 'comment' with 'sockhost' in local client exit notices to match up with connection notices
- m_xline.c: removed me_xline() encap handler
- m_stats.c: made the idle time look nicer in STATS v|p by using a formatted time string
- m_stats.c: made the idle time look nicer in STATS v|p by using a formatted time string
- parse.h: remove MessageHandler typedef
- parse.h: remove MessageHandler typedef
- conf.c, numeric.c: use the appropriate conversion specifier for unsigned int
- conf.c, numeric.c: use the appropriate conversion specifier for unsigned int
- res.c: remove unused header includes
- res.c: remove unused header includes
- Move report_dns_servers() from res.c to m_stats.c
- Move report_dns_servers() from res.c to m_stats.c
- CAPAB_SVS is now mandatory
- Removed backwards compatibility hack for older servers that allowed client->sockhost being "0"
- Update NEWS file
- Removed client->account backwards compatibility hacks for 8.1
- autoreconf
- This is hybrid-8.3.0beta1 now
- isupport.c, match.c: casemapping is 'ascii' now
- Update NEWS
- autoreconf:wq
- Update NEWS
- Revved patchlevel to hybrid-8.2.11
- m_opme.c: made server notices less verbose
- m_opme.c: made server notices less verbose
- user.c:report_and_set_user_flags(): remove the 'Congrats' from server notices
- user.c:report_and_set_user_flags(): remove the 'Congrats' from server notices
- numeric.c: made RPL_YOUREOPER look more serious
- numeric.c: made RPL_YOUREOPER look more serious
- server.h: update doxygen comments
- server.h: update doxygen comments
- ircd.c: style correction
- ircd.c: style correction
- Rebuilt parser/lexer files
- Rebuilt parser/lexer files
- m_svinfo.c: style corrections
- m_svinfo.c: style corrections
- Update NEWS
- Add channel::invite_delay_channel configuration option
- Add channel::invite_delay_channel configuration option
- misc.c:time_dissect(): fix compile warning on CentOS
- misc.c:time_dissect(): fix compile warning on CentOS
- misc.c:time_dissect(): fix compile warning on CentOS
- misc.c:time_dissect(): fix compile warning on CentOS
- 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
- 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
- Update NEWS file
- 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.
- 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
- Implement ircv3.2 chghost client capability support
- m_invite.c: fix arguments to sendto_channel_local()
- m_invite.c: fix arguments to sendto_channel_local()
- Update NEWS file
- Implement ircv3.2 invite-notify client capability support
- Implement ircv3.2 invite-notify client capability support
- user.c:user_set_hostmask(): make use of sendto_channel_local() for sending 'AWAY' to avoid walking target_p->channel twice
- 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()
- Merge sendto_channel_local_butone() functionality into sendto_channel_local() and get rid of sendto_channel_local_butone()
- Merge sendto_channel_local_butone() functionality into sendto_channel_local() and get rid of sendto_channel_local_butone()
- Merge sendto_channel_local_butone() functionality into sendto_channel_local() and get rid of sendto_channel_local_butone()
- Create ircd-hybrid 8.3.x branch
- s_user.c:valid_username(): moved 'dots' to innermost scope
- 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
- Add valid_uid() for later use
- Increase default values of 'max_watch' and 'max_accept' to 50
- Update NEWS file
- ircd.c: move code
- autoreconf
- user.c:user_set_hostmask(): replace a MyClient() test with just MyConnect()
- defaults.h, conf.c: get rid of this WATCHSIZE_MIN, WATCHSIZE_DEFAULT magic
- 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.
- server.c:serv_connect(): update comments
- server.c:check_server(): removed oudated comment
- server.c:try_connections(): remove outdated comment
- Update NEWS file
- Make mem-usage counters use size_t and use the %zu conversion specifier accordingly
- Rename 'xconf_item' list to 'gecos_items'
- m_svsmode.c:ms_svsmode(): minor logic fix/cleanup
- reference.conf: fix example IP address
- Update README
- autoreconf
- Revved patchlevel to 8.2.10
- m_who.c: use const keyword where appropriate
- m_etrace.c:do_etrace(): cleanup
- set_user_mode(), oper_up(): minor logic fixes
- conf.c:oper_privs_as_string(): unbreak episode 2
- conf.c:oper_privs_as_string(): unbreak; make it display "0" in /stats o in case there are no privileges specified
- user.h: removed unused show_isupport
- Move user_oper_up() from user.c to m_oper.c
- Add all the missing irc-operator flags to /stats o output
- Rename variables for consistency
- Update NEWS file
- Rebuild parser file
- RSA keys with less than 2048 bits are no longer supported; same applies to the DH param file
- channel.c, motd.c: rename variables
- channel.c: rename some variables
- conf_parser.y: whitespace change
- Update help/close
- Update help/resv, help/unresv
- Update help/unxline
- Rebuilt parser file
- reference.conf: minor cleanups
- conf.h: whitespace changes
- conf_parser.y: style cleanups
- conf_parser.y: removed CHALLENGE leftover
- client.h: more documentation updates
- client.h: more documentation updates
- client.h: add some rather useful documentation to Connection::lasttime
- whowas.c: rename variables
- m_whowas.c: rename variable
- ipcache.h, ipcache.c: constification
- m_message.c: minor style changes
- ircd.c: use EXIT_FAILURE instead of some magic value to be passed to exit()
- conf.c, conf_parser.y: use EXIT_FAILURE instead of some magic value to be passed to exit()
- Rename event::enabled to event::active
- conf.c:set_default_conf(): removed useless NULL assignments already done by clear_out_old_conf()
- Update NEWS file
- Rebuilt parser/lexer file
- 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'
- Use client->name when updating the fd's associated name record with fd_note()
- ax_append_flag.m4: update to latest version
- Rename uconf_items to shared_items and oconf_items to operator_items
- m_userhost.c: minor documentation update
- reference.conf: minor restructuring and tab cleanup
- client.h: document Client::connection
- client.h: if HasOFlag is being used on remote clients, something is wrong. Let it crash instead of silently ignoring it.
- client.h: removed pointless cruft in the SetClient macro
- client.h: clean up some nonsense in the SetOper/ClearOper macros
- Update README file
- Update reference.conf
- Update reference.conf
- ircd.8: minor corrections and cleanups
- Rebuilt parser/lexer files
- server.c:read_links_file(), write_links_file(): do some logging if we cannot fopen links.txt
- Added serverhide::flatten_links_file configuration option and get rid of LIPATH
- Renamed serverhide::links_delay configuration directive to serverhide::flatten_links_delay
- Update NEWS file
- Rebuilt lexer/parser files
- autoreconf
- Removed CHALLENGE in favour or ssl certificate fingerprint enabled operator {} blocks
- mkpasswd.c: remove MD5 support as well; reformatting - Update README.mkpasswd
- mkpasswd.c: use EXIT_SUCCESS/EXIT_FAILURE
- Update NEWS file
- Update README.mkpasswd
- mkpasswd.c: removed (Extended)DES support
- hostmask.c: style correction
- hostmask.c: removed irrelevant comment
- Update NEWS file
- Update README.mkpasswd
- Update README.mkpasswd
- Fixed broken bcrypt on (Open)BSD in conjunction with the -s and -l switches
- Add dissect_time() from HOPM and make use of it in some places
- m_cap.c:cap_ack(): don't allow CAP ACK to set prohibited caps, or clear sticky ones
- s_bsd_devpoll.c, s_bsd_epoll.c:init_netio(): we don't care about the real value of errno
- s_bsd_kqueue.c:init_netio(): improve error reporting
- memory.c:outofmemory(): removed redundant logging. server_die() already does the logging
- Use EXIT_FAILURE in some places instead of hardcoded values
- Clean up stats handling a bit and made lookups constant time
- conf.c:conf_connect_allowed(): cleanup redundant test on 'conf'
- server.h: swap keywords on find_capability()
- Removed that dirty strtoken definition in stdinc.h
- autoreconf
- Replace obsolete usleep() with nanosleep()
- Update NEWS file
- motd.c, send.c: use %zu conversion specifier for size_t types
- m_message.c: swap keywords on 'ntargets'; minor style corrections
- m_info.c: fixed inconsistent description of stats_u_oper_only and stats_P_oper_only
- Minor corrections to doc/modeg.txt provided by jackal
- Update NEWS file
- Fixed inconsistent style in several places
- Update README file. Changes provided by jackal
- Update reference.conf as suggested by jackal
- packet.c: fix another typo
- packet.c: fix typo
- Update NEWS file
- motd.h, motd.c: have motd_signon() use date_iso8601()
- Change myctime() to use strftime() instead of ctime(); rename myctime() to date_ctime()
- m_info.c:send_birthdate_online_time(): use date() instead of myctime()
- Removed old event.txt
- 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
- Rebuilt Makefile.in
- 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
- misc.c: change date_iso8601() to use the %T conversion specifier
- misc.c: cleanup date() and make it use strftime()
- ircd_defs.h: minor correction to the USERHOST_REPLYLEN definition
- server.c:check_server(): removed redundant test on server_conf; constification
- ircd_defs.h: increase KILLLEN and REASONLEN to 240
- Update NEWS file
- Rebuilt parser files
- Added 'close' to irc-operator flags
- Update NEWS file
- Minor correction to reference.conf
- ircd.c:set_time(): server_die() already does the logging plus notification, no need doing it twice
- ircd.c: misc cleanups
- Update NEWS file
- auth.c: rename auth_pending_list to auth_list
- Update NEWS file
- Re-built Makefile.in
- Database files and links.txt are now stored in /var/lib instead of /etc
- Make use of enum in some places; make use of the HasFlag() macro some more; minor style corrections
- m_locops.c:ms_locops(): avoid multiple array indices; improve readability
- m_accept.c:m_accept(): run collapse() on the mask before using it
- ircd.c: move some function calls in main()
- m_svskill.c: use CONF_NOREASON as default reason just like in m_kill.c
- client.h: wrong value assigned to OPER_FLAG_UNRESV
- Update NEWS file
- m_dline.c, m_kline.c, m_resv.c, m_xline.c: rename 't?line_time' variable to 'duration'
- Re-create parser files
- Added 'resv' and 'unresv' operator flags
- client.h: style corrections
- Re-create parser files
- The general::oper_pass_resv configuration directive has been deprecated. Added the join:resv and nick:resv operator flags for better fine tuning
- m_who.c:do_who(): use const keyword where appropriate
- m_trace.c: allow remote operators to request a full client list; various other cleanups
- Rename functions in userhost.c to comply with naming convention
- m_server.c:ms_sid(): should be using get_client_name() in these two places
- parse.c:parse_remove_unknown(): use get_client_name()
- m_squit.c:mo_squit(): should be using get_oper_name() instead of get_client_name()
- m_server.c:server_estab(): use get_client_name() when reporting errors
- m_dline.c: fix comment
- hostmask.h, hostmask.c: use const keyword where appropriate
- server.c: make use of get_client_name() in some places; fixed some other get_client_name() calls to use the right argument value
- Fixed some server related get_client_name() calls where HIDE_IP is used instead of SHOW_IP. get_client_name() already deals with hide_server_ips and falls back to HIDE_IP if IP hiding is enabled.
- misc.c: style corrections
- Get rid of smalldate() and replace all instances of it with date_iso8601()
- misc.c: for consistency, have myctime() to behave like the other date/time functions when called with an argument being 0
- log.c: made log_write() use date_iso8601()
- Added date_iso8601() for later use
- misc.c: optimize time/date functions for subseqent calls with same argument value
- hostmask.c: revert to -r6317. Needs more thinking.
- hostmask.c:find_address_conf(), find_dline_conf(): add accurate timeout check. A k/d-line might have been already expired since we run cleanups every minute
- m_svsmode.c:ms_svsmode(): move the 'ts = atol()' assignment right after the find_person()
- m_who.c: use an enum for WHO_MAX_REPLIES, even though this should be made configurable
- m_invite.c: p4 style broadcast of INVITE to all servers on the network
- Update NEWS file
- Update NEWS file
- Implement ircv3.1 account-notify extension
- Update version.c
- server.c:serv_connect_callback(): constification
- autoreconf
- Move userhost related code from hash.c to userhost.c
- Update NEWS file
- server.c:try_connections(): get rid of MIN_CONN_FREQ and allow class::connectfreq to work properly with values lower than 300 seconds; update comment for clarification
- m_server.c:server_estab(): removed comment that's outdated for 24 years now
- Use an embedded list node for the ListTask struct
- getopt.c: use pointer arithmetic instead of array subscripting
- getopt.c: fixed inconsistent use of 'error' vs. 'Error'
- m_kick.c: doxygen
- Rebuild parser files
- Remove splitmode checking
- Rename several functions in channel.c to comply with naming convention
- Rebuilt parser file
- Rename several functions in event.c to comply with naming convention
- Rename several functions in listener.c to comply with naming convention
- Move show_ports() from listener.c to m_stats.c
- Remove unused header includes
- m_mode.c: add proper documentation for the MODE command handler
- channel_mode.c:channel_modes(): removed useless FLAGS_SERVICE test on client_p. We don't need that here.
- Make server_die() use enum; minor cleanups here and there
- m_links.c:do_links(): use const on 'target_p'
- Rename server capabilities flags from CAP_* to CAPAB_*
- m_resv.c: enable temporary s2s RESVs. Previously this only worked with encapsulated RESVs.
- Make use of enum in more places
- Make use of enum in more places
- Cleanup/fix names of several #ifndef INCLUDED_*
- m_resv.c:parse_resv(): constification
- Update NEWS file
- Update NEWS file
- m_resv.c:parse_resv(): remove local/remote info to be consistent with the other *LINE notices. The sender's server is shown in the notice anyway.
- m_resv.c:parse_resv(): don't has_wildcards() check 'name' if RESV comes from services
- m_resv.c:parse_resv(): swap tests on 'name' to make more sense
- m_resv.c:parse_resv(): skip the # when dealing with channel names
- conf.c:valid_wild_card_simple(): allow for short names (less than min_nonwildcard_simple) that don't have wildcards in it
- m_resv.c:parse_resv(): check for wildcards in channel resvs, too
- channel.h: rename FLOOD_NOTICED to MSG_FLOOD_NOTICED
- Get rid of the IsRegistered() macro, which is a rather dangerous macro for coders who add new connection states
- Make use of enum in more places
- Rebuild conf_parser.c
- Get rid of UMODE_ALL
- Make use of enums some more
- Make use of the *Flag() macros in some more places
- client.c:get_client_name(): minor documentation change
- user.c:user_oper_up(): remove useless assert()
- Move show_events() from event.c to m_stats.c. Remove now unused prototypes.
- Change version to hybrid-8.2.9
- restart.c:server_die(): use EXIT_SUCCESS/EXIT_FAILURE
- ircd.c:check_pidfile(): re-enable logging
- Set keyword and eol-style properties
- Removed slang in comment
- m_whois.c: don't allow remote WHOIS lookups with the target being a UID. Removed IsDigit test.
- Removed RPL_YOURID. Clients don't need to know about their associated UID nor is the information of any use for them
- Update NEWS file
- Update NEWS file
- README.mkpasswd, mkpasswd.c: spelling fixes; use 'unsigned' and 'const' where possible; style corrections
- mkpasswd.c: don't allow 'length' and 'rounds' to become -ve
- mkpasswd.c: properly deal with crypt() returning NULL. Fixes core as reported by falsovsky.
- m_nick.c:ms_uid(): removed redundant parc < 10 test
- isupport.c:isupport_rebuild(): make coverity shut up (CID 1308362)
- Rename oper_up() to user_oper_up()
- Rename user_usermodes_init() to user_modes_init()
- autoreconf
- Moved all ISUPPORT related code to isupport.c; renamed several functions to meet our coding convention
- m_svinfo.c: replace abs() with labs()
- Re-create autogenerated files
- Move all SID/UID related code to id.c
- server.c:generate_sid(): replace snprintf/strlcpy combo with just snprintf
- Automatically generate sid on startup if none is configured. Patch provided by Adam
- m_message.c, numeric.c: changed RPL_UMODEGMSG numeric format to match with insp/ratbox/chary as suggested by Adam and jackal
- Various documentation updates provided by Jackal
- ax_arg_enable_debugging.m4: use AS_IF
- ax_arg_enable_warnings.m4: use AS_IF
- Update help/index as suggested by Jackal
- autoreconf
- Moved chunk size defines for the pooling allocator to ax_mempool_chunksizes.m4
- Moved NICKNAMEHISTORYLENGTH definition to whowas.h
- autoreconf
- configure.ac: removed invalid copyright information
- gcc_stack_protect.m4: modernization: AC_TRY_COMPILE and AC_TRY_LINK are obsolete
- gcc_stack_protect.m4: added support for -fstack-protector-strong which is supported since gcc 4.9
- Update reference.conf. SSLv3 is no longer supported
- Fixed help/index as pointed out by jackal
- server.c:hunt_server(): prioritize wildcard lookups on server names as suggested by Adam. Could have used some dlinkAddTail magic for clients to keep the list ordered by servers and clients but introducing a second loop in hunt_server() makes things more obvious. Also it should be investigated if there's still good a reason for putting servers on the global_client_list.
- Update ax_append_flag.m4 to latest version
- Update ax_check_compile_flag.m4 to latest version
- Re-built parser files
- conf_parser.y: always rebuild CIDR lists
- conf_lexer.l: fixed typo introduced in previous commit
- Re-generate parser files
- Added 'xline_exempt' to auth{} block flags
- Update NEWS file
- channel.c:channel_do_join(): removed useless test on conf->reason
- client.c:conf_try_ban(): use the proper conversion specifier
- client.c:conf_try_ban(): minor cleanups
- hostmask.c:try_parse_v4_netmask(): fixed possible OOB read
- Update NEWS file
- m_resv.c, m_unresv.c: removed useless comments
- Removed useless header includes
- conf.c:parse_aline(): removed test on target_server. There's no command that doesn't support the "ON" option
- Update NEWS file
- Bump version to 8.2.8
- autoreconf
- configure.ac: require automake 1.15
- Update NEWS file
- Recreate parser/lexer files
- Removed the 'havent_read_conf' configuration directive as it only caused a whole lot more trouble than it actually helped
- Style corrections
- conf_db.h, conf_db.c: remove functions/definitions we don't need
- '!' and '@' are no longer threated as wildcard characters
- Update NEWS file
- Removed g-line leftovers
- m_resv.c: use m_unregistered() for the UNREGISTERED_HANDLER
- m_info.c: don't int overflow if for some unknown reason someone configures insanely high values of > 2^31-1
- auth.c: use C99-style array initialization
- s_bsd.c: use C99-style array initialization
- m_who.c:m_who(): use explicit NULL when calling who_global() for /who with no params
- m_who.c: allow /who to be used with no additional parameters
- Use C99-style initializers in all struct Message items - Removed MFLG_SLOW - Removed DUMMY_HANDLER
- Style corrections; removed trailing whitespaces
- Update NEWS file
- conf.c:expire_tklines(): deduplicate
- m_xline.c: fixed invalid command sytnax when broadcasting XLINEs to other servers. First argument can't be a digit.
- m_xline.c: renamed write_xline() to xline_add()
- m_xline.c: don't allow legit-looking fake exit reasons like "Ping timeout: 240 seconds"; constification
- Removed useless zero initializers from the module_entry as suggested by Adam
- channel.c:clear_invites_client(): add missing documentation
- Renamed clear_invites() to clear_invites_channel() - Added separate clear_invites_client()
- hostmask.c:find_conf_by_address(): constification
- conf.c:clear_out_old_conf(): also don't remove database based XLINE and RESVs from their associated linked list(s)
- hostmask.c:clear_out_address_conf(): removed useless test on arec->conf->until. Temporary server bans are always stored in the databases, so it's enough to test for IsConfDatabase()
- Update NEWS file
- conf.c:clear_out_old_conf(): also don't clear out RESVs that have been set with the RESV command
- Update NEWS file
- conf.c:clear_out_old_conf(): fixed bug where REHASH would clear all x-lines that have been set with the XLINE command
- m_unresv.c: deduplication
- m_undline.c: use LOG_TYPE_DLINE
- m_undline.c, m_unkline.c: deduplication - m_unxline.c: renamed functions
- m_dline.c, m_kline: renamed functions
- m_dline.c: deduplication
- m_kline.c: deduplication
- m_resv.c:parse_resv(): cleaned up the massive mess a bit
- Get rid of valid_comment()
- m_dline.c:mo_dline(): we're not interested in the address nor the bits on the first parse_netmask() call
- m_dline.c:mo_dline(): get rid of some stupid parse_netmask() call
- m_dline.c:ms_dline(): minor cleanup
- Update NEWS file
- Configuration related server notices are now admins only as they potentially could leak passwords and other sensitive data to irc operators that don't have administrator privileges
- m_kline.c:already_placed_kline(): removed 'warn' parameter we don't need
- Recreate autogenerated files
- Removed glines - Added kline_min_cidr, kline_min_cidr6, dline_min_cidr and dline_min_cidr6 configuration options - m_dline.c: allow d-lines to be added even if an exempt {} exists
- numeric.c: use C99 array initialization
- conf_parser.c: rebuilt
- conf_parser.y: fixed error messages as pointed out by Adam
- conf.c:conf_add_class_to_conf(): cleaned up duplicated code
- Minor cleanups to CAPAB related code
- Update NEWS file
- Update NEWS file
- Reject remote k-line requests that don't have enough non-wildcard characters
- Revved patchlevel to 8.2.7
- Update version.c
- sendnick_TS(), introduce_client(): use the %u conversion specifier for unsigned ints
- conf.c:find_user_host(): removed unused 'flags' argument
- Update NEWS file
- m_nick.c:uid_from_server(): default to '*' for clients that don't have an accountname assigned
- parse.c:msg_tree_parse(): cleaned up an assert()
- Changed some function to void if we don't need a return value - Have some other functions return saner values
- Removed TS_DOESTS, DoesTS, and related code
- Update NEWS file
- Update NEWS file
- Cleaned up strlen() based array indices
- Update help/index
- Rebuilt help/Makefile.in
- Removed some help files for inter-server commands
- Regenerate parser/lexer files
- Removed unused HIDE_SPOOF_IPS and GLOBAL_KILL tokens
- Changed some members of the Ban structure to use fixed-size arrays
- m_bmask.c: fixed potential BMASK buffer overflow. Patch provided by Adam.
- channel_mode.c:add_id(): removed useless IsServer() test
- Mostly whitespace changes
- channel_mode.c: moved 'if (!mode_count)' test from send_mode_changes_client() to set_channel_mode()
- channel_mode.c: renamed send_mode_changes() to send_mode_changes_client(); have send_mode_changes_server() called from set_channel_mode()
- channel_mode.c:chm_ban(), chm_except(), chm_invex(): replaced memcpy() with strlcpy()
- 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)
- Update NEWS file
- Update README file
- ircd.c:write_pidfile(): removed the PID from the error message
- Update NEWS file
- Revved version to 8.2.6
- client.c: cleanup some comments
- client.c:make_client(): default client_p->account to '*'
- user.c: incorporate Adam's add_one_to_uid() rewrite
- ircd.c:main(): replaced pointless comment with a more descriptive one
- auth.c:auth_connect_callback(): saved a strlen(); hardened test of send()'s return value to ensure all bytes were sent
- reference.conf: minor fixes
- Rebuilt parser files
- conf_parser.y: removed YY_NO_UNPUT define which was an undocumented feature and has been deprecated for many years now. Proper way is to use 'nounput' in the scanner options.
- numeric.c: RPL_WHOREPLY: use %u conversion specifier for unsigned ints
- defaults.h: tweaked TS_WARN_DELTA_MIN and TS_MAX_DELTA_MIN; allow minimum values of 1
- conf.h, conf.c: renamed some structures to match naming convetion of other structures
- m_whowas.c: fixed spelling
- Constifications
- Fixed bug that would allow remote clients to bypass the hard limit of max WHOWAS entries to be returned
- Updated NEWS
- Updated NEWS
- Update NEWS
- WHOWAS now shows IP addresses to irc operators - Changed RPL_WHOISACTUALLY numeric string. In the future it will also show the *real* hostname once we distinguish between spoofs/vhosts and real hosts
- Update NEWS
- m_map.c:dump_map(): removed now useless test on server->id[0]
- m_message.c: style corrections
- index.txt: updates provided by jackal
- reference.conf: minor cleanup
- m_info.c: added missing 'max_watch' and 'stats_m_oper_only' to /info
- Revved patchlevel to 8.2.5
- Minor updates to INSTALL provided by jackal
- ircd.h: removed useless comment
- Update modes.txt
- Update README file
- Update README file. Added Mac OS X 10.10 (Yosemite) to supported platforms. Thanks to Daniel Oaks.
- Update NEWS file
- Re-generate parser files
- Fixed core in conjunction with OSX 10.10/possibly other system when parsing pseudo{} blocks as reported by Daniel Oaks - Reverted -r4079, -r4608 and 4107 as they only cause undefined behavior on some systems
- m_nick.c: minor fixes to update fd info accordingly if unregistered clients change just the case of their nick. Patch provided by Adam.
- help/whowas: incorporate changes done by jackal
- Update NEWS file
- Revved patchlevel to 8.2.4
- libtool 2.4.6
- Sprinkle some assert()
- client.c: whitespace changes
- Fixed spelling
- Update NEWS file
- conf.h, conf.c:cluster_a_line(): made 'capab' and 'cluster_type' unsigned types
- Style corrections only
- Update NEWS
- channel_mode.c:chm_operonly(): half-ops that are irc operators may now add/remove channel mode 'O' (ircops only channel), too
- Update NEWS
- m_kick.c:ms_kick(): replaced IsServer() test with IsClient()
- Renamed SVIDLEN to ACCOUNTLEN
- Renamed SVIDLEN to ACCOUNTLEN
- ircd_defs.h: add a note that NICKLEN should not be touched as the maximum allowed nickname lenght can be changed in the ircd.conf file. NICKLEN is actually only a hard limit
- conf_parser.y: forgot to remove the unused T_MAX_CLIENTS token
- m_server.c:server_estab(): removed pointless detach_conf(client_p, CONF_OPER)
- ircd.c:write_pidfile(): cosmetical fixes to fopen/fputs error messages to be consistent with all other error messages
- 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
- Regenerate parser/lexer files
- Finish basic SVSTAG implementatio - Added oper::whois configuration option which allows to override the default RPL_WHOISOPERATOR numeric string shown in /whois.
- m_svsmode.c: revert to -r5395 because me is stupid
- m_mode.c, m_svsmode.c, m_svsnick.c: const correctness
- Fixed style in several places
- Renamed idle_time_get() to client_get_idle_time()
- m_stats.c: minor cleanups to comments; removed invalid ones
- m_topic.c: white space changes
- m_topic.c:ms_topic(): if we ever have servers changing topics via TOPIC, make sure we don't leak hidden server names
- m_tburst.c:ms_tburst(): TOPIC needs to be n!u@h prefixed if comming from a services client
- Added basic SVSTAG implementation for later use
- m_stats.c: explicitely use 'unsigned int' instead of just 'unsigned' when casting variables to be used with the %u conversion specifiers
- Update NEWS file
- m_whois.c: operators may now see certificate fingerprints, user modes and hidden channels as well. This used to be admin only.
- Update NEWS file
- Update reference.conf
- Update NEWS file
- Bump version to 8.2.3
- m_whois.c:whois_person(): constification
- m_map.c:dump_map(): removed 'static' keyword from buf
- conf.c:get_oper_name(): use IRCD_BUSIZE for buffer size and be done with it
- conf.c:read_conf_files(): ad channel mode 'C' to CHANMODES isupport
- server.h: removed redundant struct MaskItem declaration
- ircd.h: 'int unsigned' -> 'unsigned int'
- conf.c:set_default_conf(): add all possible oper-only user modes to ConfigGeneral.oper_only_umodes
- Update reference.conf
- Update NEWS file
- m_gline.c: style corrections
- Allow to disable the NOTICE/PRIVMSG anti-flood mechanism by setting 'default_floodcount' to 0
- auth.c:sendheader(): fixed compile warnings with -Wformat-security
- Update NEWS file
- Update documentation in some places
- Update NEWS file
- Re-generate parser/lexer files
- 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
- ircd.c:initialize_global_set_options(): tweaked joinfloodcount and joinfloodtime defaults; Removed XXX comment.
- reference.conf: tweaked join_flood_count and join_flood_time
- numeric.c: fixed inconsistent use of "You are" and "You're"
- Update help/join
- numeric.h, numeric.c: moved ERR_SSLONLYCHAN numeric to 489 to match with insp/unreal
- Allow servers to send as many CAPAB messages as they want, regardless of TS6; Removed CAP_CAP
- Update help/umode
- ircd.c: fixed compile warning. Apparently some gcc have issues with compound literals in conjunction with -Wmissing-field-initializers
- numeric.c: added channel mode C to RPL_MYINFO
- Update NEWS
- channel.c:can_send(): better not to modify the message pointer
- Added channel mode +C which prevents users from sending CTCPS to a channel
- ircd.h: fixed compile error
- Minor cleanups here and there
- m_message.c:build_target_list(): fixed >12 years old bug where "NOTICE a,b,c,@#somechan :bugger" would completely abort sending/processing the message to the other targets if not op/voice on #somechan
- m_message.c: further cleanups; removed redundant code, etc
- m_message.c:msg_client(): don't send a 'message throttled' notice to source_p if just watching for floods without actually blocking messages
- m_message.c: sanitize msg_client(); fixed some logic errors in the flooding code
- ircd.c:main(): removed pointless chdir() calls as spotted by Adam
- memory.c:MyFree(): removed extraneous pointer test
- packet.c: made extract_one_line() unsigned
- packet.c:extract_one_line(): constification; renamed variable
- numeric.h, numeric.c: moved ERR_OPERONLYCHAN numeric to 520 to match with insp/unreal
- Re-create autogenerated parser/lexer files
- conf_lexer.l, conf_parser.y: removed entropy gathering daemon leftovers
- packet.c: from p4: change extract_one_line to not over agressively strip whitespace from buffers
- conf_class.c: removed duplicated code
- Update NEWS file
- Update NEWS file
- m_mode.c, m_whois.c: added missing HasUMode test
- bison 3.0.3
- Fixed compile warnings
- libtool 2.4.5, automake 1.15
- Minor cleanups and optimizations to usermode handling
- m_gline.c, m_kline.c, motd.c: need to check against client->sockhost as well
- Update copyright years
- Update NEWS file
- Fixed grammar error as pointed out by Adam
- user.c:register_remote_user(): show ip addresses in remote connection notices aswell
- Bump version to 8.2.2
- Fixed compile warnings
- m_away.c: avoid indexing parv[] multiple times
- conf.c:validate_conf(): use 'EmptyString'
- match.c: style corrections to match()
- send.c: removed unused header includes
- m_mode.c:set_user_mode(): no longer allow multiple arguments to be passed to the umode handler
- channel_mode.c: don't allow ban masks to be added that start with a colon
- reference.conf: fixed stats_k_oper_only documentation
- Added general::stats_m_oper_only configuration option
- Added general::stats_m_oper_only configuration option
- m_info.c: minor correction: use NULL instead of 0 for pointers
- m_cap.c: minor optimization to send_caplist()
- m_cap.c: fixed some issues which have been introduced when it was ported from ircu
- m_invite.c, m_knock.c: send KNOCK/INVITE notifications to halfops too
- Removed unused header includes:wq
- m_away.c:m_away(): don't let /AWAY end the client's flood grace period. Depending on the configuration, some clients instantly set them away right after connecting. AWAY is rate limited anyways.
- motd.c:motd_create(): fixed indentation
- mkpasswd.c: removed extraneous parentheses
- Update doc/reference.conf
- Added 'opme' to irc-operator flags
- Style corrections
- m_etrace.c:do_etrace(): replaced hash_find_client() with find_person()
- client.c: removed useless assert()s
- m_who.c:m_who(): replaced hash_find_client() with find_person()
- send.c:sendq_unblocked(): const correctness
- Removed useless assert()s
- channel_mode.h: increased MAXMODEPARAMS to 6
- 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.
- m_unkline.c: merged ms_unkline() and me_unkline(); removed unused encap handler
- m_kline.c: merged ms_kline() and me_kline(); removed unused encap handler
- Cleaned up style; reformatting; const correctness
- Add m4/ax_arg_libgeoip.m4 and tidy up configure.ac a bit
- Add m4/ax_arg_enable_assert.m4 and tidy up configure.ac a bit
- Style corrections; constifications
- Fixed compile warnings due to shadowed global variables on RHEL/maybe other distros
- user.c:register_remote_user(): modernize old 2.8 notice
- m_nick.c: if possible compare ip addresses rather than hostnames in both perform_nick_change_collides() and perform_uid_introduction_collides()
- Update NEWS
- 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
- libtool 2.4.4
- parse.c:parse_handle_numeric(): removed extraneous parentheses
- m_motd.c:m_motd(): don't take 'hide_servers' into account for remote MOTD requests since this is up to 'disable_remote_commands'
- m_accept.c: whitespace changes
- Update NEWS file
- Update NEWS file
- Removed old mkkeypair script which has been used for cryptlinks
- Renamed variables; const correctness
- Update help/names
- user.c:user_set_hostmask(): skip target_p when sending JOINs to channel members
- Update help/etrace
- conf.c:conf_add_class_to_conf(): improve warning if there's no proper class associated with an oper{} block
- user.c:check_xline(): removed pointless test on 'conf->reason'
- Renamed variables; const correctness - Removed IsConfOperator macro
- Style corrections; constifications
- numeric.h, numeric.c: removed now unused ERR_GHOSTEDCLIENT
- send.c: further fixes to send_message_remote()
- parse.c:parse(): spelling fixes
- parse.c: get rid of parse_cancel_clients()
- send.c: replaced remaining DLINK_FOREACH_SAFE with just DLINK_FOREACH
- send.c: unbreak and sanitize send_message_remote()
- conf_pseudo:m_pseudo(): constification
- Update reference.conf
- Update NEWS
- Style corrections; renamed variables
- misc.c:ssl_get_cipher(): added dash between ssl/tls version and ciphers to match other ircds
- autoreconf
- Nasty hack to allow for 'automake install -jx'
- Update NEWS
- Nasty hack to allow for 'automake install -jx'
- m_opme.c:ms_opme(): announce OPME requests to 'local' operators
- m_opme.c:ms_opme(): use TMODE instead of MODE
- svn propset
- autoreconf
- Added m_opme.c to modules/extra
- m_kick.c:ms_kick(): hide remote server names if KICK comes from hidden servers or if serverhide::hide_servers is set to 'yes'
- numeric.c: added 'h' (half-op) to supported channel modes in RPL_MYINFO
- numeric.c: added 'h' (half-op) to supported channel modes in RPL_MYINFO
- Fixed compile warning
- Set reasonable default ciphers if there aren't any specified in general::ssl_cipher_list
- Style corrections
- m_names.c:m_names(): const correctness
- m_pong.c:mr_pong(): from p4: accept ping cookie replies even if the client still has a pending registration state
- Style corrections; fixed comments
- m_ison.c: don't attempt to remove trailing space in case no nick(s) have been found
- m_ison.c: unbreak /ison; removed useless indexing on parv; removed archaic ircII hack
- fdlist.c: removed set_fdlimit() wrapper function
- m_map.c:dump_map(): from p4: readd ':' after Users in /map
- Const-correctness
- user.c:init_isupport(): removed +e/+I values from EXCEPTS/INVEX tokens
- hash.c: constifications
- hash.c:free_list_task(): removed pointless MyConnect() test
- auth.c:start_auth_query(): removed archaic comment
- auth.c:auth_connect_callback(): use report_error() for reporting failed getsockname() or getpeername() calls
- auth.c: constifications
- auth.c:auth_connect_callback(): decreased size of 'authbuf'
- auth.c: constifications
- user.c:report_and_set_user_flags(): fixed typo in comment
- auth.c: constification
- Update .travis.yml
- Removed init_host_hash()
- conf_class.c: fixed coding convention issues
- m_die.c:mo_die(), m_restart.c:mo_restart(): minor cleanups
- m_die.c:mo_die(), m_restart.c:mo_restart(): minor cleanups
- m_rehash.c:mo_rehash(): minor cleanup
- listener.c:listener_accept_connection(): no need to send the NUL byte
- Renamed clear_ban_cache() to clear_ban_cache_channel() to separate it better from the clear_ban_cache_client() function
- m_svskill.c:ms_svskill(): use KILLLEN instead of KICKLEN
- Constification
- m_oper.c:m_oper(): constification
- m_oper.c:m_oper(): renamed variable
- m_userhost.c:m_userhost(): replaced sprintf() with snprintf()
- channel_mode.c:add_id(), del_id(): replaced sprintf() with snprintf()
- client.c, m_who.c: style corrections
- Renamed exempt::coid to exempt::country_id
- Renamed Client::svid to Client::account
- Renamed variables
- Renamed variables
- Channel half-ops can now use /INVITE as well
- channel.c, channel.h: added clear_invites() and make use of it - ms_sjoin.c:ms_sjoin(): clear invites if the introduced channel has lower TS
- m_sjoin.c:ms_sjoin(): moved remove_ban_lis() calls
- m_sjoin.c:ms_sjoin(): from p4: update channel names to match the case of the remote servers channel name on sjoin
- send.c:sendto_anywhere(): replaced MyClient() test with MyConnect()
- send.c: added some assert(); removed useless test in send_message_remote()
- Renamed variables
- Removed ChModeChange::mems
- send.c:sendto_match_servs(): style corrections
- Removed pointless test for UMODE_DEAF in both sendto_channel_local() and sendto_channel_local_butone()
- Added support for the "extended-join" client capability
- channel_mode.c, send.c: style corrections
- ts6.txt: update to v8
- reference.conf: removed missleading comment. Services may always override +g.
- Constification
- channel.c:msg_has_ctrls(): update documentation
- m_squit.c:ms_squit(): don't drop SQUITs with empty reason
- send.c, client.h: changed Connection::serial to an uint64_t
- Removed hybrid 6 leftovers
- Update README
- Revved patchlevel to hybrid-8.2.1
- m_squit.c: style corrections
- m_squit.c:ms_squit(): don't drop SQUITs with empty reason
- /WHOWAS now shows the name of the services account a user was logged in - Prepare whois_person() for target_p->svid[0] being '*' for user that aren't logged into a services account - Update NEWS
- numeric.c: correction to RPL_ENDOFMODLIST
- ircd.c:ssl_init(): removed newline character from ilog()
- parse.c:parse(): renamed variable
- Improved RPL_LOAD2HI numeric
- channel.c:channel_find_last0(): style correction
- m_server.c, m_stats.c: constification
- m_list.c:do_list(): removed unused parameters
- ircd.c:ssl_init(): added two 'return' even though they are not reached
- ircd.c:write_pidfile(): use strerror() if fopen() fails
- parse.c:parse(): update documentation
- Enable ECDH for OpenSSL 0.9.8o and above
- m_module.c:mo_module(): improve readability; avoid indexing parv[] several times
- m_certfp.c:ms_certfp(): use source_p->certfp instead of parv[1]
- Update news [ci skip]
- s_bsd.c:ssl_handshake(): use CONNECTTIMEOUT instead of hardcoded value - server.c:ssl_server_handshake(): use CONNECTTIMEOUT instead of hardcoded value
- ircd.c:write_pidfile(): removed extraneous parentheses
- ircd.c: style corrections
- server.c:ssl_server_handshake(): correctly timeout outgoing connects
- ircd.c:ssl_init(): disabled session tickets aswell as session cache
- watch.c:watch_add_to_hash_table(): fixed typo in comment
- client.c:check_conf_klines(): removed useless !IsClient() test
- user.c: style corrections
- m_lusers.c:m_lusers(): removed redundant test on 'parc'
- m_whowas.c:m_whowas(), ms_whowas(): removed redundant test on 'parc'
- .travis.yml: try this
- m_pong.c:ms_pong(): hash_find_client() covers both named servers and clients thus replaced hash_find_server() with hash_find_id() for ID-based server/client lookups
- m_ping.c:ms_ping(): added sanity test for wrong directed PING messages as suggested by Adam. Needs more discussion whether that test is still needed with TS6
- m_ping.c, m_pong.c: added proper TS6 support
- Applied EOB fix from p4: Send EOB per-server during bursts Will fix incorrectly marking servers are done bursting if they are not when a server introduces a server currently bursting to you. At a later time we will adjust the behavior of the EOB handler to no longer recursively apply EOBs to all servers behind the source.
- 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
- m_kill.c:ms_kill(): replaced HasUMode(source_p, UMODE_OPER) with just IsClient(source_p)
- m_globops.c:ms_globops(): avoid indexing parv three times
- auth.c:start_auth_query(): removed extraneous ilog(). report_error() already does the logging
- auth.c:timeout_auth_queries_event(): removed logging
- m_whois.c:whois_person(): removed useless test on target_p->sockhost[0] which can't be NUL now that TS6 is mandatory
- conf.c:find_user_host(): minor cleanup
- Style corrections
- m_connect.c: whitespace changes
- m_connect.c: clarify server notice. Don't use hardcoded "ircd.conf".
- m_connect.c:ms_connect(): properly sanity check parv[3] before actually calling hunt_server()
- m_connect.c: style corrections
- m_connect.c: don't let wildcard /connects bypass hash_find_server()
- m_connect.c: use target_p->name instead of parv[1] for connection notices
- server.c:serv_connect(): made failed connection notice more descriptive for remote /connects
- m_dline.c:mo_dline(): correction to previous commit
- m_dline.c, m_kline.c: avoid using valid_comment()
- m_unxline.c: renamed remove_xline_match to remove_xline_exact
- m_error.c: whitespace change
- m_stats.c:stats_glines(): removed useless test. conf->reason cannot be NULL
- m_kline.c:already_placed_kline(): removed useless test. conf->reason cannot be NULL
- Update NEWS
- client.c:accept_message(): don't allow +G to override +g
- client.c:accept_message(): don't allow +G to override +g
- m_server.c:mr_server(), ms_sid(): minor modification to allow for more parameters in the future
- Update NEWS
- m_dline.c: whitespace changes
- Update NEWS
- m_undline.c: fixed broken /dline remote.server
- m_dline.c: fixed broken /dline remote.server
- m_resv.c, m_unresv.c: allow servers to add/remove RESVs
- m_dline.c:ms_dline(): whitespace changes
- m_xline.c, m_unxline.c: allow servers to add/remove XLINEs
- m_dline.c: cleaned up ms_dline(); removed useless junk
- conf.c:find_user_host(): replaced !IsServer() test with IsClient()
- m_dline.c, m_undline.c: allow servers to add/remove DLINEs
- m_server.c:ms_sid(): don't automatically consider servers behind u-lines are services as well
- m_kline.c, m_unkline.c: allow servers to add/remove KLINEs
- m_kline.c:ms_kline(): fixed outdated comment
- m_resv.c:parse_resv(): log permanent RESVs, too
- m_resv.c, m_xline.c: some places weren't using get_oper_name()
- conf.c: let get_oper_name() deal with servers. Makes it easier to allow servers to add/remove xlines, resvs, etc. without rewriting too much code later on
- m_xline.c:relay_xline(): only call atoi() if really needed
- conf_parser.y: use SSL_CTX_use_certificate_chain_file() instead of SSL_CTX_use_certificate_file()
- send.c:send_format(): fixed bogus test
- ircd.c: fixed compile warning
- Renamed Channel::chname to Channel::name
- m_resv.c:mo_resv(): removed extraneous space which caused the reason to be prepended with a space on remote servers
- m_resv.c:mo_resv(): removed extraneous space which caused the reason to be prepended with a space on remote servers
- m_server.c:server_estab(): since we no longer put connecting/unknown servers on the local_server_list, we can simplify that "I'm no hub, I'm not allowed to link" test.
- m_server.c: removed some redundant ERROR messages. exit_client() already takes care of sending ERRORs
- ircd.h: changed Counter structures to anonymous structure
- m_server.c:server_estab(): don't set SetGotId here. There is no reason why it should be done in this place
- m_server.c:server_estab(): cleaned up 'inpath', 'inpath_ip' mess
- m_names.c:m_names(): removed legacy code; constification
- m_kill.c: doxygen
- m_squit.c: doxygen
- conf.c:find_conf_name(): removed useless match(). with server name masking being removed with TS6, this is no longer needed.
- m_server.c:server_estab(): removed 'host = client_p->name' assignment
- ircd.c:ssl_init(): add SSL_OP_CIPHER_SERVER_PREFERENCE to server options
- reference.conf: whitespace changes
- Renamed 'localClient' Client structure member to just 'connection'
- user.c:register_local_user(): cosmetical fixes to server notice
- numeric.h, numeric.c: removed unused ERR_RESTRICTED
- numeric.c: cosmetical fixes
- Fixed misspellings
- Renamed variables/definitions to meet coding standards
- Renamed struct LocalUser to struct Connection
- client.c:exit_client(): cosmetical fixes to server exiting notice
- m_server.c: fixed spelling in some places
- m_server.c: fixed spelling in some places
- m_stats.c:report_Klines(): removed useless test
- Update NEWS
- Update GPL 2 license headers
- Update gpl2 license file
- Revved version to hybrid-8.2.0
- Update doc/reference.conf
- Replaced RPL_NEWHOSTIS with RPL_VISIBLEHOST
- parse.c: fixed new defect found by coverity
- parse.c:parse(): small optimization as suggested by Adam
- parse.c: constification
- Fixed previous changes to parse.h
- Update NEWS
- Fixed compile warnings with -Wmissing-field-initializers
- numeric.c: fixed ERR_PASSWDMISMATCH numeric string
- numeric.c: update ERR_SERVICESDOWN numeric string
- Update NEWS
- conf_pseudo.c:m_pseudo(): added additional !IsMe() test to catch misconfigured pseudo {} blocks
- conf_pseudo.c: cleanups some madness
- reference.conf: add some documentation about the pseudo {} block
- conf_pseudo.c: use m_unregistered() for the UNREGISTERED_HANDLER
- Fixes to pseudo{} blocks
- Removed m_services.c - Add missing dlinkDelete in pseudo_clear() - Rebuild lexer/parser files
- Implemented pseudo {} blocks (service aliases)
- m_who.c:who_global(): style corrections
- m_who.c: made do_who_on_channel() only take 4 parameters
- m_message.c: fixed bug where "NOTICE +#somechan" did allow bypassing resv{} channels, or channels that are set +c (no control codes)
- m_webirc.c: replaced CGI:IRC references with WEBIRC
- Fixed double dlinkDelete() in conf_free() - Fixed memory leak with server/oper/auth configuration items
- Fixed double dlinkDelete() in conf_free() - Fixed memory leak with server/oper/auth configuration items
- listener.c: reformatting
- listener.c: renamed ListenerPollList to listener_list
- Update .ytravis.yml
- Update .travis.yml
- conf.c:rehash(): moved the strlcpy(me.info,...) to conf_parser.y
- conf.c:conf_free(): fixed possible infinite loop with /stats c as reported by Adam. We now assume that all MaskItem are linked onto some list
- conf.c:conf_free(): fixed possible infinite loop with /stats c as reported by Adam. We now assume that all MaskItem are linked onto some list
- Instead of silently truncating WHO at 500 replies, added ERR_WHOLIMEXCEED numeric to inform users about the /who limit being exceeded
- Update NEWS
- Update README
- Update README
- hash.c:safe_list_channels(): removed outdated comment
- conf_parser.y: removed useless tests on ConfigServerInfo.server_ctx
- ircd.c:ssl_init(): exit if we cannot setup client/server context
- conf.c:set_default_conf(): really default to secp256r1
- Update doc/reference.conf
- Update NEWS
- m_list.c:do_list(): no need to break in the '-' case
- Add topic mask option to /list
- hash.c:list_one_channel(): let other users see channelmodes in /list
- m_certfp.c:ms_certfp(): use xstrdup() instead of strdup()
- ax_arg_enable_warnings.m4: fiddle around with warning options
- event.h: removed typedef
- Fixed compile warnings
- Update NEWS
- res.c: style corrections
- memory.c:MyRealloc(): As pointed out by Adam, realloc() can be called with size being 0 which equals to free(). In that case the outofmemory handler shouldn't be triggered.
- s_bsd_poll.c cleanups/fixes provided by Adam
- getopt.c:parseargs(): use xstrdup() instead of malloc/strcpy combo; don't modify memory pointed by the argument vector. Fixes provided by Adam.
- res.c:query_name(): get rid of useless typecasting
- res.c:proc_answer(): error out and leave the client unresolved if we get an unexpected record type
- Removed CNCB typedef
- Removed stupid PF typedef in fdlist.h which prevented both gcc and clang from spitting out a warning about the first argument of s_bsd:ssl_handshake() being an 'int' when it really has to be a 'fde_t' pointer. - Fixed first argument of s_bsd:ssl_handshake() which should be a 'fde_t' pointer instead of an 'int'.
- conf.c:conf_dns_lookup(): use gethost_byname_type() - res.h, res.c: removed gethost_byname()
- res.c:proc_answer(): delete useless castings
- res.c:proc_answer(): use 'unsigned'
- res.c: removed "request_state" enum
- res.c:proc_answer(): applied "Ignore CNAME records in dns queries" fix from p4. ** Ignore CNAME records in dns queries. Allows PTRS to point to CNAMEs which can point to an A/AAAA which resolves to the correct IP.
- res.c: removed "try A if AAAA failed" logic
- res.c:start_resolver(): made /stats F more descriptive about the resolver socket
- auth.h: update documentation
- res.h: add documentation about RFC1035_MAX_DOMAIN_LENGTH definition
- Update NEWS
- user.c:oper_up(): successful operator logins are now announced globally via GLOBOPS
- Renamed various variables
- Update doc/reference.conf
- m_info.c:send_conf_options(): made /info look nicer
- event.c: update show_events() to make /stats E look nicer
- Rewrite sendto_realops_flags_ratelimited() so it can be used in other places as well
- Added listener_release() and make use of it
- listener.c: reformatting
- listener.c:make_listener(): constification
- res.c: was missing +1 in reslist::name
- res.c:init_resolver(): removed useless memset()
- m_ison.c:m_ison(): replaced memcpy() with strlcpy()
- Update README
- Removed ipv6 detection. We now assume all systems that run hybrid have ipv6 availability and sockaddr_storage.
- s_bsd.c:comm_accept(): fixed faulty memset()
- Let's allow overlength host name entries in connect {} blocks
- Fixed resolver/auth issues with too long hostnames
- Moved memset() from accept_connection() to comm_accept()
- Minor documentation updates
- Update doc/reference.conf
- Unset FLAGS_IPHASH on source_p in exit_client() when removing from ipcache
- ircd.c:main(): use event_add() for comm_checktimeouts
- Update README
- Update NEWS
- Update doc/reference.conf
- channel.c:send_mode_list(): constification
- channel.c: moved 'buf' to send_members() and send_mode_list()
- mempool.c:mp_pool_garbage_collect(): c99 style correction
- m_cap.c: moved qsorting of the capab_list to module_init()
- m_nick.c:change_local_nick(): improved an assert()
- numeric.c: ERR_NICKTOOFAST: use %u conversion specifier
- Fixed ERR_NICKTOOFAST numeric string to make more sense and to comply with other ircds
- numeric.c: fixed ERR_TOOMANYAWAY numeric string
- listener.h, listener.c: use HOSTIPLEN for Listener::name; update documentation
- ipcache.h: update documentation
- Revved version to hybrid-8.2.0rc2
- Update INSTALL
- ipcache.c: minor cleanup
- ax_arg_openssl.m4: cosmetical fixes for LibreSSL
- Moved ax_check_openssl.m4 to ax_arg_openssl.m4
- ax_library_net.m4: removed useless member test of sockaddr_in.sin_len
- Got rid of acinclude.m4
- Update NEWS
- configure.ac: must be excuting GCC_STACK_PROTECT_LIB aswell, otherwise we won't get linked against SSP lib (if there's any)
- acinclude.m4: fixed typo in comment
- Cleaned up epoll detection
- motd.h, motd.c: renamed Motd::hostmask to just Motd::mask just because it's kinda missleading since the mask can also be a class name
- motd.h, motd.c: clean up/fix comments
- motd.c:motd_cache(): fixed cast
- Re-arranged ConfigServerInfo structure
- Removed unused ConfigServerInfo structure member
- Renamed structures to meet code conventions
- event.h: style corrections
- event.h: replaced shorts with ints
- Removed select() support
- conf.c:attach_iline(): constification
- ipcache.c:ipcache_get_stats(): constification; depend on the caller to set integers to zero
- svn propset on ipcache.c, ipcache.h
- Moved all ip caching related code to ipcache.c
- conf.c: optimized count_ip_hash()
- conf.c:ipcache_remove_expired_entries(): of course should be DLINK_FOREACH_SAFE
- Cleaned up ipcache
- res.c:res_readreply(): read as many packets as possible from kernel buffer in a single run. This might increase performance for heavy loaded servers doing lots of dns requests. As side-effect it fixes issues with edge-triggered epoll (we're only doing level-triggered right now)
- res.c:res_readreply(): don't grant further retries if the packet couldn't be decoded. We only give it one shot.
- Improved AWAY throttling to allow for better fine-tuning
- res.c: reformatting; style corrections; updated comments
- Backported auth code related cleanups from newio branch
- Update doc/reference.conf [ci skip]
- Update doc/reference.conf [ci skip]
- Update doc/reference.conf [ci skip]
- res.c:res_readreply(): use ssize_t for 'rc'
- Update doc/reference.conf
- Fixed typos all over the place
- Update NEWS and INSTALL
- ./configure now requires OpenSSL 0.9.8o or above in order to enable TLS/SSL support
- Revved version to hybrid-8.2.0rc1
- Update NEWS
- Update several help files
- Revved version to hybrid-8.1.20
- Update doc/reference.conf
- Update doc/reference.conf
- m_oper.c, m_challenge.c: cosmetical fixes
- m_oper.c, m_challenge.c: cosmetical fixes
- m_challenge.c:m_challenge(): added sanity test on parv[1]
- m_challenge.c:m_challenge(): added sanity test on parv[1]
- Update NEWS
- Update NEWS
- m_challenge.c:m_challenge(): cosmetical fix
- Update challenge.txt
- m_xline.c, m_resv.c: fixed bug where the mask which is to be banned is checked in both valid_wild_card_simple() and valid_wild_card()
- m_xline.c, m_resv.c: fixed bug where the mask which is to be banned is checked in both valid_wild_card_simple() and valid_wild_card()
- Update challenge.txt
- m_challenge.c:m_challenge(): cosmetical fix
- m_help.c: style corrections
- Update reference.conf
- conf.c:valid_wild_card_simple(): don't read past the zero character
- conf.c:valid_wild_card_simple(): don't read past the zero character
- respond.c: update binary_to_hex()
- conf_parser.y: do some logging if the dh param file can't be opened/read - rsa.c: fixed compile warning
- conf_parser.y: do some logging if the dh param file can't be opened/read
- Cleaned up and sanitized /challenge relatedcode - 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.
- conf_parser.y: fixed logging of invalid private key
- 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.
- .travis.yml: according to the travis ci guys, gcc-4.8 is now pre-installed on osx. Let's see if it works this time.
- .travis.yml: according to the travis ci guys, gcc-4.8 is now pre-installed on osx. Let's see if it works this time.
- Update NEWS
- m_server.c: fixed build with LibreSSL which hasn't compression support - ax_check_openssl.m4: 0.9.8m is now the minimum requirement
- m_server.c: fixed build with LibreSSL which hasn't compression support - ax_check_openssl.m4: 0.9.8m is now the minimum requirement
- auth.h, s_bsd.h: removed unused function declarations
- m_xline.c: fixed broken check_xline()
- m_xline.c: fixed broken check_xline()
- res.c:res_readreply(): removed sparc/alpha hack
- res.c:res_readreply(): don't do anything until we checked for possible fake replies
- res.c:res_readreply(): even if it's not clear if it's possible to receive a response for a query we didn't send, but we better execute auth_dns_callback() immediately instead of waiting until timeout_auth_queries_event() takes action.
- res.c: made timeout_query_list() not require an argument
- parse.c: reformatting
- 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
- user.c:register_remote_user(): constification
- user.c:user_welcome(): removed useless test on source_p->id
- Update ircd manpage [ci skip]
- Update ircd manpage
- Update NEWS [ci skip]
- Removed Tao-of-IRC.940110
- client.c: cleaned up style; sprinkled some assert() statements
- Renamed serv_list to local_server_list
- server.c:hunt_server(): removed useless test. Discussed and approved by Adam.
- Renammed global_serv_list to global_server_list
- server.c: cleaned up hunt_server()
- Update reference.conf
- Update helpfiles
- parse.c:handle_numeric(): if source_p is a hidden server, rewrite prefix aswell
- ircd.c:initialize_global_set_options(): removed useless memset()
- server.c:try_connections(): whitespace changes
- m_nick.c:perform_nick_change_collides(): style cleanups
- m_nick.c: removed unused/dead code
- Removed doc/Tao-of-IRC.940110
- Don't add/remove unregistered connections to/from global_client_list
- client.c:exit_one_client(): re-added test on source_p->node.next
- Update reference.conf
- Update NEWS
- Revved version to hybrid-8.2.0beta4
- Update NEWS
- Update NEWS
- Revved version to hybrid-8.1.19
- channel_mode.c:clear_ban_cache(): use locmembers list
- m_encap.c:ms_encap(): removed unused variable
- Update reference.conf
- Bring back channel->locmember list
- .travis.yml: build with --enable-assert
- .travis.yml: build with --enable-assert
- m_nick.c: fixed compile error with --enable-assert
- Update NEWS
- Removed ssl_server_method and ssl_client_method configuration options. ircd now only allows TLSv1, TLSv1.1 and TLSv1.2 protocols depending on the OpenSSL version.
- ircd.c:ssl_init(): removed SSL_OP_TLS_ROLLBACK_BUG from options
- Update README
- Removed supported.h
- Removed hooking system - Update help/stats
- m_encap.c: respect args_min when calling the encap handler
- m_encap.c: respect args_min when calling the encap handler
- m_nick.c: from p4: move resv channel oper notice to umode reject
- channel.c: from p4: move resv channel oper notice to umode reject
- Another help/stats update
- Update help/stats
- Update help/stats
- Update help/stats
- Removed hooking system
- client.c:exit_one_client(): removed XXX; added an assert() just in case
- ircd.c:ssl_init(): add SSL_OP_SINGLE_DH_USE to options
- m_nick.c:uid_from_server(): fixed use of wrong CLient pointer
- m_nick.c:change_remote_nick(): fixed broken assert()
- ircd.c: removed 'event_check_splitmode'. Changed 'splitmode_event' to run every 5 seconds if server is in splitmode
- event.c, event.h: update copyright headers
- ircd.c:ssl_init(): minor cleanup
- event.c:event_addish(): removed XXX
- event.c: removed unused header includes
- Update reference.conf
- conf_parser.y: fixed stupid bug. no comment there...
- event.c:event_run(): changed 'len' variable to an unsigned int. Note that dlink_list_length() is unsigned int.
- event.c:event_run(): removed unused variable
- Added ssl_message_digest_algorithm configuration option to serverinfo{} block. See doc/reference.conf for more information.
- Make use of binary_to_hex() in ssl_handshake() and ssl_server_handshake()
- rsa.c: make binary_to_hex() more readable
- Allow [ in usernames
- ircd.h, ircd.c: change some structures to anonymous structures
- Removed supported.h
- reference.conf: allow 1 connection every 2 seconds
- Add CHACCESS_REMOTE for servers remote Clients
- event.c: fixed issue in event_run()
- mempool.c: run mp_pool_garbage_collect every 3 minutes
- conf.c:set_default_conf(): default to 1 connection per 1 second
- Merged Adam's event system rewrite
- m_nick.c: improve documentation
- Cleaned up UID introduction / NICK change related code
- Let mp_pool_get() clear memory
- m_message.c: style cleanups; constification
- Update NEWS
- m_knock.c, m_invite.c: don't further penalize throttled clients
- conf.c, conf.h: change some structures to anonymous structures
- Update NEWS, README
- Update NEWS
- Update NEWS
- Update NEWS
- ircd.c:ssl_init(): removed SSL_OP_ALL from options
- Added proper ECDH support
- conf.c:set_default_conf(): default to 1 connection per 1 second
- channel.c:check_splitmode(): logic fixes
- channel.c:check_splitmode(): logic fixes
- m_eob.c:server_eob(): fixed faulty assert()
- m_eob.c:server_eob(): fixed faulty assert()
- .travis.yml: build 8.1.x with --enable-halfops
- Use %u conversion specifier for unsigned ints
- conf.c:conf_connect_allowed(): fixed some logic errors
- conf.c:read_conf_files(): chanmodes c an M were missed in CHANMODES
- conf.c:read_conf_files(): chanmodes c an M were missed in CHANMODES
- m_undline.c:mo_undline(): don't require an address to be prepended with *@
- m_dline.c:mo_dline(): don't require an address to be prepended with *@
- channel.c:get_member_status(): document the magic value of 4
- channel.c, channel_mode.c: update documentation in some places
- m_accept.c:list_accepts(): make sure to have one byte left for the space
- Update NEWS
- 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_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
- server.c:try_connections(): removed useless test on conf->class to make coverity shut up. There shouldn't ever be a MaskItem on the server_items list that hasn't a class attached to it.
- client.h: fixed comment
- 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.
- channel.h: removed Channel.last_invite; it's not used anymore
- Got rid of SEND_UMODES. We now propagate all modes.
- Renamed OPER_FLAG_K to OPER_FLAG_KLINE
- client.h: update/fix comments
- m_accept.c:list_accepts(): whitespace changes; fixed typo
- m_accept.c:list_accepts(): fixed magic value to actually fully utilize all 512 bytes. Add some documentation which describes this magic value so other people don't tear their hair out about this value.
- m_message.c:msg_client(): minor optimization
- m_server.c:server_estab(): SVINFO can be prefixed
- AUTHORS, version.c: added Fawkes to contributors
- AUTHORS, version.c: added Fawkes to contributors
- m_encap.c: minor cleanup. Also there must always be some function assigned to the ENCAP handler. Let it crash if there isn't one.
- m_message.c: constification; fixed style in some places
- channel.c:send_mode_list(): improve documentation
- channel.c:send_mode_list(): renamed variable
- channel.c:send_mode_list(): removed outdated comment
- m_message.c:handle_special(): removed user@server messages to local users, as this was an easy way to bypass +R/+G/+g usermodes.
- version.c: fixed compile warning with clang -Winvalid-source-encoding. Fix provided by grawity.
- version.c: fixed compile warning with clang -Winvalid-source-encoding. Fix provided by grawity.
- Update README. 8.x works properly on Mac OS X 10.9 (Mavericks). [ci skip]
- Update README. 8.x works properly on Mac OS X 10.9 (Mavericks). [ci skip]
- Removed unused header includes
- s_bsd_epoll.c, s_bsd_kqueue.c: removed defines/prototypes for extremely outdated systems
- m_message.c:build_target_list(): constification; made things look nicer with an EmptyString()
- m_message.c:build_target_list(): constification
- m_message.c:msg_client(): minor optimization. Most clients aren't set away, and a directed message is nearly always a PRIVMSG
- Update NEWS
- m_message.c:msg_client(): replaced MyConnect with MyClient test. Otherwise +R/+G opers won't receive server notices for remote CONNECT and remote KLINE/DLINE/XLINE/RESV attempts.
- m_message.c:msg_client(): replaced MyConnect with MyClient test. Otherwise +R/+G opers won't receive server notices for remote CONNECT and remote KLINE/DLINE/XLINE/RESV attempts.
- m_message.c: update client->localClient->last_privmsg in m_privmsg()
- m_message.c:msg_client(): style corrections
- m_message.c:handle_special(): fixed stupid logic error
- m_svsnick.c:ms_svsnick(): don't use hunt_server()
- m_message.c:handle_special(): removed redundant HasUMode(source_p, UMODE_OPER) test
- Update NEWS
- Fixed EOB logic for remote servers. Fix derived from p4
- Fixed EOB logic for remote servers. Fix derived from p4
- Update .travis.yml
- Update .travis.yml
- channel.c: improve documentation
- m_message.c:handle_special(): constification
- send.c:handle_special(): removed user@server messages to local users. Going the RB and Chary way for now, as this was an easy way to bypass +R/+G usermodes.
- send.c:sendto_match_servs(): swap function calls; renamed variable
- Renamed global_channel_list to channel_list
- send.c: fixed stupid 'bug' in sendto_match_servs()
- Renamed set_channel_topic() to channel_set_topic()
- channel.c:channel_do_join(): use chptr->chname if we know the channel exists
- Fixed SVSJOIN/SVSPART issues
- Update NEWS
- Added max_channels to class{} blocks
- conf.c:valid_wild_card(): use unsigned
- Greatly speedup d-line lookup. Instead of testing every single client against every existing d-line just check the just added ban against connected clients. Also now check d-line _before_ looking for a matching exempt{}
- m_kline.c: fixed compile warning with -Wconversion
- Fixed bunch of compile warnings with -Wconversion
- Ugly-fix compile warning
- Update NEWS
- Revved version to 8.1.18
- m_svspart.c:ms_svspart(): must of course use target_p
- m_join.c: removed do_join_0()
- m_oper.c:m_oper(): style corrections
- Moved duplicated code used by m_svspart.c and m_part.c, aswell as m_svsjoin.c and m_join.c to channel.c
- m_who.c: Use 'unsigned' whenever possible
- hash.c: Use 'unsigned' whenever possible
- Use 'unsigned' whenever possible
- m_squit.c:mo_squit(): "fixed" coverity CID 1135874
- ircd.h: use 'unsigned' whenever possible
- client.h: fixed spelling error
- client.h: fixed compile warnings with -Wsign-conversion
- user.c:add_isupport(): fixed compile warning with -Wconditional-uninitialized
- Update NEWS
- m_info.c:send_info_text(): fixed compile warning
- conf_parser.y: fixed stupid bug that has successfully has hidden itself since Feb 5, 2002
- conf_parser.y: fixed stupid bug that has successfully has hidden itself since Feb 5, 2002
- channel.c: documentation updates
Update .travis.yml
- Update .travis.yml
- Minor fix to reference.conf
- Update reference.conf
- rng_mt.c: removed trailing whitespaces
- m_info.c.:send_info_text(): style corrections
- Added general::throttle_count idea from p4
- Style corrections; fixed comments
- parse.c:mod_add_cmd(): no need to reset command counters upon module load
- Use unsigned whenever possible
- Update NEWS
- Removed OPERWALL. Use GLOBOPS instead.
- m_invite.c, m_knock.c: fixed stupid logic error
- Update NEWS
- Made the INVITE/KNOCK throttling logic less aggressive as requested by Adam
- doc/reference.conf: whitespace changes
- m_set.c: made things use an unsigned int
- m_set.c: whitespace changes
- reslib.c: style corrections
- m_squit.c:ms_squit(): use sendto_realops_flags() when announcing remote SQUITs
- m_connect.c:ms_connect(): use sendto_realops_flags() when announcing the CONNECT
- m_locops.c, m_globops.c: removed extra colons
- m_locops.c, m_globops.c: removed extra colons
- send.h: update comment
- Removed ONLY_CHANOPS; let non-ops see +I/+e lists, too
- Update macros in m4/
- Update macros in m4/
- .travis.yml: build with libGeoIP
- .travis.yml: build with libGeoIP
- Update .travis.yml
- Update .travis.yml
- Update .travis.yml
- Update .travis.yml
- Update .travis.yml
- Update .travis.yml
- Added .travis.yml
- Added .travis.yml
- doc/reference.conf: fixed spelling error
- Update NEWS
- Added -Wlogical-op to warning options
- Added -Wpointer-arith to warning options
- Added -Wmissing-include-dirs to warnings options
- m_squit.c:ms_squit(): use GLOBOPS to announce remote squits
- m_connect.c:ms_connect(): use GLOBOPS to announce remote connects
- send.c:sendto_channel_butone(): replaced IsServer() test with IsClient()
- send.c:sendto_match_servs(): use DLINK_FOREACH_SAFE() as send_message_remote() might exit client/server
- send.c:sendto_match_servs(): use DLINK_FOREACH_SAFE() as send_message_remote() might exit client/server
- stdinc.h: whitespace commit
- help/quit: whitespace commit
- m_connect.c: whitespace commit
- m_gline.c: whitespace commit
- m_xline.c, m_unkline.c: whitespace commit
- m_set.c: whitespace commit
- m_etrace.c: whitespace commit
- m_admin.c: whitespace commit
- whitespace commit
- conf.c:set_default_conf(): reset ConfigFileEntry.stats_e_disabled
- conf.c:set_default_conf(): reset ConfigFileEntry.stats_e_disabled
- m_bmask.c: doxygen
- m_tburst.c: doxygen
- m_message: style corrections; made things use an enum
- hostmask.c:mask_addr(): fixed merging error
- hostmask.c:mask_addr(): fiex compile warnings hostmask.c: In function ‘mask_addr’: hostmask.c:332:35: warning: declaration of ‘__v’ shadows a previous local [-Wshadow] hostmask.c:332:35: warning: shadowed declaration is here [-Wshadow] hostmask.c:332:35: warning: declaration of ‘__x’ shadows a previous local [-Wshadow] hostmask.c:332:35: warning: shadowed declaration is here [-Wshadow]
- hostmask.c:mask_addr(): ficed compile warnings: hostmask.c: In function ‘mask_addr’: hostmask.c:332:35: warning: declaration of ‘__v’ shadows a previous local [-Wshadow] hostmask.c:332:35: warning: shadowed declaration is here [-Wshadow] hostmask.c:332:35: warning: declaration of ‘__x’ shadows a previous local [-Wshadow] hostmask.c:332:35: warning: shadowed declaration is here [-Wshadow]
- Update NEWS
- /INVITE without any parameters now shows a list of channels a client is invited to
- Make sure ConfigChannel.invite_delay_channel and ConfigChannel.invite_delay get initialized in conf.c:set_default_conf(). Also make sure the values are reported in /info.
- Added INVITE flood protection/throttling as requested by Adam. This basically works similar as the KNOCK throttling algorithm.
- Update NEWS
- Update ircd man page
- Update ircd man page
- Update modes.txt
- channel_mode.c, channel_mode.h: constification
- More ms_sjoin() cleanups
- m_sjoin.c: style corrections
- m_sjoin.c:remove_ban_list(): replaced sprintf() with snprintf()
- server.c:send_capabilities(): replaced sprintf() with strlcat(
- m_rehash.c: removed useless comment; style corrections
- m_info.c: style corrections; make things use an enum
- m_gline.c: removed useless asserts; style corrections
- m_ison.c:m_ison(): style corrections
- Added some documentation about find_chasing()
- channel_mode.c: minor cleanups and code rearrangements
- channel_mode.c: get rid of fix_key_old()
- client.c:get_client_name(): minor optimization
- parse.c:cancel_clients(): removed outdated comments
- parse.c:cancel_clients(): be a void function
- Halfops are now part of the ircd core and enabled by default
- m_kick.c:m_kick(): removed outdated comment
- m_kick.c:m_kick(): removed outdated comment
- channel_mode.c:chm_simple(): channel halfops may now set +p
- channel_mode.c:chm_simple(): channel halfops may now set +p
- m_kick.c:m_kick(): channel halfops (%) may now no longer KICK other channel halfops
- m_kick.c:m_kick(): channel halfops (%) may now no longer KICK other channel halfops
- channel_mode.c:chm_hop(): channel halfops (%) may now no longer (de)halfop other channel members
- channel_mode.c:chm_hop(): channel halfops (%) may now no longer (de)halfop other channel members
- channel_mode.c: irc-operators may now no longer set a channel +O if they are only halfops (%)
- irc-operators may now no longer set a channel +O if they are only halfops (%)
- channel_mode.h: removed outdated comment
- Removed unused ChModeChange.client
- channel_mode.c:send_mode_changes(): removed anonops leftovers
- send.h: removed anonops leftovers
- channel_mode.c: style corrections
- channel_mode.c:chm_operonly(): removed dead code
- channel_mode.c:chm_operonly(): removed dead code
- Removed CHFL_DEOPPED flags which is no longer needed with TS6
- channel_mode.c: revert changes to channel_modes() for now. apparently there are some other parts that rely on this odd behaviour.
- m_join.c:ms_join(): fixed compile warning
- channel_mode.c: revert changes to channel_modes() for now. apparently there are some other parts that rely on this odd behaviour.
- channel_mode.c:channel_modes(): replaced sprintf with strcat; use %u conversion specifier for unsigned ints
- channel_mode.c:channel_modes(): replaced sprintf with strcat; use %u conversion specifier for unsigned ints
- channel_mode.c:channel_modes(): fix to previous changes
- channel_mode.c:channel_modes(): fix to previous changes
- channel_mode.c:channel_modes(): get rid of trailing spaces if the channel is +k/+l
- channel_mode.c:channel_modes(): get rid of trailing spaces if the channel is +k/+l
- m_nick.c: style corrections
- m_nick.c:ms_uid(): updated documentation
- 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: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.
- channel_mode.c:chm_op(), chm_hop(), chm_voice(): use target_p->name when reporting ERR_USERNOTINCHANNEL
- channel_mode.c: style corrections
- channel_mode.c:send_mode_changes_server(): removed resolved XXX
- m_mode.c:m_mode(): moved 'parabuf' and 'modebuf' to inner scope
- m_mode.c:set_user_mode(): moved 'buf' to inner scope
- conf.h: removed extraneous comma
- m_join.c: style corrections
- reference.conf: add resv{} for nick 'Global'
- user.c:valid_username(): removed extraneous semicolon
- user.c, m_stats.c: whitespace changes
- res.c: removed unused definitions
- send.h: removed unused kill_client_serv_butone() prototype
- channel_mode.c:chm_operonly(): removed dead code
- m_etrace.c:do_etrace(): removed dead code
- Revved version to 8.2.0beta3
- m_stats.c:stats_tstats(): fixed faulty sendto_one_numeric
- m_map.c:dump_map(): use 'unsigned' whenever possible
- parse.c: moved *para[] to parse()
- m_join.c:ms_join(): fixed compile warning
- channel_mode.c: removed unused SM_ERR_NOTS; made errorcodes use an enum
- parse.c:handle_numeric(): replaced MyClient test with MyConnect(). find_person() already ensures that target_p is a fully registered client.
- channel_mode.c:chm_operonly(): removed redundant assignment
- channel_mode.c:chm_operonly(): removed redundant assignment
- parse.c: cleanup comments
- m_sjoin.c:ms_sjoin(): let handle_command() test for the right amount of parameters passed to SJOIN
- parse.c:add_msg_element(), del_msg_element(): zero initialize pointers for debugging purposes
- m_sjoin.c:ms_sjoin(): hardened test to make sure SJOINs are really only processed if sent by a server
- m_sjoin.c:ms_sjoin(): hardened test to make sure SJOINs are really only processed if sent by a server
- m_join.c:ms_join(): don't allow servers to join channels
- m_join.c:ms_join(): don't allow servers to join channels
- parse.c:mod_del_cmd(): make sure the command actually exists in the trie before attempting to remove it. We could end up in a corrupted trie otherwise.
- parse.c:mod_del_cmd(): make sure the command actually exists in the trie before attempting to remove it. We could end up in a corrupted trie otherwise.
- parse.c:remove_unknown(): use me.id when sending KILL/SQUIT to servers
- parser.c:do_numeric(): fixed stupid bug introduced in -3574
- m_trace.c: removed set_time() calls
- m_set.c: whitespace changes
- m_accept.c: style corrections
- fdlist.c: style corrections
- fdlist.c: use unsigned whenever possible
- event.c: use unsigned whenever possible
- m_svsnick.c: whitespace changes
- m_services.c:m_botserv(): add missing return
- m_services.c: clean up services handlers in preparation of configurable aliases. Made PRIVMSG targets use UIDs
- Use sendto_one_numeric() everywhere
- m_services.c: use UID prefixed PRIVMSGs when sending stuff to services
- m_sjoin.c:ms_sjoin(): removed faulty assert
- Update help files
- Update help files
- m_etrace.c: further cleanups
- m_etrace.c: constification & style corrections
- Update help files
- Update help files
- Replaced remaining sendto_one() with sendto_one_numeric(). SND_EXPLICIT idea derived from ircu.
- 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
- Style corrections
- auth.c: constification
- m_svsmode:ms_svsmode(): removed legacy code
- m_resv.c: reformatting
- numeric.c: minor conversion specifier cleanups
- Removed RPL_STATSNLINE
- find_address_conf(): constification
- Update documents
- Update documents
- conf_class.c:class_free(): added an assert()
- conf_class.c:class_free(): added an assert()
- m_info.c:info_table[]: cosmetical fixes
- m_info.c:info_table[]: cosmetical fixes
- Bump version to 8.2.0beta2
- Update NEWS
- m_mode.c:set_user_mode(): renamed variables
- m_bmask.c:ms_bmask(): cleaned up style
- hostmask.c:delete_one_address_conf(): replaced a DLINK_FOREACH_SAFE with DLINK_FOREACH
- doxygen
- Update reference.conf
- Update reference.conf
- user.c:register_local_user(): removed pointless assignment
- ircd.c:main(): make this "don't run ircd as root!!!11" message look more serious
- ircd.c:main(): make this "don't run ircd as root!!!11" message look more serious
- channel.c:send_mode_list(): removed TS5 leftover
- Update reference.conf
- Update reference.conf
- Removed unused macros; cleaned up comments
- m_stats.c:stats_operedup(): don't show idle time if operator is +q
- Update reference.conf
- Added usermode +p which hides channel list in WHOIS
- Fixed bug where "STATS p" would show an invalid amount of irc-operators in case there are +H opers
- Fixed bug where "STATS p" would show an invalid amount of irc-operators in case there are +H opers
- Update docs to reflect new +q usermode
- Added usermode +q which hides idle and signon time in WHOIS
- Renamed MyMalloc() to MyCalloc()
- client.c:free_client(): sanitize some weird looking assert()
- conf.c:parse_aline(): use CONF_NOREASON for default reason
- conf.c:parse_aline(): use CONF_NOREASON for default reason
- Update NEWS
- m_cap.c: from p4: Ignore trailing spaces from CAP REQ/ACKs to prevent rejecting requests
- m_cap.c: from p4: Ignore trailing spaces from CAP REQ/ACKs to prevent rejecting requests
- conf.h: remove invalid/useless comments
- conf.h: remove unused macros
- Update NEWS
- numeric.c: fixed RPL_WHOISCHANNELS using wrong numeric
- m_die(), m_restart(): use get_client_name() instead of get_oper_name()
- m_die(), m_restart(): initialize buf[] to something saner
- m_die(), m_restart(): use get_client_name() instead of get_oper_name()
- Style corrections
- m_svsmode.c:ms_svsmode(): use pre-decrement just for consistency
- m_mode.c:set_user_mode(): use pre-decrement just for consistency
- Updated help/stats
- Renamed general::warn_no_nline to warn_no_connect_block
- channel.c:send_members(): added missing #ifdef HALFOPS
- hostmask.c: style corrections
- m_xline.c:write_xline(): removed collapse() call
- Bump version to hybrid-8.1.17
- Update reference.conf
- Update NEWS
- Backported /list and hunt_server() optimization from TRUNK
- Update NEWS
- m_info.c:send_conf_options(): cleaned up style
- rsa.c:binary_to_hex(): use unsigned int
- misc.c:ssl_get_ciper(): get rid of this magic IRCD_BUFSIZE/4. Use IRCD_BUFSIZE instead.
- packet.c: style corrections
- server.c: minor valid_servname() cleanup
- server.c:hunt_server(): save extra has_wildcards() call everytime hunt_server() finds a client/server in the hash tables.
- Update reference.conf
- Update reference.conf
- conf_parser.y: style corrections
- conf_parser.y: removed extraneous strlen(). valid_hostname() already checks for too long hostnames
- conf_parser.y: cleaned up style
- Update reference.conf
- Update reference.conf
- conf_parser.y: fixed bug where the parser wouldn't take time units into consideration for the join_flood_time and throttle_time config options.
- conf_parser.y: fixed bug where the parser wouldn't take time units into consideration for the join_flood_time and throttle_time config options.
- Replace few hash_find_id() with find_person()
- hash.c:list_one_channel(): constification
- hash.c:list_one_channel(): optimize for the admin case
- Fixed possible WATCH core. Fix provided by Adam
- Fixed possible WATCH core. Fix provided by Adam
- Get rid of LOCAL_CHANNELLEN; change CHANNELLEN to 50
- Update NEWS
- configure.ac.: fixed version string
- m_set.c: misc. fixes and cleanups
- m_set.c:mo_set(): removed hack. Let quote_autoconn() deal with missing parameters.
- Update NEWS
- Update NEWS
- Revved version to 8.2beta1
- Create 8.2.x branch
- Update NEWS
- Bump version to 8.1.16
- Readded FLAGS_BLOCKED
- Backported -r3296 [m_capab.c:mr_capab(): capability tokens must be all in parv[1] now]
- Made server_estab() and sendnick_TS() use 'static' keyword
- m_quit.c:ms_quit(): don't default to source_p->name if no quit message is given
- s_serv.c, m_server.c: moved all netburst related code to m_server.c
- m_kick.c:m_kick(): removed unused variable
- Fixed corrupted "STATS U" output
- Backported -r3268 [irc_res.c:make_request(): lowered retries counter to 2]
- Update NEWS
- m_who.c:m_who(): admins may now see all channel members via "WHO #channel" regardless of channel mode +s
- Re-add CHW capability to cope nice with rb
- conf.c:match_conf_password(): fixed undefined behaviour with crypt() returning NULL since glibc2.17 in certain cases.
- Update NEWS
- Revved patchlevel to 8.1.15
- flex 2.5.39
- Backported -r3227 [m_stats.c:stats_servlinks(): removed extranous spaces]
- Update NEWS
- Backported -r3182 [s_user.c:check_xline(): use CONF_NOREASON for default reason]
- Backported -r3220 [m_topic.c:m_topic(): use chptr->chname when reporting ERR_NOTONCHANNEL]
- Backported -r3212 [m_part.c:part_one_client(): use chptr->chname if we already looked up the channel]
- Backported -r3213 [m_watch.c:m_watch(): replaced all strcat() with strlcat()]
- m_kick.c: backported some cleanups done in -r3198
- Backported -r3209 [m_user.c:mr_user(): optimize in case parv[4] is empty]
- channel_mode.c:chm_voice, chm_hop, chm_op: removed extraneous/redundant IsClient() test
- Cleaned up find_chasing(). Removed useless third 'chasing' argument.
- Backported -r3180 [m_locops.c:ms_locops(): accept LOCOPS from servers]
- send.c:send_message_remote(): replace ID(&to) with ID(to) as spotted by Adam
- send.c:send_message_remote(): TS6 improvements
- m_svinfo.c: minimum required argument count is 5. Remove redundant test on parc in ms_svinfo()
- channel_mode.c:chm_limit(): instead of passing an empty buffer to atoi() we just bail out
- Update NEWS
- m_svsnick.c: backported -r3138 [Do not self collide clients who svsnick to themselves]
- svn propset
- respond.c: update copyright header
- Update tools/README.mkpasswd
- Update NEWS
- mkpasswd.c: mkpasswd now defaults to MD5 instead of DES
- mkpasswd.c: cosmetical fixes
- Removed m_users.c
- m_services.c:m_hostserv(): fixed invalid ERR_SERVICESDOWN reply
- parse.c:do_numeric(): now use sendto_channel_butone() to also forward numerics that are sent to channels to remote clients
- parse.c: moved 'sender' variable to inner scope
- parse.c: removed redundant comment
- Removed 8.2.x branch for now
- Applied Adam's "Put the command name in parv[0], not prefix name" patch
- Create 8.2.x branch
- conf.h: made some more constants use an enum
- s_auth.h: made 'flags' an unsigned int type
- modules.h: use an enum for flag types
- conf_class.h: use an enum for flag types
- listener.h: use an enum for flag types
- defaults.h: removed MSGPATH definition
- m_stats.c, conf.h: removed unused CONF_FLAGS_LIMIT_IP and CONF_FLAGS_NOMATCH_IP definitions
- white-space changes / style cleanups
- Renamed ts_warn() to sendto_realops_flags_ratelimited()
- mkkeypair: LICENSE doesn't exist anymore. It's now COPYING
- mkpasswd.c:main(): constification
- Update tools/README.mkpasswd
- numeric.c, m_set.c: fixed inconsistent use of "can't" and "cannot"
- conf_db.c: fixed inconsistent use of "can't" and "cannot"
- ircd.c:io_loop(): minor cosmetical fixes to the "reloading motd files" server notice
- ircd_signal.c:sigint_handler(): fixed inconsistent "SIGINT received" vs. "received signal SIGTERM" message
- numeric.c: fixed inconsistent use of "can't" and "cannot"
- reference.conf: applied 0001-ciphers-doc.patch by Guillaume Parent
- channel_mode.c: made mode_count, mode_limit, simple_modes_mask unsigned int types
- Removed FAKEHOST server capability for now
- Update NEWS
- channel_mode.c:send_cap_mode_changes(): fixed bug where MODE is used when it should use TMODE
- channel_mode.c: removed CAP_IE and CAP_EX from channel_capabs[]
- ircd binary is now again placed in /bin instead of /sbin
- Removed CAP_CHW. This is mandatory since hybrid 6.0 beta 25
- ms_bmask(): made mode_type an unsigned int type
- ms_bmask(), remove_ban_list(): removed capability tests for CAP_IE and CAP_EX as +I and +e are mandatory for quite a while now
- m_join.c:m_join(): constification
- m_encap.c:ms_encap(): removed irrelevant comment
- mempool.c: ifdef out destroy_chunks()
- Revved patchlevel -- folgenden Zeilen werden ignoriert -- M configure M include/patchlevel.h M configure.ac
- modules.c:load_one_module(): renamed variables to make less confusing
- channel_mode.c: replaced several sprintf() with snprintf()
- m_help.c: whitespace changes
- client.c:find_person(): fixed mismatching prototype as pointed out by Adam
- Moved "struct config_channel_entry ConfigChannel" from channel.c to conf.c
- Update NEWS
- numeric.h: removed some other unused numeric constants as pointed out by Adam
- numeric.h: removed unused RPL_HOSTHIDDEN numeric constant
- reference.conf: applied 0004-Improve-reference-cipher-list.patch provided by gp.
- reference.conf: applied 0003-Increase-reference-DH-parameters-size.patch provided by gp. But instead of 4096bits we use 2048bits for the example command line.
- Update AUTHORS/version.c; add missing '>' spotted by Dizzie
- conf.c:get_oper_name(): constification
- m_challenge.c:m_challenge(): fixed an XXX
- hostmask.c:find_conf_by_address(): removed pointless password = "" assignment. match_conf_password() already deals with NULL pointers
- hostmask.c:add_conf_by_address(): fixed assert statement
- hostmask.c: minor cleanups to add_conf_by_address()
- Fix to previous changes in -r2998
- m_dline.c: get rid of this (type & ~0x1) hack
- hostmask.c: get rid of this (type & ~0x1) hack
- Update reference.conf
- m_admin.c: fixed invalid comment
- Stole recent /map changes from p4. Network map looks much better now.
- Update NEWS
- Via p4: Make whowas honor disable_remote_commands
- m_part.c:m_part(): removed IsServer() test
- m_quit.c: removed unused header include
- ircd.c:set_time(): replaced snprintf/report_error combo with ilog/sendto_realops_flags
- ircd.c:set_time(): minor style cleanup
- m_server.c:mr_server(): don't falsely exit a server with the reason being "SID already exists" if it's just hash_find_server() that returned non-NULL.
- m_xline.c: reorder functions, removed unused header includes, constifications
- m_help.c: Made dohelp() and sendhelpfile() void functions
- Move myctime() from irc_string.c to s_misc.c
- m_etrace.c: removed unused header includes
- Really make do_admin() a void function...
- m_admin.c, m_motd.c: do_admin() and do_motd() always succeed. Make them a void again.
- Update documents
- Update NEWS
- Added modules_get_list() and made modules_list visible to only modules.c - Fixed naming convetion of other linked lists in modules.c
- Removed sendto_channel_remote()
- register_remote_user(): removed unused realname/gecos parameter
- modes.txt: fixed typo as reported by gp
- channel_mode.c: fixed compile error with halfops enabled
- client.h: add separate definition for services IDs instead of using HOSTLEN
- Revert -r1925. We no longer show how many times an oline has been hit.
- match.c: removed unused header include
- channel_mode.c, channel.c: removed unused header include
- channel_mode.c:get_channel_access(): constification
- channel_mode.c: minor optimizations to set_channel_mode()
- Clean up stupid pointer magic passed to the channel mode handlers.
- irc_res.h: update copyright/license header
- Two native english speakers, to different opinions; another grammatical error fix to AUTHORS and version.c
- Added Adam to contributors
- s_auth.c, s_auth.h: optimized so we save unecessary auth_doing_list traversals. Patch provided by Adam.
- Update NEWS
- patchlevel.h: update copyright/license header
- s_serv.h: removed unused header include
- modules.h: removed unused header include
- send.h: made some things use an enum.
- event.c: fixed compile error
- mempool.h: fixed copyright years
- Clean up all files in src/ (fixed indentation, removed whitespaces/tabs) - Fixed copyright years
- Fixed bug where some irc clients could not reconnect via ssl as pointed out by gp
- m_capab.c: removed extraneous parentheses
- Implemented "userhost-in-names" client capability
- m_names.c: removed unused header include
- m_names.c: a channel name parameter is now required
- m_list.c: style cleanups
- channel_mode.h: fixed long-standing bug where +p channels have been show in the /whois reply
- m_names.c:names_non_public_non_secret(): fixed long-standing bug where users that are on a private/secret channel have been shown in /names output. Bug introduced in rev 1.60 (CVS) / Tue Jun 28 21:26:06 2005
- hostmask.c: constification
- channel_mode.h: made some things use an enum. Removed unused header include.
- hostmask.c: style cleanups
- channel_mode.c: fixed indentation, removed whitespaces/tabs, removed unused header includes
- Fixed grammatical error
- Fixed improper use of the ID_or_name macro in several places
- Update NEWS
- m_encap.c:ms_encap(): removed pointless code. Buffer can't be overflown since snprintf() is being used
- irc_string.c:has_wildcards(): add support for character escaping
- Use the i/o subsystem to execute scheduled writes. Patch provided by Adam.
- m_xline.c:mo_xline(): properly report missing privilege now that we have the 'unxline' oper flag
- m_xline.c: speed up xline lookups
- Update NEWS file
- motd.c:motd_lookup(): constification
- Moved configuration related code from ircd.c to conf.c
- s_gline.c:find_is_glined(): style cleanup
- s_serv.h, send.h, send.c: made some things use an enum
- Clean up all files in include/ (fixed indentation, removed whitespaces/tabs) - Fixed copyright years
- m_trace.c:ms_trace(): properly check return value of hunt_server() against HUNTED_ISME. Just in case the HUNT_* definitions get changed some day
- m_gline.c:ms_gline(): improved readability. Removed extranous IsClient() test.
- m_gline.c: merged do_sgline() into ms_gline(). Removed me_gline() encap handler.
- m_dline.c: merged me_undline() into ms_undline()
- Fixed indentation, removed whitespaces/tabs, update copyright header
- Added 'unxline' oper privilege for better fine tuning
- m_server.c:mr_server(): if there's no connect block for a server, exit the connection with "No connect{} block." instead of "Invalid servername."
- Made irc numeric use an enum
- hook.h, hook.c: fixed indentation, removed whitespaces/tabs
- Update reference.conf
- Allow private rsa keys larger than 2048 bits. Reported by Zdenek Kaspar.
- doc/reference.conf: whitespace changes
- ircd_signal.c: fixed typo in comment
- ircd_signal.c: fixed indentation, removed whitespaces/tabs, removed unused header includes
- ircd_signal.c:setup_signals(): fixed bug where signals stopped from working after restaring the ircd via SIGINT. Spotted and fixed by Adam.
- ircd_signal.c: minor fixes to sigchld_handler()
- Tweak reloading/rehasing config files server notice
- m_xline.c:me_xline(): fixed misleading comment
- Fixed previous commit to ms_locops()
- m_locops.c:ms_locops(): replaced sendto_server() combo with sendto_match_servs()
- m_operwall.c: removed me_operwall() encap handler
- Clean up all files in modules/ (fixed indentation, removed whitespaces/tabs) - Fixed copyright years - Made module handlers int type for later use
- m_dline.c, m_kline.c: fixed wrong copyright years
- m_encap.c: fixed indentation, style cleanups, reformatting
- Greatly speedup k-/g-line lookup. Instead of testing every single client against every single k-/g-line just check the just added ban against connected clients. - Renamed ban_them() to conf_try_ban() - conf_try_ban() removed exemption notices that are now redundant - hostmask.c:parse_netmask(): optimize for the ipv4 case
- m_dline.c, m_kline.c: fixed indentation, style cleanups, reformatting
- m_dline.c:mo_dline(). if a target server exists, use sendto_match_servs() instead of sendto_server()
- m_kline.c:mo_kline(). if a target server exists, use sendto_match_servs() instead of sendto_server()
- Fixed inconsistent ERR_NOPRIVS vs. ERR_NOPRIVILEGES mess
- m_message.c:msg_client(): removed pointless MyClient() test
- m_message.c: fixed indentation, style cleanups, reformatting
- send.c:sendto_anywhere(): fix to previous commit. 'to' can be a remote connection not connected to our server
- Make PRIVMSG/NOTICE use UID targets if possible
- Revved patchlevel
- parse.c, m_message.c: replaced few 512s with IRCD_BUFSIZE; removed useless casts
- m_whois.c:do_whois(): get it to work with UIDs. Spotted and fixed by Adam.
- Update NEWS. Just for fgeek
- Update NEWS
- Update help/oper
- Update help/trace, help/kill
- Update help/stats
- Update help/unxline
- Update help/connect
- Update help/squit
- m_whois.c:whois_person(): removed /whois notice
- hash.c:exceeding_sendq(): constification
- m_who.c:do_who(): don't hide hopcount to irc operators
- Update NEWS
- m_map.c: don't leak hidden servers in /map
- Fixed server name leak for hidden servers in /who, /whois and /whowas
- m_trace.c:mo_trace(): properly check return value of hunt_server()
- mo_version(): fixed indentation
- Fixed kline issue as reported by Andrei Hristow
- conf.c:conf_free(): sanely clear hub/leaf lists fur debugging purposes
- s_bsd.c:ssl_handshake(): reset timeout handler once SSL_accept() has succeeded. Spotted by gp.
- Update copyright years
- Update NEWS
- Update NEWS
- Cleaned up RPL_WHOISADMIN hack --- Diese und die folgenden Zeilen werden ignoriert -- M include/numeric.h M src/numeric.c M modules/m_whois.c
- Fixed bug where ircd didn't timeout SSL connections that haven't finished the SSL handshake. Reported by Adam.
- automake 1.14.1
- Update NEWS file
- Fixed EOB not working for remote servers (Fake Direction)
- list.c:dlinkFindDelete(): minor readability improvements
- m_webirc.c: instead of silently dropping WEBIRC requests from registered clients, simply send ERR_ALREADYREGISTRED
- Update several help files
- Update several help files
- Revved patchlevel to 8.1.12
- Update NEWS file
- m_webirc.c:mr_webirc(): fixed bug where parv[3] isn't tested for a valid hostname. Spotted by Adam.
- 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
- m_nick.c, m_join.c: Tweaked channel/nickname rejection notices
- client.c: #include "parse.h"
- event.c:aventAdIsh(): fixed compile warning with -Wunsuffixed-float-constants, replaced rand() with genrand_int32()
- client.c:make_client(): make use of the SetUnknown() macro
- version.c: cosmetical changes
- stats_hooks(), show_events(): no longer sending an extra empty line before RPL_ENDOFSTATS
- Update AUTHORS & version.c
- Update AUTHORS
- Update NEWS
- m_join.c:m_join(): actually test conf->reason for being a NULL pointer
- conf.c:valid_wild_card(): add missing va_end()
- m_help.c:sendhelpfile(): fixed fd leak
- send.c:send_queued_write(): removed pointless cast
- Update NEWS
- s_bsd_select.c, s_bsd_devpoll.c, s_bsd_epoll.c, s_bsd_kqueue.c, s_bsd_poll.c: style corrections
- Update NEWS
- ircd.c: show serial number on startup
- m_mode.c: fixed possible desync with modes set by services
- m_locops.c: added proper TS6 support / properly prefix LOCOPS message with name/UID
- send.c: cleaned up style here and there
- send.c:sendto_match_servs(): removed unused variable
- send.c:sendto_anywhere(): removed unreachable code. server never sends SID-prefixed messages to clients
- Removed setup_socket callback - Removed init_comm() as init_netio() can be called directly
- RPL_WHOISMODES now uses the 310 numeric to comply with other ircds
- Fixed compile warnings with --enable-poll and --enable-select
- Revved patchlevel
- bison 3.0.2
- Update NEWS
- m_svskill.c: replaced MyClient() test with MyConnect()
- Update NEWS
- Administrators may now see channel modes in /LIST
- src/s_bsd_kqueue.c: removed redundant init_netio() prototype; fixed indentation
- src/s_bsd_kqueue.c: fixed compile warning
- src/irc_reslib.c: removed advertising clause
- Update NEWS
- Set SVN properties on m_svskill.c
- Actually add m_svskill.c
- Added SVSKILL
- Bump version to hybrid-8.1.10
- Untabify help/who
- Add -fno-strict-aliasing to CFLAGS if possible
- include/client.h: add UMODE_CALLERID, UMODE_SOFTCALLERID to SEND_UMODES
- Applied kqueue() fix by Adam <adam@anope.org>
- 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>
- Fixed ID_or_name macro as reported by Adam <adam@anope.org>
- Update NEWS
- listener.c:show_ports(): fixed ip address leakage even if hide_server_ips is set to 'yes'. Reported by Adam <adam@anope.org>
- bison 3.0.1
- Renamed kill_client_ll_serv_butone() to kill_client_serv_butone() just to satisfy Adam's OCD
- Update NEWS
- m_mode.c:ms_bmask(): fixed bug with server hiding enabled
- 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>
- Updated help/who
- m_who.c: updated comment
- WHO now shows whether or not a nickname has been registered with NickServ. ('r' status flag)
- src/send.c: fixed several compile warnings with -Wsign-conversion
- m_hash.c: constification
- Update NEWS
- m_whois.c: only administrators may see a client's certificate finger print
- channel_mode.c: fixed warnings with clang
- Revved patchlevel to hybrid-8.1.9
- Administrators are now able to see user modes a user has set via /whois
- Style corrections
- Got rid of find_kill() and find_gline() wrapper functions
- m_topic.c: constification
- src/send.c: replaced all sprintf() with snprintf()
- Update NEWS
- Update NEWS
- src/numeric.c: fixed typo
- 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
- Admins may now see +s channels a user is in with /WHOIS
- m_svsmode.c: constification
- Added m4/ac_define_dir.m4
- Update NEWS
- Administrators can now see +s channels in /LIST
- Update NEWS
- Update NEWS
- Instead of forcefully adding -Wall -Wextra -Wno-unused -Wcast-qual -Wcast-align -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wredundant-decls -Wshadow -Wwrite-strings -Wundef to CFLAGS, 'configure' now tests if the flags are understood by the compiler
- Update NEWS
- Build system modernizations
- Bump patchlevel to 8.1.8
- Update NEWS
- Update NEWS
- Initial build system related modernizations - Add -fstack-protector to CFLAGS if available - Move openssl check to m4/ax_check_openssl.m4
- m_svsnick.c: fixed stupid bug that leads to desynchronized nick database throughout the entire network
- Stole ircu's RPL_WHOISACCOUNT numeric
- find_person(): fixed naming convention - find_chasing(): reduced required arguments
- Bison 3.0
- Update NEWS
- doc/reference.conf: remove references to RSA public key
- Fixed certificate fingerprint validation for outgoing server connects
- Revved patchlevel to hybrid-8.1.7 - Updated NEWS file
- Update doc/modes.txt
- Update NEWS file
- Update doc/challenge.txt
- Update help/stats
- Update NEWS
- channel.c:can_send(): fixed issue with channel mode +n having no functionality. Reported by Fawkes
- Removed rfc1459_command_send_error() message handler
- Revved patchlevel to 8.1.6
- Update NEWS file
- s_bsd.c:ssl_handshake(): no need to spam ircd.log with useless ssl errors
- motd.(c|h): fixed core with zero byte length ircd.motd. Reported by Fawkes
- mr_nick(): remove legacy code for nicks cantaining '~'. valid_nickname() already takes care of this.
- Revved patchlevel to hybrid-8.1.5
- Update NEWS
- Fixed bug that would prevent servers from linking together if connect::aftype wasn't specified
- help/cmode: fixed typo
- White-space commit
- White-space commit
- Update help/rehash
- White-space commit
- Revved patchlevel to 8.1.4
- Update NEWS
- Update NEWS
- m_nick.c:change_local_nick(): fixed nickchange-flooding logic not to further penalize already penalized clients
- ircd_defs.h: increased PASSWDLEN to 128
- find_accept(): solved XXX
- m_xline.c:ms_xline(): removed already solved XXX comment
- m_trace.c:report_this_status(): XXX solved. x->localClient->firsttime can't ever be zero
- hook.c: constification/style corrections
- White-space changes
- m_whois.c: removed legacy code
- Fixed core with empty auth::spoof entries
- ircd_defs.h: increased KILLLEN, REASONLEN, KICKLEN, and AWAYLEN to 180
- Add missing 'compile' script
- Automake 1.14
- This shouldn't be sneaked in
- White-space commit / style corrections
- Removed useless sanity checks - Fixed bug where remote /STATS requests were not rate limited
- UNRESV should be logged as well - Improved logging. Fixed inconsistent use of get_oper_name() vs. source_p->name
- Update NEWS
- Added XLINE and RESV logging types
- Fixed broken --disable-libgeoip switch
- hostmask.c:hash_text(): removed pointless cast
- ircd.c: temporarily disable FAKEHOST capability
- reference.conf: fixed typo
- Bump patchlevel to hybrid-8.1.3
- Update NEWS
- 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
- 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
- doc/reference.conf: whitespace changes
- doc/reference.conf: whitespace changes
- 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
- client.h: add UMODE_HIDDENHOST to SEND_UMODES
- 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
- Update NEWS and reference.conf
- 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()
- Update doc/reference.conf
- 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
- Sort out unused header includes
- Bump patchlevel to hybrid-8.1.2
- m_stats.c: fixed typo
- Added general::stats_u_oper_only configuration option
- Update doc/reference.conf
- tools/mkpasswd.c: replace another sprintf() with snprintf()
- trace_get_dependent(): use unsigned int here
- Removed doc/guidelines.txt
- Update README
- Update README. Mention libGeoIP
- ircd.c: whitespace commit/style cleanup
- conf_parser.y: don't attempt to copy ciphers if there aren't any
- Update NEWS
- 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>
- svn propset
- Add m_certfp.c
- Implement CERTFP
- Update NEWS
- white-space commit/style corrections
- mkpasswd.c: replace all sprintf() with snprintf()
- respond.c: white-space changes/style corrections
- Update challenge.txt
- Added read_links_file()
- conf_class.c: white-space changes
- s_serv.c:write_links_file(): replaced a dlinkAdd() with dlinkAddTail()
- Update NEWS and reference.conf
- channel.c: optimized can_join(). Do less intensive tests before actually testing for ban/exempt masks
- m_services.c: changed HS shortcut to send messages to HostServ
- motd.c: style correction
- Update doc/serverhide.txt
- Update NEWS/fixed typo
- Moved disable_remote_command configuration directive from general{} block to serverhide{] block
- Fixes to changes done in -r2165
- 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
- m_etrace.c: removed XXX-tag. /etrace -full gives extendend etrace
- Removed usermode +C
- Style correcions/white-space changes
- Fixed debug assertion being triggered on ident lookup as reported by Stuart Walsh
- Bump patchlevel to 8.1.1
- 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
- Update reference.conf
- Regenerate parser
- 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
- include/defaults.h: remove unused INIT_LOG_LEVEL define
- m_stats.c:report_confitem_types(): removed unused variable
- Cleanup ISUPPORT code and get rid of message.c
- Cleanup flattened links code
- Update NEWS
- doc/reference.conf: fixed typo
- Implement motd{} configuration blocks based on ircu's implementation
- Don't let non-SSL users join +S channels if ircd has be compiled without SSL support. Spotted by Stuart Walsh
- update help/umode, doc/modes.txt
- 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
- Removed doc/server-version-info
- m_version.c: removed confopts(). Configuration options can be seen in /info
- Got rid of CONF_HUB enum type
- Got rid of CONF_CLASS enum type
- Remove temporary xline kludge that was required for better interoperability with 7.0 servers
- LOCOPS notices should only be sent to opers that have usermode +l
- Update NEWS
- Bump patchlevel to hybrid-8.1.0
- Update NEWS
- conf_parser.y: match() takes care of multiple globs. no need to run collapse()
- Made LOCOPS messages appear as a NOTICE
- Bump patchlevel to hybrid-8.1.0rc1
- m_ison.c: merge do_ison() into m_ison()
- Undo -r1900 for now [Changed RPL_WELCOME to comply with rfc2812]. Looks like this confuses mIRC in conjunction with spoofed hosts
- Update help files
- Update NEWS
- Fixed broken spoofs
- m_who.c: replaced several DLINK_FOREACH_SAFE with a simple DLINK_FOREACH
- m_who.c: style corrections
- Update doc/modes.txt
- Removed testline and testmask
- s_serv.c:hunt_server(): removed collapse() call. Let match() deal with it.
- version.c: update copyright years
- Removed extranous EmptyString() test
- m_whowas.c:whowas_do(): minor cleanups and optimizations
- Update help/notice and help/privmsg
- Removed outdated comment
- Another fix to previous commit. Am I drunk? Aye!
- Merged valid_username() and clean_user_name()
- Bump patchlevel to hybrid-8.0.9
- automake 1.13.2
- automake 1.13.2
- Update README
- m_topic.c:ms_topic(): fixed possible core with TS5 servers
- Backported -r2054 [m_svsmode(): temporarily allow 3 arguments (SVSMODE without a valid TS)]
- Backported -r1958 [Fixed strange user/oper idle-times shown in /trace]
- m_svsmode(): restore ability to change a user's host via SVSMODE +
- m_svsmode(): temporarily allow 3 arguments (SVSMODE without a valid TS)
- NEWS: fixed typo
- Update NEWS
- Update help/cmode
- Bump patchlevel to hybrid-8.1.0beta5
- m_nick.c: replaced few strcpy() with strlcpy()
- m_help.c: minor changes to dohelp() (use pointer arithmetic instead of indexing)
- Update help/index
- Remove help/uhelp - Cleanup help/Makefile.am to make it easier to read and maintain - Rebuild help/index
- Added 'locops' and 'wallops' to irc-operator flags
- Improve KILL server notice to be more specific about the client being killed (ircnet style)
- Update NEWS
- Remove help/opers
- Move all helpfiles to help/
- Overhaul HELP system
- Update reference.conf
- 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
- m_topic.c: fixed compile warning
- Update reference.conf
- Whitespace commit
- Update reference.conf
- 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
- Renamed m_error() to mr_error()
- mr_error(): ignore error if it's not a connecting/handshaking server
- part_one_client(): removed useless client_p argument
- m_nick.c, m_part.c: only style corrections
- set svn properties
- Re-added Tao-of-IRC.940110 for historical reasons and because I like it.
- Update modes.txt
- Mostly style cleanups & whitespace changes
- Update README. config.h is gone for over a decade now
- Removed unused OFLAG_OPER_SPY definition
- Only show remote client exit notices if the server sent an EOB
- Update README
- m_eob(): Re-added EOB notice
- Revved patchlevel
- m_capab(): fixed compile warning
- regenerate parser/lexer
- Update NEWS
- Added 'nononreg' (+R) to general::oper_umodes
- Added usermode F (remote client connect/exit notices) on public request
- m_eob(): removed assert() which is now invalid
- Cleanup previous commit -r1957
- EOB is now send to all servers globally
- Cosmetical cleanups
- Print chunk capacity to debug.log instead of ircd.log
- Tweaked various mempool chunk sizes
- Update modes.txt
- (RPL_REDIR) Change conversion specifiers
- Update NEWS
- 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
- Backport -r1877 [Made find_capability() return an unsigned int]
- Backport -r1895 [m_mode(): these buffers don't need to be static]
- conf.c:verify_access(): removed unused variable
- Bump patchlevel to 8.1.0beta3
- 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(): ensure msg_has_controls() isn't called twice for non-chanops
- Update help/cmode file
- 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
- Minor spelling fixes
- Update serverhide.txt
- Update NEWS
- Update README
- Move report_resv() to m_stats.c
- Update NEWS
- "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
- Dropped PCRE support
- Made valid_wild_card_simple() easier to read
- Unidentified/unregistered nicks may not speak in +R channels
- Unidentified/unregistered nicks may not speak in +R channels
- Update NEWS
- Fixed shared{} blocks not working as expected - Fixed spoofs not working as expected
- Increased nickname history length to 32768
- Increased nickname history length to 32768
- Bump patchlevel to 8.1.0beta2
- Bump patchlevel to 8.0.8
- Removed operflag 'nick_changes'. Operators can now set +n at will
- Backported -r1836 [m_users, show_lusers: removed extranous arguments to sendto_one()]
- Changed RPL_WELCOME to comply with rfc2812
- Update NEWS
- m_list.c:do_list(): added sanity test for parv[1] being NULL
- m_kick.c: revert changes made in revision 1.24 (cvs) made on Sun Jan 7 04:46:30 2001 UTC AnonOps are gone. And as described in rfc 2812, this is how ircd should behave in case no kick-reason has been specified
- m_kick.c: revert changes made in revision 1.24 (cvs) made on Sun Jan 7 04:46:30 2001 UTC AnonOps are gone. And as described in rfc 2812, this is how ircd should behave in case no kick-reason has been specified
- m_quit(), ms_quit(): added extra sanity test for parv[1] being NULL, also try to avoid modifying parv[1]
- m_quit(), ms_quit(): added extra sanity test for parv[1] being NULL, also try to avoid modifying parv[1]
- m_whowas.c,m_names.c,m_kick.c: remove pointless code. There's no real reason why we should skip preceding commas in nick-/channelnames
- Replaced a strpbrk() with has_wildcards()
- Backported -r1874 [WHOIS may no longer accept wildcards]
- Update NEWS
- Update NEWS
- Update NEWS
- "STATS s" now shows configured services{} blocks as well
- "STATS s" now shows configured services{} blocks as well
- s_misc.h: fixed compile warning with -Wunsuffixed-float-constants
- Backported -r1872 [Fixed broken compile with libGeoIP disabled ]
- Reverted to -r1820; libGeoIP support is sheduled for 8.1
- Bump patchlevel to 8.1.0beta1
- Bump patchlevel to 8.1.0beta1
- Create 8.1.x branch
- Added preliminary support for ISO 3166 alpha-2 two letter country code enabled auth{} blocks. Requires libGeoIP. - Added no_join to auth::flags
- Bump patchlevel
- Added default sid to example configuration files
- 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
- Update NEWS
- m_whois.c: fixed bug where TS5 servers would send an empty RPL_WHOISACTUALLY numeric
- m_svsmode.c:ms_svsmode(): use 'const' when possibleh
- m_svsmode.c: SVSMODE now requires at least 4 arguments
- Remove BUGS file
- myctime(): replaced strcpy() with strlcpy()
- Update NEWS - Remove TODO
- Added SVSHOST command handler which allows services to change the hostname of a specific user
- m_topic.c: improved services support. services may now set a channel topic without joining the channel first
- Bump patchlevel
- Update NEWS
- Backported -r1786 [Fixed possible core in try_parse_v4_netmask() as reported by bobnomnom]
- Fix bug where idle time sometimes is 0 even if the client didn't send any private message
- Update INSTALL. --with-nicklen and --with-topiclen is gone
- stats_operedup(): fixed minor compile warning
- example..conf: whitespace commit
- Update NEWS
- /stats p, trace, ltrace and trace now shows fake idle as well - Fix compile error in m_clearchan.c
- idle_time_get(): minor optimization
- 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
- move m_webirc.c from contrib/ to modules/ - Update NEWS
- 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
- Update example.conf. Remove confusing information that the general{} block is read at start time which leads to popular belief that it isn't re-read on /rehash
- m_rehash(): cosmetical cleanups
- INFO now also shows configured values of 'disable_fake_channels', and 'stats_e_disabled'
- m_rehash.c: FDLIMITS is no longer rehashable
- Update NEWS
- Fixed some other invalid conversion specifiers
- %lu conversion specifier has been used when it should be %u
- Fixed "STATS Y" sometimes sending weird sendq/recvq values
- Update README: ircd-hybrid is now known to work properly on Debian GNU/Hurd 0.3. Kudos to Dominic Hargreaves
- Backported -r1754 [Values of max_clients, max_nick_length, and max_topic_length are now shown in /info]
- 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
- Update copyright years
- Update NEWS
- Bump patchlevel to 8.0.5
- conf_parser.y: fixed fd leak with rsa public keys
- ircd.pid should be in /var/run instead of /var
- Fixed logfiles not getting reopened on /rehash
- Fixed yyerror() not reporting configuration errors in some cases
- Update NEWS. Sorry Dom, forgot to mention ya in the actual commit. Now you go into the NEWS file instead.
- Backported -r1737 [Quick and dirty workaround to fix build on GNU/Hurd because of undefined PATH_MAX]
- removed rtsigio leftovers
- Fixed minor compile warning
- Dropped support for linux rt signals
- Bump patchlevel
- Minor updates to example configuration files
- Fixed possible core on USERHOST/ISON which for some reason only happens with glibc with optimization enabled. Reported by Mantas - Update NEWS
- Backported -r1721 [m_invite.c: fixed broken CHWALL invite notice for invitees that are on a remote server]
- Backported -r1716 [fixed bug where 'can_flood' didn't work as reported by Fawkes]
- Bumped patchlevel
- XLINE/KLINE/RESV/DLINE/SQUIT and KILL now have the same default reason if a reason hasn't been specified
- Backported -r1703 [Fixed core on UNDLINE]
- Update NEWS
- Fixed bug where ircops could not see nick rejection notices
- Fixed minor compile warnings
- Bumped patchlevel to 8.0.2
- m_nick.c:mr_nick(): removed useless IsExemptResv() test
- Updated NEWS
- Update README
- Backported -r1689 [Fixed WEBIRC module]
- Update NEWS
- STATS q|Q now shows how many times a resv{} block has been matched. (Just like STATS x|X)
- Backported -r1661 [CAP_EX and CAP_IE are now mandatory]
- backported -r1681 [added temporary workaround for servers sending numeric 451 in response to the "NOTICE AUTH ..." messages upon registration
- bison 2.7 & automake 1.12.6 - Update configure.ac
- Minor documentation update to example configuration files
- Backport -r1670 [Update some configure tests. We actually don't use inet_aton and friends anymore.] - Update Makefiles/config.guess/config.sub/depcomp using automake 1.12.5
- Backported -r1671 [fixed bug spotted by Jakub S. where timed events stopped from working if the system's clock is running backwards]
- Fixed compile warnings with --enable-assert
- Backport "./configure --enable-assert" fix from -r1654
- Update configure for 8.0.1
- src/conf.c: fixed compile warning introduced by previous commit
- Optimize find_address_conf. No need to lookup matching G-Lines if the client is exempted from G-Lines
- Update NEWS
- Fixed CIDR support for /challenge - Fixed oper{} block class limits - Fixed bug where check_server() possibly would copy server's ip address to an invalid connect{} block
- Fixed typo in x-line expiration notice
- Backported -r1615
- Bump patchlevel for testing purposes
- Move ircd-hybrid-7.3 to ircd-hybrid/branches/7.3.x
- Create 8.0.x branch
- Renaming urls is annoying
- Moving trunk
- Create ircd-hybrid, ircd-hybrid/branches, ircd-hybrid/releases, ircd-hybrid/trunk