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
William Pitcock
fa9fb0d66b
Use %u instead of %d.
2010-12-04 23:13:35 -06:00
William Pitcock
b67bc679f3
blacklist: Remove the sscanf() for the IPv4 blacklist check.
...
From ratbox r27061 (androsyn).
2010-12-04 23:11:04 -06:00
JD Horelick
ab72b3e800
Wallops (and log) upon setting/unsetting of +M or any hidden chmode.
...
(+M is currently the only hidden chmode)
2010-11-22 13:14:02 -05:00
JD Horelick
8071ad5acf
Fix a small warning.
2010-11-13 20:37:41 -05:00
William Pitcock
78ab5aa473
parse(): make reentrant
2010-10-24 21:02:32 -05:00
JD Horelick
64be6183f8
Fix a bug I caused. Whoops.
2010-10-25 20:11:10 -04:00
JD Horelick
0a2e2a35c8
A few more fixes. Part 3 of 2 I suppose.
2010-10-23 22:46:50 -04:00
JD Horelick
16d76e8659
Clang warning fixes part 2 of 2.
2010-10-23 22:32:31 -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
b7262e0cce
Return an error upon trying to set orphaned cmode, rather than just silently ignoring the mode command.
2010-10-11 14:27:47 -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
e0b0e08d25
Fix a bug that allowed users to set forwards to channels they lack ops in (and not set forwards to channels they have ops in).
2010-07-28 20:26:13 -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
Jilles Tjoelker
cc2a7258f1
Send only one ERR_MLOCKRESTRICTED per MODE command.
...
This agrees with other error messages from MODE.
2010-08-24 23:03:23 +02: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
c95fc52d5a
Send numeric 735 on MLOCK policy-restricted mode changes that are ignored.
2010-08-23 19:04:46 -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
JD Horelick
ed6ad7a375
Change the DNSBL hit snomask to SNO_REJ (+r) as to not spam SNO_GENERAL
2010-06-23 15:01:49 -04:00
JD Horelick
40114db23c
Make DNSBL hits snote on hit. The snote displays nick, IP and what DNSBL they hit.
2010-06-23 13:44:33 -04:00
JD Horelick
133755685e
Removal of ancient SVN ID's part one
2010-06-10 21:22:44 -04:00
Jilles Tjoelker
dfea673fca
Make number_per_ident actually apply to unidented connections as well,
...
as documented in reference.conf.
Noticed by: spb
2010-06-09 21:22:47 +02: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
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
Jilles Tjoelker
b96db1e3fe
Fix crash if identify_service/identify_command were not specified in ircd.conf.
2010-04-18 13:54:03 +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
B.Greenham
41e026e175
Don't throw a warning if general:default_operhost is empty.
2010-04-07 15:08:02 -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
015b28a06c
Branch Merge
2010-04-04 16:25:20 -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
B.Greenham
92b26e74a9
Make chm_staff (staff only modes) only settable if you have ops in the channel in question.
...
If operators need to set such modes in a channel where they don't have ops, that's what override/omode are for.
2010-03-31 11:22:32 -04:00
JD Horelick
10a8240ff4
Fix a typo that could've caused a bug
2010-03-29 03:53:55 -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
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
e7c34075dd
chm_simple(): enforce MLOCK
2010-03-07 23:15:52 -06: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
b552cf8745
Fix order on channel_mlock() call.
2010-03-07 23:12:35 -06:00
William Pitcock
6b5059c363
Add MLOCK message to netjoin burst.
2010-03-07 22:29:34 -06:00
William Pitcock
27958781f6
Add MLOCK capability token.
2010-03-07 22:25:41 -06:00
William Pitcock
5f58af73d7
Correct 325 (RPL_CHANNELMLOCKIS) numeric.
2010-03-07 21:37:23 -06:00
William Pitcock
22caef5e58
Add RPL_CHANNELMLOCKIS for ircd-side MLOCK enforcement.
2010-03-07 21:35:54 -06:00
Jilles Tjoelker
3721c57468
Show the services login name in WHOWAS.
...
The numeric is the same (330) as used in WHOIS.
This takes at most half a megabyte of memory (large network, 30 char nicks).
2010-08-29 22:30:54 +02:00
Jilles Tjoelker
80d57d3924
Move RPL_WHOISLOGGEDIN to sendto_one_numeric().
2010-08-29 22:29:17 +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
JD Horelick
7f3998618e
Change oper-up message.
2010-08-28 18:16:28 -04:00
JD Horelick
4eaadbf404
Fix a couple of compile warnings.
2010-08-01 14:29:06 -04:00
B.Greenham
d76346d3d4
Make channel::admin_on_channel_create only work if admin is enabled.
2010-07-29 14:26:18 -04:00
B.Greenham
d7a3d23cdd
Add channel::admin_on_channel_create, which gives users creating new channels +ao instead of +o, if enabled.
2010-07-29 14:22:33 -04:00
JD Horelick
9e8efa00d4
Fix a quick compile warning.
2010-07-10 01:29:22 -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
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
B.Greenham
659dbfa585
Automated merge with ssh://shadowircd/uranium/shadowircd/
2010-07-02 19:09:51 -04:00
JD Horelick
1d0a5f6d0e
I am made of the fail today.
...
/me climbs aboard the failbus.
2010-06-23 16:32:10 -04:00
JD Horelick
a58c4fedeb
Sort of standardize the display of DNSBL hit snotes.
2010-06-23 16:30:08 -04:00
Jilles Tjoelker
f8cebd00f2
Show d/kline setter to opers in stats/testline.
2010-03-06 22:37:42 +01:00
Jilles Tjoelker
c3666dd012
Avoid crash if get_oper_name() somehow gave no {} for local oper.
2010-03-06 16:37:50 +01: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
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
a4893a45be
Use memmove instead of memcpy where there is overlap (modunload).
2010-03-05 22:05:15 +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
12894c8888
Add code to expire "propagated" bans.
...
The data structure is very simple: a dlink list of all propagated bans.
2010-03-04 00:21:22 +01:00
Jilles Tjoelker
cf06f92b78
Make struct operhash_entry private.
2010-03-01 01:24:00 +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
Jilles Tjoelker
bebc68755d
Add a missing comment for new /challenge numerics.
2010-02-27 23:56:56 +01:00
Alexander F?r?y
360742bdf4
Use RPL_QUIETLIST and RPL_ENDOFQUIETLIST instead of RPL_BANLIST and
...
RPL_ENDOFBANLIST for channel mode +q.
2010-02-27 01:08:41 +01:00
JD Horelick
3232087a3c
Make all snotes for mod* stuff netwide since unless you're opered
...
on more than one server, you won't know if the command worked or not.
2010-03-25 03:18:32 -04:00
JD Horelick
e31b740dd1
Allow using all the mod* commands remotely.
2010-03-25 00:33:20 -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
4aa4fa57f2
I am made of fail.
2010-03-23 15:21:42 -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
JD Horelick
1cc810d3a7
Add general::true_no_oper_flood . I'm not going to explain it here.
...
Ask me what it does on IRC if you're curious.
2010-03-21 00:14:02 -04:00
JD Horelick
29b3f2e4e5
Fix a small typo that i noticed looking around the source.
2010-03-18 02:44:51 -04:00
B.Greenham
7bd3701cd6
Remove override being able to automatically and silently go through +q/+m/etc.
...
This was previously doable without sending wallops, and had high abuse potential.
Overriding opers can set themselves +v/+o or remove the offending mode if they need to get past such things.
2010-03-16 13:44:44 -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
B.Greenham
f8b60fb5fd
Make joining in override only wallops if you couldn't normally join the channel.
2010-03-07 22:58:27 -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
c809010b89
Make +-a give you the appropriate error message if you don't have
...
the proper privs.
2010-03-07 21:57:00 -05:00
William Pitcock
a9f16d808d
Fix construction of the channel mode vector table.
...
This fixes chm_* modules and should be backported to ircd-seven and charybdis 3.2.
2010-03-07 14:45:42 -06:00
B.Greenham
942d361d89
I am a massive idiot. Fix this problem.
2010-03-07 00:48:39 -05:00
B.Greenham
bc4764aefd
Looks like irc_dictionary things cannot support more than one key with the same value. Therefore, a rework of +J and OACCEPT's metadata are required to make them work properly with multiple users.
2010-03-06 19:22:59 -05:00