Commit Graph

663 Commits

Author SHA1 Message Date
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
Jilles Tjoelker 5b0a527927 Use rb_snprintf() in various places. 2008-09-06 01:00:20 +02:00
Valeriy Yatsko d05e3e3a7b We don't want to leave the isupport name in the extension memory space on changing it - fixed a bug (tnx Artem@IrcNet(RU)) 2008-08-31 03:57:27 +04:00
William Pitcock 508c7c41fe Make change_isupport() return the old value!!! 2008-08-29 15:36:41 -05:00
William Pitcock 17ad49a96a Add change_isupport() to change the value of an ISUPPORT token. 2008-08-29 15:27:34 -05:00
William Pitcock 9ac19244c0 Automated merge with ssh://hg.atheme.org//hg/charybdis 2008-08-29 14:48:06 -05:00
Stephen Bennett 645103ac52 If auth_user and server password were given and not used, use auth_user as an account name in the nickserv identify command 2008-08-29 14:45:30 -05:00
Jilles Tjoelker 628eee0041 Remove some dead code.
found using llvm static analyzer
2008-08-29 02:53:52 +02:00
Jilles Tjoelker ef8e4220ec Fix a memory leak.
found using llvm static analyzer
2008-08-29 01:58:10 +02:00
Jilles Tjoelker 0cdd90ce79 Fix comment, getsockname() can fail legitimately.
from ircd-ratbox r25967 (jilles)
2008-08-28 01:06:19 +02:00
Jilles Tjoelker c80be1ec80 Don't try to add a closed connection.
ircd-ratbox r25965 (jilles)
2008-08-28 01:05:41 +02:00
Jilles Tjoelker 07c8448a5b Fix ident for ssl connections. 2008-08-28 00:49:04 +02:00
Jilles Tjoelker 6acb39cb1a Clear privset on deoper. 2008-08-25 18:24:24 +02:00
Jilles Tjoelker 220c63400a Fix crash if there is no privset= in an operator{}. 2008-08-18 00:55:12 +02:00
Jilles Tjoelker c08e7f2dbd Use C locale for the compilation date. 2008-08-17 22:55:57 +02:00
William Pitcock 34cb09ceea Make a reference to privset in Client.localClient. 2008-08-17 08:23:40 -05:00
William Pitcock 665e79e999 privilegeset_ref(): return the privilegeset 2008-08-17 08:22:56 -05:00
William Pitcock 5a6d4202d1 Make use of the new default privset!! 2008-08-17 08:08:23 -05:00
William Pitcock 001f5f6731 ircd initialization: add a "default" privset with no privs. 2008-08-17 08:06:28 -05:00