Commit graph

3659 commits

Author SHA1 Message Date
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