Jilles Tjoelker
9fc04df8c8
Use ERR_NOPRIVS when an oper is not allowed to see admin-only /stats.
...
This includes opers without the admin flag and admins on other servers.
2008-03-29 23:09:45 +01:00
Jilles Tjoelker
5b0c1b47c6
Fix compiler warning.
2008-03-29 21:36:11 +01:00
Jilles Tjoelker
48a038f4b5
Fix Invalid CAP subcommand error if the user has no nick.
2008-03-18 23:47:37 +01:00
Jilles Tjoelker
3f6e258775
target change: use fnv32 hash of UID instead of pointer to identify clients
...
This way, the information remains valid after a split.
For clients on TS5 servers, the nick is used; this is
not much of a problem because these are on pseudoservers
and not assumed to change nick much at all.
2008-03-16 00:39:49 +01:00
Jilles Tjoelker
43f8445df3
Show some target change statistics in /stats t.
...
- the number of messages blocked by target change on
this server since it was started
- the number of IPs currently subject to a a lower
target limit on this server (these expire over time)
2008-03-02 17:03:56 +01:00
William Pitcock
aed5ce90a5
Remove CHFL_DEOPPED entirely.
...
Since charybdis 2.3 will require TS6, emulating legacy semantics is
unnecessary.
2008-02-27 14:08:27 -06:00
Jilles Tjoelker
81daf9555b
Remove CHFL_DEOPPED check from TMODE.
...
This check sometimes blocks oper overrides (OMODE).
It does not stop any hacks that the channelTS check
already stops, because CHFL_DEOPPED is only set when
this server ignored an @ in an incoming SJOIN (the
SJOIN is then propagated without the @) and this
can only be because of a TS difference.
2008-02-25 00:05:15 +01:00
Jilles Tjoelker
8c39f0bf04
Fix a UID leak.
2008-02-04 23:56:13 +01:00
Jilles Tjoelker
8170176a78
Remove silly a2client_p, entirely pointless since User.server removal.
...
(and was pointless since Client.servptr was introduced)
2008-01-14 23:59:46 +01:00
Jilles Tjoelker
e4b9c8e115
Add two missing colons for sendto_one_notice().
2008-01-06 00:12:51 +01:00
Jilles Tjoelker
0a621c4b5b
If stats k is masked for nonopers, treat stats k and K the same.
...
There is no point in forcing two stats requests for just
one line of information.
2008-01-05 17:00:00 +01:00
Jilles Tjoelker
cdd5b26189
Remove idle time checking (auto disconnecting users idle too long).
2008-01-01 23:04:34 +01:00
William Pitcock
c5c2f506c1
Replace int fd; in local client object with an fde object.
2007-12-28 15:06:33 -06:00
Jilles Tjoelker
922aa82644
More helpful ERROR server notices.
...
- Do not use hide_error_messages for certain "safe" ERRORs.
- If hide_error_messages hides an ERROR from a handshake,
send a server notice anyway, but without the message
text.
- Send server notices about ERRORs from handshakes network
wide if it was a remote connect.
2007-12-28 01:31:56 +01:00
Jilles Tjoelker
7f27e3163d
Never allow a duplicate kline; always allow a wider kline.
...
Duplicate klines are now disallowed regardless of
no_redundant_klines. There is a somewhat hackish check
to see if the new kline is wider than the existing one.
2007-12-26 00:51:22 +01:00
Jilles Tjoelker
d922ddedfd
When removing a temp kline, show removed mask, not given mask.
...
Example: when temp klining 10.0.0.0/16 and unklining 10.0.0.1/16,
it showed 10.0.0.1/16 being removed before, and shows
10.0.0.0/16 now.
2007-12-26 00:18:22 +01:00
Jilles Tjoelker
a58cdfa3f4
Send a few more snotes about remote connects netwide.
...
(bad password for server, SID exists)
2007-12-25 16:19:54 +01:00
Jilles Tjoelker
bd2b16f309
Use "SID Exists" instead of "Server Exists" where appropriate.
2007-12-25 01:16:18 +01:00
Jilles Tjoelker
7d1f9131fb
Consolidate duplicate channel mode flags tables to one.
2007-12-25 01:00:20 +01:00
Jilles Tjoelker
34c10ff5f5
Make the notable TS delta snote netwide as this may screw up the entire network.
2007-12-25 00:18:34 +01:00
Jilles Tjoelker
62433315e9
Put full detail in the SQUIT reason for invalid TS version or excessive TS delta.
2007-12-25 00:16:26 +01:00
Jilles Tjoelker
f2c1b06bcf
Make the other notices to snomask +b network wide.
...
(with the exception of flooding on an &channel)
2007-12-24 22:43:47 +01:00
Jilles Tjoelker
a6f4368b96
Add mass_notice oper priv, enabled by default for compatibility.
...
Controls /wallops and masked notices/privmsgs.
2007-12-24 21:47:05 +01:00
Jilles Tjoelker
095328a742
Move various flags from flags2 to flags.
2007-12-24 20:58:55 +01:00
Jilles Tjoelker
420b2c9a10
Remove dot_in_ip6_addr config option.
2007-12-24 18:24:23 +01:00
Jilles Tjoelker
544cde9033
Don't allow opers to bypass can_create_channel check.
...
Modules need to do so themselves, if desired.
2007-12-18 00:17:25 +01:00
Jilles Tjoelker
326217c4d0
Don't allow faking adminwall via wallops, in case anyone loads it.
2007-12-17 18:50:22 +01:00
Jilles Tjoelker
1ebe6ffc92
Add resv oper priv, enabled by default for compatibility.
2007-12-17 02:20:14 +01:00
Jilles Tjoelker
e8149a2c64
Make /rehash help work again.
2007-12-12 22:26:17 +01:00
Jilles Tjoelker
35f6f850b6
Remove reject entries on unkline/ungline/unxline.
...
When a user is rejected, remember the hash value of the
ban mask (for klines/glines, hash value of the user part
XOR hash value of the host part) with the rejected IP;
if the kline/gline/xline is removed, remove rejects with
the same hash value also. Note that this does not happen
for expiries; this is deliberate.
Rejects for no auth{} or dnsbl put a hash value of 0;
they cannot be removed selectively.
2007-12-08 21:54:51 +01:00
William Pitcock
9802490cbb
help system rework, part 1
2007-12-03 19:35:55 -06:00
William Pitcock
b37021a45e
nickdelay -> dictionary.
2007-12-03 10:59:25 -06:00
Jilles Tjoelker
6444959578
Fix receiving TS5 client introductions.
...
This was broken due to User.server removal.
2007-12-01 19:11:44 +01:00
Jilles Tjoelker
1328da8618
Speed up /unresv. Rehash bans now only happens if explicitly requested.
2007-11-30 23:35:48 +01:00
Jilles Tjoelker
60c96e64c1
Clean up m_xline a bit.
2007-11-30 23:35:14 +01:00
Jilles Tjoelker
5408b484da
Speed up /unxline similarly.
2007-11-30 14:10:24 +01:00
Jilles Tjoelker
6f3a09ff67
Speed up /undline similarly
...
- Change find_exact_conf_by_address() to work for dlines also.
- Use find_exact_conf_by_address() to find the dline and
abort immediately if there is no such dline.
- When removing a permanent dline, remove the dline from
the data structures instead of rehashing bans.
- Convert alternative ways to write the same dline to the
one in the found dline. (This was changed in unkline too.)
2007-11-30 01:14:12 +01:00
Jilles Tjoelker
40a1d44606
Speed up /unkline
...
- Use find_exact_conf_by_address() to find the kline and
abort immediately if there is no such kline.
- When removing a permanent kline, remove the kline from
the data structures instead of rehashing bans.
2007-11-29 00:12:51 +01:00
Jilles Tjoelker
60e127c188
Correct already X-Lined notice.
2007-11-25 18:19:26 +01:00
Jilles Tjoelker
0fdb257090
When checking if a nick resv or xline already exists, match exact not wild.
...
This is important because masks containing @ or # do not
match themselves.
2007-11-25 18:18:07 +01:00
Jilles Tjoelker
c0bc9fe39a
Show opers a list of recently (<24hrs) split servers in /map.
2007-11-23 23:38:54 +01:00
Jilles Tjoelker
994544c294
Merge links_cache into scache and rework scache.
...
This changes flattened /links output to disclose less
routing information and slightly increases memory "leak"
from server names that do not come back anymore.
2007-11-23 22:11:25 +01:00
Jilles Tjoelker
66c8fdd207
Remove Server.up and Server.upid.
...
Server.up is obsolete, like User.server.
Server.upid has never been really useful.
2007-11-22 00:38:13 +01:00
William Pitcock
c88cdb0095
Get rid of User.server.
2007-11-20 06:36:55 -06:00
jilles
732a8c5344
[svn] Make /knock send to all channel members on +g (anyone may invite) channels.
2007-09-09 12:19:23 -07:00
nenolod
cda8e9b8db
[svn] - TS6 is always enabled now.
...
There is no reason for it to not be enabled on a proper charybdis network.
2007-08-08 23:47:26 -07:00
jilles
f7eac53df5
[svn] In a two-argument whois, RPL_ENDOFWHOIS should show second arg.
...
This already works correctly for successful/notfound case.
2007-07-14 14:50:21 -07:00
jilles
66b4a7ae7a
[svn] Call add_to_hostname_hash() with correct (orig) hostname.
2007-06-22 14:59:09 -07:00
jilles
f4a80ce6a1
[svn] - allow JOIN 0 from remotes
...
- allow JOIN 0 from locals, but only if it is exactly one
zero and is the first channel
2007-05-27 06:07:27 -07:00
nenolod
a3986d9482
[svn] - disallow JOIN 0
2007-05-26 22:44:35 -07:00
jilles
88a2a1484b
[svn] Prevent too wide klines with CIDR masks.
2007-05-19 16:36:51 -07:00
jilles
598ebb42c7
[svn] Exempt klines with a fixed user@ (no */?) from min_nonwildcard checks.
2007-05-19 15:21:10 -07:00
jilles
0482ebf7b6
[svn] Target left IRC (more friendly error message if a UID
...
cannot be found) for /invite.
2007-05-06 07:46:45 -07:00
jilles
1117fbd3d5
[svn] Merge old trunk r2767:
...
Copy channel name from command on lowerTS JOIN/SJOIN,
this makes the capitalization of the channel name
timestamped like modes are.
2007-04-28 16:47:25 -07:00
jilles
822a4a2537
[svn] chghost: refuse spoofs which are empty or start with a colon
...
(would break the protocol)
2007-04-25 08:21:34 -07:00
jilles
3f7e06428a
[svn] SAVE: make the nickTS of the UID nick equal to 100, so it
...
is always in sync on the network.
2007-04-22 07:02:54 -07:00
jilles
95ffa68595
[svn] Force nickTS to increase when a local user changes their nick.
2007-04-22 04:22:10 -07:00
jilles
81795a910c
[svn] Remove #define UFLAGS. We haven't allowed this
...
undocumented extension to the IRC protocol for
years (allowing an initial umode in USER).
2007-04-15 13:18:54 -07:00
jilles
452f4d4bcc
[svn] Use TS6 prefix for server-server JOIN 0.
2007-04-14 14:53:28 -07:00
jilles
d1d0629f54
[svn] Use orighost in kill server notices.
2007-04-14 13:58:56 -07:00
jilles
f4ed5745de
[svn] set: Use sendto_one_notice() for MAXCLIENTS too high notice.
2007-04-13 12:06:53 -07:00
jilles
d8228627f2
[svn] Show max_clients in /info.
2007-04-04 17:38:52 -07:00
jilles
6c70c576cc
[svn] Don't allow /quote set max higher than the
...
serverinfo::max_clients ircd.conf value.
2007-04-04 17:33:52 -07:00
nenolod
607cf49f89
[svn] - rename m_list_safelist to m_list and remove ratbox implementation
2007-04-03 03:18:07 -07:00
nenolod
e8a2d50da8
[svn] - some more transit to sendto_one_numeric().
2007-04-03 03:15:39 -07:00
nenolod
885203035d
[svn] - change some sendto_one() to sendto_one_numeric().
2007-04-03 03:11:06 -07:00
jilles
f71e18eee5
[svn] Repair operspy who !#channel, broken by me in r3283.
2007-04-02 15:03:08 -07:00
jilles
0bba178826
[svn] Don't show the UID if a TS6 server sends a kick with
...
an empty or no comment. Note that charybdis never sends
such kicks.
2007-03-28 16:17:06 -07:00
jilles
add9f99dfa
[svn] Merge old trunk r2907,r2991:
...
Allow TESTLINE on channel names.
2007-03-28 08:22:49 -07:00
jilles
8a1e143f6f
[svn] Merge old trunk r2817:
...
WHOIS: Show the given nick in ERR_NOSUCHNICK even if it
starts with a digit. This is safe because the last
parameter is a nick and never a UID. (The first parameter
in a server-server two-param whois is a UID/SID.)
2007-03-28 07:54:10 -07:00
jilles
5ea98c7a83
[svn] Merge old trunk r2695:
...
Send an SQUIT instead of an ERROR to announce /die to connected servers.
This will generate better server notices.
2007-03-28 07:45:46 -07:00
jilles
9c2f9ec9a2
[svn] Merge old trunk r2226:
...
If we are connecting outward to a server, check if the
server name they sent is the same as what we tried to
connect to. Previously such a connection could succeed
if there existed connect blocks with the same IP and
passwords for the other server name.
2007-03-28 07:30:10 -07:00
jilles
7201bb21a4
[svn] Merge old trunk r2212:
...
Another handling of SJOINs without nicks:
Propagate them if the channel is +P or the channel
already existed, otherwise remove the channel again
and do not propagate the SJOIN.
2007-03-28 07:21:37 -07:00
jilles
04513cff6c
[svn] Remove channels entirely from /whois on services.
...
This cannot be overridden with operspy.
2007-03-28 06:49:57 -07:00
jilles
4cda5f2264
[svn] Fix /who on channels with ** in their name.
2007-03-28 06:11:30 -07:00
jilles
1ebf4db4c6
[svn] Allow /invite (but not invex) to override +r, +l, +j in
...
addition to +i. As before, a restrictive mode must be in
place at /invite time for the invite to have an effect;
+r does not count as a restrictive mode if the user is
logged in; +l and +j always count as restrictive modes to
allow for cases where they would allow join at /invite
time but not when the user tries to join.
2007-03-15 11:09:08 -07:00
jilles
307328bb13
[svn] Remove invite_ops_only, forcing it to YES.
2007-03-13 09:09:28 -07:00
nenolod
35237302c0
[svn] - MASTER_MAX is no longer relevant
2007-03-05 11:01:05 -08:00
jilles
14e23b0e1e
[svn] Fix some cases where the size argument to strlcpy()
...
for usernames and hostnames is 1 too small.
2007-03-04 17:14:46 -08:00
jilles
61569b65f2
[svn] Cut down quit/part/kick reasons to avoid quit reasons
...
overflowing the client exiting server notice (from
TOPICLEN to 260). kill reasons become shorter accordingly.
kline/dline/gline reasons become 390.
away messages stay at TOPICLEN for now.
2007-03-04 15:42:55 -08:00
jilles
bee3b6716c
[svn] Port over ratbox 2.2 r23507, r23624, r23626 (jilles/anfl):
...
Change TS6 JOIN processing
- don't send out simple modes in TS6 JOIN and TS5 SJOIN when
a local user joins an existing channel
- don't send out simple modes in TS6 JOIN and TS5 SJOIN when
propagating a TS6 JOIN
- don't interpret simple modes in an incoming TS6 JOIN
This is to avoid desyncs when certain mode changes (e.g. -im)
cross with joins. A downside is that simple modes will be
more desynched when a JOIN creates a channel or lowers TS,
but that's less important.
Update the TS6 specification to include this, and clarify
that TMODE can come from a server and that MODE must be
translated into TMODE from other servers too.
2007-02-19 16:34:28 -08:00
jilles
4d7a1ee5d1
[svn] Change two occurances like match(userinput, target_p->name) ||
...
match(target_p->name, userinput) to just match(userinput,
target_p->name). No client name can contain * or ? now.
2007-01-31 17:07:42 -08:00
jilles
e26e2b1954
[svn] Do not try find_server() on a name find_client() has
...
returned NULL for, as this will always return NULL
since the removal of hostmasking.
2007-01-31 16:49:07 -08:00
jilles
b0b7de54b1
[svn] Remove server_exists() which checked whether the
...
server name existed taking hostmasking into account
and just check with find_server(); admittedly
this checks if the name is a SID but that's not
a real problem.
2007-01-31 16:34:33 -08:00
jilles
63aecfb960
[svn] Change spambot, flooder and jupe joiner notices from host to orighost.
2007-01-31 15:57:18 -08:00
nenolod
8d0903892e
[svn] - nick[user@host] -> nick!user@host in kill messages. based on jilles' change in 3.0
2007-01-24 23:36:23 -08:00
nenolod
5366977b4f
[svn] Backport from early 3.x:
...
--
nenolod 2006/09/27 16:39:14 UTC (20060927-2178)
Log:
- remove "Processing connection to foobar.net" message
Changes: Modified:
+0 -3 trunk/src/s_auth.c (File Modified)
nenolod 2006/09/27 16:34:26 UTC (20060927-2176)
Log:
- missed the processing connection one (actually, we can probably nuke this one)
Changes: Modified:
+1 -2 trunk/src/s_auth.c (File Modified)
river 2006/09/27 16:33:05 UTC (20060927-2174)
Log:
get_client_name = stupid
Changes: Modified:
+10 -7 trunk/modules/core/m_kill.c (File Modified)
nenolod 2006/09/27 16:32:37 UTC (20060927-2172)
Log:
- remove excessive arguments
Changes: Modified:
+1 -2 trunk/src/s_conf.c (File Modified)
+1 -1 trunk/src/s_user.c (File Modified)
nenolod 2006/09/27 16:30:59 UTC (20060927-2170)
Log:
- use sendto_one_notice() for on-connect notices too.
Changes: Modified:
+10 -10 trunk/src/s_auth.c (File Modified)
nenolod 2006/09/27 16:27:01 UTC (20060927-2168)
Log:
- use sendto_one_notice() in the core, too.
Changes: Modified:
+2 -2 trunk/src/chmode.c (File Modified)
+8 -15 trunk/src/modules.c (File Modified)
+3 -5 trunk/src/s_conf.c (File Modified)
+1 -2 trunk/src/s_newconf.c (File Modified)
+20 -57 trunk/src/s_user.c (File Modified)
river 2006/09/27 16:19:25 UTC (20060927-2166)
Log:
the KILL command will use get_client_name(, SHOW_IP) instead of
target->name, and will show a more useful error for local opers
Changes: Modified:
+6 -4 trunk/modules/core/m_kill.c (File Modified)
nenolod 2006/09/27 16:09:48 UTC (20060927-2164)
Log:
- fix bugs in sendto_one_notice()/sendto_one_numeric() where a client identifier won't be sent to unregistered clients
Changes: Modified:
+4 -2 trunk/src/send.c (File Modified)
nenolod 2006/09/27 16:05:46 UTC (20060927-2161)
Log:
- back out r2159
Changes: Modified:
+1 -1 trunk/include/client.h (File Modified)
nenolod 2006/09/27 16:04:05 UTC (20060927-2159)
Log:
- get_id(): fall back to "*" if client has no known name
Changes: Modified:
+1 -1 trunk/include/client.h (File Modified)
nenolod 2006/09/27 16:01:29 UTC (20060927-2157)
Log:
- convert to sendto_one_notice().
Changes: Modified:
+2 -3 trunk/unsupported/m_clearchan.c (File Modified)
+4 -6 trunk/unsupported/m_force.c (File Modified)
nenolod 2006/09/27 15:57:11 UTC (20060927-2155)
Log:
- use sendto_one_notice() in many places instead of
sendto_one(source_p, ":%s NOTICE %s :", ...);
Changes: Modified:
+10 -25 trunk/extensions/example_module.c (File Modified)
+5 -14 trunk/extensions/hurt.c (File Modified)
+1 -2 trunk/extensions/m_42.c (File Modified)
+7 -12 trunk/extensions/m_mkpasswd.c (File Modified)
+1 -2 trunk/extensions/m_ojoin.c (File Modified)
+1 -2 trunk/extensions/m_opme.c (File Modified)
+3 -3 trunk/extensions/spy_whois_notice.c (File Modified)
+3 -3 trunk/extensions/spy_whois_notice_global.c (File Modified)
+3 -7 trunk/modules/core/m_die.c (File Modified)
+2 -4 trunk/modules/core/m_kill.c (File Modified)
+2 -2 trunk/modules/core/m_squit.c (File Modified)
+1 -2 trunk/modules/m_challenge.c (File Modified)
+11 -15 trunk/modules/m_connect.c (File Modified)
+20 -28 trunk/modules/m_dline.c (File Modified)
+2 -2 trunk/modules/m_etrace.c (File Modified)
+11 -21 trunk/modules/m_gline.c (File Modified)
+2 -4 trunk/modules/m_kline.c (File Modified)
+1 -2 trunk/modules/m_rehash.c (File Modified)
+3 -7 trunk/modules/m_restart.c (File Modified)
+31 -45 trunk/modules/m_set.c (File Modified)
+2 -4 trunk/modules/m_testmask.c (File Modified)
+5 -8 trunk/modules/m_unreject.c (File Modified)
+2 -5 trunk/modules/m_xline.c (File Modified)
--
2007-01-24 23:23:01 -08:00
nenolod
212380e3f4
[svn] - the new plan:
...
+ branches/release-2.1 -> 2.2 base
+ 3.0 -> branches/cxxconversion
+ backport some immediate 3.0 functionality for 2.2
+ other stuff
2007-01-24 22:40:21 -08:00