Commit Graph

499 Commits

Author SHA1 Message Date
JD Horelick 713624ed6a Add hide_channel_below_users value to m_info. 2010-07-10 05:01:23 -04:00
JD Horelick 6898ce9dde Add general::hide_channel_below_users option.
This allows server owners to set how many users must be in a channel before
/LIST will show it.
2010-07-10 01:28:21 -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
JD Horelick dab6375a1e Branch Merge 2010-07-04 03:29:35 -04:00
JD Horelick ba06b3db25 Backed out changeset 8781a9e4c62c 2010-07-04 03:25:54 -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
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
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
Jilles Tjoelker 7c880acbfe Fix various compiler warnings. 2010-03-27 20:09:46 +01:00
Jilles Tjoelker 7bf8ae67cc Restore snotes, logs for UNRESV nick.
This bug was introduced when adding bandb.
2010-03-27 16:24:13 +01:00
Jilles Tjoelker 9b9d818b32 Add propagated resvs, like klines and xlines. 2010-03-27 16:13:57 +01:00
Jilles Tjoelker d0cf872a95 XLINE: Do not cluster unxlines ON specific servers.
This bug was introduced with BAN support for XLINE.
2010-03-27 16:09:26 +01:00
Jilles Tjoelker 5d2661a149 Remove unused variable. 2010-03-27 02:06:29 +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
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
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 20eef93004 Add /stats g to show propagated (global) klines. 2010-03-06 00:31:51 +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
Jilles Tjoelker 90072e8be6 kline: Fix oper reasons. 2010-03-05 18:28:59 +01:00
Jilles Tjoelker a491246f8f Skip propagated bans in rehash txlines/tresvs. 2010-03-05 00:37:56 +01:00
Jilles Tjoelker a0f4c418d3 Track who set a dline/kline/xline/resv as in ratbox3.
Like in ratbox3, there is no way to query this information
(other than bandb's tables, but they worked before this
commit).
2010-03-01 01:23:22 +01:00
Jilles Tjoelker 157c1f04bd Generate the "Temporary K-line %d min" part from aconf->hold - aconf->created. 2010-02-28 16:27:06 +01:00
Jilles Tjoelker ce60772db6 Store the creation time of klines and dlines as a time_t instead of as text.
The value 0 indicates the creation time is unknown (currently the case
for bandb).
Also store a creation time for xlines and resvs, but do not use it yet.
2010-02-28 00:46:56 +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 069f104a2e Add shared::modules option, remote module stuff coming later/soon. 2010-03-24 15:50:15 -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 74e3e4f1e2 Add DIE shared option for remote restart and die which are on their
way next.
2010-03-23 14:19:48 -04:00