Jilles Tjoelker [Fri, 28 Dec 2007 00:31:56 +0000 (01:31 +0100)]
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.
Jilles Tjoelker [Wed, 26 Dec 2007 21:46:43 +0000 (22:46 +0100)]
Make remote numerics to channels work.
Note that +D clients do not get these. This is consistent
with how ircu treats remote numerics and with how we treat
server notices from other servers, but not with how locally
generated notices and numerics are sent also to +D clients.
Jilles Tjoelker [Tue, 25 Dec 2007 23:51:22 +0000 (00:51 +0100)]
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.
Jilles Tjoelker [Tue, 25 Dec 2007 23:18:22 +0000 (00:18 +0100)]
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.
Jilles Tjoelker [Mon, 24 Dec 2007 22:29:01 +0000 (23:29 +0100)]
Remove "<server> had been connected for <time>" snote.
For registered servers, it is entirely redundant with the
"<server> was connected for <time>. <traffic>" snote, and
only sent for some ways of closing; for handshakes, you
already know that it had not been connected for long.
William Pitcock [Sat, 22 Dec 2007 22:05:51 +0000 (16:05 -0600)]
- add IOReadFunc and IOWriteFunc types.
- add fde::read_impl, fde::write_impl.
(defaults to read(2) and write(2) with raw FDs at the moment;
this will be revised to act on the fde later.)
Jilles Tjoelker [Wed, 12 Dec 2007 23:14:02 +0000 (00:14 +0100)]
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.
Jilles Tjoelker [Sat, 8 Dec 2007 20:54:51 +0000 (21:54 +0100)]
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.
Jilles Tjoelker [Sat, 8 Dec 2007 18:44:18 +0000 (19:44 +0100)]
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
Jilles Tjoelker [Fri, 30 Nov 2007 00:14:12 +0000 (01:14 +0100)]
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.)
Jilles Tjoelker [Wed, 28 Nov 2007 23:12:51 +0000 (00:12 +0100)]
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.
Jilles Tjoelker [Fri, 23 Nov 2007 21:11:25 +0000 (22:11 +0100)]
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.
jilles [Sat, 18 Aug 2007 14:45:10 +0000 (07:45 -0700)]
[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.