Jilles Tjoelker
7f4fa1956e
More changes for libratbox.
2008-04-01 23:11:11 +02:00
Jilles Tjoelker
bfccb2c0e1
Various changes for libratbox.
2008-04-01 23:03:14 +02:00
Jilles Tjoelker
9f6c335332
Change over some dlink functions.
2008-04-01 22:54:08 +02:00
William Pitcock
38e6acddad
ircs[n]printf -> rb_s[n]printf
2008-04-01 15:38:40 -05:00
William Pitcock
31c047d725
Make this compile, but lots of warnings.
2008-04-01 15:26:43 -05:00
William Pitcock
581fa5c499
ircsprintf -> rb_sprintf
2008-04-01 15:21:53 -05:00
William Pitcock
08d11e34cc
start making this compile
2008-04-01 15:18:48 -05:00
William Pitcock
db6b03137d
bork bork bork
2008-04-01 15:14:08 -05:00
William Pitcock
b37edd511a
Allow ENCAP GCAP to be reused to broadcast capability changes to the network.
...
This means that modules can now be added which change CAPs.
2008-04-01 11:45:46 -05:00
Jilles Tjoelker
8e0633f56f
Move PRIVS command from extensions to modules (shows effective oper privs).
2008-03-31 00:39:14 +02:00
Jilles Tjoelker
889b032125
Use ERR_DISABLED in CHGHOST and STATS e.
2008-03-30 20:02:55 +02:00
Jilles Tjoelker
5a34b193e6
Unbreak /quote help stats as an oper (all where oper and user help are different).
...
Remove symlink optimization, so helpfiles equal for
opers and users are loaded into memory twice, which
is not an issue.
2008-03-29 23:38:22 +01:00
Jilles Tjoelker
ff74c93aee
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
af58bf737a
Fix compiler warning.
2008-03-29 21:36:11 +01:00
Jilles Tjoelker
230a6e6c41
Fix Invalid CAP subcommand error if the user has no nick.
2008-03-18 23:47:37 +01:00
Jilles Tjoelker
4d17e288b4
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
26f754d989
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
fda6c724ea
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
c240ecad4f
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
3499aa48d5
Fix a UID leak.
2008-02-04 23:56:13 +01:00
Jilles Tjoelker
1f8b58e769
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
d1264ac892
Add two missing colons for sendto_one_notice().
2008-01-06 00:12:51 +01:00
Jilles Tjoelker
8eee9ee160
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
e54995b150
Remove idle time checking (auto disconnecting users idle too long).
2008-01-01 23:04:34 +01:00
William Pitcock
de0572442e
Replace int fd; in local client object with an fde object.
2007-12-28 15:06:33 -06:00
Jilles Tjoelker
372b2193ec
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
df7a3250b1
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
4c171a9c72
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
fd4ba65e17
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
16e0550f25
Use "SID Exists" instead of "Server Exists" where appropriate.
2007-12-25 01:16:18 +01:00
Jilles Tjoelker
2a719c44c0
Consolidate duplicate channel mode flags tables to one.
2007-12-25 01:00:20 +01:00
Jilles Tjoelker
757f5aa8fc
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
55b5711c56
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
9f8d60cc83
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
c13a2d9ad3
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
2d2c402d0b
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