Jilles Tjoelker
1b19fe8b5e
Revert "sasl: remove checks for impossible conditions".
...
This check is not impossible and can be triggered by
sending a PASS command like a server would send first.
This backs out changeset 8cba4464feec.
2011-03-31 23:26:26 +02:00
William Pitcock
27126f911d
sasl: first attempt at ircv3.1 AUTHENTICATE EXTERNAL support
2011-03-31 00:35:58 -05:00
William Pitcock
d8c45202e3
sasl: remove checks for impossible conditions
2011-03-31 00:18:32 -05: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
Elizabeth Jennifer Myers
6493f05d8c
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
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
Keith Buck
9ad393f677
Fix multiple RPL_LISTEND replies when aborting a /LIST.
2011-01-02 00:43:11 -08:00
Jilles Tjoelker
1987b5da5b
Fix topic changes after 6af636dce2e6.
2010-12-27 17:31:11 +01:00
Stephen Bennett
341f971efa
Bring across disable_local_channels config option from ircd-seven
2010-12-21 20:38:04 +00:00
William Pitcock
261e2f9399
Accountname should not be prefixed with a colon to allow future expansion.
2010-12-16 00:32:48 -06: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
805cfa5ab2
Use send_channel_join().
2010-12-16 00:13:42 -06:00
William Pitcock
7a7f86d344
Rough implementation of the new account-notify client capability.
...
This replaces identify-msg in ircd-seven.
2010-12-15 23:04:57 -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
William Pitcock
cddbab51bb
Send ERR_TOOMANYCHANNELS for each channel join that fails due to channel limits.
...
The reason why we do this is because some clients are dependent on receiving a numeric
for every channel join failure, even due to this limit where it can be assumed that
subsequent joins failed.
2010-12-14 02:24:23 -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
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
0343b3c563
Use get_channel_access() for KICK/TOPIC.
2010-12-07 00:14:42 -06:00
William Pitcock
6ca4dec95a
Extend hook_data_channel_activity moduledata with membership struct.
2010-12-06 22:57:04 -06:00
William Pitcock
1f679bfe7b
Filter bogus CTCP ACTION messages.
2010-11-05 01:16:03 -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
Jilles Tjoelker
02e655aeac
Provide an error message when a user does /quote ban.
2010-08-29 15:16:47 +02: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
dd9b78dc92
Remove redundant MyClient check, it is already checked above.
2010-08-24 22:46:57 +02:00
Stephen Bennett
51269a8737
Merge backout of 8939a7e03d15
2010-08-24 21:31:55 +01:00
Stephen Bennett
0f1ab797e4
Backed out changeset 8939a7e03d15
...
The code behind this capability was never implemented, and subsequent
discussions have agreed to approach the problem differently. There seems no
reason to continue advertising a capability that does nothing.
2010-08-24 21:30:56 +01:00
William Pitcock
6fb6bd15ae
Enforce TS rules on MLOCKs.
2010-08-23 20:22:59 -05: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
William Pitcock
0770c9936e
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
76a2bba920
Propagate changed away messages to other servers,
...
even if the away status did not change.
2010-06-10 22:16:07 +02:00
Elly
15aa08eecb
Fix memory leaks in PASS command, both in normal and repeated use.
2010-06-01 13:11:47 -04:00
Stephen Bennett
ca656bf815
Fix compiler warning
2010-05-02 21:25:58 +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
1916ed52f8
Branch merge
2010-04-30 22:03:42 +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
a0ce140ed6
Improve technical documentation of BAN protocol.
2010-04-29 00:26:49 +02:00
Jilles Tjoelker
406478d224
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.
2010-04-15 00:46:33 +02:00
William Pitcock
bd44fc7b09
Automated merge with ssh://hg.atheme.org//hg/charybdis
2010-04-06 17:14:51 -05:00
William Pitcock
c239b97f68
Hook up source-account-hostmask client protocol extension.
2010-04-06 17:14:44 -05: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
803ce385bf
Fix various compiler warnings.
2010-03-27 20:09:46 +01:00
Jilles Tjoelker
5bd874eb41
Restore snotes, logs for UNRESV nick.
...
This bug was introduced when adding bandb.
2010-03-27 16:24:13 +01:00
Jilles Tjoelker
dca9e55257
Add propagated resvs, like klines and xlines.
2010-03-27 16:13:57 +01:00
Jilles Tjoelker
1b5d7c2e8a
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
a812a239c8
Remove unused variable.
2010-03-27 02:06:29 +01:00
Jilles Tjoelker
f89191ace9
BAN: xlines do not have oper reasons, their "reason" is already oper only.
2010-03-18 00:22:35 +01:00
Jilles Tjoelker
3cbbfb2556
Add propagated xlines, like klines.
2010-03-16 23:05:50 +01:00
Jilles Tjoelker
34e02db66b
Fix a signedness comparison warning.
2010-03-16 19:13:09 +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
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
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
416d868ed4
Add /stats g to show propagated (global) klines.
2010-03-06 00:31:51 +01:00
Jilles Tjoelker
6229f9f83b
Among bans with the same creation time, prefer the one with longest lifetime.
2010-03-05 23:16:28 +01:00
Jilles Tjoelker
9470d75a42
BAN: Avoid fake direction.
2010-03-05 22:53:35 +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
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
c935336b64
kline: Fix oper reasons.
2010-03-05 18:28:59 +01:00
Jilles Tjoelker
97f44d343a
Skip propagated bans in rehash txlines/tresvs.
2010-03-05 00:37:56 +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
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
3102dbdc4f
Use FLAGS_SENTUSER when checking whether to register when ping cookie is received.
2010-02-24 23:28:27 +01:00
Stephen Bennett
1fb3b1e1c4
Use FLAGS_SENTUSER instead of 'user' being non-empty to decide whether to register a user on CAP END.
...
identd and SASL can cause source_p->user to be present without USER having been sent.
Without this change, that could cause a crash later on as localClient->fullcaps is not initialised.
2010-02-23 22:35:58 +00:00
Jilles Tjoelker
ff91faaf76
Do not penalize for spambot checks if creating a new channel.
2010-02-21 01:45:51 +01:00
Jilles Tjoelker
4eb9a3ca0b
JOIN 0: Make spambot check equivalent to PART's.
2010-02-21 01:12:04 +01:00
Jilles Tjoelker
9148f6aa7c
Remove dead code: last_join_time is already updated by check_spambot_warning().
2010-02-21 01:10:04 +01:00
Jilles Tjoelker
cf3564d61f
Do not check for spambot if the user is not allowed to join the channel.
2010-02-21 01:07:32 +01:00
Jilles Tjoelker
fad065bb95
challenge: Fix build.
2010-02-18 23:42:07 +01:00
William Pitcock
ed8b3d69ac
Add certfp check to challenge too.
2010-02-17 23:01:25 -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
0cce7774d5
Subject /invite to umodes +g and +R.
...
The behaviour is the same as /msg except that where
/msg would send RPL_UMODEGMSG to the user, the /invite
is instead let through. This counts as a notification
for caller_id_wait like RPL_UMODEGMSG.
Checks are on the target user's server, which means an
error message will appear after RPL_INVITING.
This must be because the accept list is not globally
known.
2010-02-15 23:07:14 +01:00
Jilles Tjoelker
40b79a3908
Add missing return value.
2010-02-15 22:18:00 +01:00
Jilles Tjoelker
890af0e7c5
Subject /invite to target change.
...
Similar to /msg, inviting a user that is not in a channel
you have op or voice in requires a free target; opers always
have a free target.
Being invited adds the source as a reply target.
2010-02-15 22:08:55 +01: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
c9f01c4f2f
target change: Allow free replies.
...
When a user receives a private message, notice or RPL_UMODEGMSG,
add the source to a special set of 5 target slots.
These slots are checked in the normal way when sending messages,
allowing a reply without using up a free target.
This feature will not be very useful if a user is being messaged
by many different users; to help this, messages blocked entirely
by +g or +R do not affect the targets. CTCP replies also remain
free in terms of targets.
2010-02-15 01:07:07 +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
Jilles Tjoelker
ad1d39a76f
Make the number of targets tracked for target change a #define.
2010-02-13 15:18:17 +01:00
Jilles Tjoelker
96bfafc1f8
testline/testgecos: Send "not an oper" message if appropriate.
2010-02-07 17:57:36 +01: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
114105b429
Fix /links buffer overflow.
2010-01-27 21:05:10 +01:00
Jilles Tjoelker
1fd171a547
Fix op-moderate (cmode +z) for channel names with '@'.
2010-01-24 19:37:00 +01:00
Jilles Tjoelker
641eb2c3c8
Put back fb7d6089158e, not setting large_ctcp_sent for CTCP ACTION.
2010-01-20 00:03:57 +01:00
William Pitcock
2e918bf515
Merge +C (no CTCP to channels) from ircd-seven.
2010-01-19 02:11:04 -06:00
Jilles Tjoelker
3d0bbdcbe1
Do not set large_ctcp_sent for CTCP ACTION as it does not request a reply.
2010-01-14 01:12:16 +01:00
Jilles Tjoelker
a990586f4d
If a removed resv was temporary, mention this in the server notice.
...
This agrees with xline.
2010-01-09 22:14:53 +01:00
Jilles Tjoelker
1a9ea263fa
Add back unresv (permanent resv) notices.
2010-01-09 22:12:06 +01:00
Jilles Tjoelker
43d4d72ca9
Put back resv_forcepart.
...
This undoes erroneous revert in a3c064b3b8a2.
2010-01-09 19:08:48 +01: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
Jilles Tjoelker
4418166c7e
Do not change \s in xlines to spaces, match_esc() treats \s correctly.
...
This undoes erroneous revert in a3c064b3b8a2.
2010-01-08 18:13:47 +01:00
William Pitcock
00c036b172
Add back missing notices.
2010-01-07 18:17:08 -06:00
William Pitcock
23959371d0
Fix up more things with bandb.
2010-01-07 18:14:15 -06:00
William Pitcock
d4c273075e
Make this work again.
2010-01-07 17:50:49 -06:00
William Pitcock
f36d4fdd54
Make this work again.
2010-01-07 17:49:08 -06:00
William Pitcock
9964e93509
Readd some oper notices.
2010-01-07 17:37:52 -06:00
William Pitcock
8bbeb278ec
Update modules to use bandb_add()/bandb_del().
2010-01-07 17:19:03 -06:00
Jilles Tjoelker
0b5cf476f5
SCAN UMODES: default list-max to 500, like a global WHO.
2010-01-01 22:55: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
f4d319c7ae
Use full (:n!u@h) prefix for sending ETB from a user to clients.
2009-09-20 00:44:47 +02: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
Jilles Tjoelker
72d36704fc
Disallow changing away status via /presence.
...
Allowing this desynchronizes clients and servers that
do not know about this extension without good reason.
If you want to allow this, change it to spit out the
usual AWAY protocol.
2009-06-04 00:01:57 +02:00
Jilles Tjoelker
50325a6667
Reject presence updates with too long keys, instead of truncating them
...
and causing soft assertion failures. Values are still
silently truncated though.
2009-06-03 23:49:50 +02:00
Jilles Tjoelker
331c548d9d
Correct minimum parameter counts for PRESENCE.
2009-06-03 20:03:15 +02:00
Jilles Tjoelker
5beadfb00f
ENCAPs cannot come from local clients, no need to check.
2009-06-03 19:57:27 +02:00
Jilles Tjoelker
beafd0ee32
Remove special CAP presence handling of /whois away message.
...
This cannot work because /whois is executed remotely too
and CAPs aren't known remotely.
2009-06-03 19:54:49 +02:00
William Pitcock
0fc5aeca53
presence: m_presence module: Use safer get_metadata() where appropriate, to avoid crash possibilities.
2009-06-02 02:55:45 -05:00
William Pitcock
f72de72bf4
presence: Use RPL_WHOISMETADATA.
2009-06-02 02:44:31 -05:00
William Pitcock
8f2d1ccf7f
presence: If CLICAP_PRESENCE is enabled, then RPL_AWAY is replaced by the "away" keyword in the presence dataset.
...
As such, only fall back to legacy RPL_AWAY if CLICAP_PRESENCE is not set on source_p.
2009-06-02 02:17:42 -05:00
William Pitcock
54ff698839
presence: Add CLICAP_PRESENCE.
...
This will enable broadcasting presence updates on channels.
2009-06-02 02:14:44 -05:00
William Pitcock
4af8bcef59
presence: Replace stagnant free_away() call with delete_metadata(..., "away").
2009-06-02 02:06:18 -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
45d1f80189
presence: Add m_presence module. This provides an ENCAP s2s interface and lowlevel client interface.
2009-06-02 01:45:43 -05:00
Jilles Tjoelker
aa9c9ed268
Allow ctcp replies through floodcount after ctcp'ing a large group.
...
A large group is any $$ or $# or a channel with more than
floodcount/2 local members, checked on each server separately.
Note that floodcount checks are done on the sender's server.
The special treatment is active for 15 seconds.
2009-05-17 20:52:16 +02:00
Jilles Tjoelker
d69601a5e2
Rewrite perm xlines containing '",' from local opers (to '"\,').
...
The change also applies to xlines sent to other servers.
Note that the backslash must be supplied in an unxline.
Incoming xlines containing '",' are rejected to avoid
inconsistency between servers.
2009-05-08 14:42:55 +02:00
Jilles Tjoelker
cc169c9476
Disallow the sequence '",' in perm xlines,
...
it would cause problems with xline.conf.
2009-05-08 14:27:30 +02:00
Jilles Tjoelker
395935d103
Change \s to space when writing xline.conf, to be compatible with older versions.
2009-05-08 13:40:09 +02:00
Jilles Tjoelker
23a8f750f7
Disallow double quotes in klines.
...
These could cause parse problems with kline.conf.
2009-05-08 01:50:35 +02:00
Jilles Tjoelker
b0f30fa1ca
Disallow commas in channel resvs.
...
These can never match and could cause parse problems in resv.conf.
2009-05-08 01:23:40 +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
Jilles Tjoelker
39b23540e3
Stop changing \s to spaces in masktrace and testmask,
...
match_esc() handles \s directly now.
2009-05-07 23:58:32 +02:00
Jilles Tjoelker
a416ed2e79
Move check for required CAPABs to mr_server -- CAPAB may not be sent.
...
Also fix exit message.
2009-04-21 18:43:07 +02:00
William Pitcock
c6240d7940
Allow for capabilities to be marked as "required".
...
If capability negotiation fails on these capabilities, then the server link is dropped.
2009-04-20 09:36:55 -05:00
William Pitcock
5f8d323c59
can_kick hook, based on the ircd-seven one.
2009-04-20 09:20:11 -05:00
Stephen Bennett
9a180ae365
Allow / in spoofed hosts
2009-04-20 08:37:13 -05:00
Jilles Tjoelker
b7b1d686a9
Simplify floodcount checking, it is no longer affected by +g/+R anymore.
2009-04-19 00:04:21 +02:00
Jilles Tjoelker
631b4a542a
Use uid/sid for some ERR_CHANOPRIVSNEEDED if they go to a remote client.
2009-04-09 23:45:35 +02:00
Jilles Tjoelker
2ae93813bd
Add new topic command ETB, allowing services to set topic+setter+ts always
...
(provided channelTS != 0).
ETB is controlled by the EOPMOD capab. Fairly complicated
stuff is needed for older servers.
ETB can come from clients or servers, but at this time it
should only be sent from clients, as otherwise it is not
always possible to update older servers.
2009-03-29 17:08:42 +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
61b7e0d959
Do not send "<blah> is rehashing <blah>" notices to the remote oper.
2009-03-07 16:57:58 +01:00
Jilles Tjoelker
995f300eb1
Allow /rehash throttles to clear throttling.
2009-03-07 01:49:09 +01:00
Jilles Tjoelker
94734aacc6
Correct WHOX overflow check so it also works for fields other than the last.
...
Found with llvm static analyzer.
2009-03-01 01:58:53 +01:00
Jilles Tjoelker
f93bc39774
Remove some unused variables.
...
Found with llvm static analyzer.
2009-03-01 01:53:40 +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
18fc47e681
Disallow invites to juped channels.
...
In particular, this is checked when the source is
local and not resv_exempt, or the target is local and
not resv_exempt.
2009-02-06 14:07:03 +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
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
e5b12a6143
Show D:line oper reason in /testline.
2009-01-27 20:20:37 +01:00
Jilles Tjoelker
1e57e391c5
Get rid of local variable shadowing.
2009-01-25 16:26:17 +01:00
Jilles Tjoelker
cb2540a673
commit 1df4ff0b0558e4698819f8e4ac6ecb7654b81a2c
...
Author: Stephen Bennett <spb@exherbo.org>
Date: Sun Jan 18 16:30:27 2009 +0000
Make testline show oper reason and setter information for K:lines, where applicable
2009-01-25 16:23:36 +01:00
Jilles Tjoelker
ff8e6e19e0
Remove some more references to parv[0] in comments.
2009-01-18 21:20:14 +01:00
Jilles Tjoelker
161f040940
Update comments for parv[0] removal.
2009-01-18 18:22:43 +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
3dfaa67120
Replace parv[0] with source_p->name.
2009-01-17 01:18:19 +01:00
Jilles Tjoelker
0a849a8fa9
Do not log ERROR messages from unknowns.
...
from ircd-ratbox (androsyn)
2009-01-17 00:23:02 +01:00
Jilles Tjoelker
463947ad90
Remove more TS5 remnants.
2009-01-16 23:18:10 +01:00
Jilles Tjoelker
4dd5d304eb
Log to serverlog when throwing out a server because of a bad nickname.
2009-01-16 23:10:49 +01:00
Jilles Tjoelker
6c77f1f74f
Close the local link that sends a TS5 NICK introduction.
...
This is no longer supported and was already broken,
sending out a UID message without UID parameter to
other servers.
2009-01-16 23:08:05 +01:00
Jilles Tjoelker
94a84cdd98
Reject SCAN UMODES if invalid parameters are given.
2009-01-16 18:33:38 +01:00
Jilles Tjoelker
5cb843c6a5
Remove obsolete comment.
2009-01-07 23:35:24 +01:00
Jilles Tjoelker
5f29102170
Make SCAN UMODES GLOBAL NO-LIST MASK <mask> no longer an operspy command.
...
This agrees with allowing MODE <nick> as non-operspy.
2009-01-01 20:32:30 +01:00
Jilles Tjoelker
9a7ab95b89
Allow opers and shide_exempt users to see hopcounts even if flatten_links is on.
2008-12-27 22:41:52 +01:00
Jilles Tjoelker
8ee12f0c43
Show libratbox version info to opers in /info.
2008-12-23 00:28:05 +01:00
Jilles Tjoelker
bac250f689
Add code to detect overflow in WHOX.
...
This should currently be impossible, but may be
possible with extremely long server/nick names and
additional fields.
In case of overflow, the string sent to to the user is
truncated and if it was the first overflow since the
module was loaded a notice is sent to snomask +d.
2008-12-20 17:17:27 +01: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
ae09cb7dbe
Show throttle info in /stats t.
...
from ircd-ratbox (androsyn)
2008-12-16 21:02:04 +01:00
Jilles Tjoelker
ea6dade261
As in shadowircd, increase buffer for /who status.
...
Not necessary here but nice for consistency.
2008-12-03 22:54:30 +01:00
Jilles Tjoelker
41615da91c
Add operspy /topic.
...
This allows querying any channel's topic under the
operspy rules, but not changing it.
2008-12-03 00:16:05 +01:00
Jilles Tjoelker
6ccac783ae
Allow coloured part reasons in -c channels.
2008-11-29 22:22:18 +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
8feca1768e
Allow +z messages from outside if -n.
...
This gives a useful meaning to the cmode combo +mz-n:
messages from ops and voices go to all channel members,
messages from anyone else (on or off channel) go to ops.
With +mnz, messages from outside are not allowed at all.
2008-11-15 22:56:09 +01:00
Jilles Tjoelker
9cd063980a
Truncate idle time in /who to 32 bits.
...
Pointed out by dwr (but solved differently).
2008-11-15 21:15:38 +01:00
Jilles Tjoelker
62656efdd6
Should use rb_strlcpy instead of strlcpy...
2008-11-09 01:05:39 +01:00
Jilles Tjoelker
04d7768492
Remove LOCAL_COPY (and thus alloca) usage from /who.
2008-11-09 00:13:48 +01:00
Jilles Tjoelker
02eca3f19a
who: Use @+ combining for 354 numeric.
...
The 352 numeric uses it if CAP multi-prefix is enabled, as before.
2008-11-09 00:13:29 +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
3583564678
Make comment for ms_join() up to date.
2008-11-09 00:05:15 +01:00
Jilles Tjoelker
5807e0beaa
Allow normal users to use /chantrace.
...
The same information is already available via a
combination of /who and /trace.
2008-11-08 01:28:16 +01:00
Jilles Tjoelker
7b054ca30a
Do not send snotes/logs about juped servers trying to connect.
...
A juped server is defined as a server that already
exists with a service{} server as uplink.
If a juped server is introduced by another server,
this generates snotes/logs as before.
2008-09-25 00:00:36 +02:00
Jilles Tjoelker
7bf78de058
Make TS deops appear to come from the same server the other modes come from.
...
In particular, this makes atheme changets deops come
from the services server instead of the user's server.
2008-09-24 23:13:10 +02:00
Jilles Tjoelker
56023eb2e8
Add more detail in squit reason for certain invalid NICK/UID/EUID commands.
2008-09-16 22:53:44 +02:00
Jilles Tjoelker
591342826a
Avoid hardcoding the number of shared{} flags another time.
2008-09-09 18:42:59 +02:00
Jilles Tjoelker
7d91f0da00
Fix indentation.
2008-09-09 18:40:57 +02:00
Jilles Tjoelker
b159441429
Add need_ssl to auth{} and operator{}.
...
Specifying need_ssl on auth{} denies the connection if
it is not SSL/TLS, much like need_ident or need_sasl.
Specifying need_ssl on operator{} refuses opering with
ERR_NOOPERHOST if the connection is not SSL/TLS.
from ircd-ratbox
2008-09-07 01:18:58 +02:00
Jilles Tjoelker
4a5655b20d
Close the link that sends an invalid UID.
...
It does not make sense to send a kill using an invlid
identifier to an obviously broken server, as was
previously done.
2008-09-06 15:13:28 +02:00
Jilles Tjoelker
8c29ec4eeb
Remove check that cannot happen due to minparc in Message struct.
2008-09-06 01:33:18 +02:00
Jilles Tjoelker
8f7ca682ec
Improve server notices for hub_mask/leaf_mask.
...
Local-only server notices kept here because
hub_mask/leaf_mask tends to be specific to a (hub)
server. The same information is now available in
Netsplit notices.
2008-09-06 01:21:16 +02:00
Jilles Tjoelker
c2f73e5dbc
Use rb_snprintf() in various places.
2008-09-06 01:00:20 +02:00
Jilles Tjoelker
847ce0e98d
Remove comment referencing LazyLeaf.
2008-09-06 00:44:09 +02:00
Jilles Tjoelker
b1ace057a7
Avoid empty strings in various notices about rejected server connections.
...
These come from the name field which is empty for unknown
connections attempting to become a server.
Instead, put [@255.255.255.255] just like ratbox3 does.
2008-09-05 22:56:59 +02:00
Jilles Tjoelker
7d4287591f
Improve server notices for servers introducing existing servers.
2008-09-05 22:52:39 +02:00
Jilles Tjoelker
8e34ffc66e
Improve server notices about duplicate SIDs.
...
Note that this is checked after duplicate server names,
so it can only happen if multiple servers have the
same SID configured.
2008-09-04 01:41:49 +02:00
William Pitcock
86b6be08eb
Automated merge with ssh://hg.atheme.org//hg/charybdis
2008-08-29 14:48:06 -05:00
Stephen Bennett
9f1bde2683
don't set an empty password or auth_user
2008-08-29 14:47:51 -05:00
Jilles Tjoelker
d7dc7ae6c1
Remove some dead code.
...
found using llvm static analyzer
2008-08-29 02:53:52 +02:00
Jilles Tjoelker
e4bb4f3645
Remove another remnant of server hostmasking.
2008-08-26 00:00:11 +02:00
William Pitcock
50f2579264
m_privs: Add stuff for privsets here too.
2008-08-17 08:56:40 -05:00
William Pitcock
880c94adb4
/stats o: display name of privset instead of privs
2008-08-17 08:40:10 -05:00
Jilles Tjoelker
2bad578999
Allow /list on a named +p channel.
...
A full /list already included +p channels.
2008-08-12 22:34:37 +02:00
Jilles Tjoelker
43946961df
Move to ratbox3 reject and throttle code.
...
Throttle replaces max_unknown_ip, reject is like before
(including the charybdis-specific unkline handling).
Both of these now apply before SSL negotiation.
This commit does not include the global_cidr and new dline code.
m_webirc is a bit nasty with throttling (unlike before
with max_unknown_ip), this may be fixed later (or
the webirc IP needs to be exempt{}ed).
2008-08-01 01:59:08 +02:00
Jilles Tjoelker
59c3d09ab5
Fix testline crashes, introduced by the auth_user patch.
2008-07-31 22:25:17 +02:00
Jilles Tjoelker
db2545b11e
Remove an unnecessary check for &channels -- sendto_server() already does it.
2008-07-31 18:11:36 +02:00
Jilles Tjoelker
095efcf0fc
Use channel_modes() to convert a new channel's modes to a string.
2008-07-31 17:55:23 +02:00
Jilles Tjoelker
c287438827
Let ops/voices bypass tgchange/floodcount if sending to users in their channel.
...
This was already possible by using CPRIVMSG/CNOTICE
instead of PRIVMSG/NOTICE.
2008-07-27 23:34:58 +02:00
Jilles Tjoelker
ef57f7fb5e
Remove user@server messages to local users.
...
These are unreliable in general and only useful
for violating certain restrictions.
Sending such messages to remote servers is still
possible, for securely messaging pseudoservers whether
service{}'ed or not. The special oper-only syntax
opers@server remains as well.
2008-07-27 22:17:46 +02:00
Valery Yatsko
d20b49d5b1
crypt -> rb_crypt, fixing another gcc warning
2008-07-27 14:45:42 +04:00
Valery Yatsko
08e8aa7acc
Variable aconf was used before its initialization - fixed
2008-07-27 14:43:49 +04:00
Valery Yatsko
acdf71d9d2
A very draft version of extensions, which are adding can_join hooks for custom channel modes
2008-07-27 12:10:48 +04:00
Jilles Tjoelker
c24efdc0b7
Also apply floodcount to messages to remote clients (except services).
...
As before, only local clients can have their message blocked.
2008-07-22 01:46:34 +02:00
Jilles Tjoelker
351d22c09b
Do not check floodcount if user is messaging self.
2008-07-13 13:35:43 +02:00
Jilles Tjoelker
189b86d258
Regenerate depend files.
2008-07-12 01:52:27 +02:00
Jilles Tjoelker
baacec4186
Some fixes to .depend generation.
2008-07-12 01:52:14 +02:00
Jilles Tjoelker
9d107a7195
Move nick collision notices from +s to +k.
...
Remote nick collisions (Received KILL/SAVE message)
were already on +k.
2008-07-04 16:54:46 +02:00
Jilles Tjoelker
6a30990367
Reset check_splitmode_ev to NULL after removing it,
...
to exclude the possibility of it being removed twice.
like ircd-ratbox r25641 (jilles)
reverts 788:476d29d84191
2008-06-29 01:37:11 +02:00
Jilles Tjoelker
a672fbb78c
Make m_trace.c compile here (with gcc 4.2.1).
2008-06-28 21:08:04 +02:00
Valery V Yatsko
a4da8e48cd
m_trace.c fixed
2008-06-28 18:20:24 +04:00
Valery V Yatsko
a3afc27ac0
'empty_sockhost = "255.255.255.255"' const for report_this_status
2008-06-28 14:27:33 +04:00
Valery V Yatsko
b20d2f1908
report_this_status: declaration changed
2008-06-28 14:25:31 +04:00
Valery V Yatsko
7f621a1ecb
report_this_status fixed
2008-06-28 14:24:18 +04:00
Valery V Yatsko
b3ebc7ab9e
Applied svn diff from ratbox3 r21458:21470
2008-06-28 14:13:50 +04:00
Valery V Yatsko
402f3941d0
Removed unneeded '*_ev = NULL' statements
2008-06-28 12:12:18 +04:00
Valery V Yatsko
40c1fd4799
PASS selector:password for auth{}, based on spb's patch for ircd-seven
2008-06-26 10:18:58 +04:00
Valery V Yatsko
efccc22c27
Applying dyn-cmodes.diff - first step in implementing channel module
...
addition in extensions
2008-06-24 20:45:19 +04:00
Jilles Tjoelker
982ef94983
Remove more TS5 remants (sendto_server calls).
2008-06-14 02:06:55 +02:00
Jilles Tjoelker
7b22c84fab
Move -bqeI from lower TS SJOIN to a more logical place.
...
This is possible because TS5 support was removed.
2008-06-13 23:55:37 +02:00
Jilles Tjoelker
316cbf11bc
Add an additional check to mr_server() for TS6, in case we don't get an SVINFO
...
from ircd-ratbox (anfl)
2008-06-13 23:09:52 +02:00
Jilles Tjoelker
8afeb72097
SJOIN: remove various TS5 stuff
2008-06-13 23:03:52 +02:00
Jilles Tjoelker
1766edef79
SJOIN: check minimum parameters more strictly.
2008-06-13 00:32:01 +02:00
Jilles Tjoelker
23282da4b5
m_stats: get rid of function pointers with unspecified parameter lists
...
stats l/L is now more a special case than before
2008-06-11 00:53:21 +02:00
Jilles Tjoelker
21dc257c2c
m_set: get rid of function pointers with unspecified parameter lists
2008-06-11 00:39:01 +02:00
Jilles Tjoelker
a3143c9b6b
Some const stuff for m_set.
2008-06-11 00:28:08 +02:00
William Pitcock
890423fbf9
Suppress a warning.
2008-06-08 01:32:17 -05:00
William Pitcock
169c767d3d
modules: no more TS5
2008-06-08 01:27:25 -05:00
William Pitcock
d38d07f030
core modules: no more TS5.
2008-06-08 01:25:42 -05:00
Jilles Tjoelker
851119864a
Reindent.
2008-06-03 20:52:47 +02:00
Jilles Tjoelker
abee738b7d
Clean up m_trace somewhat.
...
All visibility logic is now in m_trace(), none in
report_this_status().
2008-06-03 20:52:00 +02:00
Jilles Tjoelker
9c05c19cce
Reject u@@h klines.
2008-05-21 23:00:10 +02:00
Jilles Tjoelker
af0ba24b4f
Give an error message when refusing a kline that has neither . : or @.
2008-05-21 22:56:51 +02:00
Jilles Tjoelker
2cfb7214ee
Require remoteban privilege to send dline/undline to other servers.
2008-04-23 18:32:46 +02:00
William Pitcock
e85075ec02
Use sendto_one_numeric() with the new AWAY numerics.
2008-04-21 20:26:23 -05:00
Jilles Tjoelker
61c096aa8f
Take out some seven-style server notices.
2008-04-20 19:43:50 +02:00
Jilles Tjoelker
37f6cc05d8
Repair fast/better undline (169:d8aa0d182c9f).
2008-04-20 16:05:17 +02:00
Jilles Tjoelker
5f7a6a3db2
Remove windows newlines (^M).
2008-04-20 15:47:53 +02:00
Valery Yatsko
f5cb68d51d
Remote d:lines implementation (based on ircd-seven's r230 by spb, Stephen Bennett <spb@attenuate.org>)
2008-04-20 11:26:37 +04:00
William Pitcock
ab4285181c
Remainder of irc_string.* is moved to new inline/stringops.h.
2008-04-20 01:03:11 -05:00
Valery Yatsko
4562c60489
irc_string.h -> match.h, irc_string.h; includes changed
2008-04-20 09:47:38 +04:00
Valery Yatsko
e3b33fe3e6
clean_string() is related to m_links.c ONLY - moved it there
2008-04-20 09:35:22 +04:00
Valery Yatsko
4a2651e520
strtoken -> rb_strtok_r (with arguments order changes)
2008-04-20 09:20:25 +04:00
Valery Yatsko
cbe4e1ba31
legacy irc sprintf gone
2008-04-20 09:12:09 +04:00
Valery Yatsko
08d75d9702
myctime -> rb_ctime
2008-04-20 09:03:39 +04:00
Valery Yatsko
caa4d9d273
Various inet* -> rb_inet_*
2008-04-20 08:55:41 +04:00
Valery Yatsko
1f9de103c3
strlcat -> rb_strlcat
2008-04-20 08:44:04 +04:00
Valery Yatsko
f427c8b00d
strlcpy -> rb_strlcpy
2008-04-20 08:40:40 +04:00
Valery Yatsko
6af128685d
Functions replacement: ircd_baseXX_{en,de}code -> rb_baseXX_{en,de}code
2008-04-20 08:36:28 +04:00