Commit Graph

542 Commits

Author SHA1 Message Date
Sam Dodrill 3d74da6cbc Add HTTP parser from https://github.com/joyent/http-parser 2013-11-24 13:45:53 -08:00
Sam Dodrill 1553d3c136 Add first parts of websocket support
This commit adapted from:
    2703ca0b42
2013-11-24 13:41:39 -08:00
Sam Dodrill afe4cb9104 Support ipv6 DNS blacklists
atheme/charybdis@0a1e77c27c
2013-10-06 07:53:17 -07:00
Sam Dodrill 0814442111 away-notify and away rate limiting added
Referenced:

atheme/charybdis@c5bbc60375 : Add
away-notify client capability.
atheme/charybdis@d42e6915cf : Pace aways.
atheme/charybdis@725403fd7f : Don't end
the flood grace period with the first AWAY.
atheme/charybdis@dc0fd46236 : Ensure AWAY
pacing only affects local clients.
2013-10-04 21:32:00 -07:00
Sam Dodrill 0d45b7860f Merge account-notify and extended-join client capabilities 2013-09-29 05:24:52 -07:00
Sam Dodrill bb0a7536e3 Merge branch 'failed-sasl-snomask' into devel 2013-09-28 20:52:08 -07:00
Sam Dodrill 61fe2694df Merge branch 'defer-accept' into devel 2013-09-28 20:49:47 -07:00
Sam Dodrill c141ed9307 Add defer_accept option to enable TCP_DEFER_ACCEPT
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.
2013-09-28 20:47:02 -07:00
Sam Dodrill 2681b86df2 Added snotes for failed SASL authentication attempts if need_sasl flag is set
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.
2013-09-15 21:33:10 -07:00
Sam Dodrill aa294a3a54 Support for channel owner mode added
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
2013-09-13 11:45:38 -07:00
JD Horelick bf9bfd2696 run autoconf, autoheader and make depend 2012-02-29 23:18:57 -05:00
Nathan Phillip Brink e8da6ccee6 Add explicit support for being installed into a system triggered with --enable-fhs-paths.
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.
2012-02-29 23:16:29 -05:00
JD Horelick e8e3ef0dfb Add topic TS and channel TS constraints for /LIST. 2011-01-19 15:45:45 -05:00
JD Horelick e78f804d42 Implement operspy for /LIST. 2011-01-19 15:41:23 -05:00
William Pitcock 5ac470475d Add support for linking using SSL certificate fingerprints as the link credential rather than the traditional server-password pair. 2010-12-13 23:14:00 -06:00
B.Greenham 5323ec7352 Move flood_attack_channel to channel.c so it can be used outside m_message.c 2010-12-11 16:11:54 -05:00
William Pitcock 359d4d5b20 chmode: Remove chm_regonly, a vestige from ratbox which doesn't apply to native charybdis (or shadowircd) networks. 2010-12-06 23:51:14 -05:00
JD Horelick 3e742e4d22 Remove all the DEFINE's and the random places they were used for the .conf-based ban stuff. 2010-12-04 17:26:14 -05:00
JD Horelick 0a2e2a35c8 A few more fixes. Part 3 of 2 I suppose. 2010-10-23 22:46:50 -04:00
JD Horelick 6c7315ec36 Some clang static analyzer fixes.
More in a moment.
2010-10-23 22:30:52 -04:00
B.Greenham 07db71cda0 Fix VERSION and RPL_MYINFO to only show modes that are enabled. Also fix up some errors from the last commit. 2010-10-11 16:35:18 -04:00
B.Greenham 4c16b692f3 Add channel::disabledmodes.
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.
2010-10-11 14:12:52 -04:00
B.Greenham 4023293674 Merge. 2010-10-11 11:58:39 -04:00
B.Greenham 90728edb58 Backed out changeset 3097ade953f5
Backout modesets.

They're overly invasive and a bit uglier than is required.
The same thing can be accomplished in a better way with another method.
2010-10-11 11:58:21 -04:00
JD Horelick f10ec0c42e Change ERR_MLOCKRESTRICTED to 742 as 735-739 seem for MONITOR extensions. 2010-09-11 13:55:06 -04:00
William Pitcock fc579e36e7 Enforce TS rules on MLOCKs. 2010-08-23 20:22:59 -05:00
William Pitcock ed6565a5a0 Add ERR_MLOCKRESTRICTED (735) to reflect bounces caused by MLOCK. 2010-08-23 18:59:32 -05:00
B.Greenham 1fe75e33cc mode api: Remove most modes from the chmode_table, and have them initialized in modeset files.
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.
2010-07-02 19:09:46 -04:00
William Pitcock 6f187f63b5 strip_colour(): strip ASCII 29 (mIRC 7 italics). 2010-06-19 16:53:56 -05:00
JD Horelick fb06d910df SVN Id removal part two 2010-06-10 21:28:15 -04:00
Stephen Bennett b72bd23a03 Rework ircd-side MLOCK enforcement: instead of trying to track modes locked on or off, instead keep a simple list of mode letters that are locked, and reject any change to those modes. 2010-04-30 22:01:21 +01:00
JD Horelick 2d10c55990 Branch merge 2010-09-11 13:31:13 -04:00
JD Horelick ea84bfdeff Backed out changeset c04f6578869c 2010-09-11 13:31:00 -04:00
JD Horelick e09ea16973 "Import" changeset 1346:c57955c5225e from charybdis by hand. 2010-09-11 13:23:35 -04:00
JD Horelick 1add004b97 Change kicknorejoin to be hardcoded to 2 seconds instead of a
configurable opton.
2010-05-21 04:20:45 -04:00
JD Horelick f0e0e5672d Backed out changeset 9bd802724b74 2010-05-21 04:08:05 -04:00
JD Horelick 446c7d4f57 Remove +J chmode (KICKNOREJOIN) 2010-05-21 03:29:07 -04:00
B.Greenham f135c53751 Make PRIVMSG @#channel and PRIVMSG +#channel go to halfops and admins as well as chanops.
6.1 is now feature complete.
2010-04-07 16:53:59 -04:00
B.Greenham 67537fefa4 Add OPERHOST option to /set, which allows you to change the host operators get on oper up (provided they don't have a specific one already defined in their operator block.) 2010-04-07 15:04:42 -04:00
JD Horelick 1434082803 Change config option for ident_timeout to default_ident_timeout as jilles
recommended. Also update the TODO. Also, cocks.
2010-04-05 16:29:11 -04:00
JD Horelick e50ed244f4 Add a configuration option for ident_timeout. 2010-04-05 15:28:44 -04:00
JD Horelick 4369131cc7 Change the default ident timeout time to 5s to not be as annoying
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).
2010-04-04 17:13:04 -04:00
Jilles Tjoelker 6795400d0a New custom channel mode API allowing reloading such modules.
Additionally, attempting to use too many modes or two times
the same letter is now detected and prevented.

Modules now request that a channel mode be added/orphaned,
instead of ugly manipulation from which that request had
to be guessed.

Slight changes are needed to modules that provide channel modes.
From the old API, one important function has been made static,
the other important function has been renamed, so loading old
modules should fail safely.
2010-04-01 01:16:16 +02:00
JD Horelick ef07b59ac8 Add helpchan and helpurl that tell users the official help channel
and (optionally) link them to your network's specific helppages on
the intertubes. It is shown in /quote help (with no extra parameters).
2010-03-28 14:08:47 -04:00
Jilles Tjoelker 9b9d818b32 Add propagated resvs, like klines and xlines. 2010-03-27 16:13:57 +01:00
Jilles Tjoelker 112e8a666b Add propagated xlines, like klines. 2010-03-16 23:05:50 +01:00
JD Horelick 504f309e38 Add option general::use_propagated_bans to allow disabling new KLINE.
If this option is yes (default), KLINE by itself sets global (propagated) bans.
If this option is no, KLINE by itself sets a local kline following cluster{},
compatible with 3.2 and older versions.
2010-03-27 14:58:04 -04:00
William Pitcock 28805dc5fc Add propagation of MLOCK state for simple modes.
Special modes like +j can be tracked easily just by adding the necessary
code to parse them to set_channel_mlock().  This will cover propagation
as well.
2010-03-07 23:13:39 -06:00
William Pitcock 24cf9d8a28 Fix typo. 2010-03-07 22:30:30 -06:00
William Pitcock 27958781f6 Add MLOCK capability token. 2010-03-07 22:25:41 -06:00