Commit graph

263 commits

Author SHA1 Message Date
Valery Yatsko
7685dd090f m_stats.c fixed not to use kb in tstats output 2008-04-08 18:05:29 +04:00
Valery Yatsko
b2c42c4589 Branch merge 2008-04-08 18:01:37 +04:00
Valery Yatsko
4c79bbd350 Working over zipstats bug and moving on the new ServerStats struct (without Kb counting, this style is used by code parts from ratbox3) 2008-04-08 18:00:38 +04:00
Valery Yatsko
69986379a7 'pargs' gone from set_final_mode - should be correct 2008-04-07 19:05:29 +04:00
Valery Yatsko
8cc12805d7 m_sjoin.c gone, merged with m_join.c 2008-04-07 18:26:59 +04:00
Valery Yatsko
f6f5f9c2c7 Missed include 2008-04-07 15:29:39 +04:00
Jilles Tjoelker
ad35b2cd1f If we see an invalid nick, close the local link instead of killing it.
This avoids annoying users when someone links a test
server with the wrong nicklen and is more likely to lead
to the inconsistency being fixed than a kill.
2008-04-06 22:04:42 +02:00
William Pitcock
af7aaa8444 fix whois :) 2008-04-06 12:04:25 -05:00
William Pitcock
340a0ddd26 remove unneeded notice, whois idle works fine :) 2008-04-06 11:48:28 -05:00
Valery Yatsko
c6d7203732 ssl sync with http://hg.angelforce.ru/charybdis-old 2008-04-06 18:52:42 +04:00
Valery Yatsko
101db4c443 Much clear maxconnections stuff - ported from ratbox3. 2008-04-05 23:56:15 +04:00
Valery Yatsko
9ea3ea1085 Missed some files in r520 commit. 2008-04-05 21:20:48 +04:00
Valery Yatsko
ccda6e3fc5 Replacing legacy IPV6 define with RB_IPV6 (which is included in libratbox's config.h). 2008-04-05 20:57:30 +04:00
Valery Yatsko
47adde3def s_stats.c removed, now we use new style of stats handling. 2008-04-04 19:54:37 +04:00
Jilles Tjoelker
7df5fcfbd3 Make m_dline and m_kline load again. 2008-04-04 01:18:47 +02:00
Jilles Tjoelker
70b72a0792 Unbreak /stats ? and fix a bug in /stats Z. 2008-04-03 23:21:20 +02:00
Jilles Tjoelker
28d337da4d Unbreak percentage display in /map.
This now uses integer arithmetic instead of floating point.
2008-04-03 22:55:09 +02:00
Jilles Tjoelker
519bd8540b Make m_stats and m_svinfo load again. 2008-04-03 22:01:59 +02:00
Jilles Tjoelker
f237e31a12 Get rid of ^M. 2008-04-03 22:00:22 +02:00
William Pitcock
4016731b1c s_log.* -> logger.* (s_foo looks ugly, lets try to get rid of it) 2008-04-02 21:52:01 -05:00
Jilles Tjoelker
428f846339 Clear event pointer after removing it. 2008-04-02 21:22:18 +02:00
Jilles Tjoelker
e4c7305103 Revert 415a87c328d1 as the corresponding ConfItem change won't be done now. 2008-04-02 20:43:12 +02:00
Valery Yatsko
70c365cb35 Synching http://angelforce.ru:8000/ with http://hg.atheme.org/charybdis 2008-04-02 21:43:20 +04:00
William Pitcock
0f021a8c1d Automated merge with http://angelforce.ru:8000/ 2008-04-02 10:58:55 -05:00
Valery Yatsko
e7046ee54d irc_sockaddr_storage -> rb_sockaddr_storage, changing fd in Listener struct to F 'cause libratbox3 need it. 2008-04-02 19:57:37 +04:00
Valery Yatsko
a4f22ead11 m_xline.c fixed 2008-04-02 19:47:04 +04:00
Valery Yatsko
97b41ffab9 m_pass.c fixed 2008-04-02 19:45:22 +04:00
Valery Yatsko
54ac8b60a1 Reverting some changed related not to moving on libratbox3 but using ratbox3 source! 2008-04-02 19:37:50 +04:00
William Pitcock
3633815dd3 Make m_resv.so build again. 2008-04-02 10:30:44 -05:00
Valery Yatsko
060755414b warnings fixed 2008-04-02 16:10:09 +04:00
Valery Yatsko
907cea99d2 reject.h include 2008-04-02 16:06:45 +04:00
Valery Yatsko
19fee732d7 tstats stuff gone to m_stats.c 2008-04-02 16:04:43 +04:00
Valery Yatsko
da1d5ec6b5 m_unreject.c fixed 2008-04-02 15:28:55 +04:00
Valery Yatsko
a2d6ed4b25 m_testline.c fixed 2008-04-02 15:27:59 +04:00
Valery Yatsko
18d5e9820d another fix 2008-04-02 15:26:28 +04:00
Valery Yatsko
a6724dd02c m_kline.c warning fixed, but read my comment 2008-04-02 15:25:36 +04:00
Valery Yatsko
9168d56f1f remove_temp_glines() without legacy api 2008-04-02 15:23:07 +04:00
Valery Yatsko
d20d004550 daddr - unused variable warning fixed 2008-04-02 15:21:35 +04:00
Valery Yatsko
6f24a013bf fixing dline 2008-04-02 15:20:15 +04:00
Valery Yatsko
39bdbd3f7d 'ServerStats->' -> 'ServerStats.' 2008-04-02 15:07:00 +04:00
Valery Yatsko
2bef65c9ad Line doesn't exists in ratbox3 and makes compile warning - gone 2008-04-02 15:05:04 +04:00
Valery Yatsko
ae78a57163 Reverting to 398.. trying again with native charybdis hash 2008-04-02 14:16:31 +04:00
Valery Yatsko
e55bb3da3d m_message::add_target from ratbox3 2008-04-02 14:05:17 +04:00
Valery Yatsko
f7e2c5b340 Trying again - this will need ssld integration from me 2008-04-02 13:32:14 +04:00
Valery Yatsko
38cbb0a259 m_pass.c fix 2008-04-02 05:59:06 +04:00
Valery Yatsko
e335494516 CurrentTime -> rb_currenttime(); 2008-04-02 03:53:20 +04:00
Valery Yatsko
f40f6bc1cb dlinkAddAlloc -> rb_dlinkAddAlloc 2008-04-02 03:44:26 +04:00
Valery Yatsko
d269d0b639 linebuf_len -> rb_linebuf_len for modules 2008-04-02 03:43:26 +04:00
Valery Yatsko
e8e79621df Fixed another two warnings in m_stats.c 2008-04-02 03:41:54 +04:00
Valery Yatsko
a235e4101d extern void send_pop_queue(struct Client *); in header, will implement this some time later 2008-04-02 03:39:08 +04:00
Valery Yatsko
47a0375094 DubString -> rb_strdup 2008-04-02 03:26:34 +04:00
Valery Yatsko
2bc1d86ce6 m_capab.c fixed - please check whether I am correct 2008-04-02 03:09:21 +04:00
Valery Yatsko
eddc2ab6d8 MyMalloc -> rb_malloc 2008-04-02 03:07:29 +04:00
Valery Yatsko
90840a2915 m_away.c derived from ratbox3 - looks much better and do not use deprecated DupString. 2008-04-02 03:00:38 +04:00
Valery Yatsko
637c4932f6 Argh, wrong replace caused by MS VS 2005 interface. 2008-04-02 02:47:17 +04:00
Valery Yatsko
bd19829278 MyFree -> rb_free 2008-04-02 02:45:16 +04:00
Valery Yatsko
81af5bcb39 libcharybdis includes gone. 2008-04-02 02:39:19 +04:00
Valery Yatsko
f24a7dfbaf Removing libcharybdis references. 2008-04-02 02:18:44 +04:00
William Pitcock
cf9a6b7557 make m_signon build. 2008-04-01 16:29:32 -05:00
William Pitcock
fa8328508d Make m_set compile. 2008-04-01 16:25:22 -05:00
William Pitcock
03dba44854 Automated merge with ssh://hg.atheme.org//hg/charybdis 2008-04-01 16:15:06 -05:00
William Pitcock
e69385f4fa fix highest_fd nonsense 2008-04-01 16:14:47 -05:00
William Pitcock
75d600888f Clean these modules up. 2008-04-01 16:12:16 -05:00
Jilles Tjoelker
7018b86a12 More changes for libratbox. 2008-04-01 23:11:11 +02:00
Jilles Tjoelker
0e7cb7e6a1 Various changes for libratbox. 2008-04-01 23:03:14 +02:00
Jilles Tjoelker
555ac41f14 Change over some dlink functions. 2008-04-01 22:54:08 +02:00
William Pitcock
b2f0da886e ircs[n]printf -> rb_s[n]printf 2008-04-01 15:38:40 -05:00
William Pitcock
ba200635a6 Make this compile, but lots of warnings. 2008-04-01 15:26:43 -05:00
William Pitcock
7cdb0a09b9 ircsprintf -> rb_sprintf 2008-04-01 15:21:53 -05:00
William Pitcock
5b96d9a6b9 start making this compile 2008-04-01 15:18:48 -05:00
William Pitcock
d56734d6dd bork bork bork 2008-04-01 15:14:08 -05:00
William Pitcock
1f112a04f4 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
7b7e1640de Move PRIVS command from extensions to modules (shows effective oper privs). 2008-03-31 00:39:14 +02:00
Jilles Tjoelker
22f2f68a07 Use ERR_DISABLED in CHGHOST and STATS e. 2008-03-30 20:02:55 +02:00
Jilles Tjoelker
85550587fb 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
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