Commit Graph

221 Commits

Author SHA1 Message Date
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
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 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 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
Jilles Tjoelker 7c880acbfe Fix various compiler warnings. 2010-03-27 20:09:46 +01:00
Jilles Tjoelker 9b9d818b32 Add propagated resvs, like klines and xlines. 2010-03-27 16:13:57 +01:00
Jilles Tjoelker a75522e6a5 BAN: xlines do not have oper reasons, their "reason" is already oper only. 2010-03-18 00:22:35 +01:00
Jilles Tjoelker 112e8a666b Add propagated xlines, like klines. 2010-03-16 23:05:50 +01: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
B.Greenham 01b2be6fe1 Allow users to send replies through +G the same as they can through +g. 2010-09-10 13:26:41 -04:00
B.Greenham ca328a798f Fix crash upon recieving SVSJOIN for remote user. 2010-08-30 18:25:40 -04:00
Jilles Tjoelker d8316e070f Provide an error message when a user does /quote ban. 2010-08-29 15:16:47 +02:00
Jilles Tjoelker 9e94d9ea13 Add target change for channels.
This has a separate enabling option channel::channel_target_change.

It applies to PRIVMSG, NOTICE and TOPIC by unvoiced unopped non-opers.

The same slots are used for channels and users.
2010-08-28 20:02:42 -04:00
B.Greenham ffd69d40d1 Fix the 'phantom user' bug, along with a bug that would make repeat mode changes appear on burst. 2010-07-28 19:54:22 -04:00
JD Horelick 2588ff97f4 Change a bit of the last commit since opers do not go through +g on ShadowIRCd as they do on Charybdis. 2010-07-04 16:12:31 -04:00
JD Horelick 33736ea75f Tweak auto-accept:
* does not apply to NOTICE (as those may well be automated)
* mirrors +g behaviour so that no useless accept entries are added for services
* respects max_accept, if it would be exceeded the message is dropped with numeric 494
* check moved up so this is checked before floodcount/tgchange

Pulled from Charybdis upstream changeset 1388:b1ef26176350 done by jilles.
2010-07-04 15:27:34 -04:00
William Pitcock 5b71b8ec50 Stop griefing through taunting while hiding behind CALLERID.
This shouldn't provide any way for a client to get on a CALLERID list
without authorization, as if a client is +g already, a CTCP request, for
example, won't be replied to.
2010-07-03 00:44:55 -05:00
Jilles Tjoelker 70fd7fc9fb BAN: Reject bans with insufficient non-wildcard characters.
Such bans are not applied locally, but are propagated normally.
They can only be removed on a server that applies them.

Note that normally KLINE will not accept such bans.
This is mainly for services, differing min_wildcard and
ircd changes.
2010-03-06 01:45:41 +01:00
Jilles Tjoelker c177d078ea Among bans with the same creation time, prefer the one with longest lifetime. 2010-03-05 23:16:28 +01:00
Jilles Tjoelker 05114b16a3 BAN: Avoid fake direction. 2010-03-05 22:53:35 +01:00
Jilles Tjoelker e49d818579 Remove +/- from the BAN message, instead indicating unban with duration=0.
A kline must now last at least one second since its creation time.

Also add better logic for bans that have already expired
when they come in.
2010-03-05 22:51:47 +01:00
Jilles Tjoelker 65b8e0029e Add propagated klines.
A KLINE command without the ON clause now sets a propagated
("global") ban. KLINE commands with the ON clause work as
before.

Propagated klines can only be removed with an UNKLINE command
without the ON clause, and this removes them everywhere.
In fact, they remain in a deactivated state until the latest
expiry ever used for the mask has passed.

Propagated klines are part of the netburst using a new BAN
message and capab. If such a burst has an effect, both the
server name and the original oper are shown in the server
notice.

No checks whatsoever are done on bursted klines at this time.

The system should be extended to XLINE and RESV later.

There is currently no way to list propagated klines,
but TESTLINE works normally.
2010-03-05 18:36:44 +01:00
JD Horelick 64dd2404ca Rewrite message when you don't have the privs to kick a user
(be it that the user is +a and you're +o/+h or you're not an op at all).
2010-03-25 12:31:12 -04:00
JD Horelick d25c6eb1b2 Yay for documenting code.... 2010-03-23 21:20:07 -04:00
JD Horelick 5ff039e923 Make remote restart and die actually...work... 2010-03-23 15:21:09 -04:00
JD Horelick 658a333d65 Pull in remote restart and die (from ircd-seven) allow opers
to remotely restart and die servers.
2010-03-23 14:21:31 -04:00
JD Horelick 6f7a78f6aa Added check for flood settings in m_message. Why was this not here
before? What good are flood settings really if they're not applied
to messages?
2010-03-21 03:43:25 -04:00
B.Greenham aa9a8067b1 Use strip_unprintable for chmodes +K and +G, which makes evasion less trivial. 2010-03-20 12:49:57 -04:00
B.Greenham 2c0c690444 Fix some compile warnings. 2010-03-18 12:32:42 -04:00
JD Horelick b705a46f43 Fix a signedness comparison warning. 2010-03-17 03:42:40 -04:00
B.Greenham 7469e4b0d2 Remove the ability of overriding opers to privmsg/notice @#channel while lacking ops.
Since this goes past +q/+m and so on, it could easily and silently be abused.
2010-03-16 13:47:03 -04:00
JD Horelick e78f685073 Add use_part_messages config option. When disabled, this will show
all PARTs without a message/reason. Recommended to set to no if
a static quit message is set.
2010-03-13 22:56:38 -05:00
JD Horelick c0e2aa60b8 Added static_quit support. Pretty much what the name implies. 2010-03-13 22:19:29 -05:00
B.Greenham 0fbe4a384c Make metadata use UIDs for s2s communication, and fix up propegation of channel metadata. 2010-03-08 18:09:10 -05:00
JD Horelick 71ea606903 Make override WALLOPS actually send netwide this time. 2010-03-07 23:22:07 -05:00
B.Greenham c1c91f9438 s/owner/admin/ throughout the source code and docs. 2010-03-07 23:18:39 -05:00
JD Horelick 34d8ef4d14 Change all override snotes to wallops to match m_o* and to
make it a lot more obvious when a oper is using override.
2010-03-07 22:42:51 -05:00
JD Horelick b6a3d80129 Change many of the ERR_CANNOTSENDTOCHAN messages to say WHY the user
can not send to the channel for the new chmodes.
2010-03-07 17:03:12 -05:00