B.Greenham
88b63e6506
Make the target user's modes show up in whois.
2010-02-23 02:59:35 -05:00
JD Horelick
074fe45ad7
Some quick user_join() call fixes.
2010-02-23 02:56:57 -05:00
JD Horelick
824455aba6
Forgot to constify
2010-02-23 02:53:19 -05:00
JD Horelick
3472ff3fec
Add an include
2010-02-23 02:52:53 -05:00
JD Horelick
9230426e7a
More moving
2010-02-23 02:52:01 -05:00
JD Horelick
67b90240c4
move user_join() to channels.c
2010-02-23 02:48:33 -05:00
JD Horelick
080bb5cf25
Start moving parts of join to channels.c so they can be used in more places.
2010-02-23 02:41:26 -05:00
JD Horelick
2c489d8e65
Backed out changeset 199eadae216a
2010-02-23 02:04:53 -05:00
JD Horelick
6d3e983251
Compile fix
2010-02-23 02:01:19 -05:00
B.Greenham
7e6c9180da
Add chmode +D, which blocks CTCP ACTION.
2010-02-23 01:08:42 -05:00
B.Greenham
92504d43b1
Merge.
2010-02-23 00:54:16 -05:00
B.Greenham
6afd4b916f
Add chmode +T, which blocks notices.
2010-02-23 00:49:24 -05:00
JD Horelick
e54944ef98
Whoops, small fail.
2010-02-23 00:43:34 -05:00
JD Horelick
87f58b4ffb
Add oper autojoin (with auth::autojoin_opers config option).
2010-02-23 00:41:14 -05:00
JD Horelick
fa72cee166
Added autojoin-on-connect (with auth::autojoin config option).
2010-02-23 00:22:37 -05:00
B.Greenham
930629c5f2
Add umode +B, which marks users with it set as a bot in whois.
2010-02-23 00:21:24 -05:00
B.Greenham
2678f87a51
Fix some indentation I messed up while adding umode +C.
2010-02-22 23:10:36 -05:00
B.Greenham
854f6bd0af
Add umode +V, which blocks invites to anyone with it set.
2010-02-22 22:45:37 -05:00
B.Greenham
ccfc9b567d
Add umode +C, which blocks CTCPs to anyone with it set.
2010-02-22 22:14:47 -05:00
Jilles Tjoelker
c6d5c019d0
Remove more old kline.conf stuff.
...
Make sure to recompile modules, stuff has been removed
close to the start of ConfigFileEntry.
2010-02-22 19:31:05 +01:00
Jilles Tjoelker
918a0e1d39
Remove code to write bans to csv files.
2010-02-22 19:09:46 +01:00
Jilles Tjoelker
b6698246ba
spambot checks: Fix excessive expiry in some cases.
2010-02-21 01:29:41 +01:00
William Pitcock
ba29286a4a
Do not try to free the alias dict if it does not exist.
2010-02-18 18:38:26 -06:00
William Pitcock
6d194359ab
Change license version in version.c.SH (GPLv1 -> GPLv2) so that it agrees with the other documentation.
2010-02-17 23:05:47 -06:00
William Pitcock
8afd32ce07
s/o:lines/operator blocks/
2010-02-17 23:01:58 -06:00
William Pitcock
e4c72f7919
Clarify ERR_NOOPERHOST and convert it to use sendto_one_numeric().
2010-02-17 06:51:41 -06:00
William Pitcock
d8a023eddd
Add support for client certificate fingerprints in o:lines.
2010-02-17 06:41:41 -06:00
Jilles Tjoelker
878733fd68
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
3002877654
target change: Overwrite the least recently used target with a new one.
2010-02-15 00:31:17 +01:00
JD Horelick
957ee03b56
English fix to fix the fix i made about 80 minutes ago.
...
I suck at a/an cometimes. Also, fix.
2010-02-08 18:04:54 -05:00
JD Horelick
b17999e11b
One or 2 English language cleanups. Less than I thought there were.
2010-02-08 16:28:08 -05:00
Jilles Tjoelker
54656d7650
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
f7b5446177
Apply ratbox3 workaround for too permissive inet_pton6():
...
Any kline (or various other things) containing * or ? is
a mask kline and not an IP kline. Ideally, rb_inet_pton_sock()
would return failure for those, but in practice this is not
always the case for IPv6.
Such a kline that is erroneously treated as an IP line
likely matches way fewer IPs than expected.
2010-02-03 00:44:51 +01:00
William Pitcock
09fb2d185d
Clarify CertFP message.
2010-01-31 17:35:15 -06:00
Jilles Tjoelker
a099270d45
Add certfp support to libratbox and ssld.
...
This lets a user connect with a client certificate, and
passes the certificate's fingerprint to ircd, which
currently just notices it to the user.
A new ssld->ircd message 'F' is used to pass on the
fingerprint.
This is only for OpenSSL for now, not GNUTLS.
2010-01-31 19:04:20 +01:00
William Pitcock
436cf01700
Automated merge with ssh://hg.atheme.org//hg/charybdis
2010-01-30 19:21:28 -06:00
William Pitcock
4b253d3bd7
modreload: Causing an entire 50,000 user network to crash due to user-error is a bad idea, don't let it happen again by not allowing paths in /modreload.
2010-01-30 19:21:17 -06:00
Jilles Tjoelker
cfc8334833
Slightly tighten auth{} duplicate check:
...
If the existing auth{} block has no auth_user, it will
trump any auth{} block for the same u@h.
2010-01-31 01:40:43 +01:00
Jilles Tjoelker
67cc1f0c96
Take auth_user into account when detecting redundant/duplicate auth{}.
...
from ircd-seven (spb)
2010-01-31 01:36:37 +01:00
Jilles Tjoelker
66a1809526
No need to be paranoid about clearing auth_user.
...
It is a username, not a password.
2010-01-31 01:30:25 +01:00
Jilles Tjoelker
e37a8398ce
Fix memory leak with auth_user.
...
from ircd-seven (spb)
2010-01-31 01:29:08 +01:00
Jilles Tjoelker
6d70eae633
Remove remnants of <foo>_t typedefs.
2010-01-30 15:57:10 +01:00
Jilles Tjoelker
7748deb557
Do not read in help files starting with a dot (including dot and dot-dot).
2010-01-22 02:02:45 +01:00
Stephen Bennett
b4c26701c3
Don't cache files that are empty or not files. Avoids crashing on the likes of 'HELP .'
2010-01-21 16:27:34 +00:00
William Pitcock
92a7995129
Merge +C (no CTCP to channels) from ircd-seven.
2010-01-19 02:11:04 -06:00
William Pitcock
f5e7f3182b
Automated merge with ssh://hg.atheme.org//hg/charybdis
2010-01-19 01:47:27 -06:00
William Pitcock
0a304f3813
supported: Add CLIENTVER=3.0 to indicate presence of 3.0 core capabilities (such as CAP, extended WHO, etc) as requested by LifeIsPain.
2010-01-19 01:47:21 -06:00
Jilles Tjoelker
70c6c150f6
Complete the move of xlines and resvs from aconf->name to aconf->host.
2010-01-08 18:46:29 +01:00
William Pitcock
ff0482a9cb
Fix up more things with bandb.
2010-01-07 18:14:15 -06:00
William Pitcock
9f02582216
Load in new bans from bandb on startup.
2010-01-07 18:06:15 -06:00
William Pitcock
58af12a20d
Start bandb on ircd initialization.
2010-01-07 17:22:44 -06:00
William Pitcock
2c9a27c46a
Add bandb IRCd APIs.
2010-01-07 17:10:16 -06:00
Jilles Tjoelker
5c3794b9f0
Update some copyright years.
2010-01-01 22:46:34 +01:00
Jilles Tjoelker
25b1f927be
Remove FLAGS_SENDQEX, fix sendq exceeded snotes for servers.
...
from ircd-ratbox
2009-12-21 16:58:25 +01:00
Stephen Bennett
4606e8fc6c
Merge
2009-12-08 19:23:32 +00:00
Stephen Bennett
c387fc41ae
Revert all presence-related changes
2009-12-08 19:22:55 +00:00
Jilles Tjoelker
22544e37fb
Fix crashes when there are no alias blocks in the conf.
2009-12-05 20:48:02 +01:00
William Pitcock
eb94e0e2f2
Automated merge with ssh://hg.atheme.org//hg/charybdis
2009-10-24 21:07:53 -05:00
William Pitcock
32f33374f8
If you're going to censor my jokes, at least do it right.
2009-10-24 21:07:41 -05:00
Jilles Tjoelker
100563e836
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
William Pitcock
022573be75
Display o:line "nickname" in global oper-up messages.
2009-07-13 12:55:35 -05:00
Jilles Tjoelker
fe86a70d9a
Show yyerror() parse errors on stderr on startup.
...
Noticed by: spb
2009-06-18 00:37:19 +02:00
Jilles Tjoelker
9d393c9052
Add new constants for presence key/value lengths
...
instead of overloading NICKLEN/TOPICLEN.
2009-06-03 23:38:07 +02:00
Jilles Tjoelker
104fea6cda
Do not send two 792 numerics when changing a metadata from one non-empty value to another.
2009-06-03 20:44:37 +02:00
William Pitcock
41c6374550
presence: send..._with_capability...(): don't send if the client does not have the capab but isn't on a channel
2009-06-02 02:48:22 -05:00
William Pitcock
a436c5aab0
presence: delete_metadata(): Free from the right heap.
2009-06-02 02:46:37 -05:00
William Pitcock
46b3bb7655
presence: Add _butone() variant of sendto_common_channels_local_with_capability().
2009-06-02 02:38:38 -05:00
William Pitcock
8ccc820864
presence: Broadcast presence changes to peer clients with CLICAP_PRESENCE.
2009-06-02 02:36:18 -05:00
William Pitcock
489f4799c8
presence: Declare RPL_METADATACHG.
2009-06-02 02:32:07 -05:00
William Pitcock
a917e9baf3
presence: Add sendto_common_channels_local_with_capability(), used for broadcasting presence updates.
2009-06-02 02:28:02 -05:00
William Pitcock
727a98a669
presence: Declare RPL_WHOISMETADATA.
2009-06-02 02:19:37 -05:00
William Pitcock
e4a64911ae
presence: Remove no longer used away_heap.
2009-06-02 02:08:45 -05:00
William Pitcock
987ef7eb1f
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
25e664566f
presence: Make set_metadata() erase any old metadata for an entry.
2009-06-02 01:53:05 -05:00
William Pitcock
85171f1f16
presence: Add get_metadata().
2009-06-02 01:50:40 -05:00
William Pitcock
e5847c3ef3
presence: Add set_metadata() and delete_metadata().
2009-06-02 01:41:44 -05:00
William Pitcock
95cc7c44e8
presence: Declare RPL_METADATASET and RPL_METADATAREM.
2009-06-02 01:32:09 -05:00
William Pitcock
dd7eb3ffaa
presence: Create presence metadata tracking structures where appropriate.
2009-05-30 13:30:57 -05:00
Jilles Tjoelker
481912374a
Remove check_banned_lines() code duplication.
...
We can just call check_dlines(), check_klines() and check_xlines().
2009-05-21 23:11:32 +02:00
Jilles Tjoelker
8479094d8f
Check the return value on rb_pipe.
...
from ircd-ratbox (r26515) (androsyn)
2009-05-13 22:07:57 +02:00
Jilles Tjoelker
e17ab35b5d
Remove unused inet_socketpair() code, this is in libratbox now.
2009-05-12 23:56:28 +02:00
Jilles Tjoelker
e421505e8c
More rb_socketpair() return value checks.
...
from ircd-ratbox (r26507) (androsyn)
2009-05-12 23:30:46 +02:00
Jilles Tjoelker
77ced1e851
Report errors and close the incoming connection if socketpair fails
...
for ssl connections.
from ircd-ratbox (r26503) (androsyn)
2009-05-12 23:18:41 +02:00
Jilles Tjoelker
63860dd1a7
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
William Pitcock
16d8d9fc6d
can_kick hook, based on the ircd-seven one.
2009-04-20 09:20:11 -05:00
Stephen Bennett
1229514e6d
/ is a host character and not a nick character, so make pretty_mask treat it as such
2009-04-20 08:42:41 -05:00
Stephen Bennett
59bb80930d
Allow / in spoofed hosts
2009-04-20 08:37:13 -05:00
Jilles Tjoelker
6d4df0e35c
Fix compilation with --enable-assert=soft.
2009-04-08 21:30:58 +02:00
Jilles Tjoelker
0c73c94217
Remove some unused variables.
2009-04-08 21:30:34 +02:00
Jilles Tjoelker
6ce8910d97
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
2ab422dbdd
No profanity.
2009-03-13 19:36:49 +01:00
William Pitcock
efd2d7e0e5
Our IRC oper messages are now as enhanced as enhanced interrogation techniques.
2009-03-08 21:06:33 -05:00
Jilles Tjoelker
13ea0f1cd1
rehash bans: show mask in k/x line over-ruled notice
...
This was already shown in the over-ruled notices on k/x line add.
2009-03-08 14:31:50 +01:00
Jilles Tjoelker
6bba251749
rehash bans: still check k/x lines for users exempt from dlines
2009-03-08 13:30:30 +01:00
Jilles Tjoelker
638156bac9
Use ratbox's match_esc(), this allows \s for space.
2009-03-08 02:14:26 +01:00
Jilles Tjoelker
9bf8f69cc6
Fix close detection with ssl+zip, porting more code from ircd-ratbox.
...
This tells the SSL ssld to report connection closure to ircd
using the new fd.
2009-03-07 03:23:17 +01:00
Jilles Tjoelker
0b1e46f5b4
Allow /rehash throttles to clear throttling.
2009-03-07 01:49:09 +01:00
Jilles Tjoelker
dbbe21ed03
Rework remote rehash messages to apply to all server notices during rehash.
...
Previously various notices such as those applying
to modules were not sent to the remote oper.
2009-03-07 01:27:05 +01:00
Jilles Tjoelker
76caaecbba
Remove unused declaration.
2009-03-03 22:26:45 +01:00
Jilles Tjoelker
dea418e9b4
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
2a003301de
Avoid unnecessary const violation.
2009-02-22 00:05:48 +01:00
Jilles Tjoelker
1a4058095d
Fix an off by one error with zipstats processing
...
from ircd-ratbox (androsyn)
2009-02-07 23:26:05 +01:00
Jilles Tjoelker
6b2cf989b6
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
4ffad8e6cc
Warn about auth blocks after a *@* auth and duplicate auth blocks.
2009-01-31 18:42:03 +01:00
Jilles Tjoelker
af2484840a
Remove comments related to (removed) ability to disable TS6.
2009-01-30 16:50:00 +01:00
Jilles Tjoelker
1ba281712f
For remote rehashes, send error messages to the requesting oper as well.
2009-01-30 00:11:12 +01:00
Jilles Tjoelker
12c4f819fa
Log unknown class in auth errors to ircd.log as well.
2009-01-29 23:53:20 +01:00
Jilles Tjoelker
0f3f5496b8
Remove obsolete comment.
2009-01-25 21:02:04 +01:00
Jilles Tjoelker
8d03179e4f
Only kill unknown prefix UIDs that start with a valid SID
...
(existing and behind the link that sent the prefix).
Also require them to be exactly 9 characters long.
2009-01-22 00:27:27 +01:00
Jilles Tjoelker
f8283571ad
Simplify hunt_server(), send ERR_NOSUCHSERVER from only one place.
2009-01-21 20:15:07 +01:00
Jilles Tjoelker
ac408af6cb
Update comments for parv[0] removal.
2009-01-18 18:22:43 +01:00
Jilles Tjoelker
564b19bf9a
If a privset is removed from ircd.conf, wipe its privs.
...
(Privsets continue to exist as long as they are referenced.)
2009-01-18 01:39:41 +01:00
Jilles Tjoelker
3619e29987
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
6e749518bb
burst_TS6(): assume users have a UID
2009-01-16 23:11:11 +01:00
Jilles Tjoelker
cffd37ee37
[ratbox3 svn r26397] Make it more likely that error messages on ssld connections get through.
...
When ssld reports a connection closure because of
"Remote host closed the connection" and the connection
is any server or a registered client, try a
read_packet() on the client.
This should mainly help LIBRB_USE_IOTYPE=poll which
iterates over the ready file descriptors in numerical
order, processing the ssld control connection before the
closing data connection.
2009-01-15 20:08:46 +03:00
androsyn
6f3b64079f
[svn r26332] get rid of the zip ready stuff
2009-01-01 14:50:21 +03:00
Aaron Sethman
62271ba929
re-enable ziplinks + ssl
2008-12-13 23:20:59 +03:00
Jilles Tjoelker
d5e5bfc851
Update some copyright years.
2009-01-01 22:48:50 +01:00
Jilles Tjoelker
3471ceb507
Allow opers to see other users umodes with /mode <nick>.
...
If the other user is local, the snomask is also shown.
2009-01-01 19:24:38 +01:00
Jilles Tjoelker
53ece38bb1
Remove redundant check.
...
Surely, if source_p == target_p, then target_p->from == source_p->from.
2008-12-28 18:36:41 +01:00
Jilles Tjoelker
064c191ad2
Make sure default privset remains available, fixes various crashes
...
with default/invalid privsets and rehashing.
2008-12-27 23:13:48 +01:00
Jilles Tjoelker
7b52cd51d5
Put libratbox version on startup in a nicer place.
2008-12-22 21:50:21 +01:00
Valeriy Yatsko
b0ef251cda
[ratbox3 svn r26284 by androsyn] spew the libratbox version info on -version and at startup
2008-12-22 12:58:33 +03:00
Jilles Tjoelker
760ef9e1ea
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
84bfb8ccb3
Only count throttle entries that cause rejection in /stats t.
2008-12-16 21:10:09 +01:00
Jilles Tjoelker
76d4968137
Show throttle info in /stats t.
...
from ircd-ratbox (androsyn)
2008-12-16 21:02:04 +01:00
Jilles Tjoelker
543b8c392c
Make rehashing privset{} change online oper privileges.
...
This also fixes memory leak due to multiple privsets
with the same name (added after each rehash).
2008-12-14 18:25:15 +01:00
Jilles Tjoelker
0ba0bb4ce0
Unref privset of quitting oper.
2008-12-14 17:31:42 +01:00
androsyn
0dc49ff2f4
cast getpid() to int
2008-12-10 12:46:23 +03:00
Aaron Sethman
5274a6d761
report logfile access issues
...
committer: Valeriy Yatsko <dwr@it-penza.org>
2008-11-16 10:15:28 +03:00
Valeriy Yatsko
4e2fdb1f81
Branch merge.
2008-12-03 02:59:26 +03:00
Valeriy Yatsko
3b0f3294cf
Remove irc_basename, replace it with rb_basename from libratbox.
2008-12-03 02:59:13 +03:00
Jilles Tjoelker
2cf629d9b5
Put back conditionally netwide ssld error snote.
2008-12-03 00:55:58 +01:00
Valeriy Yatsko
c7c9aa764d
Branch merge.
2008-12-03 02:50:01 +03:00
Valeriy Yatsko
94b4fbf93a
Copied libratbox and related stuff from shadowircd upstream.
2008-12-03 02:49:39 +03:00
Jilles Tjoelker
1386c9a7c0
Specify RTLD_LOCAL explicitly.
...
As in atheme-services, I guess some versions of
MacOS X need this.
2008-12-03 00:39:07 +01:00
Jilles Tjoelker
c8d8588915
Split cidr_bitlen into cidr_ipv4_bitlen and cidr_ipv6_bitlen.
...
Taken from ircd-ratbox 3 via shadowircd.
2008-11-30 13:31:59 +01:00
Jilles Tjoelker
36f0316a72
Remove unnecessary initialization that violates const.
2008-11-27 22:50:01 +01:00
Jilles Tjoelker
e7c8892297
Put back accidentally removed word.
2008-11-26 21:38:49 +01:00
Jilles Tjoelker
51e1ce904e
Make the notices reporting auth{} privs a bit more serious-looking,
...
as in ratbox3.
2008-11-19 22:45:13 +01:00
Aaron Sethman
17d00839b3
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
9a9f3cf8a5
Only require DNSBL replies to be in 127.0.0.0/8 instead of /24.
2008-11-15 16:17:16 +01:00
Jilles Tjoelker
570ca08a4f
Allow the resolver to process longer hostnames,
...
for the benefit of some DNSBLs like the "TorDNSEL service".
2008-11-15 16:13:39 +01:00
Jilles Tjoelker
44913ac65f
Add WHOX to 005 so we can see if much breaks.
2008-11-09 00:27:15 +01:00
Jilles Tjoelker
555801db60
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
05d8a68c88
Show spambot notices for joins, not for parts.
...
Parts still decrement the counter for showing notices.
This shows more channels in the notices.
2008-11-08 17:22:41 +01:00
Jilles Tjoelker
f8d9b22917
Add the IP address to userlog, as in ratbox3.
2008-10-31 10:57:51 +01:00
Jilles Tjoelker
4f2b6c0b38
Allow clearing general::kline_reason via a rehash.
2008-09-17 00:21:00 +02:00
Jilles Tjoelker
850b23f3a9
Remove old oper privilege flags.
2008-09-09 21:51:26 +02:00
Jilles Tjoelker
663bbb2836
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