Commit graph

614 commits

Author SHA1 Message Date
Jilles Tjoelker
c935336b64 kline: Fix oper reasons. 2010-03-05 18:28:59 +01:00
Jilles Tjoelker
97f44d343a Skip propagated bans in rehash txlines/tresvs. 2010-03-05 00:37:56 +01:00
Jilles Tjoelker
27f616ddf5 Track who set a dline/kline/xline/resv as in ratbox3.
Like in ratbox3, there is no way to query this information
(other than bandb's tables, but they worked before this
commit).
2010-03-01 01:23:22 +01:00
Jilles Tjoelker
a12ad04472 Generate the "Temporary K-line %d min" part from aconf->hold - aconf->created. 2010-02-28 16:27:06 +01:00
Jilles Tjoelker
b52c294986 Store the creation time of klines and dlines as a time_t instead of as text.
The value 0 indicates the creation time is unknown (currently the case
for bandb).
Also store a creation time for xlines and resvs, but do not use it yet.
2010-02-28 00:46:56 +01:00
Jilles Tjoelker
3102dbdc4f Use FLAGS_SENTUSER when checking whether to register when ping cookie is received. 2010-02-24 23:28:27 +01:00
Stephen Bennett
1fb3b1e1c4 Use FLAGS_SENTUSER instead of 'user' being non-empty to decide whether to register a user on CAP END.
identd and SASL can cause source_p->user to be present without USER having been sent.
Without this change, that could cause a crash later on as localClient->fullcaps is not initialised.
2010-02-23 22:35:58 +00:00
Jilles Tjoelker
ff91faaf76 Do not penalize for spambot checks if creating a new channel. 2010-02-21 01:45:51 +01:00
Jilles Tjoelker
4eb9a3ca0b JOIN 0: Make spambot check equivalent to PART's. 2010-02-21 01:12:04 +01:00
Jilles Tjoelker
9148f6aa7c Remove dead code: last_join_time is already updated by check_spambot_warning(). 2010-02-21 01:10:04 +01:00
Jilles Tjoelker
cf3564d61f Do not check for spambot if the user is not allowed to join the channel. 2010-02-21 01:07:32 +01:00
Jilles Tjoelker
fad065bb95 challenge: Fix build. 2010-02-18 23:42:07 +01:00
William Pitcock
ed8b3d69ac Add certfp check to challenge too. 2010-02-17 23:01:25 -06:00
William Pitcock
76169ea734 Clarify ERR_NOOPERHOST and convert it to use sendto_one_numeric(). 2010-02-17 06:51:41 -06:00
William Pitcock
ff31db8473 Add support for client certificate fingerprints in o:lines. 2010-02-17 06:41:41 -06:00
Jilles Tjoelker
0cce7774d5 Subject /invite to umodes +g and +R.
The behaviour is the same as /msg except that where
/msg would send RPL_UMODEGMSG to the user, the /invite
is instead let through. This counts as a notification
for caller_id_wait like RPL_UMODEGMSG.

Checks are on the target user's server, which means an
error message will appear after RPL_INVITING.
This must be because the accept list is not globally
known.
2010-02-15 23:07:14 +01:00
Jilles Tjoelker
40b79a3908 Add missing return value. 2010-02-15 22:18:00 +01:00
Jilles Tjoelker
890af0e7c5 Subject /invite to target change.
Similar to /msg, inviting a user that is not in a channel
you have op or voice in requires a free target; opers always
have a free target.

Being invited adds the source as a reply target.
2010-02-15 22:08:55 +01:00
Jilles Tjoelker
4f2685f3e1 Move target change code to src/tgchange.c,
so we can use it for /invite as well.
2010-02-15 21:58:34 +01:00
Jilles Tjoelker
c9f01c4f2f target change: Allow free replies.
When a user receives a private message, notice or RPL_UMODEGMSG,
add the source to a special set of 5 target slots.
These slots are checked in the normal way when sending messages,
allowing a reply without using up a free target.

This feature will not be very useful if a user is being messaged
by many different users; to help this, messages blocked entirely
by +g or +R do not affect the targets. CTCP replies also remain
free in terms of targets.
2010-02-15 01:07:07 +01:00
Jilles Tjoelker
179becdf5f target change: Overwrite the least recently used target with a new one. 2010-02-15 00:31:17 +01:00
Jilles Tjoelker
ad1d39a76f Make the number of targets tracked for target change a #define. 2010-02-13 15:18:17 +01:00
Jilles Tjoelker
96bfafc1f8 testline/testgecos: Send "not an oper" message if appropriate. 2010-02-07 17:57:36 +01:00
Jilles Tjoelker
8eda114a78 Pass certfp to other servers and show it in whois. Do not show it on connect.
The server protocol for this is
:<uid> ENCAP * CERTFP :<40 hex chars>
both in new user introductions and in burst.

As in oftc-hybrid, only the user themselves and opers can see the certfp.

Displaying the certfp on connect seems unnecessary to me,
the user can whois themselves if needed.
2010-02-06 00:18:27 +01:00
Jilles Tjoelker
114105b429 Fix /links buffer overflow. 2010-01-27 21:05:10 +01:00
Jilles Tjoelker
1fd171a547 Fix op-moderate (cmode +z) for channel names with '@'. 2010-01-24 19:37:00 +01:00
Jilles Tjoelker
641eb2c3c8 Put back fb7d6089158e, not setting large_ctcp_sent for CTCP ACTION. 2010-01-20 00:03:57 +01:00
William Pitcock
2e918bf515 Merge +C (no CTCP to channels) from ircd-seven. 2010-01-19 02:11:04 -06:00
Jilles Tjoelker
3d0bbdcbe1 Do not set large_ctcp_sent for CTCP ACTION as it does not request a reply. 2010-01-14 01:12:16 +01:00
Jilles Tjoelker
a990586f4d If a removed resv was temporary, mention this in the server notice.
This agrees with xline.
2010-01-09 22:14:53 +01:00
Jilles Tjoelker
1a9ea263fa Add back unresv (permanent resv) notices. 2010-01-09 22:12:06 +01:00
Jilles Tjoelker
43d4d72ca9 Put back resv_forcepart.
This undoes erroneous revert in a3c064b3b8a2.
2010-01-09 19:08:48 +01:00
Jilles Tjoelker
70ea02ebd6 Complete the move of xlines and resvs from aconf->name to aconf->host. 2010-01-08 18:46:29 +01:00
Jilles Tjoelker
4418166c7e Do not change \s in xlines to spaces, match_esc() treats \s correctly.
This undoes erroneous revert in a3c064b3b8a2.
2010-01-08 18:13:47 +01:00
William Pitcock
00c036b172 Add back missing notices. 2010-01-07 18:17:08 -06:00
William Pitcock
23959371d0 Fix up more things with bandb. 2010-01-07 18:14:15 -06:00
William Pitcock
d4c273075e Make this work again. 2010-01-07 17:50:49 -06:00
William Pitcock
f36d4fdd54 Make this work again. 2010-01-07 17:49:08 -06:00
William Pitcock
9964e93509 Readd some oper notices. 2010-01-07 17:37:52 -06:00
William Pitcock
8bbeb278ec Update modules to use bandb_add()/bandb_del(). 2010-01-07 17:19:03 -06:00
Jilles Tjoelker
0b5cf476f5 SCAN UMODES: default list-max to 500, like a global WHO. 2010-01-01 22:55:25 +01:00
Stephen Bennett
6657de63ac Merge 2009-12-08 19:23:32 +00:00
Stephen Bennett
c127b45b83 Revert all presence-related changes 2009-12-08 19:22:55 +00:00
Jilles Tjoelker
f4d319c7ae Use full (:n!u@h) prefix for sending ETB from a user to clients. 2009-09-20 00:44:47 +02:00
Jilles Tjoelker
c2c25552ca Force part local users (not resv_exempt) on channel resv.
A notice will be sent to any force parted users that the channel
is temporarily/permanently unavailable on the server.
A new config option channel::resv_forcepart can be used to disable this.

from ircd-ratbox (dubkat)
2009-09-19 21:24:35 +02:00
Jilles Tjoelker
72d36704fc Disallow changing away status via /presence.
Allowing this desynchronizes clients and servers that
do not know about this extension without good reason.
If you want to allow this, change it to spit out the
usual AWAY protocol.
2009-06-04 00:01:57 +02:00
Jilles Tjoelker
50325a6667 Reject presence updates with too long keys, instead of truncating them
and causing soft assertion failures. Values are still
silently truncated though.
2009-06-03 23:49:50 +02:00
Jilles Tjoelker
331c548d9d Correct minimum parameter counts for PRESENCE. 2009-06-03 20:03:15 +02:00
Jilles Tjoelker
5beadfb00f ENCAPs cannot come from local clients, no need to check. 2009-06-03 19:57:27 +02:00
Jilles Tjoelker
beafd0ee32 Remove special CAP presence handling of /whois away message.
This cannot work because /whois is executed remotely too
and CAPs aren't known remotely.
2009-06-03 19:54:49 +02:00
William Pitcock
0fc5aeca53 presence: m_presence module: Use safer get_metadata() where appropriate, to avoid crash possibilities. 2009-06-02 02:55:45 -05:00
William Pitcock
f72de72bf4 presence: Use RPL_WHOISMETADATA. 2009-06-02 02:44:31 -05:00
William Pitcock
8f2d1ccf7f presence: If CLICAP_PRESENCE is enabled, then RPL_AWAY is replaced by the "away" keyword in the presence dataset.
As such, only fall back to legacy RPL_AWAY if CLICAP_PRESENCE is not set on source_p.
2009-06-02 02:17:42 -05:00
William Pitcock
54ff698839 presence: Add CLICAP_PRESENCE.
This will enable broadcasting presence updates on channels.
2009-06-02 02:14:44 -05:00
William Pitcock
4af8bcef59 presence: Replace stagnant free_away() call with delete_metadata(..., "away"). 2009-06-02 02:06:18 -05:00
William Pitcock
884b5d41c1 presence: Remove user.away, replaced by a metadata entry.
Cache the metadata retrieval value where feasible for minimal performance impact.
2009-06-02 02:03:51 -05:00
William Pitcock
45d1f80189 presence: Add m_presence module. This provides an ENCAP s2s interface and lowlevel client interface. 2009-06-02 01:45:43 -05:00
Jilles Tjoelker
aa9c9ed268 Allow ctcp replies through floodcount after ctcp'ing a large group.
A large group is any $$ or $# or a channel with more than
floodcount/2 local members, checked on each server separately.
Note that floodcount checks are done on the sender's server.

The special treatment is active for 15 seconds.
2009-05-17 20:52:16 +02:00
Jilles Tjoelker
d69601a5e2 Rewrite perm xlines containing '",' from local opers (to '"\,').
The change also applies to xlines sent to other servers.
Note that the backslash must be supplied in an unxline.
Incoming xlines containing '",' are rejected to avoid
inconsistency between servers.
2009-05-08 14:42:55 +02:00
Jilles Tjoelker
cc169c9476 Disallow the sequence '",' in perm xlines,
it would cause problems with xline.conf.
2009-05-08 14:27:30 +02:00
Jilles Tjoelker
395935d103 Change \s to space when writing xline.conf, to be compatible with older versions. 2009-05-08 13:40:09 +02:00
Jilles Tjoelker
23a8f750f7 Disallow double quotes in klines.
These could cause parse problems with kline.conf.
2009-05-08 01:50:35 +02:00
Jilles Tjoelker
b0f30fa1ca Disallow commas in channel resvs.
These can never match and could cause parse problems in resv.conf.
2009-05-08 01:23:40 +02:00
Jilles Tjoelker
97c9dd8a26 Change xlines to store spaces as \s.
Spaces in xline.conf files are changed to \s in memory
and recognized on unxline, but are not changed in the
file. New xlines are added to xline.conf files with \s.

xline.conf written by this commit or newer will not work
properly with charybdis older than 1124:131254925f32 (which
introduced \s support in match_esc()).
2009-05-08 00:21:14 +02:00
Jilles Tjoelker
39b23540e3 Stop changing \s to spaces in masktrace and testmask,
match_esc() handles \s directly now.
2009-05-07 23:58:32 +02:00
Jilles Tjoelker
a416ed2e79 Move check for required CAPABs to mr_server -- CAPAB may not be sent.
Also fix exit message.
2009-04-21 18:43:07 +02:00
William Pitcock
c6240d7940 Allow for capabilities to be marked as "required".
If capability negotiation fails on these capabilities, then the server link is dropped.
2009-04-20 09:36:55 -05:00
William Pitcock
5f8d323c59 can_kick hook, based on the ircd-seven one. 2009-04-20 09:20:11 -05:00
Stephen Bennett
9a180ae365 Allow / in spoofed hosts 2009-04-20 08:37:13 -05:00
Jilles Tjoelker
b7b1d686a9 Simplify floodcount checking, it is no longer affected by +g/+R anymore. 2009-04-19 00:04:21 +02:00
Jilles Tjoelker
631b4a542a Use uid/sid for some ERR_CHANOPRIVSNEEDED if they go to a remote client. 2009-04-09 23:45:35 +02:00
Jilles Tjoelker
2ae93813bd Add new topic command ETB, allowing services to set topic+setter+ts always
(provided channelTS != 0).

ETB is controlled by the EOPMOD capab. Fairly complicated
stuff is needed for older servers.

ETB can come from clients or servers, but at this time it
should only be sent from clients, as otherwise it is not
always possible to update older servers.
2009-03-29 17:08:42 +02:00
Jilles Tjoelker
c4d2d01419 Apply +z to messages blocked by +b and +q as well.
This adds a new server capab EOPMOD which will be used
for an extended topic command also.
2009-03-29 15:48:07 +02:00
Jilles Tjoelker
61b7e0d959 Do not send "<blah> is rehashing <blah>" notices to the remote oper. 2009-03-07 16:57:58 +01:00
Jilles Tjoelker
995f300eb1 Allow /rehash throttles to clear throttling. 2009-03-07 01:49:09 +01:00
Jilles Tjoelker
94734aacc6 Correct WHOX overflow check so it also works for fields other than the last.
Found with llvm static analyzer.
2009-03-01 01:58:53 +01:00
Jilles Tjoelker
f93bc39774 Remove some unused variables.
Found with llvm static analyzer.
2009-03-01 01:53:40 +01:00
Jilles Tjoelker
6865c0b099 Add channel::only_ascii_channels config option
to restrict channel names to printable ascii only.
Like disable_fake_channels this only applies to joins
by local users; unlike disable_fake_channels it applies
to opers as well.
2009-02-22 00:12:21 +01:00
Jilles Tjoelker
18fc47e681 Disallow invites to juped channels.
In particular, this is checked when the source is
local and not resv_exempt, or the target is local and
not resv_exempt.
2009-02-06 14:07:03 +01:00
Jilles Tjoelker
53307da8ca Disable autoconnect for a server with excessive TS delta.
Note that in some cases (different TS delta settings,
heavy lag) it is possible only one of the servers
detects the problem and autoconnect may be left enabled.
The mechanism used for disabling is the same as
/quote set autoconn <server> 0; the A flag in /stats c
disappears and a rehash or /quote set autoconn can put
it back.
2009-02-05 23:43:07 +01:00
Jilles Tjoelker
e0f8d70cb2 Remove comments related to (removed) ability to disable TS6. 2009-01-30 16:50:00 +01:00
Jilles Tjoelker
ad08ad1876 For remote rehashes, send error messages to the requesting oper as well. 2009-01-30 00:11:12 +01:00
Jilles Tjoelker
e5b12a6143 Show D:line oper reason in /testline. 2009-01-27 20:20:37 +01:00
Jilles Tjoelker
1e57e391c5 Get rid of local variable shadowing. 2009-01-25 16:26:17 +01:00
Jilles Tjoelker
cb2540a673 commit 1df4ff0b0558e4698819f8e4ac6ecb7654b81a2c
Author: Stephen Bennett <spb@exherbo.org>
Date:   Sun Jan 18 16:30:27 2009 +0000

    Make testline show oper reason and setter information for K:lines, where applicable
2009-01-25 16:23:36 +01:00
Jilles Tjoelker
ff8e6e19e0 Remove some more references to parv[0] in comments. 2009-01-18 21:20:14 +01:00
Jilles Tjoelker
161f040940 Update comments for parv[0] removal. 2009-01-18 18:22:43 +01:00
Jilles Tjoelker
3a17735469 Change /stats O to show privset blocks (oper only).
To show operator blocks, only /stats o (lowercase) now works.
2009-01-18 01:35:24 +01:00
Jilles Tjoelker
3dfaa67120 Replace parv[0] with source_p->name. 2009-01-17 01:18:19 +01:00
Jilles Tjoelker
0a849a8fa9 Do not log ERROR messages from unknowns.
from ircd-ratbox (androsyn)
2009-01-17 00:23:02 +01:00
Jilles Tjoelker
463947ad90 Remove more TS5 remnants. 2009-01-16 23:18:10 +01:00
Jilles Tjoelker
4dd5d304eb Log to serverlog when throwing out a server because of a bad nickname. 2009-01-16 23:10:49 +01:00
Jilles Tjoelker
6c77f1f74f Close the local link that sends a TS5 NICK introduction.
This is no longer supported and was already broken,
sending out a UID message without UID parameter to
other servers.
2009-01-16 23:08:05 +01:00
Jilles Tjoelker
94a84cdd98 Reject SCAN UMODES if invalid parameters are given. 2009-01-16 18:33:38 +01:00
Jilles Tjoelker
5cb843c6a5 Remove obsolete comment. 2009-01-07 23:35:24 +01:00
Jilles Tjoelker
5f29102170 Make SCAN UMODES GLOBAL NO-LIST MASK <mask> no longer an operspy command.
This agrees with allowing MODE <nick> as non-operspy.
2009-01-01 20:32:30 +01:00
Jilles Tjoelker
9a7ab95b89 Allow opers and shide_exempt users to see hopcounts even if flatten_links is on. 2008-12-27 22:41:52 +01:00
Jilles Tjoelker
8ee12f0c43 Show libratbox version info to opers in /info. 2008-12-23 00:28:05 +01:00
Jilles Tjoelker
bac250f689 Add code to detect overflow in WHOX.
This should currently be impossible, but may be
possible with extremely long server/nick names and
additional fields.
In case of overflow, the string sent to to the user is
truncated and if it was the first overflow since the
module was loaded a notice is sent to snomask +d.
2008-12-20 17:17:27 +01:00
Jilles Tjoelker
83235e9ed5 Show rejectcache/throttle in /testline output.
This adds more RPL_TESTLINE numerics with code '!'.
Different from the other results, the I/K line or
RESV will be shown as well.
2008-12-19 19:24:12 +01:00
Jilles Tjoelker
ae09cb7dbe Show throttle info in /stats t.
from ircd-ratbox (androsyn)
2008-12-16 21:02:04 +01:00
Jilles Tjoelker
ea6dade261 As in shadowircd, increase buffer for /who status.
Not necessary here but nice for consistency.
2008-12-03 22:54:30 +01:00
Jilles Tjoelker
41615da91c Add operspy /topic.
This allows querying any channel's topic under the
operspy rules, but not changing it.
2008-12-03 00:16:05 +01:00
Jilles Tjoelker
6ccac783ae Allow coloured part reasons in -c channels. 2008-11-29 22:22:18 +01:00
Aaron Sethman
679ccbe5ef make is_cti/is_sti collect times connected in unsigned long long instead of time_t as well..on 32bit boxes that is going to wrap pretty quickly
committer: Valeriy Yatsko <dwr@it-penza.org>
2008-11-16 10:04:09 +03:00
Jilles Tjoelker
8feca1768e Allow +z messages from outside if -n.
This gives a useful meaning to the cmode combo +mz-n:
messages from ops and voices go to all channel members,
messages from anyone else (on or off channel) go to ops.
With +mnz, messages from outside are not allowed at all.
2008-11-15 22:56:09 +01:00
Jilles Tjoelker
9cd063980a Truncate idle time in /who to 32 bits.
Pointed out by dwr (but solved differently).
2008-11-15 21:15:38 +01:00
Jilles Tjoelker
62656efdd6 Should use rb_strlcpy instead of strlcpy... 2008-11-09 01:05:39 +01:00
Jilles Tjoelker
04d7768492 Remove LOCAL_COPY (and thus alloca) usage from /who. 2008-11-09 00:13:48 +01:00
Jilles Tjoelker
02eca3f19a who: Use @+ combining for 354 numeric.
The 352 numeric uses it if CAP multi-prefix is enabled, as before.
2008-11-09 00:13:29 +01:00
Jilles Tjoelker
48957a4951 Add ircu-like /who format options.
Use  /quote help who  for details.
The format code "o" (oplevel) is not documented,
but implemented showing dummy information (999 for
chanop, n/a otherwise).
2008-11-09 00:12:56 +01:00
Jilles Tjoelker
3583564678 Make comment for ms_join() up to date. 2008-11-09 00:05:15 +01:00
Jilles Tjoelker
5807e0beaa Allow normal users to use /chantrace.
The same information is already available via a
combination of /who and /trace.
2008-11-08 01:28:16 +01:00
Jilles Tjoelker
7b054ca30a Do not send snotes/logs about juped servers trying to connect.
A juped server is defined as a server that already
exists with a service{} server as uplink.
If a juped server is introduced by another server,
this generates snotes/logs as before.
2008-09-25 00:00:36 +02:00
Jilles Tjoelker
7bf78de058 Make TS deops appear to come from the same server the other modes come from.
In particular, this makes atheme changets deops come
from the services server instead of the user's server.
2008-09-24 23:13:10 +02:00
Jilles Tjoelker
56023eb2e8 Add more detail in squit reason for certain invalid NICK/UID/EUID commands. 2008-09-16 22:53:44 +02:00
Jilles Tjoelker
591342826a Avoid hardcoding the number of shared{} flags another time. 2008-09-09 18:42:59 +02:00
Jilles Tjoelker
7d91f0da00 Fix indentation. 2008-09-09 18:40:57 +02:00
Jilles Tjoelker
b159441429 Add need_ssl to auth{} and operator{}.
Specifying need_ssl on auth{} denies the connection if
it is not SSL/TLS, much like need_ident or need_sasl.
Specifying need_ssl on operator{} refuses opering with
ERR_NOOPERHOST if the connection is not SSL/TLS.
from ircd-ratbox
2008-09-07 01:18:58 +02:00
Jilles Tjoelker
4a5655b20d Close the link that sends an invalid UID.
It does not make sense to send a kill using an invlid
identifier to an obviously broken server, as was
previously done.
2008-09-06 15:13:28 +02:00
Jilles Tjoelker
8c29ec4eeb Remove check that cannot happen due to minparc in Message struct. 2008-09-06 01:33:18 +02:00
Jilles Tjoelker
8f7ca682ec Improve server notices for hub_mask/leaf_mask.
Local-only server notices kept here because
hub_mask/leaf_mask tends to be specific to a (hub)
server. The same information is now available in
Netsplit notices.
2008-09-06 01:21:16 +02:00
Jilles Tjoelker
c2f73e5dbc Use rb_snprintf() in various places. 2008-09-06 01:00:20 +02:00
Jilles Tjoelker
847ce0e98d Remove comment referencing LazyLeaf. 2008-09-06 00:44:09 +02:00
Jilles Tjoelker
b1ace057a7 Avoid empty strings in various notices about rejected server connections.
These come from the name field which is empty for unknown
connections attempting to become a server.
Instead, put [@255.255.255.255] just like ratbox3 does.
2008-09-05 22:56:59 +02:00
Jilles Tjoelker
7d4287591f Improve server notices for servers introducing existing servers. 2008-09-05 22:52:39 +02:00
Jilles Tjoelker
8e34ffc66e Improve server notices about duplicate SIDs.
Note that this is checked after duplicate server names,
so it can only happen if multiple servers have the
same SID configured.
2008-09-04 01:41:49 +02:00
William Pitcock
86b6be08eb Automated merge with ssh://hg.atheme.org//hg/charybdis 2008-08-29 14:48:06 -05:00
Stephen Bennett
9f1bde2683 don't set an empty password or auth_user 2008-08-29 14:47:51 -05:00
Jilles Tjoelker
d7dc7ae6c1 Remove some dead code.
found using llvm static analyzer
2008-08-29 02:53:52 +02:00
Jilles Tjoelker
e4bb4f3645 Remove another remnant of server hostmasking. 2008-08-26 00:00:11 +02:00
William Pitcock
50f2579264 m_privs: Add stuff for privsets here too. 2008-08-17 08:56:40 -05:00
William Pitcock
880c94adb4 /stats o: display name of privset instead of privs 2008-08-17 08:40:10 -05:00
Jilles Tjoelker
2bad578999 Allow /list on a named +p channel.
A full /list already included +p channels.
2008-08-12 22:34:37 +02:00
Jilles Tjoelker
43946961df Move to ratbox3 reject and throttle code.
Throttle replaces max_unknown_ip, reject is like before
(including the charybdis-specific unkline handling).
Both of these now apply before SSL negotiation.

This commit does not include the global_cidr and new dline code.

m_webirc is a bit nasty with throttling (unlike before
with max_unknown_ip), this may be fixed later (or
the webirc IP needs to be exempt{}ed).
2008-08-01 01:59:08 +02:00
Jilles Tjoelker
59c3d09ab5 Fix testline crashes, introduced by the auth_user patch. 2008-07-31 22:25:17 +02:00
Jilles Tjoelker
db2545b11e Remove an unnecessary check for &channels -- sendto_server() already does it. 2008-07-31 18:11:36 +02:00
Jilles Tjoelker
095efcf0fc Use channel_modes() to convert a new channel's modes to a string. 2008-07-31 17:55:23 +02:00
Jilles Tjoelker
c287438827 Let ops/voices bypass tgchange/floodcount if sending to users in their channel.
This was already possible by using CPRIVMSG/CNOTICE
instead of PRIVMSG/NOTICE.
2008-07-27 23:34:58 +02:00
Jilles Tjoelker
ef57f7fb5e Remove user@server messages to local users.
These are unreliable in general and only useful
for violating certain restrictions.
Sending such messages to remote servers is still
possible, for securely messaging pseudoservers whether
service{}'ed or not. The special oper-only syntax
opers@server remains as well.
2008-07-27 22:17:46 +02:00
Valery Yatsko
d20b49d5b1 crypt -> rb_crypt, fixing another gcc warning 2008-07-27 14:45:42 +04:00
Valery Yatsko
08e8aa7acc Variable aconf was used before its initialization - fixed 2008-07-27 14:43:49 +04:00
Valery Yatsko
acdf71d9d2 A very draft version of extensions, which are adding can_join hooks for custom channel modes 2008-07-27 12:10:48 +04:00
Jilles Tjoelker
c24efdc0b7 Also apply floodcount to messages to remote clients (except services).
As before, only local clients can have their message blocked.
2008-07-22 01:46:34 +02:00
Jilles Tjoelker
351d22c09b Do not check floodcount if user is messaging self. 2008-07-13 13:35:43 +02:00
Jilles Tjoelker
189b86d258 Regenerate depend files. 2008-07-12 01:52:27 +02:00
Jilles Tjoelker
baacec4186 Some fixes to .depend generation. 2008-07-12 01:52:14 +02:00
Jilles Tjoelker
9d107a7195 Move nick collision notices from +s to +k.
Remote nick collisions (Received KILL/SAVE message)
were already on +k.
2008-07-04 16:54:46 +02:00
Jilles Tjoelker
6a30990367 Reset check_splitmode_ev to NULL after removing it,
to exclude the possibility of it being removed twice.
like ircd-ratbox r25641 (jilles)
reverts 788:476d29d84191
2008-06-29 01:37:11 +02:00
Jilles Tjoelker
a672fbb78c Make m_trace.c compile here (with gcc 4.2.1). 2008-06-28 21:08:04 +02:00
Valery V Yatsko
a4da8e48cd m_trace.c fixed 2008-06-28 18:20:24 +04:00
Valery V Yatsko
a3afc27ac0 'empty_sockhost = "255.255.255.255"' const for report_this_status 2008-06-28 14:27:33 +04:00
Valery V Yatsko
b20d2f1908 report_this_status: declaration changed 2008-06-28 14:25:31 +04:00
Valery V Yatsko
7f621a1ecb report_this_status fixed 2008-06-28 14:24:18 +04:00
Valery V Yatsko
b3ebc7ab9e Applied svn diff from ratbox3 r21458:21470 2008-06-28 14:13:50 +04:00
Valery V Yatsko
402f3941d0 Removed unneeded '*_ev = NULL' statements 2008-06-28 12:12:18 +04:00
Valery V Yatsko
40c1fd4799 PASS selector:password for auth{}, based on spb's patch for ircd-seven 2008-06-26 10:18:58 +04:00
Valery V Yatsko
efccc22c27 Applying dyn-cmodes.diff - first step in implementing channel module
addition in extensions
2008-06-24 20:45:19 +04:00
Jilles Tjoelker
982ef94983 Remove more TS5 remants (sendto_server calls). 2008-06-14 02:06:55 +02:00
Jilles Tjoelker
7b22c84fab Move -bqeI from lower TS SJOIN to a more logical place.
This is possible because TS5 support was removed.
2008-06-13 23:55:37 +02:00
Jilles Tjoelker
316cbf11bc Add an additional check to mr_server() for TS6, in case we don't get an SVINFO
from ircd-ratbox (anfl)
2008-06-13 23:09:52 +02:00
Jilles Tjoelker
8afeb72097 SJOIN: remove various TS5 stuff 2008-06-13 23:03:52 +02:00
Jilles Tjoelker
1766edef79 SJOIN: check minimum parameters more strictly. 2008-06-13 00:32:01 +02:00
Jilles Tjoelker
23282da4b5 m_stats: get rid of function pointers with unspecified parameter lists
stats l/L is now more a special case than before
2008-06-11 00:53:21 +02:00
Jilles Tjoelker
21dc257c2c m_set: get rid of function pointers with unspecified parameter lists 2008-06-11 00:39:01 +02:00
Jilles Tjoelker
a3143c9b6b Some const stuff for m_set. 2008-06-11 00:28:08 +02:00
William Pitcock
890423fbf9 Suppress a warning. 2008-06-08 01:32:17 -05:00
William Pitcock
169c767d3d modules: no more TS5 2008-06-08 01:27:25 -05:00
William Pitcock
d38d07f030 core modules: no more TS5. 2008-06-08 01:25:42 -05:00
Jilles Tjoelker
851119864a Reindent. 2008-06-03 20:52:47 +02:00
Jilles Tjoelker
abee738b7d Clean up m_trace somewhat.
All visibility logic is now in m_trace(), none in
report_this_status().
2008-06-03 20:52:00 +02:00
Jilles Tjoelker
9c05c19cce Reject u@@h klines. 2008-05-21 23:00:10 +02:00
Jilles Tjoelker
af0ba24b4f Give an error message when refusing a kline that has neither . : or @. 2008-05-21 22:56:51 +02:00
Jilles Tjoelker
2cfb7214ee Require remoteban privilege to send dline/undline to other servers. 2008-04-23 18:32:46 +02:00
William Pitcock
e85075ec02 Use sendto_one_numeric() with the new AWAY numerics. 2008-04-21 20:26:23 -05:00
Jilles Tjoelker
61c096aa8f Take out some seven-style server notices. 2008-04-20 19:43:50 +02:00
Jilles Tjoelker
37f6cc05d8 Repair fast/better undline (169:d8aa0d182c9f). 2008-04-20 16:05:17 +02:00
Jilles Tjoelker
5f7a6a3db2 Remove windows newlines (^M). 2008-04-20 15:47:53 +02:00
Valery Yatsko
f5cb68d51d Remote d:lines implementation (based on ircd-seven's r230 by spb, Stephen Bennett <spb@attenuate.org>) 2008-04-20 11:26:37 +04:00
William Pitcock
ab4285181c Remainder of irc_string.* is moved to new inline/stringops.h. 2008-04-20 01:03:11 -05:00
Valery Yatsko
4562c60489 irc_string.h -> match.h, irc_string.h; includes changed 2008-04-20 09:47:38 +04:00
Valery Yatsko
e3b33fe3e6 clean_string() is related to m_links.c ONLY - moved it there 2008-04-20 09:35:22 +04:00
Valery Yatsko
4a2651e520 strtoken -> rb_strtok_r (with arguments order changes) 2008-04-20 09:20:25 +04:00
Valery Yatsko
cbe4e1ba31 legacy irc sprintf gone 2008-04-20 09:12:09 +04:00
Valery Yatsko
08d75d9702 myctime -> rb_ctime 2008-04-20 09:03:39 +04:00
Valery Yatsko
caa4d9d273 Various inet* -> rb_inet_* 2008-04-20 08:55:41 +04:00
Valery Yatsko
1f9de103c3 strlcat -> rb_strlcat 2008-04-20 08:44:04 +04:00
Valery Yatsko
f427c8b00d strlcpy -> rb_strlcpy 2008-04-20 08:40:40 +04:00
Valery Yatsko
6af128685d Functions replacement: ircd_baseXX_{en,de}code -> rb_baseXX_{en,de}code 2008-04-20 08:36:28 +04:00
Valery Yatsko
f55930ac2e get_randomness() removed from m_challenge.c - we use rb_get_random() now from libratbox 2008-04-20 08:30:41 +04:00
Valery Yatsko
2fcbf2c078 Code cleanup (m_die) 2008-04-20 07:46:08 +04:00
Valery Yatsko
fd5af3d072 Moving some m_die code into ircd_shutdown(reason) function and use it on SIGTERM too 2008-04-20 07:38:56 +04:00
Valery Yatsko
041d54ff4b Switched on using cache_user_motd(); for motd update on rehash 2008-04-20 07:24:50 +04:00
Jilles Tjoelker
8e2ebdb80a Remove stray SetCork.
At this time, charybdis does not use ratbox3's cork mechanism.
2008-04-16 20:49:08 +02:00
Jilles Tjoelker
8bd5767b95 Remove ^M on line endings. 2008-04-13 17:54:23 +02:00
Jilles Tjoelker
aae358c078 Remove various other gline stuff. 2008-04-11 17:10:40 +02:00
Valery Yatsko
170703fe3a Removing glines 2008-04-11 18:47:03 +04:00
Valery Yatsko
8982edb068 Fixing time_t warnings 2008-04-09 23:34:34 +04:00
Valery Yatsko
79b0d5a330 .cvsignore files removed, SVN-Access replaced by Mercurial-Access 2008-04-09 22:24:50 +04:00
Valery Yatsko
26716d6d40 Fixed two places, where sendto_realops_flags was mistakenly used, and removed this function entirely 2008-04-08 20:32:58 +04:00
Valery Yatsko
f53ed7f8ca 'S' flag meaning we use ssl link added to /stats {c,C} (connect) 2008-04-08 18:30:53 +04:00
Valery Yatsko
7685dd090f m_stats.c fixed not to use kb in tstats output 2008-04-08 18:05:29 +04:00
Valery Yatsko
b2c42c4589 Branch merge 2008-04-08 18:01:37 +04:00
Valery Yatsko
4c79bbd350 Working over zipstats bug and moving on the new ServerStats struct (without Kb counting, this style is used by code parts from ratbox3) 2008-04-08 18:00:38 +04:00
Valery Yatsko
69986379a7 'pargs' gone from set_final_mode - should be correct 2008-04-07 19:05:29 +04:00
Valery Yatsko
8cc12805d7 m_sjoin.c gone, merged with m_join.c 2008-04-07 18:26:59 +04:00
Valery Yatsko
f6f5f9c2c7 Missed include 2008-04-07 15:29:39 +04:00
Jilles Tjoelker
ad35b2cd1f If we see an invalid nick, close the local link instead of killing it.
This avoids annoying users when someone links a test
server with the wrong nicklen and is more likely to lead
to the inconsistency being fixed than a kill.
2008-04-06 22:04:42 +02:00
William Pitcock
af7aaa8444 fix whois :) 2008-04-06 12:04:25 -05:00
William Pitcock
340a0ddd26 remove unneeded notice, whois idle works fine :) 2008-04-06 11:48:28 -05:00
Valery Yatsko
c6d7203732 ssl sync with http://hg.angelforce.ru/charybdis-old 2008-04-06 18:52:42 +04:00
Valery Yatsko
101db4c443 Much clear maxconnections stuff - ported from ratbox3. 2008-04-05 23:56:15 +04:00
Valery Yatsko
9ea3ea1085 Missed some files in r520 commit. 2008-04-05 21:20:48 +04:00
Valery Yatsko
ccda6e3fc5 Replacing legacy IPV6 define with RB_IPV6 (which is included in libratbox's config.h). 2008-04-05 20:57:30 +04:00
Valery Yatsko
47adde3def s_stats.c removed, now we use new style of stats handling. 2008-04-04 19:54:37 +04:00
Jilles Tjoelker
7df5fcfbd3 Make m_dline and m_kline load again. 2008-04-04 01:18:47 +02:00
Jilles Tjoelker
70b72a0792 Unbreak /stats ? and fix a bug in /stats Z. 2008-04-03 23:21:20 +02:00
Jilles Tjoelker
28d337da4d Unbreak percentage display in /map.
This now uses integer arithmetic instead of floating point.
2008-04-03 22:55:09 +02:00
Jilles Tjoelker
519bd8540b Make m_stats and m_svinfo load again. 2008-04-03 22:01:59 +02:00
Jilles Tjoelker
f237e31a12 Get rid of ^M. 2008-04-03 22:00:22 +02:00
William Pitcock
4016731b1c s_log.* -> logger.* (s_foo looks ugly, lets try to get rid of it) 2008-04-02 21:52:01 -05:00
Jilles Tjoelker
428f846339 Clear event pointer after removing it. 2008-04-02 21:22:18 +02:00
Jilles Tjoelker
e4c7305103 Revert 415a87c328d1 as the corresponding ConfItem change won't be done now. 2008-04-02 20:43:12 +02:00
Valery Yatsko
70c365cb35 Synching http://angelforce.ru:8000/ with http://hg.atheme.org/charybdis 2008-04-02 21:43:20 +04:00
William Pitcock
0f021a8c1d Automated merge with http://angelforce.ru:8000/ 2008-04-02 10:58:55 -05:00
Valery Yatsko
e7046ee54d irc_sockaddr_storage -> rb_sockaddr_storage, changing fd in Listener struct to F 'cause libratbox3 need it. 2008-04-02 19:57:37 +04:00
Valery Yatsko
a4f22ead11 m_xline.c fixed 2008-04-02 19:47:04 +04:00
Valery Yatsko
97b41ffab9 m_pass.c fixed 2008-04-02 19:45:22 +04:00
Valery Yatsko
54ac8b60a1 Reverting some changed related not to moving on libratbox3 but using ratbox3 source! 2008-04-02 19:37:50 +04:00
William Pitcock
3633815dd3 Make m_resv.so build again. 2008-04-02 10:30:44 -05:00
Valery Yatsko
060755414b warnings fixed 2008-04-02 16:10:09 +04:00
Valery Yatsko
907cea99d2 reject.h include 2008-04-02 16:06:45 +04:00
Valery Yatsko
19fee732d7 tstats stuff gone to m_stats.c 2008-04-02 16:04:43 +04:00
Valery Yatsko
da1d5ec6b5 m_unreject.c fixed 2008-04-02 15:28:55 +04:00
Valery Yatsko
a2d6ed4b25 m_testline.c fixed 2008-04-02 15:27:59 +04:00
Valery Yatsko
18d5e9820d another fix 2008-04-02 15:26:28 +04:00
Valery Yatsko
a6724dd02c m_kline.c warning fixed, but read my comment 2008-04-02 15:25:36 +04:00
Valery Yatsko
9168d56f1f remove_temp_glines() without legacy api 2008-04-02 15:23:07 +04:00
Valery Yatsko
d20d004550 daddr - unused variable warning fixed 2008-04-02 15:21:35 +04:00
Valery Yatsko
6f24a013bf fixing dline 2008-04-02 15:20:15 +04:00
Valery Yatsko
39bdbd3f7d 'ServerStats->' -> 'ServerStats.' 2008-04-02 15:07:00 +04:00
Valery Yatsko
2bef65c9ad Line doesn't exists in ratbox3 and makes compile warning - gone 2008-04-02 15:05:04 +04:00
Valery Yatsko
ae78a57163 Reverting to 398.. trying again with native charybdis hash 2008-04-02 14:16:31 +04:00
Valery Yatsko
e55bb3da3d m_message::add_target from ratbox3 2008-04-02 14:05:17 +04:00
Valery Yatsko
f7e2c5b340 Trying again - this will need ssld integration from me 2008-04-02 13:32:14 +04:00
Valery Yatsko
38cbb0a259 m_pass.c fix 2008-04-02 05:59:06 +04:00
Valery Yatsko
e335494516 CurrentTime -> rb_currenttime(); 2008-04-02 03:53:20 +04:00
Valery Yatsko
f40f6bc1cb dlinkAddAlloc -> rb_dlinkAddAlloc 2008-04-02 03:44:26 +04:00
Valery Yatsko
d269d0b639 linebuf_len -> rb_linebuf_len for modules 2008-04-02 03:43:26 +04:00
Valery Yatsko
e8e79621df Fixed another two warnings in m_stats.c 2008-04-02 03:41:54 +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
47a0375094 DubString -> rb_strdup 2008-04-02 03:26:34 +04:00
Valery Yatsko
2bc1d86ce6 m_capab.c fixed - please check whether I am correct 2008-04-02 03:09:21 +04:00
Valery Yatsko
eddc2ab6d8 MyMalloc -> rb_malloc 2008-04-02 03:07:29 +04:00
Valery Yatsko
90840a2915 m_away.c derived from ratbox3 - looks much better and do not use deprecated DupString. 2008-04-02 03:00:38 +04:00
Valery Yatsko
637c4932f6 Argh, wrong replace caused by MS VS 2005 interface. 2008-04-02 02:47:17 +04:00
Valery Yatsko
bd19829278 MyFree -> rb_free 2008-04-02 02:45:16 +04:00
Valery Yatsko
81af5bcb39 libcharybdis includes gone. 2008-04-02 02:39:19 +04:00
Valery Yatsko
f24a7dfbaf Removing libcharybdis references. 2008-04-02 02:18:44 +04:00
William Pitcock
cf9a6b7557 make m_signon build. 2008-04-01 16:29:32 -05:00
William Pitcock
fa8328508d Make m_set compile. 2008-04-01 16:25:22 -05:00
William Pitcock
03dba44854 Automated merge with ssh://hg.atheme.org//hg/charybdis 2008-04-01 16:15:06 -05:00
William Pitcock
e69385f4fa fix highest_fd nonsense 2008-04-01 16:14:47 -05:00
William Pitcock
75d600888f Clean these modules up. 2008-04-01 16:12:16 -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
Jilles Tjoelker
555ac41f14 Change over some dlink functions. 2008-04-01 22:54:08 +02:00
William Pitcock
b2f0da886e ircs[n]printf -> rb_s[n]printf 2008-04-01 15:38:40 -05:00
William Pitcock
ba200635a6 Make this compile, but lots of warnings. 2008-04-01 15:26:43 -05:00
William Pitcock
7cdb0a09b9 ircsprintf -> rb_sprintf 2008-04-01 15:21:53 -05: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
William Pitcock
1f112a04f4 Allow ENCAP GCAP to be reused to broadcast capability changes to the network.
This means that modules can now be added which change CAPs.
2008-04-01 11:45:46 -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
22f2f68a07 Use ERR_DISABLED in CHGHOST and STATS e. 2008-03-30 20:02:55 +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
9fc04df8c8 Use ERR_NOPRIVS when an oper is not allowed to see admin-only /stats.
This includes opers without the admin flag and admins on other servers.
2008-03-29 23:09:45 +01:00
Jilles Tjoelker
5b0c1b47c6 Fix compiler warning. 2008-03-29 21:36:11 +01:00
Jilles Tjoelker
48a038f4b5 Fix Invalid CAP subcommand error if the user has no nick. 2008-03-18 23:47:37 +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
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
81daf9555b Remove CHFL_DEOPPED check from TMODE.
This check sometimes blocks oper overrides (OMODE).
It does not stop any hacks that the channelTS check
already stops, because CHFL_DEOPPED is only set when
this server ignored an @ in an incoming SJOIN (the
SJOIN is then propagated without the @) and this
can only be because of a TS difference.
2008-02-25 00:05:15 +01:00
Jilles Tjoelker
8c39f0bf04 Fix a UID leak. 2008-02-04 23:56:13 +01:00
Jilles Tjoelker
8170176a78 Remove silly a2client_p, entirely pointless since User.server removal.
(and was pointless since Client.servptr was introduced)
2008-01-14 23:59:46 +01:00
Jilles Tjoelker
e4b9c8e115 Add two missing colons for sendto_one_notice(). 2008-01-06 00:12:51 +01:00
Jilles Tjoelker
0a621c4b5b If stats k is masked for nonopers, treat stats k and K the same.
There is no point in forcing two stats requests for just
one line of information.
2008-01-05 17:00:00 +01:00
Jilles Tjoelker
cdd5b26189 Remove idle time checking (auto disconnecting users idle too long). 2008-01-01 23:04:34 +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
922aa82644 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.
2007-12-28 01:31:56 +01:00
Jilles Tjoelker
7f27e3163d 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.
2007-12-26 00:51:22 +01:00
Jilles Tjoelker
d922ddedfd 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.
2007-12-26 00:18:22 +01:00
Jilles Tjoelker
a58cdfa3f4 Send a few more snotes about remote connects netwide.
(bad password for server, SID exists)
2007-12-25 16:19:54 +01:00
Jilles Tjoelker
bd2b16f309 Use "SID Exists" instead of "Server Exists" where appropriate. 2007-12-25 01:16:18 +01:00
Jilles Tjoelker
7d1f9131fb Consolidate duplicate channel mode flags tables to one. 2007-12-25 01:00:20 +01:00
Jilles Tjoelker
34c10ff5f5 Make the notable TS delta snote netwide as this may screw up the entire network. 2007-12-25 00:18:34 +01:00
Jilles Tjoelker
62433315e9 Put full detail in the SQUIT reason for invalid TS version or excessive TS delta. 2007-12-25 00:16:26 +01:00
Jilles Tjoelker
f2c1b06bcf Make the other notices to snomask +b network wide.
(with the exception of flooding on an &channel)
2007-12-24 22:43:47 +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
095328a742 Move various flags from flags2 to flags. 2007-12-24 20:58:55 +01:00