[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.
[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
[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.
[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).
[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.
[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.
jilles [Thu, 29 Mar 2007 20:03:06 +0000 (13:03 -0700)]
[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).
jilles [Wed, 28 Mar 2007 15:40:24 +0000 (08:40 -0700)]
[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.
jilles [Wed, 28 Mar 2007 14:54:10 +0000 (07:54 -0700)]
[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.)
jilles [Wed, 28 Mar 2007 14:30:10 +0000 (07:30 -0700)]
[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.
jilles [Wed, 28 Mar 2007 14:21:37 +0000 (07:21 -0700)]
[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.
jilles [Thu, 15 Mar 2007 18:09:08 +0000 (11:09 -0700)]
[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.
jilles [Tue, 6 Mar 2007 14:07:11 +0000 (06:07 -0800)]
[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).
jilles [Sun, 4 Mar 2007 23:42:55 +0000 (15:42 -0800)]
[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.
jilles [Sat, 24 Feb 2007 19:34:28 +0000 (11:34 -0800)]
[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.
jilles [Wed, 21 Feb 2007 19:52:51 +0000 (11:52 -0800)]
[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.
jilles [Tue, 20 Feb 2007 00:34:28 +0000 (16:34 -0800)]
[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.
jilles [Sun, 4 Feb 2007 15:08:04 +0000 (07:08 -0800)]
[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
jilles [Thu, 1 Feb 2007 01:07:42 +0000 (17:07 -0800)]
[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.
jilles [Thu, 1 Feb 2007 00:34:33 +0000 (16:34 -0800)]
[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.
jilles [Thu, 1 Feb 2007 00:19:14 +0000 (16:19 -0800)]
[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.
jilles [Thu, 1 Feb 2007 00:02:35 +0000 (16:02 -0800)]
[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.)
jilles [Fri, 26 Jan 2007 18:52:11 +0000 (10:52 -0800)]
[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.
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
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
nenolod [Thu, 25 Jan 2007 06:40:21 +0000 (22:40 -0800)]
[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