Jilles Tjoelker
0ea417c4a4
Disallow $ in usernames as this may cause problems with ban forwarding.
2011-12-06 00:01:59 +01:00
Jilles Tjoelker
ca8ff4830b
Force nicklen (all flavours) to be at least 9.
2011-11-29 23:41:18 +01:00
William Pitcock
c68d30f70b
Switch to ircu NICKLEN/MAXNICKLEN semantics.
...
Clients should use MAXNICKLEN for preallocation, and NICKLEN should be treated as
informative.
2011-11-29 16:24:48 -06:00
William Pitcock
a83486bfe6
Remove nicklen_set barrier.
...
Since serverinfo::nicklen only controls NICKLEN_USABLE, we do not need to have a
barrier here.
2011-11-29 16:19:37 -06:00
William Pitcock
7b42eab627
Make sure ConfigFileEntry.nicklen follows the same semantics as real NICKLEN.
...
Otherwise, truncation would be one byte too short on nick changes.
2011-11-29 16:16:38 -06:00
William Pitcock
b583faf970
Add support for customizing the usable nick length.
...
This adds a new ISUPPORT token, NICKLEN_USABLE which is strictly an informative value.
NICKLEN is always the maximum runtime NICKLEN supported by the IRCd, as other servers may
have their own usable NICKLEN settings. As NICKLEN_USABLE is strictly informative, and
NICKLEN is always the maximum possible NICKLEN, any clients which depend on NICKLEN for
memory preallocation will be unaffected by runtime changes to NICKLEN_USABLE.
The default NICKLEN is 50; the default serverinfo::nicklen in the config file is set to
30, which is the NICKLEN presently used on StaticBox.
2011-11-29 16:10:21 -06:00
Jilles Tjoelker
0cce01d388
Fix -Wformat errors found in ircd-ratbox.
...
We cannot use -Wformat meaningfully but ircd-ratbox trunk can.
2011-11-13 00:22:09 +01:00
Stephen Bennett
a695b0e40e
Apply extended-join client cap to QJM joins
2011-11-12 14:41:01 +00:00
Jilles Tjoelker
d74fa5b502
Prefer PATH_MAX to non-standard MAXPATHLEN.
2011-10-28 16:45:18 +02:00
Jilles Tjoelker
c55b2782fc
Properly update 004/005 when a rehash changes use_forward.
2011-10-25 00:38:27 +02:00
Stephen Bennett
717f809762
Don't treat +r specially when displaying supported channel modes.
...
This used to be only advertised if a service was linked, which made
sense in ratbox when +r was only settable if services were available.
Now, however, +r is always available and so should always be advertised.
2011-10-24 19:59:31 +01:00
Jilles Tjoelker
db6b1735cf
ilog_error: Avoid overwriting errno before sending it to opers.
2011-10-21 23:21:22 +02:00
Jilles Tjoelker
894325fe41
Force client_flood_burst_rate and client_flood_burst_rate to at least rfc1459 values (5).
2011-10-04 22:16:01 +02:00
Jilles Tjoelker
5a72f20c2c
Limit sent_parsed to the highest possible value in the current config.
...
After a configuration change (or deoper with no_oper_flood) sent_parsed
might be way higher than allow_read, so that the user would have to wait
a long time before the server responds. Avoid this.
2011-10-04 01:08:12 +02:00
Jilles Tjoelker
a75bf40dad
Fix weirdness with client_flood_burst_rate and client_flood_burst_max.
...
They are now in messages, even if client_flood_message_time is not 1.
If client_flood_message_time is not 1 (by default it is), this needs a
configuration change to maintain the same behaviour.
2011-10-04 00:57:49 +02:00
Jilles Tjoelker
d182b85454
Minor cleanup to command throttling code:
...
* Deduce allow_read from the client's state (IsFloodDone) rather than
storing it in LocalUser.
* Fix the documentation (in oper /info), however strange
client_flood_burst_rate and client_flood_burst_max may seem, that is
how they currently work.
2011-10-04 00:46:00 +02:00
Jilles Tjoelker
f9dda63969
Disable LocalUser.actually_read (write-only field).
2011-10-04 00:25:22 +02:00
Jilles Tjoelker
c598ff7b04
Fold client_flood_burst_rate check into MAX_FLOOD_BURST.
...
The original definition of floodgrace was MAX_FLOOD_BURST lines per second.
A second check for another number of lines per second makes no sense.
2011-10-04 00:21:19 +02:00
Jilles Tjoelker
41ca4cac35
Enforce the average allowed send rate is at least the one allowed by rfc1459.
2011-10-04 00:13:53 +02:00
Jilles Tjoelker
1aa35c8af1
Make sure to check the length of a ban mask before removing a forward channel.
...
Otherwise a line might be truncated later, leading to desyncs.
2011-09-25 16:25:17 +02:00
Jilles Tjoelker
2da6f6ebd7
Put back use_forward.
2011-09-25 16:22:29 +02:00
Jilles Tjoelker
93fbe9c349
Fix double-free when removing a ban.
...
del_id() should not free the ban anymore, its caller does that now.
2011-09-14 00:52:56 +02:00
Jilles Tjoelker
f890420014
Ensure all signals keep working after a SIGINT restart.
...
After setting up signal handlers, unmask the signals we care about
(installed handlers for).
When handling SIGINT, the kernel adds SIGHUP and SIGINT to the signal
mask (as requested in sigaction()); if execve() is called from the
signal handler, this change is persistent.
2011-08-31 01:04:40 +02:00
Elizabeth Jennifer Myers
25ea5d2fac
Fix git fuckery.
...
Apparently my tree got horribly corrupted.
2011-08-12 21:27:52 -04:00
Elizabeth Jennifer Myers
73d0f900c0
chmode: fix construct_cflags_strings.
...
Accidentally ported too much from ircd-seven. Fix this.
2011-08-12 21:09:13 -04:00
Elizabeth Jennifer Myers
765d839d3c
Port ircd-seven banfowards to charybdis.
...
nenolod gave the thumbs-up to port ircd-seven banfowards to charybdis to spb
for a while, and people have asked about it. Might as well do it since it's a
slow weekend.
Note that as a side effect use_forward is removed from the config and
unconditionally enabled!
2011-08-12 20:33:10 -04:00
Jilles Tjoelker
2a483a807d
Remove a stale comment.
2011-08-07 22:04:16 +02:00
Elizabeth Jennifer Myers
7eec45bc9d
Back out chanroles.
...
While what chanroles are trying to accomplish is a good idea, it is
apparently unclear this is the proper way to do it. Until we figure out
the exact way we wish to do this, it should be reverted for now.
2011-07-07 21:24:14 -04:00
Elizabeth Jennifer Myers
e794d39a80
Add client interface for GRANT.
...
TODO: implement notifications of grant privilege changes to the target.
2011-07-06 17:25:26 -04:00
William Pitcock
f3bfe2c271
chanroles: instead of checking for chanop + CHANROLE_UNSET combination, grant a default set of flags.
...
this allows ops with zero effective privilege.
2011-07-06 15:12:46 -05:00
William Pitcock
ae79dab6ae
chanroles: grant initial set of flags to people added to a channel with CHFL_CHANOP.
...
this allows us to, later on, add a hook that will enable us to disable channel ops entirely
without causing permissions revocation.
2011-07-06 15:00:32 -05:00
Elizabeth Jennifer Myers
6d8ec56083
Add chanroles to isupport so clients know it exists.
2011-07-06 13:50:36 -04:00
Elizabeth Jennifer Myers
8aabb973c0
Implement chanroles, as discussed with nenolod.
...
The theory behind this is that services sends an ENCAP * GRANT #channel
UID :+flagspec message specifying the chanroles the user has. They are
mapped into flag bits and applied to the membership of the user. They
then are restricted or permitted to what they can do based on the
permissions mask regardless of rank.
For backwards compatibility, the default permission bit (without a GRANT
statement) allows a user to to anything an existing op can do ONLY if
they are an op.
Todo: make CHANROLE_STATUS work (the ability to apply +ov to people),
which is at the moment controlled by CHANROLE_MODE.
2011-07-06 13:46:22 -04:00
Keith Buck
ab894d74fe
Add target change spam notice.
2011-05-16 15:29:09 -07:00
William Pitcock
8bd1c8a19a
branding: denote custom branding in ircd -version
2011-05-08 09:11:50 -05:00
William Pitcock
f5493691ed
branding: if CUSTOM_BRANDING is defined, display charybdis version in /info
...
(based on ircd-seven rebrand patch)
2011-05-08 09:06:19 -05:00
Jilles Tjoelker
b19d3c5186
Style: use a consistent order for the _C constants.
2011-03-31 00:05:42 +02:00
Stephen Bennett
94d86632dc
Disallow mIRC italics in channel names when disable_fake_channels
2011-03-30 11:30:47 +01:00
Stephen Bennett
e6e54763d9
Make flood control settings configurable by those who know exactly what they're doing.
...
From ircd-seven git changeset 29aa4203150337925a4f5c6e7da47be5394c2125 .
2011-03-27 16:35:26 -04:00
Stephen Bennett
5fabe51369
Don't allow +Z to be set by default_umodes
2011-03-11 13:12:40 +00:00
Elizabeth Jennifer Myers
0a1e77c27c
Support IPv6 blacklists. Also add a conf file option allowing the use of IPv4, IPv6, or both for a blacklist.
...
Although few blacklists currently support IPv6 lookups, they will likely begin to do so in the near future as more net trash begins using IPv6.
2011-02-27 16:38:05 -05:00
Elizabeth Jennifer Myers
f4b52a0ad3
can_send: properly initalise moduledata.
2011-02-13 09:50:25 -05:00
Jilles Tjoelker
462ae9d7a5
Fix memory leak of operator certfp fields.
2011-01-25 00:39:07 +01:00
Elizabeth Jennifer Myers
ed45dfe676
newconf: fix a warning
2011-01-23 16:56:36 -05:00
Elizabeth Jennifer Myers
63c7a68e19
newconf: fix certificate fingerprint auth.
...
yy_oper->certfp was not copied into yy_tmpoper->certfp, thus the information was lost and certfp auth was never really working, since the string was always empty.
2011-01-23 16:12:32 -05:00
Jilles Tjoelker
26e9dd93ad
Remove nickTS from extended-join.
2011-01-11 00:26:15 +01:00
Jilles Tjoelker
e2b507ac41
Fix extended-join not sending any joins at all.
...
Note that IsCapable(x, NOCAPS) always returns true.
2011-01-11 00:26:05 +01:00
Jilles Tjoelker
2fb0796158
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
4c3f066ab8
Move list-related isupport items to the list module itself.
2011-01-06 00:40:08 -08:00
Keith Buck
096570b9f8
Add topic TS and channel TS constraints for /LIST.
2011-01-05 21:15:36 -08:00
Keith Buck
bb55ebebe9
Implement operspy for /LIST.
2011-01-05 18:57:27 -08:00
Jilles Tjoelker
fa0e215255
Tweak previous commit to avoid problems with OMODE.
...
Do not allow a user to op themselves if they are
already opped, as "already opped" could be because
of OMODE's hack which will be unconditionally
reverted after the mode change.
Also, this matches old behaviour for users not
being able to generate mode changes redundantly
opping themselves.
Note that this change should only be taken advantage
of if all servers run patched code. Otherwise, mode
changes will be silently dropped and a desync
results.
2010-12-31 02:43:16 +01:00
William Pitcock
402cce0b9c
Remove stupid hybrid-esque 'impossible to op yourself' hack.
...
Who the fuck thought that check was a good idea?
2010-12-30 19:21:14 -06:00
Stephen Bennett
0c512421c5
Add default for disable_local_channels. Missed this last time.
2010-12-21 20:53:39 +00:00
Stephen Bennett
341f971efa
Bring across disable_local_channels config option from ircd-seven
2010-12-21 20:38:04 +00:00
William Pitcock
92052a5c24
Add extended-join client capability.
...
The extended-join client capability extends the JOIN message with information clients typically
query using WHO including accountname, signon TS and realname.
2010-12-16 00:24:54 -06:00
William Pitcock
99cca61ed6
Add sendto_channel_local_with_capability().
2010-12-16 00:19:24 -06:00
William Pitcock
27912fd4ff
Add send_channel_join().
2010-12-16 00:09:29 -06:00
William Pitcock
7a948bdaa7
Add capability parameter to sendto_common_channels_local() and sendto_common_channels_local_butone().
2010-12-15 22:55:05 -06:00
Jilles Tjoelker
0b2b2f7753
Remove redundant prototypes in src/ircd_lexer.l.
...
These seem unnecessary and may cause problems because they
are wrong in some cases.
A comment says these were needed for GCC 3.3. If you are
still using this compiler, check this and if it breaks,
some other approach is needed.
2010-12-15 21:49:47 +01:00
William Pitcock
96d2612765
Don't bother running the get_channel_access hook if the client is not really on the channel.
2010-12-14 23:04:11 -06:00
William Pitcock
b697041e2a
Don't bother running the can_send() hook if we're not on the channel.
2010-12-14 22:57:23 -06:00
William Pitcock
c8f269066c
Correct error message involving no fingerprint credentials or password credentials being available.
2010-12-14 21:25:44 -06:00
William Pitcock
ff0cc1e616
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
William Pitcock
e06988c6de
Fix regressions in can_send() caused by hooking it for override and modularized channel modules.
2010-12-11 20:21:47 -06:00
B.Greenham
15484f02bd
Move flood_attack_channel to channel.c so it can be used outside m_message.c
2010-12-09 18:29:56 -05:00
William Pitcock
3c52f289b1
Actually make get_channel_access() public.
2010-12-07 00:12:36 -06:00
William Pitcock
0aa36c5f0f
Add can_send hook.
2010-12-07 00:09:46 -06:00
William Pitcock
8bb19bd7ab
Make the can_join hook more flexible.
2010-12-06 23:52:44 -06:00
William Pitcock
749d8c11dd
Add a hook for get_channel_access().
2010-12-06 22:57:28 -06:00
William Pitcock
83b72f917a
chmode: Remove chm_regonly, a vestige from ratbox which doesn't apply to native charybdis networks.
2010-12-06 22:46:37 -06:00
William Pitcock
85a206d3e0
Use %u instead of %d.
2010-12-04 23:13:35 -06:00
William Pitcock
5d21ef5098
blacklist: Remove the sscanf() for the IPv4 blacklist check.
...
From ratbox r27061 (androsyn).
2010-12-04 23:11:04 -06:00
JD Horelick
eac04554fd
Fix some various warnings.
...
Some from ShadowIRCd, one from ircd-seven.
2010-11-14 16:51:27 -05:00
William Pitcock
819dd2d287
parse(): make reentrant
2010-10-24 21:02:32 -05:00
Jilles Tjoelker
01b7a527a3
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
5b383ce060
Move RPL_WHOISLOGGEDIN to sendto_one_numeric().
2010-08-29 22:29:17 +02:00
William Pitcock
a63f7af7bb
Note that can_join() is not remote-user safe.
2010-08-29 14:07:44 -05:00
Jilles Tjoelker
717238d2a2
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-29 01:26:00 +02:00
Jilles Tjoelker
6917ed0eba
Send only one ERR_MLOCKRESTRICTED per MODE command.
...
This agrees with other error messages from MODE.
2010-08-24 23:03:23 +02:00
Jilles Tjoelker
2fb6379693
Change ERR_MLOCKRESTRICTED to 742 as 735-739 seem for MONITOR extensions.
2010-08-24 22:51:20 +02:00
William Pitcock
6fb6bd15ae
Enforce TS rules on MLOCKs.
2010-08-23 20:22:59 -05:00
William Pitcock
01ed04abaf
Send numeric 735 on MLOCK policy-restricted mode changes that are ignored.
2010-08-23 19:04:46 -05:00
William Pitcock
32de9f4e67
Add ERR_MLOCKRESTRICTED (735) to reflect bounces caused by MLOCK.
2010-08-23 18:59:32 -05:00
Elly
3645ce9869
Change oper-up message.
2010-08-22 23:21:38 -04:00
Jilles Tjoelker
f5455d2cd5
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
2010-07-04 17:14:56 +02:00
Jilles Tjoelker
15f92147c7
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
c71a6e3bed
Branch merge
2010-05-02 21:36:32 +01:00
Stephen Bennett
3b8a6350f8
Backed out changeset c57955c5225e
...
Now that MLOCK is no longer stored as a struct Mode, this is unnecessary.
2010-05-02 21:29:22 +01:00
Stephen Bennett
6b8db2daf2
Allow the final parameter of MLOCK to be empty, to remove an existing mlock
2010-05-02 20:42:46 +01:00
Stephen Bennett
78e6b731e4
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
0a01ecfa85
Fix crash if identify_service/identify_command were not specified in ircd.conf.
2010-04-18 13:54:03 +02:00
JD Horelick
944b0584ea
Change config option for ident_timeout to default_ident_timeout as jilles
...
recommended.
2010-04-05 16:29:11 -04:00
JD Horelick
0ffb810660
Add a configuration option for ident_timeout.
2010-04-05 15:28:44 -04:00
Jilles Tjoelker
19716b9fd6
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
Jilles Tjoelker
803ce385bf
Fix various compiler warnings.
2010-03-27 20:09:46 +01:00
Jilles Tjoelker
dca9e55257
Add propagated resvs, like klines and xlines.
2010-03-27 16:13:57 +01:00
Jilles Tjoelker
3cbbfb2556
Add propagated xlines, like klines.
2010-03-16 23:05:50 +01:00
Jilles Tjoelker
1702b69419
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-14 17:21:20 +01:00
William Pitcock
f02f338b31
chm_simple(): enforce MLOCK
2010-03-07 23:15:52 -06:00
William Pitcock
8727cbe88a
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
b99c9ae0bf
Fix order on channel_mlock() call.
2010-03-07 23:12:35 -06:00
William Pitcock
084ecbe030
Add MLOCK message to netjoin burst.
2010-03-07 22:29:34 -06:00
William Pitcock
ec55bec527
Add MLOCK capability token.
2010-03-07 22:25:41 -06:00
William Pitcock
a51c452643
Rename channel_modes() to channel_modes_real(), and use macros to build both the mode list, and the mlock list.
2010-03-07 22:22:14 -06:00
William Pitcock
c59d46e572
Correct 325 (RPL_CHANNELMLOCKIS) numeric.
2010-03-07 21:37:23 -06:00
William Pitcock
dd0f1f5b88
Add RPL_CHANNELMLOCKIS for ircd-side MLOCK enforcement.
2010-03-07 21:35:54 -06:00
William Pitcock
030cdce7d0
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
Jilles Tjoelker
778dd56bf2
Show d/kline setter to opers in stats/testline.
2010-03-06 22:37:42 +01:00
Jilles Tjoelker
ee6da53d74
Avoid crash if get_oper_name() somehow gave no {} for local oper.
2010-03-06 16:37:50 +01:00
Jilles Tjoelker
5c2b9eaf48
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
cedb7d05b4
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
f54e1a8fd6
Use memmove instead of memcpy where there is overlap (modunload).
2010-03-05 22:05:15 +01:00
Jilles Tjoelker
431a1a2784
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
9197bc355e
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
f9545a9b54
Make struct operhash_entry private.
2010-03-01 01:24:00 +01:00
Jilles Tjoelker
27f616ddf5
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
3d242eb30f
Merge bugfix that also applied to 3.2.x.
2010-02-28 16:45:55 +01:00
Jilles Tjoelker
4db0e2bdf2
Fix memory leak on /rehash bans.
...
We do not have the 'oper' field in klines yet.
2010-02-28 16:45:25 +01:00
Jilles Tjoelker
a12ad04472
Generate the "Temporary K-line %d min" part from aconf->hold - aconf->created.
2010-02-28 16:27:06 +01:00
Jilles Tjoelker
b52c294986
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
58c728aed8
Add a missing comment for new /challenge numerics.
2010-02-27 23:56:56 +01:00
Alexander F?r?y
51027be825
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
Jilles Tjoelker
1815320d3b
Remove more old kline.conf stuff.
...
Make sure to recompile modules, stuff has been removed
close to the start of ConfigFileEntry.
2010-02-22 19:31:05 +01:00
Jilles Tjoelker
22342cd11f
Remove code to write bans to csv files.
2010-02-22 19:09:46 +01:00
Jilles Tjoelker
981586df2b
spambot checks: Fix excessive expiry in some cases.
2010-02-21 01:29:41 +01:00
William Pitcock
dbcd150bce
Do not try to free the alias dict if it does not exist.
2010-02-18 18:38:26 -06:00
William Pitcock
cb7f3af4d3
Change license version in version.c.SH (GPLv1 -> GPLv2) so that it agrees with the other documentation.
2010-02-17 23:05:47 -06:00
William Pitcock
9600850e8f
s/o:lines/operator blocks/
2010-02-17 23:01:58 -06:00
William Pitcock
76169ea734
Clarify ERR_NOOPERHOST and convert it to use sendto_one_numeric().
2010-02-17 06:51:41 -06:00
William Pitcock
ff31db8473
Add support for client certificate fingerprints in o:lines.
2010-02-17 06:41:41 -06:00
Jilles Tjoelker
4f2685f3e1
Move target change code to src/tgchange.c,
...
so we can use it for /invite as well.
2010-02-15 21:58:34 +01:00
Jilles Tjoelker
179becdf5f
target change: Overwrite the least recently used target with a new one.
2010-02-15 00:31:17 +01:00
JD Horelick
97deedc42f
English fix to fix the fix i made about 80 minutes ago.
...
I suck at a/an cometimes. Also, fix.
2010-02-08 18:04:54 -05:00
JD Horelick
bc4fccbc44
One or 2 English language cleanups. Less than I thought there were.
2010-02-08 16:28:08 -05:00
Jilles Tjoelker
8eda114a78
Pass certfp to other servers and show it in whois. Do not show it on connect.
...
The server protocol for this is
:<uid> ENCAP * CERTFP :<40 hex chars>
both in new user introductions and in burst.
As in oftc-hybrid, only the user themselves and opers can see the certfp.
Displaying the certfp on connect seems unnecessary to me,
the user can whois themselves if needed.
2010-02-06 00:18:27 +01:00
Jilles Tjoelker
17e4b48b55
Apply ratbox3 workaround for too permissive inet_pton6():
...
Any kline (or various other things) containing * or ? is
a mask kline and not an IP kline. Ideally, rb_inet_pton_sock()
would return failure for those, but in practice this is not
always the case for IPv6.
Such a kline that is erroneously treated as an IP line
likely matches way fewer IPs than expected.
2010-02-03 00:44:51 +01:00
William Pitcock
11dff8a423
Clarify CertFP message.
2010-01-31 17:35:15 -06:00
Jilles Tjoelker
7247337afa
Add certfp support to libratbox and ssld.
...
This lets a user connect with a client certificate, and
passes the certificate's fingerprint to ircd, which
currently just notices it to the user.
A new ssld->ircd message 'F' is used to pass on the
fingerprint.
This is only for OpenSSL for now, not GNUTLS.
2010-01-31 19:04:20 +01:00
William Pitcock
47f9d6002a
Automated merge with ssh://hg.atheme.org//hg/charybdis
2010-01-30 19:21:28 -06:00
William Pitcock
7d778d510a
modreload: Causing an entire 50,000 user network to crash due to user-error is a bad idea, don't let it happen again by not allowing paths in /modreload.
2010-01-30 19:21:17 -06:00
Jilles Tjoelker
5f2df25109
Slightly tighten auth{} duplicate check:
...
If the existing auth{} block has no auth_user, it will
trump any auth{} block for the same u@h.
2010-01-31 01:40:43 +01:00
Jilles Tjoelker
3d1f32c07a
Take auth_user into account when detecting redundant/duplicate auth{}.
...
from ircd-seven (spb)
2010-01-31 01:36:37 +01:00
Jilles Tjoelker
90afc118fd
No need to be paranoid about clearing auth_user.
...
It is a username, not a password.
2010-01-31 01:30:25 +01:00
Jilles Tjoelker
fcb057992c
Fix memory leak with auth_user.
...
from ircd-seven (spb)
2010-01-31 01:29:08 +01:00
Jilles Tjoelker
8f10356217
Remove remnants of <foo>_t typedefs.
2010-01-30 15:57:10 +01:00
Jilles Tjoelker
cd5d9abf63
Do not read in help files starting with a dot (including dot and dot-dot).
2010-01-22 02:02:45 +01:00
Stephen Bennett
d06f3da955
Don't cache files that are empty or not files. Avoids crashing on the likes of 'HELP .'
2010-01-21 16:27:34 +00:00
William Pitcock
2e918bf515
Merge +C (no CTCP to channels) from ircd-seven.
2010-01-19 02:11:04 -06:00
William Pitcock
fdb90316e1
Automated merge with ssh://hg.atheme.org//hg/charybdis
2010-01-19 01:47:27 -06:00
William Pitcock
bde6442c47
supported: Add CLIENTVER=3.0 to indicate presence of 3.0 core capabilities (such as CAP, extended WHO, etc) as requested by LifeIsPain.
2010-01-19 01:47:21 -06:00
Jilles Tjoelker
70ea02ebd6
Complete the move of xlines and resvs from aconf->name to aconf->host.
2010-01-08 18:46:29 +01:00
William Pitcock
23959371d0
Fix up more things with bandb.
2010-01-07 18:14:15 -06:00
William Pitcock
80c9ac516e
Load in new bans from bandb on startup.
2010-01-07 18:06:15 -06:00
William Pitcock
6eebc37378
Start bandb on ircd initialization.
2010-01-07 17:22:44 -06:00
William Pitcock
83595e6016
Add bandb IRCd APIs.
2010-01-07 17:10:16 -06:00
Jilles Tjoelker
22df9f8989
Update some copyright years.
2010-01-01 22:46:34 +01:00
Jilles Tjoelker
cef7a7bc4e
Remove FLAGS_SENDQEX, fix sendq exceeded snotes for servers.
...
from ircd-ratbox
2009-12-21 16:58:25 +01:00
Stephen Bennett
6657de63ac
Merge
2009-12-08 19:23:32 +00:00
Stephen Bennett
c127b45b83
Revert all presence-related changes
2009-12-08 19:22:55 +00:00
Jilles Tjoelker
456e5b3d64
Fix crashes when there are no alias blocks in the conf.
2009-12-05 20:48:02 +01:00
William Pitcock
ae62bed786
Automated merge with ssh://hg.atheme.org//hg/charybdis
2009-10-24 21:07:53 -05:00
William Pitcock
04708f0e5b
If you're going to censor my jokes, at least do it right.
2009-10-24 21:07:41 -05:00
Jilles Tjoelker
c2c25552ca
Force part local users (not resv_exempt) on channel resv.
...
A notice will be sent to any force parted users that the channel
is temporarily/permanently unavailable on the server.
A new config option channel::resv_forcepart can be used to disable this.
from ircd-ratbox (dubkat)
2009-09-19 21:24:35 +02:00
William Pitcock
5cca545c3c
Display o:line "nickname" in global oper-up messages.
2009-07-13 12:55:35 -05:00
Jilles Tjoelker
beccbe318c
Show yyerror() parse errors on stderr on startup.
...
Noticed by: spb
2009-06-18 00:37:19 +02:00
Jilles Tjoelker
7919c03041
Add new constants for presence key/value lengths
...
instead of overloading NICKLEN/TOPICLEN.
2009-06-03 23:38:07 +02:00
Jilles Tjoelker
383eac2e64
Do not send two 792 numerics when changing a metadata from one non-empty value to another.
2009-06-03 20:44:37 +02:00
William Pitcock
2914055be3
presence: send..._with_capability...(): don't send if the client does not have the capab but isn't on a channel
2009-06-02 02:48:22 -05:00
William Pitcock
9def763407
presence: delete_metadata(): Free from the right heap.
2009-06-02 02:46:37 -05:00
William Pitcock
972e31192f
presence: Add _butone() variant of sendto_common_channels_local_with_capability().
2009-06-02 02:38:38 -05:00
William Pitcock
48c5e056ca
presence: Broadcast presence changes to peer clients with CLICAP_PRESENCE.
2009-06-02 02:36:18 -05:00
William Pitcock
695cc4bc0c
presence: Declare RPL_METADATACHG.
2009-06-02 02:32:07 -05:00
William Pitcock
62928328bf
presence: Add sendto_common_channels_local_with_capability(), used for broadcasting presence updates.
2009-06-02 02:28:02 -05:00
William Pitcock
727bca6269
presence: Declare RPL_WHOISMETADATA.
2009-06-02 02:19:37 -05:00
William Pitcock
28d4abde2b
presence: Remove no longer used away_heap.
2009-06-02 02:08:45 -05:00
William Pitcock
884b5d41c1
presence: Remove user.away, replaced by a metadata entry.
...
Cache the metadata retrieval value where feasible for minimal performance impact.
2009-06-02 02:03:51 -05:00
William Pitcock
df2688426d
presence: Make set_metadata() erase any old metadata for an entry.
2009-06-02 01:53:05 -05:00
William Pitcock
75ea650c3c
presence: Add get_metadata().
2009-06-02 01:50:40 -05:00
William Pitcock
e581ea8e3d
presence: Add set_metadata() and delete_metadata().
2009-06-02 01:41:44 -05:00
William Pitcock
195d10c293
presence: Declare RPL_METADATASET and RPL_METADATAREM.
2009-06-02 01:32:09 -05:00
William Pitcock
0d3b24f9cf
presence: Create presence metadata tracking structures where appropriate.
2009-05-30 13:30:57 -05:00
Jilles Tjoelker
1bb1f1b0e7
Remove check_banned_lines() code duplication.
...
We can just call check_dlines(), check_klines() and check_xlines().
2009-05-21 23:11:32 +02:00
Jilles Tjoelker
cf09122bf7
Check the return value on rb_pipe.
...
from ircd-ratbox (r26515) (androsyn)
2009-05-13 22:07:57 +02:00
Jilles Tjoelker
c04a500dfa
Remove unused inet_socketpair() code, this is in libratbox now.
2009-05-12 23:56:28 +02:00
Jilles Tjoelker
eda22d87af
More rb_socketpair() return value checks.
...
from ircd-ratbox (r26507) (androsyn)
2009-05-12 23:30:46 +02:00
Jilles Tjoelker
6388eda683
Report errors and close the incoming connection if socketpair fails
...
for ssl connections.
from ircd-ratbox (r26503) (androsyn)
2009-05-12 23:18:41 +02:00
Jilles Tjoelker
97c9dd8a26
Change xlines to store spaces as \s.
...
Spaces in xline.conf files are changed to \s in memory
and recognized on unxline, but are not changed in the
file. New xlines are added to xline.conf files with \s.
xline.conf written by this commit or newer will not work
properly with charybdis older than 1124:131254925f32 (which
introduced \s support in match_esc()).
2009-05-08 00:21:14 +02:00
William Pitcock
5f8d323c59
can_kick hook, based on the ircd-seven one.
2009-04-20 09:20:11 -05:00
Stephen Bennett
179f024d18
/ is a host character and not a nick character, so make pretty_mask treat it as such
2009-04-20 08:42:41 -05:00
Stephen Bennett
9a180ae365
Allow / in spoofed hosts
2009-04-20 08:37:13 -05:00
Jilles Tjoelker
8c23bb2e21
Fix compilation with --enable-assert=soft.
2009-04-08 21:30:58 +02:00
Jilles Tjoelker
8b27cfefe8
Remove some unused variables.
2009-04-08 21:30:34 +02:00
Jilles Tjoelker
c4d2d01419
Apply +z to messages blocked by +b and +q as well.
...
This adds a new server capab EOPMOD which will be used
for an extended topic command also.
2009-03-29 15:48:07 +02:00
Jilles Tjoelker
8347bf2459
No profanity.
2009-03-13 19:36:49 +01:00
William Pitcock
ca6a194d92
Our IRC oper messages are now as enhanced as enhanced interrogation techniques.
2009-03-08 21:06:33 -05:00
Jilles Tjoelker
408024fa63
rehash bans: show mask in k/x line over-ruled notice
...
This was already shown in the over-ruled notices on k/x line add.
2009-03-08 14:31:50 +01:00
Jilles Tjoelker
7340b36bf2
rehash bans: still check k/x lines for users exempt from dlines
2009-03-08 13:30:30 +01:00
Jilles Tjoelker
7eecdd6894
Use ratbox's match_esc(), this allows \s for space.
2009-03-08 02:14:26 +01:00
Jilles Tjoelker
07c2bb757d
Fix close detection with ssl+zip, porting more code from ircd-ratbox.
...
This tells the SSL ssld to report connection closure to ircd
using the new fd.
2009-03-07 03:23:17 +01:00
Jilles Tjoelker
995f300eb1
Allow /rehash throttles to clear throttling.
2009-03-07 01:49:09 +01:00
Jilles Tjoelker
ad13bb7556
Rework remote rehash messages to apply to all server notices during rehash.
...
Previously various notices such as those applying
to modules were not sent to the remote oper.
2009-03-07 01:27:05 +01:00
Jilles Tjoelker
b9620c24ef
Remove unused declaration.
2009-03-03 22:26:45 +01:00
Jilles Tjoelker
6865c0b099
Add channel::only_ascii_channels config option
...
to restrict channel names to printable ascii only.
Like disable_fake_channels this only applies to joins
by local users; unlike disable_fake_channels it applies
to opers as well.
2009-02-22 00:12:21 +01:00
Jilles Tjoelker
54828d589d
Avoid unnecessary const violation.
2009-02-22 00:05:48 +01:00
Jilles Tjoelker
4f7a1feeda
Fix an off by one error with zipstats processing
...
from ircd-ratbox (androsyn)
2009-02-07 23:26:05 +01:00
Jilles Tjoelker
53307da8ca
Disable autoconnect for a server with excessive TS delta.
...
Note that in some cases (different TS delta settings,
heavy lag) it is possible only one of the servers
detects the problem and autoconnect may be left enabled.
The mechanism used for disabling is the same as
/quote set autoconn <server> 0; the A flag in /stats c
disappears and a rehash or /quote set autoconn can put
it back.
2009-02-05 23:43:07 +01:00
Jilles Tjoelker
6e5e2b000a
Warn about auth blocks after a *@* auth and duplicate auth blocks.
2009-01-31 18:42:03 +01:00
Jilles Tjoelker
e0f8d70cb2
Remove comments related to (removed) ability to disable TS6.
2009-01-30 16:50:00 +01:00
Jilles Tjoelker
ad08ad1876
For remote rehashes, send error messages to the requesting oper as well.
2009-01-30 00:11:12 +01:00
Jilles Tjoelker
8b801ad161
Log unknown class in auth errors to ircd.log as well.
2009-01-29 23:53:20 +01:00
Jilles Tjoelker
a33bdd9fb6
Remove obsolete comment.
2009-01-25 21:02:04 +01:00
Jilles Tjoelker
d45f5ea2d9
Only kill unknown prefix UIDs that start with a valid SID
...
(existing and behind the link that sent the prefix).
Also require them to be exactly 9 characters long.
2009-01-22 00:27:27 +01:00
Jilles Tjoelker
cd300c1b82
Simplify hunt_server(), send ERR_NOSUCHSERVER from only one place.
2009-01-21 20:15:07 +01:00
Jilles Tjoelker
161f040940
Update comments for parv[0] removal.
2009-01-18 18:22:43 +01:00
Jilles Tjoelker
106c88737f
If a privset is removed from ircd.conf, wipe its privs.
...
(Privsets continue to exist as long as they are referenced.)
2009-01-18 01:39:41 +01:00
Jilles Tjoelker
3a17735469
Change /stats O to show privset blocks (oper only).
...
To show operator blocks, only /stats o (lowercase) now works.
2009-01-18 01:35:24 +01:00
Jilles Tjoelker
bea2295fed
burst_TS6(): assume users have a UID
2009-01-16 23:11:11 +01:00
Jilles Tjoelker
42d609f65a
[ratbox3 svn r26397] Make it more likely that error messages on ssld connections get through.
...
When ssld reports a connection closure because of
"Remote host closed the connection" and the connection
is any server or a registered client, try a
read_packet() on the client.
This should mainly help LIBRB_USE_IOTYPE=poll which
iterates over the ready file descriptors in numerical
order, processing the ssld control connection before the
closing data connection.
2009-01-15 20:08:46 +03:00
androsyn
0bd120ed48
[svn r26332] get rid of the zip ready stuff
2009-01-01 14:50:21 +03:00
Aaron Sethman
a4165b42bf
re-enable ziplinks + ssl
2008-12-13 23:20:59 +03:00
Jilles Tjoelker
f2601e74cb
Update some copyright years.
2009-01-01 22:48:50 +01:00
Jilles Tjoelker
681ddf64d2
Allow opers to see other users umodes with /mode <nick>.
...
If the other user is local, the snomask is also shown.
2009-01-01 19:24:38 +01:00
Jilles Tjoelker
c98c2c89d6
Remove redundant check.
...
Surely, if source_p == target_p, then target_p->from == source_p->from.
2008-12-28 18:36:41 +01:00
Jilles Tjoelker
a1d2fafd55
Make sure default privset remains available, fixes various crashes
...
with default/invalid privsets and rehashing.
2008-12-27 23:13:48 +01:00
Jilles Tjoelker
31c86ea80f
Put libratbox version on startup in a nicer place.
2008-12-22 21:50:21 +01:00
Valeriy Yatsko
d2b6b9f308
[ratbox3 svn r26284 by androsyn] spew the libratbox version info on -version and at startup
2008-12-22 12:58:33 +03:00
Jilles Tjoelker
83235e9ed5
Show rejectcache/throttle in /testline output.
...
This adds more RPL_TESTLINE numerics with code '!'.
Different from the other results, the I/K line or
RESV will be shown as well.
2008-12-19 19:24:12 +01:00
Jilles Tjoelker
16ef24cf38
Only count throttle entries that cause rejection in /stats t.
2008-12-16 21:10:09 +01:00
Jilles Tjoelker
ae09cb7dbe
Show throttle info in /stats t.
...
from ircd-ratbox (androsyn)
2008-12-16 21:02:04 +01:00
Jilles Tjoelker
422bb0b553
Make rehashing privset{} change online oper privileges.
...
This also fixes memory leak due to multiple privsets
with the same name (added after each rehash).
2008-12-14 18:25:15 +01:00
Jilles Tjoelker
0e52d0d4cf
Unref privset of quitting oper.
2008-12-14 17:31:42 +01:00
androsyn
bdbc903306
cast getpid() to int
2008-12-10 12:46:23 +03:00
Aaron Sethman
cdf7c361aa
report logfile access issues
...
committer: Valeriy Yatsko <dwr@it-penza.org>
2008-11-16 10:15:28 +03:00
Valeriy Yatsko
731fac317d
Branch merge.
2008-12-03 02:59:26 +03:00
Valeriy Yatsko
b7a689d1e5
Remove irc_basename, replace it with rb_basename from libratbox.
2008-12-03 02:59:13 +03:00
Jilles Tjoelker
2a073ca2ed
Put back conditionally netwide ssld error snote.
2008-12-03 00:55:58 +01:00
Valeriy Yatsko
d0f4d745c6
Branch merge.
2008-12-03 02:50:01 +03:00
Valeriy Yatsko
3202e24921
Copied libratbox and related stuff from shadowircd upstream.
2008-12-03 02:49:39 +03:00
Jilles Tjoelker
d4db3063c7
Specify RTLD_LOCAL explicitly.
...
As in atheme-services, I guess some versions of
MacOS X need this.
2008-12-03 00:39:07 +01:00
Jilles Tjoelker
e33e589cbf
Split cidr_bitlen into cidr_ipv4_bitlen and cidr_ipv6_bitlen.
...
Taken from ircd-ratbox 3 via shadowircd.
2008-11-30 13:31:59 +01:00
Jilles Tjoelker
54e3b7658f
Remove unnecessary initialization that violates const.
2008-11-27 22:50:01 +01:00
Jilles Tjoelker
5c16ab05a0
Put back accidentally removed word.
2008-11-26 21:38:49 +01:00
Jilles Tjoelker
e07de82c26
Make the notices reporting auth{} privs a bit more serious-looking,
...
as in ratbox3.
2008-11-19 22:45:13 +01:00
Aaron Sethman
679ccbe5ef
make is_cti/is_sti collect times connected in unsigned long long instead of time_t as well..on 32bit boxes that is going to wrap pretty quickly
...
committer: Valeriy Yatsko <dwr@it-penza.org>
2008-11-16 10:04:09 +03:00
Jilles Tjoelker
b0c41d32b1
Only require DNSBL replies to be in 127.0.0.0/8 instead of /24.
2008-11-15 16:17:16 +01:00
Jilles Tjoelker
db3efb7ac2
Allow the resolver to process longer hostnames,
...
for the benefit of some DNSBLs like the "TorDNSEL service".
2008-11-15 16:13:39 +01:00
Jilles Tjoelker
ffe4e4ae65
Add WHOX to 005 so we can see if much breaks.
2008-11-09 00:27:15 +01:00
Jilles Tjoelker
48957a4951
Add ircu-like /who format options.
...
Use /quote help who for details.
The format code "o" (oplevel) is not documented,
but implemented showing dummy information (999 for
chanop, n/a otherwise).
2008-11-09 00:12:56 +01:00
Jilles Tjoelker
e0c1f4ecab
Show spambot notices for joins, not for parts.
...
Parts still decrement the counter for showing notices.
This shows more channels in the notices.
2008-11-08 17:22:41 +01:00