Commit graph

318 commits

Author SHA1 Message Date
William Pitcock
fa94d8fb93 make s_user.c build. 2008-04-01 20:36:50 -05:00
Valery Yatsko
398b6a7372 ok, trying to work on blockheap's stuff 2008-04-02 04:28:05 +04:00
Valery Yatsko
0ccdff98ac fixing cache.c compilation - code stolen from ratbox3, with irc dictionary addition 2008-04-02 04:15:58 +04:00
Valery Yatsko
e335494516 CurrentTime -> rb_currenttime(); 2008-04-02 03:53:20 +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
6e6a632636 ircd_defs.h declaration in stdinc.h - needed for some reasons. 2008-04-02 03:31:31 +04:00
Valery Yatsko
a1f535de14 Returned back declaration I've mistakenly removed. 2008-04-02 03:28:15 +04:00
Valery Yatsko
47a0375094 DubString -> rb_strdup 2008-04-02 03:26:34 +04:00
Valery Yatsko
300a543344 away stuff from ratbox3 2008-04-02 03:03:15 +04:00
Valery Yatsko
423f18a073 monitor.{c,h} stuff for libratbox3. 2008-04-02 02:55:34 +04:00
Valery Yatsko
81af5bcb39 libcharybdis includes gone. 2008-04-02 02:39:19 +04:00
Jilles Tjoelker
3b2ebd04de Make send.c compile, except for ziplinks. 2008-04-01 23:51:34 +02:00
William Pitcock
fa8328508d Make m_set compile. 2008-04-01 16:25:22 -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
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
Jilles Tjoelker
7b7e1640de Move PRIVS command from extensions to modules (shows effective oper privs). 2008-03-31 00:39:14 +02:00
Jilles Tjoelker
bd710c8837 Add ERR_DISABLED (517) from ircu. 2008-03-30 19:56:20 +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
48a266e5da Cleanups to 005 code, from ratbox (androsyn). 2008-03-18 23:28:03 +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
014e2aa049 Generate include/serno.h from the hg revision data.
The code is inspired by the code in atheme-services, but
* it uses 'hg parents' instead of 'hg tip' so it will
  also work if the working directory is not updated
  to the latest version in the local repository
* the format is different (date-shorthash instead of
  revnum:shorthash)
* some sort of serno.h is always generated, be it
  "unknown" only
2008-03-12 18:44:47 +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
5ca543e7c5 Remove FLAGS2_NOLIMIT (IsExemptLimits/SetExemptLimits).
This only has an effect at connection time, and the
ConfItem flag suffices for that.
2008-01-06 00:16:57 +01:00
Jilles Tjoelker
de82e84fae Use a more expected value for SHARED_TRESV. 2008-01-05 14:58:13 +01:00
Jilles Tjoelker
962747349b Send a rate-limited server notice if a blacklist gives a non-127.0.0.x reply. 2008-01-05 00:38:23 +01:00
Jilles Tjoelker
fddc5ee420 config.h: remove some obsolete options, move MAX_BUFFER to tunable section 2008-01-04 18:42:59 +01:00
Jilles Tjoelker
be462ae76a Overwrite config.h.dist with config.h.
config.h.dist serves no purpose other than a backup copy
for local changes to config.h
2008-01-04 18:33:36 +01:00
Jilles Tjoelker
cdd5b26189 Remove idle time checking (auto disconnecting users idle too long). 2008-01-01 23:04:34 +01:00
Jilles Tjoelker
d61de0adff Remove various obsolete ConfItem statuses (types) and flags. 2008-01-01 16:06:59 +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
7d1f9131fb Consolidate duplicate channel mode flags tables to one. 2007-12-25 01:00:20 +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
3fec9477b8 Rearrange flags2 to make room for 3 more oper privileges. 2007-12-24 21:16:19 +01:00
Jilles Tjoelker
095328a742 Move various flags from flags2 to flags. 2007-12-24 20:58:55 +01:00
Jilles Tjoelker
9696c9d6ab Remove various unused macros. 2007-12-24 20:40:12 +01:00
Jilles Tjoelker
86142e83d7 Remove unused CONF_FLAGS_DO_IDENTD and FLAGS_NEEDID. 2007-12-24 20:32:41 +01:00
Jilles Tjoelker
29c55c49f2 Remove unused flag FLAGS_CHKACCESS. 2007-12-24 20:26:39 +01:00
Jilles Tjoelker
420b2c9a10 Remove dot_in_ip6_addr config option. 2007-12-24 18:24:23 +01:00
Jilles Tjoelker
1ebe6ffc92 Add resv oper priv, enabled by default for compatibility. 2007-12-17 02:20:14 +01:00
Jilles Tjoelker
d7f753cd3a Do not copy string passed to add_top_conf()/add_conf_item().
If the caller can keep a function pointer valid, they can
certainly keep a string valid.
This also fixes an error with HAVE_STRDUP undefined.
2007-12-13 00:14:02 +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
Jilles Tjoelker
1cda7a9cb2 Change meaning of "bits" in FNV hash functions to bitlen instead of 32-bitlen.
Do reduction like recommended by
http://www.isthe.com/chongo/tech/comp/fnv/index.html#xor-fold
2007-12-08 19:44:18 +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
William Pitcock
90187f2112 It compiles, ship it. 2007-12-02 09:41:13 -06:00
William Pitcock
8ac7552983 commands and aliases go from horrible hashtable code to dictionary... try 1 2007-12-02 09:34:45 -06:00
William Pitcock
c98390004f Automated merge with ssh://hg.atheme.org//hg/charybdis 2007-12-02 09:06:50 -06:00
William Pitcock
d6bda36db1 Add irc_dictionary code. 2007-12-02 09:06:25 -06:00
Jilles Tjoelker
4e0f14a0e8 Add find_exact_conf_by_address() to find klines etc by exact mask. 2007-11-28 23:59:49 +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
nenolod
0a61720ad4 [svn] - we do not need to call find_server() in the function for registering local users 2007-11-20 03:16:43 -08:00
nenolod
cc32202d96 [svn] Explain invalid username rejections to users when they are rejected. 2007-11-20 03:08:23 -08:00
jilles
407b1826e6 [svn] Update description of oper privileges a bit. 2007-11-17 13:55:48 -08:00
jilles
832942858c [svn] Fix desyncs with very long extbans. Bans can now be upto 195 chars long. 2007-11-07 15:45:14 -08:00
jilles
5b87d08a05 [svn] allocate_channel(): no need to truncate name, its only caller already does it
furthermore, truncating here causes an inconsistent channel name
2007-11-07 13:45:14 -08:00
jilles
fea1ad5224 [svn] Fix a memory leak. 2007-10-27 14:56:53 -07: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
jilles
c614f4a9c9 [svn] Make EXTBAN 005 token like unreal's (, instead of :). 2007-09-09 11:59:08 -07:00
jilles
d64fec57a1 [svn] Remove a sentence which gives the impression that TS6 is optional. 2007-09-06 13:30:22 -07:00
jilles
0c30404320 [svn] Clarify format of IPv6 addresses in SGML documentation. 2007-08-29 15:18:31 -07:00
jilles
b0dc8e031c [svn] Clarify format of IPv6 addresses in auth{} and connect{}. 2007-08-29 15:04:45 -07:00
jilles
f0e3fa7629 [svn] Add more information about invitations and invexes. 2007-08-23 14:02:31 -07:00
jilles
518bd9012d [svn] Add what /invite actually does (bypass +ijlr). 2007-08-23 12:00:10 -07:00
jilles
29fa754919 [svn] callerid (+g) documentation:
- Mention 005 (isupport) token with possibility of different mode letter.
- Explicitly clarify that /accept can be used while -g, and setting -g
  does not clear the accept list.
- Mention that some users may be able to bypass +g.
- Mention that /accept may allow more than just going through +g.
- Update to 716/717/718 numerics instead of notices.
- Clarify that the one-minute period applies to messages from all users,
  not just one user.
- Add a numerics section with more exact syntax.
2007-08-18 07:45:10 -07:00
jilles
8e8f4ffc19 [svn] Send TS6 protocol for the actual work of override modules.
Wallops remain TS5-style for now.
2007-08-10 15:31:14 -07:00
nenolod
abe616bb76 [svn] - update IDEAS as TS6 only is partially done 2007-08-08 23:50:13 -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
nenolod
fffecc26ed [svn] - better text for RPL_LOAD2HI explaining in a better way what is going on 2007-08-08 23:40:52 -07:00
jilles
8f0a1bf3ac [svn] Also rerun autoheader, for solaris ports changes. 2007-08-01 13:52:54 -07:00
jilles
7dfa2d1d42 [svn] Rerun autoconf for version bump, at last. 2007-08-01 13:50:54 -07:00
jilles
2f15f871ff [svn] Make highest connection counts a bit more consistent. 2007-08-01 13:18:12 -07:00
jilles
4f3f411b34 [svn] Fix wrong line numbers in ircd.conf parser (some comments).
from ratbox 2.2 (androsyn).
2007-07-30 10:26:00 -07:00
jilles
d62ae16cb0 [svn] Change EmptyString so gcc 4.2 doesn't complain.
from ratbox (androsyn), slightly changed
2007-07-26 07:21:57 -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
fd488ac17a [svn] Use mask_match() to check bans from local clients for
redundancy. This fixes the problem that bans like *!?@*
prevent any ban starting with *!*@ being set.
2007-07-14 06:34:50 -07:00
jilles
df251055ca [svn] Add mask_match(), like ircu mmatch().
This compares two masks and returns whether the "new" is
more specific than or equal to the "old". The difference
with match() is that a '?' in "old" does not match a '*' in
"new".
2007-07-14 06:32:18 -07:00
jilles
94d53e53a4 [svn] add_id() for local client: do not collapse() the ban mask.
The code calling this already collapses the mask, and if
not, doing it here would cause a desync.
2007-07-14 05:20:48 -07:00
nenolod
efb1d08613 [svn] - fix dereference problems with not widely used polling engines 2007-07-07 01:08:23 -07:00
nenolod
b076458c6f [svn] - forgot to do something 2007-07-06 00:56:14 -07:00
nenolod
514235a762 [svn] - fix a possible problem with ipv6 2007-07-06 00:54:54 -07:00
nenolod
762cc38cf9 [svn] - new ip cloaking module 2007-07-06 00:48:28 -07:00
jilles
8aba962d43 [svn] monitor: send the same message buffer to all users
monitoring a certain nick; the target field of the
numeric becomes *, much like server notices
2007-06-30 15:15:35 -07:00
jilles
66b4a7ae7a [svn] Call add_to_hostname_hash() with correct (orig) hostname. 2007-06-22 14:59:09 -07:00
jilles
88cb7f9965 [svn] Version bump on trunk to 2.3. 2007-06-10 09:14:03 -07:00
nenolod
f80a18239d [svn] - "please report this to the ratbox developers" -> "please report this to the charybdis developers". not sure how we overlooked this for so long. 2007-06-06 09:25:21 -07:00
nenolod
4a8fab1f7b [svn] Add IRC_DEPRECATED macro for marking functions and data structures
as deprecated on compilers that support it.
2007-06-06 09:20:40 -07:00
nenolod
7fd77cb085 [svn] - update IDEAS with link failover 2007-06-06 08:46:12 -07:00
jilles
7d08aa8911 [svn] xline/resv wildcard checking:
- count escaped (\) characters as one nonwild
- accept strings without wilds no matter how short they are
2007-06-04 09:04:49 -07:00
jilles
5832fa369b [svn] Tweak some comments in sno_whois extension. 2007-05-30 03:22:25 -07:00
jilles
f7b6029312 [svn] Tweak NEWS a little. 2007-05-30 03:22:01 -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
a6ac2e9122 [svn] - add some IDEAS, including SASL based opering, internally reworking channel access (custom access
levels?), hideops, namespace cleanups, etc
2007-05-26 23:33:26 -07:00
nenolod
a3986d9482 [svn] - disallow JOIN 0 2007-05-26 22:44:35 -07:00
nenolod
57b8cb0fcf [svn] - blacklist{}: add notes about DroneBL and enable it by default. AHBL is still not enabled by default due
to their policies indicating that they wish to be contacted before their services are used.
2007-05-26 22:35:06 -07:00
nenolod
a88fc0a897 [svn] - update NEWS in preparation of upcoming 2.2 release this week 2007-05-26 22:30:41 -07:00
jilles
297c7db408 [svn] Move sno_channeljoin to unsupported, due to the privacy
issue and the fact that any oper with admin or hidden_admin
can load extensions.
2007-05-24 08:10:06 -07:00
nenolod
45ed977779 [svn] - createoperonly: like createauthonly, but checks opered status instead of authed status 2007-05-23 21:28:36 -07:00
nenolod
59e2698a9f [svn] - sno_channeljoin: implements snomask +j and sends channel join notices there from local users 2007-05-23 21:16:02 -07:00
nenolod
446d88ddd4 [svn] - update config files 2007-05-23 21:02:33 -07:00
nenolod
3868ef9a7c [svn] - fold in whois_notice_global functionality. 2007-05-23 21:01:12 -07:00
nenolod
9e6feafe29 [svn] - rework spy_whois_notice as a snomask-implementing module, snomask +W. 2007-05-23 20:58:27 -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
b808adf9d3 [svn] - fold conf_connect_allowed() into accept_connection()
- extend add_connection() so that exempt{}s apply to max unregistered
  connections per ip
from ratbox
2007-05-18 13:31:33 -07:00
jilles
477bbce447 [svn] m_webirc: call del_unknown_ip() otherwise the unknown will
never be subtracted from the cgiirc ip
2007-05-18 12:51:22 -07:00
jilles
8017ad2d27 [svn] Remove s_assert in del_unknown_ip() supposedly if the ip
cannot be found, it is not feasible to avoid that case
entirely with m_webirc.c.
2007-05-18 12:14:18 -07:00
jilles
54015b5fea [svn] Apply ratbox flood fix. 2007-05-14 15:21:16 -07:00
nenolod
f8b45e91a3 [svn] - fix a bug here 2007-05-08 17:32:08 -07:00
nenolod
c1c5fdc4b6 [svn] - regen configure 2007-05-06 19:57:50 -07:00
nenolod
686ebf4149 [svn] - remove "ASM hashing code" from the configure overview 2007-05-06 19:53:54 -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
1d3e262e40 [svn] Remove emptyline craq because it leaks memory on /rehash motd etc.
from ratbox 2.2 (anfl/Androsyn)
2007-05-02 12:56:40 -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
f1e35c19a7 [svn] Merge old trunk r2065,r2067:
channel_modes(): get rid of the trailing space
also make the *pbuf check work like it should
(don't call IsMember another time if we already
gave one parameter)
simplify a bit more, update comments
2007-04-26 16:01:16 -07:00
jilles
4636e5cbac [svn] webirc bugfix 2007-04-25 08:22:28 -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
f22db6d04b [svn] Fix description of 043 numeric. 2007-04-22 07:35:28 -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
e2b44358a2 [svn] Move new_local_user hook, so it is possible to call
exit_client() from it, refusing the connection.
2007-04-15 09:54:50 -07:00
jilles
ec3fbdecd2 [svn] Only free PreClient struct when the rest of the Client
is freed, not immediately upon exit_client(). Doing this
would cause problems with sasl's new_local_user hook
vs hooks that exit the client there.
2007-04-15 09:49:56 -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
nenolod
725a6c5dc9 [svn] - 2.2 operline 2007-04-06 14:25:37 -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
jilles
afc20e91f7 [svn] Change code that checks maxclients limit: allow exactly
the configured amount of non-exceed_limit clients.
Code that appeared to limit exceed_limit clients too
but less heavily removed (it was not effective because
the parentheses were wrong).
2007-04-04 17:24:47 -07:00
jilles
23836ead45 [svn] By default, leave MAX_BUFFER fds free for log files,
server connections, ident lookups, exceed_limit clients,
etc. Mention this in example.conf and reference.conf.
2007-04-04 17:12:55 -07:00
jilles
78e647ad3f [svn] --with-maxclients configure option is gone 2007-04-03 15:45:04 -07:00
jilles
1aa8ffcbfd [svn] Make the code that raises fd rlimit to hard limit work. 2007-04-03 15:25:11 -07:00
nenolod
f32e30ddd8 [svn] - note the I/O reworking 2007-04-03 04:45:22 -07:00
nenolod
751894543b [svn] - use mkdir -p 2007-04-03 04:37:39 -07:00
nenolod
5522d08c14 [svn] - enforce proper conditions for EPOLL_CTL_DEL.
- remove possibly problematic "performance" check
2007-04-03 03:49:11 -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
nenolod
1b4cfad88d [svn] - river's ports.c from old charybdis trunk 2007-04-03 02:57:53 -07:00
nenolod
5e12fb1089 [svn] - remove broken ports stuff and devpoll stuff. 2007-04-03 02:50:56 -07:00
nenolod
4536ee2587 [svn] - regenerate files 2007-04-03 02:49:11 -07:00
nenolod
6c8cbf341b [svn] - remove x86-optimized hash code. 2007-04-03 02:37:03 -07:00