Commit Graph

543 Commits

Author SHA1 Message Date
Sam Dodrill 3ed02190ef Merge branch 'owner-mode' into devel 2013-09-28 20:39:55 -07:00
Sam Dodrill 1d878cec57 Documentation on +M clarified in helpfile and module source code 2013-09-17 18:26:12 -07:00
Sam Dodrill 25e7c22891 m_nick: Reject nicks with '~' in them, rather than cutting at the '~'
Merge of commit da2fc2cbdec471b516a2aa56ed9f3513da8df87c in master

The behavior of cutting at the first '~' is confusing at first, and
looks too much like a bug.

atheme/charybdis@96b89dce38
2013-09-17 17:43:52 -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
Joah 806af85d26 Ported m_capab Crash Exploit Fix from charybdis
Ported the fix from charybdis to ShadowIRCd.
2012-12-31 14:49:19 -05: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
Nathan Phillip Brink e131a2ed68 During installation, don't unconditionally create an empty `modules-old' directory. 2012-02-29 23:14:09 -05:00
Nathan Phillip Brink 84cda210f0 Use LDFLAGS when compiling extensions or modules. 2012-02-29 23:14:04 -05:00
JD Horelick 040c2a5ba9 Fix handling of ACTIONs when chmode +G is set. 2012-02-28 15:12:33 -05:00
Jilles Tjoelker 3cc95ad818 Allow kick_on_split_riding to protect channels with mlocked keys.
Do kick_on_split_riding if services sends an SJOIN
with a lower TS and a different key. This relies on
services restoring TS (changets option in atheme) and
services not immediately parting after receiving the
KICK, which is the case in recent atheme.

For invite-only channels, still only do
kick_on_split_riding in netbursts. Services is
assumed to handle this itself (atheme does).
2011-04-06 19:05:08 +02:00
Elizabeth Jennifer Myers d9c2579647 m_challenge: fix use of undefined behaviour.
GCC does what we expect, but other compilers could do just about anything.
2011-02-22 12:00:45 -05:00
Jilles Tjoelker e9ced3de20 hunt_server: Disallow wildcarded nicknames.
Any hunted parameter with wildcards is now assumed
to be a server, never a user.

Reasons:
* fewer match() calls
* do not disclose existing nicknames
* more intuitive behaviour for CONNECT

m_trace has a copy of some hunt_server logic in it
(for the RPL_TRACELINK reply), so adjust that too.
2011-01-08 17:47:05 +01:00
Keith Buck f38f82ac36 Move list-related isupport items to the list module itself. 2011-01-06 00:40:08 -08: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
Keith Buck a0a6c0dd39 Fix multiple RPL_LISTEND replies when aborting a /LIST. 2011-01-02 00:43:11 -08: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
JD Horelick e9bd45dd8c Remove auth_user support from m_pass.c. It's pointless here and it breaks the functionality of having it in m_sasl which is actually useful.... 2010-11-25 03:22:02 -05:00
JD Horelick 2e6fddcccf Force a password if auth_user is sent in PASS.
Not doing this (and not having a password on the auth block) makes it really
easy for anyone to get access to that auth block.
2010-11-24 04:46:36 -05:00
JD Horelick f5ed1007ba Make auth_user work with SASL and add it to the example configs. 2010-11-21 15:03:17 -05:00
William Pitcock 585e477be8 Filter bogus CTCP ACTION messages. 2010-11-05 01:16:03 -05:00
JD Horelick 10f11ca3b5 Fix a minor spelling error in m_kick.
Thanks to Elizabeth for pointing this out.
2010-11-17 19:08:47 -05:00
JD Horelick 6c7315ec36 Some clang static analyzer fixes.
More in a moment.
2010-10-23 22:30:52 -04:00
alxbl 829ce93fb8 Added check for division by 0 in m_message.c Hopefully fixes #25 2010-09-07 20:21:29 -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
William Pitcock fc579e36e7 Enforce TS rules on MLOCKs. 2010-08-23 20:22:59 -05:00
JD Horelick e610316019 First part of charybdis changeset 1393:da0c7fdb7ee1 2010-09-11 13:49:21 -04: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
JD Horelick 133755685e Removal of ancient SVN ID's part one 2010-06-10 21:22:44 -04:00
Jilles Tjoelker 97bd6a2e37 Propagate changed away messages to other servers,
even if the away status did not change.
2010-06-10 22:16:07 +02:00
Elly 86ed11bb4c Fix memory leaks in PASS command, both in normal and repeated use. 2010-06-01 13:11:47 -04:00
Stephen Bennett c554add299 Allow the final parameter of MLOCK to be empty, to remove an existing mlock 2010-05-02 20:42:46 +01: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
Jilles Tjoelker 9dc68130ea Improve technical documentation of BAN protocol. 2010-04-29 00:26:49 +02:00
B.Greenham 2498a1b577 Fix some valgrind warnings. 2010-05-27 18:03:51 -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
JD Horelick 4b4fc78cfb Do not allow a topic change if a user may not send to the channel
(resv, cmode +m, cmode +b, cmode +q, etc.).

This is only checked for local users.

For optimal compatibility, a failure for this reason still
returns ERR_CHANOPRIVSNEEDED.

Side effect: normal users cannot change topics of resv'ed
channels, even if they have ops, just like they already
cannot send messages. This only matters if resv_forcepart
is disabled, as the user would have been removed from the
channel otherwise.

Imported from charybdis changeset 1368:a224ec22c54c
2010-04-15 13:12:45 -04:00
JD Horelick b752a50272 Fix a bug that stopped halfops from changing the topic. 2010-04-14 19:28:15 -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 f968f34f4b Update comment for me_svsjoin explaining the sort of morality of it. 2010-03-31 02:16:00 -04:00
JD Horelick b4db7c8695 It'd take the world's longest tape measure to gauge the length of my fail.
-- JD, March 31, 2010
2010-03-31 01:47:24 -04:00
JD Horelick 1d59ea37bb Add me_svsjoin function to allow services to "force"join clients
to channels, primarily for ns_ajoin.
2010-03-30 21:20:26 -04: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