Merge: 6fb5e9636fa1fffc62e86561e7dcd734fa2ee53f
Add defer_accept option to enable TCP_DEFER_ACCEPT
Charybdis commits referenced:
atheme/charybdis@77cb59b
libratbox: add support for TCP_DEFER_ACCEPT on linux
atheme/charybdis@aa4737a
libratbox: make defer_accept optional.
atheme/charybdis@02270e9
Add listen::defer_accept option for controlling usage
of TCP_DEFER_ACCEPT option.
atheme/charybdis@797a29f
libratbox: Allow defer_accept on FreeBSD.
Many thanks to Shockk for this patch.
References commits:
- 15dc12b76e76c6fa2ead773b6b40965223ad453f - Added snotes for failed SASL authentication attempts if need_sasl flag is set.
- febd2e2aca27f7f1acfc522f3fda65d8be067edc - Updated help/opers/snomask to add +S snomask.
This is a lot like the previous channel owner mode patch, except the
documentation that previously said "admin" now says "owner" in comments.
src/channel: Kicking logic for owner mode fixed
src/channel: Document the kick/deop logic
decruft: remove temporary files
Add two mechanism for avoiding name-collisions in a system-wide installation of charybdis. The ssld and bandb daemons, intended to be directly used by ircd and not the user, install into libexec when --enable-fhs-paths is set. For binaries which are meant to be in PATH (bindir), such as ircd and viconf, there is now an option --with-program-prefix=progprefix inspired by automake. If the user specifies --with-program-prefix=charybdis, the ircd binary is named charybdisircd when installed. Add support for saving the pidfile to a rundir and storing the ban database in localstatedir instead of in sysconfdir. This is, again, conditional on --enable-fhs-paths. Fix(?) genssl.sh to always write created SSL key/certificate/dh parameters to the sysconfdir specified during ./configure. The previous behavior was to assume that the user ran genssl.sh after ensuring that his current working directory was either sysconfdir or a sibling directory of sysconfdir.
This replaces use_invex, use_except, and use_forward, although
those options are still used internally and will continue to work
for users, to maintain config compatibility between charybdis
and shadowircd.
Modeset files are modules stored in shadowircd/modes. All they do is initalize
a set of modes on load, and orphan said modes on unload.
All cmodes not included in ircd-ratbox are now located in modeset files, rather
than being in the core. These modes no longer simply use defines, their
locations are stored in a the new struct module_modes. Each of these is set
when intializing the mode in the modeset files, and set to 0 when orphaning
the mode upon unloading the modeset file.
In addition, use_forward has been removed, as it is now obsoleted by modesets.
to clients that don't send an ident and add a TODO item for 6.2 to
make ident timeout time configurable in the ircd.conf.
Currently it's only configurable in the include/defaults.h (ugly)
or on-the-fly with /set (doesn't persist, have to re-set it on each
restart/server).