Commit graph

883 commits

Author SHA1 Message Date
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
nenolod 3611dcf761 [svn] - apparently setting KE_LENGTH to 128 is fine. 2007-04-03 02:34:38 -07:00
nenolod 631ef23987 [svn] - remove the rest of the MAX_CLIENTS stuff. change kqueue implementation accordingly. (needs testing) 2007-04-03 02:31:11 -07:00
nenolod 6fcb8629ae [svn] - remove ALL braindead 2.8 I/O artifacts: MASTER_MAX, HARD_FDLIMIT, HARD_FDLIMIT_, MAXCONNECTIONS, MAX_CLIENTS, etc.
they are ALL gone. all of this stuff is now determined at runtime via getrlimit(2).
- due to this, devpoll is broken. i'm not motivated to fix it at the moment.
2007-04-03 02:21:31 -07:00
jilles f71e18eee5 [svn] Repair operspy who !#channel, broken by me in r3283. 2007-04-02 15:03:08 -07:00
jilles 9113281379 [svn] Update bug report and IRC channel information. 2007-04-01 15:20:00 -07:00
jilles 8d53472c4a [svn] Change copyright years in version.c.SH as in release-2.1 r3339. 2007-04-01 15:10:05 -07:00
jilles 3ad1a781e1 [svn] Rerun autoconf. 2007-03-30 16:34:11 -07:00
jilles a34ec229bf [svn] Need to check for various flavours of epoll,
even if --enable-epoll is forced.
2007-03-30 16:33:43 -07:00
jilles 5c5d24f088 [svn] Hack to allow some more warnings, already present in configure (?). 2007-03-30 16:32:43 -07:00
jilles 64f2a7eb2c [svn] Merge old trunk r2077,r2079:
- Move closing of servlink control fd to close_connection()
  instead of doing it in exit_local_server(), and make sure
  we first close the data fd and then the control fd.
- Have servlink process ready fds in order net, data, ctrl
  instead of ctrl, data, net.  This seems to fix the problem
  that squit reasons do not show up on the other side of a
  ziplink (by making it send any final SQUIT and/or ERROR
  before noticing the closed control fd).
2007-03-29 13:03:06 -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 8d19a2b257 [svn] Merge old trunk r2081:
Don't say that services cannot be killed in
ERR_ISCHANSERVICE message (given when trying
to kick or deop them), as that's not the case.
2007-03-28 08:40:24 -07:00
jilles e7d250a693 [svn] Merge old trunk r2059
Clarifications to the descriptions of umode +Q and cmode +F,
suggested by Ariadne@SorceryNet.
2007-03-28 08:30:56 -07:00
jilles add9f99dfa [svn] Merge old trunk r2907,r2991:
Allow TESTLINE on channel names.
2007-03-28 08:22:49 -07:00
jilles 42bda3f3d2 [svn] Merge old trunk r2835:
resolver: if sendto(2) fails, try sending to the next nameserver
2007-03-28 08:04:06 -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 a5ea0e0dc4 [svn] Merge old trunk r2779,r2785:
Show correct privilege name in a few ERR_NOPRIVS numerics.
2007-03-28 07:49:48 -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 c83cbedc0e [svn] Merge old trunk r2294:
Zero out the varlist passed to substitution_* when rejecting DNSBL clients.
2007-03-28 07:33:50 -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 0af87e57ad [svn] NEWS: As in 2.1.3, mention that the TS6 revision will
interoperate with older versions
2007-03-25 10:59:50 -07:00
jilles 3891c2c24f [svn] Fix documentation of HIDE_SERVERS_IPS define. 2007-03-18 09:29:31 -07:00
jilles 4b7e690457 [svn] Don't leak auth{} spoofed ip for I-line is full notice either. 2007-03-18 07:44:24 -07:00
jilles 0b15df83c0 [svn] Update NEWS. 2007-03-17 16:50:25 -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
jilles 0734f634d9 [svn] Move username check after xline and dnsbl checks, so it
will not complain to opers about clients who are xlined
or blacklisted anyway (both of which silently reject).
2007-03-06 06:07:11 -08:00
nenolod 35237302c0 [svn] - MASTER_MAX is no longer relevant 2007-03-05 11:01:05 -08:00
nenolod c2d96fcbff [svn] - add config option for setting max_clients. 2007-03-05 10:58:38 -08:00
nenolod 68ff929f3d [svn] - remove get_maxrss() and all of that insecure and unsafe nonsense 2007-03-05 10:51:17 -08:00
nenolod a6a30f6f7b [svn] - avoid some potential NULL dereferencing 2007-03-05 10:42:24 -08:00
nenolod c18de29d18 [svn] - fix a typo 2007-03-05 10:41:14 -08:00
nenolod ce439f5186 [svn] - rework poll a bit for the MAXCONNECTIONS changes. 2007-03-05 10:40:39 -08:00
jilles 51b5f3356a [svn] Our way of using kqueue may cause it to report fds we
don't know about anymore, cope.
2007-03-05 09:52:28 -08:00
jilles df98bc52c8 [svn] Don't reference freed memory (fde_t) in comm_close(). 2007-03-05 09:41:40 -08:00
nenolod 61e3b8f276 [svn] - fix for 100% cpu use 2007-03-05 09:35:17 -08:00
nenolod d0e1e8ee78 [svn] - rework comm_checktimeouts() to use the hashtable in an efficient manner. 2007-03-05 09:31:35 -08:00
nenolod c961476e55 [svn] - clear up use of fd_table in ircd. 2007-03-05 09:28:27 -08:00
nenolod e70f8e928e [svn] - use a hashtable for fdlist storage. first step to making the amount of allowed clients dynamic and removing MAXCONNECTIONS. 2007-03-05 09:23:07 -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 606384aea8 [svn] Don't leak auth{} spoofed IP addresses in +f notices.
from ratbox (androsyn)
2007-03-02 09:45:47 -08:00
jilles 652b8478fb [svn] Make oper_up() take +i/-i during opering up into account
(e.g. no_oper_invis extension, +i in operator::umodes).
Remove the hack from no_oper_invis.
2007-02-24 11:34:28 -08:00
jilles af6ca5f5e5 [svn] no_oper_invis: decrement invisible count when clearing
invisible on a local client who has just opered up
oper_up() should really do this
2007-02-24 10:35:58 -08:00
jilles 1178125363 [svn] Put "End of Channel Quiet List" instead of
"End of Channel Ban List" for a +q list.
Due to client restrictions the numerics for
quiet lists must be the same as for ban lists.
2007-02-21 11:52:51 -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 9b6ff0c8f9 [svn] Make -logfile work again. 2007-02-11 08:54:43 -08:00
nenolod c8ff7ca97f [svn] - fix off-by-one memory overflow error. 2007-02-09 14:18:23 -08:00
jilles a8086a7ca0 [svn] Change handling of modularized umodes:
- keep the bitmask reserved forever to the letter, fixing
  the problems when loading multiple umode modules,
  unloading them and then loading them in a different order
- don't allow local users to change umodes which have
  been unloaded and don't set them on new users via
  default_umodes
2007-02-04 07:08:04 -08:00
jilles 01cebbd88e [svn] Move find_umode_slot() from libcharybdis/tools.c to src/s_user.c. 2007-02-03 17:59:38 -08:00
jilles 1e56e993e2 [svn] DNSBL keyword substitution is available as of 2.1.3. 2007-01-31 17:44:31 -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 f42e9cebee [svn] Remove hash_find_masked_server(), which made it possible
to specify the full (unmasked) name of a server behind
a hostmask. As a result find_any_client() (for prefixes)
becomes equal to find_client(), so remove that too.
2007-01-31 16:19:14 -08:00
jilles e5d9ca18eb [svn] Remove '*' from valid server name characters.
This makes it impossible to connect hostmasked servers.
(This support didn't work well anyway, was incompatible
with TS6 and we never masked ourselves.)
2007-01-31 16:02:35 -08:00
jilles 63aecfb960 [svn] Change spambot, flooder and jupe joiner notices from host to orighost. 2007-01-31 15:57:18 -08:00
jilles 0c8f86ec83 [svn] Add documentation for SASL client protocol, same as atheme doc/SASL. 2007-01-28 14:13:18 -08:00
jilles dd12a19c2c [svn] Include real hostname in Closing Link message for unknown
connections that have sent USER. This is helpful for
k-lined users while not breaking server IP hiding.
2007-01-26 10:52:11 -08:00
jilles b1fc1658e1 [svn] Rerun autoconf. 2007-01-26 08:52:29 -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 92fb5c3175 [svn] - keyword-subst from charybdis 2.2. 2007-01-24 23:08:21 -08:00
nenolod 55da5539ba [svn] - version bump to 2.2.0 2007-01-24 22:45:04 -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