Commit Graph

314 Commits

Author SHA1 Message Date
William Pitcock fa00b4ada9 presence: m_presence module: Use safer get_metadata() where appropriate, to avoid crash possibilities. 2009-06-02 02:55:45 -05:00
William Pitcock 50aa2dd31d presence: Use RPL_WHOISMETADATA. 2009-06-02 02:44:31 -05:00
William Pitcock fa2a410abe 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 6364809623 presence: Add CLICAP_PRESENCE.
This will enable broadcasting presence updates on channels.
2009-06-02 02:14:44 -05:00
William Pitcock 51f73b614b presence: Replace stagnant free_away() call with delete_metadata(..., "away"). 2009-06-02 02:06:18 -05:00
William Pitcock 987ef7eb1f 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 0827f524e0 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 fcda56627d 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 cbd758d71c 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 b6c85cc60b Disallow the sequence '",' in perm xlines,
it would cause problems with xline.conf.
2009-05-08 14:27:30 +02:00
Jilles Tjoelker 44bdc688cb Change \s to space when writing xline.conf, to be compatible with older versions. 2009-05-08 13:40:09 +02:00
Jilles Tjoelker 448a723f81 Disallow double quotes in klines.
These could cause parse problems with kline.conf.
2009-05-08 01:50:35 +02:00
Jilles Tjoelker 6e5b8a5dec 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 63860dd1a7 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 eb5e3f1520 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 031c4b89d3 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 fde16193c4 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 16d8d9fc6d can_kick hook, based on the ircd-seven one. 2009-04-20 09:20:11 -05:00
Stephen Bennett 59bb80930d Allow / in spoofed hosts 2009-04-20 08:37:13 -05:00
Jilles Tjoelker cb9345dcd1 Simplify floodcount checking, it is no longer affected by +g/+R anymore. 2009-04-19 00:04:21 +02:00
Jilles Tjoelker c925bc7706 Use uid/sid for some ERR_CHANOPRIVSNEEDED if they go to a remote client. 2009-04-09 23:45:35 +02:00
Jilles Tjoelker 80df74cfc5 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 6ce8910d97 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 cb4ddd7268 Do not send "<blah> is rehashing <blah>" notices to the remote oper. 2009-03-07 16:57:58 +01:00
Jilles Tjoelker 0b1e46f5b4 Allow /rehash throttles to clear throttling. 2009-03-07 01:49:09 +01:00
Jilles Tjoelker 8fc0a9b621 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 a6210c453a Remove some unused variables.
Found with llvm static analyzer.
2009-03-01 01:53:40 +01:00
Jilles Tjoelker dea418e9b4 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 f47964e44a 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 6b2cf989b6 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 af2484840a Remove comments related to (removed) ability to disable TS6. 2009-01-30 16:50:00 +01:00
Jilles Tjoelker 1ba281712f For remote rehashes, send error messages to the requesting oper as well. 2009-01-30 00:11:12 +01:00
Jilles Tjoelker c70fcd85f7 Show D:line oper reason in /testline. 2009-01-27 20:20:37 +01:00
Jilles Tjoelker 1b09d11527 Get rid of local variable shadowing. 2009-01-25 16:26:17 +01:00
Jilles Tjoelker e19c515ce9 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 77f3c1f440 Remove some more references to parv[0] in comments. 2009-01-18 21:20:14 +01:00
Jilles Tjoelker ac408af6cb Update comments for parv[0] removal. 2009-01-18 18:22:43 +01:00
Jilles Tjoelker 3619e29987 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 8e425f4137 Replace parv[0] with source_p->name. 2009-01-17 01:18:19 +01:00
Jilles Tjoelker a13b19f9fe Do not log ERROR messages from unknowns.
from ircd-ratbox (androsyn)
2009-01-17 00:23:02 +01:00
Jilles Tjoelker 1c4d0f3ceb Remove more TS5 remnants. 2009-01-16 23:18:10 +01:00
Jilles Tjoelker ffa772f3d4 Log to serverlog when throwing out a server because of a bad nickname. 2009-01-16 23:10:49 +01:00
Jilles Tjoelker 6eb9f03a13 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 9f811fcefd Reject SCAN UMODES if invalid parameters are given. 2009-01-16 18:33:38 +01:00
Jilles Tjoelker 7b31d528b1 Remove obsolete comment. 2009-01-07 23:35:24 +01:00
Jilles Tjoelker c80b76f022 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 6dfa266965 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 c552a39d49 Show libratbox version info to opers in /info. 2008-12-23 00:28:05 +01:00
Jilles Tjoelker 0ec112cc00 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 760ef9e1ea 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