Commit Graph

828 Commits

Author SHA1 Message Date
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
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
William Pitcock 83c037c058 Automated merge with ssh://hg.atheme.org//hg/charybdis 2008-08-17 07:53:32 -05:00
William Pitcock 3ddb54d905 update oper line 2008-08-17 07:53:29 -05:00
Jilles Tjoelker d2e6d8d715 Add 328 numeric (ChanServ channel URL) to the header files. 2008-08-17 14:49:01 +02:00
William Pitcock f6189c43ab same bug 2008-08-17 07:47:06 -05:00
William Pitcock 39352a39f2 fix another stupid bug, gah 2008-08-17 07:46:18 -05:00
William Pitcock 76eca655f9 Make sure extended privilege sets are added to the registry. 2008-08-17 07:44:46 -05:00
William Pitcock 7ce46e0447 Allow : to be in 'string' values. 2008-08-17 07:41:52 -05:00
William Pitcock b8be4a3f4c Initial work on getting privsets working. 2008-08-17 07:40:27 -05:00
William Pitcock de0e9f373b Add config magic for privset{} parsing. 2008-08-17 07:10:23 -05:00
William Pitcock 0e52880760 Add privilegeset_extend(). 2008-08-17 06:35:49 -05:00
William Pitcock 9291987bba Add basic PrivilegeSet API. 2008-08-17 06:27:59 -05:00
Valery V Yatsko 2d9a60fe7e fixed warnings on src/ircd.c compilation 2008-08-17 09:33:05 +04:00
Valery V Yatsko 9b37ad07c3 ircd-ratbox -> charybdis 2008-08-16 22:38:13 +04:00
Valery V Yatsko 2a64312fdc seed random not even every 300 seconds, but on startup also 2008-08-16 22:30:28 +04:00
Valery V Yatsko 2b454b76dc egd fixed 2008-08-16 22:29:33 +04:00
Valery V Yatsko 5d2fe5036e comment to fix egd (not work currently) 2008-08-16 22:24:28 +04:00
Valery V Yatsko 6145bb6027 no more servlink - removed 'servlink_path' from reference.conf and source files 2008-08-16 22:23:56 +04:00
Valery V Yatsko a0775df0ed fixed typo in sslproc.c 2008-08-08 20:01:52 +04:00
Valery V Yatsko b01b826d26 ilog -> inotice in ircd_restart_cb (ircd.c) 2008-08-06 23:57:45 +04:00
Valery V Yatsko 94c100153c from ircd-ratbox r25799 by androsyn: give a bit more info when libratbox calls logging callbacks 2008-08-06 23:12:02 +04:00
Valery V Yatsko fba62b0151 Moved extern chmode_flags declaration from channel.h to chmode.h, as
it's actually declared in the second one
2008-08-04 21:51:15 +04:00
Valery V Yatsko bee0998d33 Removed global_tree declaration as unused from reject.c 2008-08-04 21:45:30 +04:00
Jilles Tjoelker d1275a8fd6 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 70747af524 Fix rejectcache and unknown_count.
Unfortunately they are checked after SSL setup.
2008-07-31 22:47:53 +02:00
Jilles Tjoelker bcd8cc02e1 Fix some part of IPv6 dline checking. 2008-07-31 21:56:05 +02:00
Jilles Tjoelker 8576d6944a Fix problems with resolver not responding and epoll.
Read from resolver socket until it is no longer ready.
2008-07-30 19:53:54 +02:00
Jilles Tjoelker 8789299343 Put back netwide snotes for ssld errors from remote connects. 2008-07-30 14:50:12 +02:00
Jilles Tjoelker f43b492b70 Make the ircd start again. 2008-07-30 14:48:39 +02:00
Valery Yatsko f5bdde4b42 sslproc.c synced with ircd-ratbox3 svn 2008-07-30 02:55:08 +04:00
Valery Yatsko 9a7b24a6be Removed unneeded includes from newconf.h 2008-07-28 23:14:51 +04:00
Valery Yatsko b1d6fa8cd2 Reordered functions to match ratbox3's order 2008-07-28 23:02:54 +04:00
Valery Yatsko b5a93db8b8 Removing '/* patricia */' declarations block as libratbox3 has this now, changed the order of variable declarations a bit 2008-07-27 16:25:00 +04:00
Valery Yatsko 4d938eac7d Cleanup: removed unused initialVMTop variable from ircd.c and get_maxrss() from restart.c 2008-07-27 16:18:50 +04:00
Valery Yatsko cd1dea9726 last changes of crypt -> rb_crypt 2008-07-27 14:52:46 +04:00
Valery Yatsko 7608ef4933 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 e23905e60d Regenerate depend files. 2008-07-12 01:52:27 +02:00
Jilles Tjoelker 121cd4dcb6 Some fixes to .depend generation. 2008-07-12 01:52:14 +02:00
Jilles Tjoelker 3fde0c14a2 Do not send kills for unknown prefixes which are nicks.
This can happen harmlessly in particular if a SAVE
and a nick-prefixed command crossed; then, due to
nick changes and nick chasing, it easily causes
ghosts that need a kill or split to disappear.
Most commands use UID as prefix which does not have
this problem and will destroy real ghosts soon enough.
2008-07-02 00:58:56 +02:00
Jilles Tjoelker e5cdec73ac Log ssld errors for servers and handshakes.
(serverlog)
2008-06-30 00:28:00 +02:00
Jilles Tjoelker 0d093bfee3 Call serv_connect_callback() directly from serv_connect_ssl_callback().
This speeds up outgoing SSL server connections by 1 second.
2008-06-29 23:47:10 +02:00
Jilles Tjoelker faed554234 Give proper error messages if connect fails for a server using SSL. 2008-06-29 23:47:02 +02:00
Jilles Tjoelker cd0ba90750 Send ssld error netwide if it was a remote connect and a handshake. 2008-06-29 22:02:32 +02:00
Jilles Tjoelker 0b53baf73b Keep track of nameservers that timeout and use others preferably.
The number of timeouts since the last received
packet is visible in /stats A.
2008-06-29 21:07:24 +02:00
Jilles Tjoelker 0ae330b43f 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
Valery V Yatsko 42706093f1 New (and better) values for startup event timings 2008-06-28 14:50:21 +04:00
Valery V Yatsko 6447b1637d Removed __CYGWIN__ define - server has no ability to work on cygwin right now 2008-06-28 14:46:03 +04:00
Valery V Yatsko f4fd05e251 Removed SystemTime declaration 2008-06-28 14:38:27 +04:00
Valery V Yatsko fd4535aa50 Remove srand() from main(), we are using ratbox3 random number generator (ev) 2008-06-28 14:36:25 +04:00
Valery V Yatsko 715b28fefd Applied svn diff from ratbox3 r21458:21470 2008-06-28 14:13:50 +04:00
Valery V Yatsko 4fd52c8c20 notify_banned_client cleaned up 2008-06-28 12:56:58 +04:00
Valery V Yatsko bb79db15d7 1. Removed stupid initUser() function outside of all heaps initializations
2. Cleaned up make_client
2008-06-28 12:49:27 +04:00
Valery V Yatsko 6992eef0b5 *_heap declaration related to client.c are now in client.c + current_uid too 2008-06-28 12:44:19 +04:00
Valery V Yatsko 9a67ad23d9 Remove Channel->users_last, used nowhere 2008-06-28 12:25:53 +04:00
Valery V Yatsko 9813daca73 'struct config_channel_entry ConfigChannel' in channel.c too 2008-06-28 12:02:51 +04:00
Valery V Yatsko 1a218aaf75 'rb_dlink_list global_channel_list' declaration moved to channel.c 2008-06-28 12:00:01 +04:00
Valery V Yatsko 5475a9321f channel_heap,ban_heap,topic_heap,member_heap declared statically in channel.c instead of ircd.{c,h} 2008-06-28 11:54:51 +04:00
Valery V Yatsko c735f93023 Pretty symlink logic for help files 2008-06-28 11:48:30 +04:00
Valery V Yatsko 7dd98666cc untabify function added to cache.c:
removes tabs from src, replaces with 8 spaces, and returns the length
of the new string.  if the new string would be greater than destlen,
it is truncated to destlen - 1
2008-06-28 11:22:43 +04:00
Valery V Yatsko 6a95f26eaf unlikely -> rb_unlikely 2008-06-26 10:19:27 +04:00
Valery V Yatsko 969a1ae66a PASS selector:password for auth{}, based on spb's patch for ircd-seven 2008-06-26 10:18:58 +04:00
Valery V Yatsko 2392eb24cd Generating cflags bufs dynamically: one for RPL_MYINFO and one for
supported.c
2008-06-25 07:51:32 +04:00
Valery V Yatsko 57d299acbd Merged find_orphaned_cflags and construct_noparam_modes in one function
as there's no reason to use them separetly
2008-06-25 07:13:58 +04:00
Valery V Yatsko 6b3b07a84e New way of noparam mode search 2008-06-24 22:21:26 +04:00
Valery V Yatsko 058aa02c4a New orphaned cflags implementation, now using chm_orphaned instead of
storing orphaned flags in a variable
2008-06-24 22:00:41 +04:00
Jilles Tjoelker 040c4408ed Fix some tracking for cmode +r. 2008-06-25 19:40:12 +02:00
Jilles Tjoelker c08f4515a9 Fix limits on simple modes.
Formerly some mode strings like +svvvv were not accepted.
2008-06-25 19:27:30 +02:00
Valery V Yatsko 73de5d22ed A draft version of find_cmode_slot and orphaned concept for channel
flags
2008-06-24 21:26:49 +04:00
Valery V Yatsko 75818939ab Applying dyn-cmodes.diff - first step in implementing channel module
addition in extensions
2008-06-24 20:45:19 +04:00
Jilles Tjoelker 30e0808268 ident: use rb_read/rb_write instead of direct syscalls 2008-06-21 02:29:21 +02:00
Jilles Tjoelker 0a93f25c7a ident: obtain port numbers earlier and store them
This eliminates two syscalls per ident lookup.
It also removes a piece of code that depends on
the port fields being in the same location for
sockaddr_in and sockaddr_in6.
2008-06-21 01:52:57 +02:00
Jilles Tjoelker e8c4b8b290 ident: Check getsockname() return value. 2008-06-21 01:27:17 +02:00
Jilles Tjoelker ed28210c45 Clean up s_auth a little. No functional changes. 2008-06-21 00:58:08 +02:00
Jilles Tjoelker 8813d184e3 Do not timeout unknowns if still waiting for blacklist lookup.
This fixes inability to connect if all DNS queries
time out and any blacklists are defined.
2008-06-20 01:49:53 +02:00
Jilles Tjoelker 3e6a6891a1 Get rid of ", " at the start of some oper privs strings. 2008-06-18 21:58:43 +02:00
Jilles Tjoelker 1728a2acd0 resolver: Remove effectively unused 'resend' flag. 2008-06-15 15:53:04 +02:00
Jilles Tjoelker 8fede7abee resolver: Remove request_state which is no longer used. 2008-06-15 01:17:42 +02:00
Jilles Tjoelker 0accfaf36f Allow CNAMEs everywhere, named will have recursed into them for us.
This makes PTRs containing names that are a CNAME
for an A (instead of an A) work. While this is
probably bad practice, some people do it and most
other ircds seem to accept it.
2008-06-15 00:57:15 +02:00
Jilles Tjoelker ad884f939e Remove construction of some TS5 linebufs. 2008-06-14 02:30:30 +02:00
Jilles Tjoelker bf9ca219d3 Remove more TS5 remants (sendto_server calls). 2008-06-14 02:06:55 +02:00
Jilles Tjoelker 7592f950b2 Unbreak sending out bans and simple modes with parameters. 2008-06-13 22:21:44 +02:00
Jilles Tjoelker b9f46fc5fa Get rid of some K&R style function declarations for conf parser. 2008-06-11 00:54:02 +02:00
Jilles Tjoelker 6d18bf1a12 Some const stuff for m_set. 2008-06-11 00:28:08 +02:00
William Pitcock 9f9b4d7b2b More TS6 special cases simplified. 2008-06-08 02:16:43 -05:00
William Pitcock b813aae326 Remove one last bit of TS5 stuff. 2008-06-08 02:14:21 -05:00
William Pitcock b9d7f41c8a Forgot to test the bitmask, oops. 2008-06-08 02:13:26 -05:00
William Pitcock cf91d0c9d8 Replace old 2.8-style privileges notice with a new one. 2008-06-08 02:09:15 -05:00
William Pitcock a4857d780f core: no more TS5 2008-06-08 01:29:26 -05:00
William Pitcock 77bf1a0402 Remove burst_modes_TS5() and burst_TS5(). 2008-06-08 01:11:57 -05:00
Jilles Tjoelker 213aeb8d6b Check for the -rpath linker flag.
This makes it build on MacOS X which neither
supports nor needs this flag.
2008-05-17 17:46:37 +02:00
Jilles Tjoelker 7f9801883f Show hg revision number (serno) in ircd -version. 2008-04-22 23:41:16 +02:00
Jilles Tjoelker 0fcbff0c49 Don't try to fflush a file we just closed.
ircd-ratbox r25251 (androsyn)
2008-04-22 00:45:43 +02:00
Jilles Tjoelker 7e7c69536b Remove obsolete comment.
DNS lookups should be done prior to usage of an item,
not when loading the configuration.
2008-04-20 15:33:23 +02:00
Jilles Tjoelker 3f2b905e35 Remove conf_connect_allowed(), neither used nor declared. 2008-04-20 15:32:08 +02:00
Jilles Tjoelker c465dbcda4 Move some declarations to header files, this enforces that they match. 2008-04-20 15:30:24 +02:00
Jilles Tjoelker aa65834c6f Fix various compiler warnings. 2008-04-20 15:20:10 +02:00
Jilles Tjoelker 78a47af020 Remove silly cast that caused a compiler warning. 2008-04-20 14:47:34 +02:00
Valery Yatsko 45be325cd2 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 7e8e21a41a Remainder of irc_string.* is moved to new inline/stringops.h. 2008-04-20 01:03:11 -05:00
Valery Yatsko 13ae2f4b69 irc_string.h -> match.h, irc_string.h; includes changed 2008-04-20 09:47:38 +04:00
Valery Yatsko 5f4f1d055f strip_tabs() is related to s_conf.c ONLY - moved it there 2008-04-20 09:38:26 +04:00
Valery Yatsko c6b832270e clean_string() is related to m_links.c ONLY - moved it there 2008-04-20 09:35:22 +04:00
Valery Yatsko dcbd1d073c strtoken -> rb_strtok_r (with arguments order changes) 2008-04-20 09:20:25 +04:00
Valery Yatsko d99380b61b legacy irc sprintf gone 2008-04-20 09:12:09 +04:00
Valery Yatsko 08a5f1f948 myctime -> rb_ctime 2008-04-20 09:03:39 +04:00
Valery Yatsko 928ce024f4 no need for inetntop* now - removed 2008-04-20 08:57:25 +04:00
Valery Yatsko 9879cd59a6 Various inet* -> rb_inet_* 2008-04-20 08:55:41 +04:00
Valery Yatsko 422b30826e Missed file from previous changeset 2008-04-20 08:46:04 +04:00
Valery Yatsko a64c5173a7 strlcat -> rb_strlcat 2008-04-20 08:44:04 +04:00
Valery Yatsko 907468c485 strlcpy -> rb_strlcpy 2008-04-20 08:40:40 +04:00
Valery Yatsko b798359b17 Functions replacement: ircd_baseXX_{en,de}code -> rb_baseXX_{en,de}code 2008-04-20 08:36:28 +04:00
Valery Yatsko 8dd8b3e207 'reseed_srand' event - libratbox and various ssl stuff need it 2008-04-20 08:26:14 +04:00
Valery Yatsko 4ae6e50b9a Remove rb_checktimeouts event init from ircd.c - it's inside libratbox now 2008-04-20 08:14:22 +04:00
Valery Yatsko 359dada2ab Splitted open_logfiles(); into open_logfiles(); and close_logfiles();, use the second one on ircd_shutdown 2008-04-20 07:42:30 +04:00
Valery Yatsko 6972e25a95 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 a822ef295a Switched on using cache_user_motd(); for motd update on rehash 2008-04-20 07:24:50 +04:00
Jilles Tjoelker 8ad278b088 Improve SIGCHLD handler
- Reap multiple zombies per signal
- Save and restore errno
ircd-ratbox r25239
2008-04-18 01:01:38 +02:00
Jilles Tjoelker b717a466d0 Remove ^M on line endings. 2008-04-13 17:54:23 +02:00
William Pitcock ac58851a67 New operline based on ranting from ccr. 2008-04-12 18:56:46 -05:00
Jilles Tjoelker c6525f80ba Remove various other gline stuff. 2008-04-11 17:10:40 +02:00
Valery Yatsko f8a44ea2a6 'You are exempt from...' message fixed - glines gone 2008-04-11 19:09:19 +04:00
Valery Yatsko b9c1b1b960 Fixing compilation - CAP_GLN removed 2008-04-11 18:56:53 +04:00
Valery Yatsko d5a432fa00 Removing glines 2008-04-11 18:47:03 +04:00
Valery Yatsko 8a78afe43d Fixing time_t warnings 2008-04-09 23:34:34 +04:00
Valery Yatsko 4bb146df3c Importing ratbox3 r25213 changeset 2008-04-09 23:22:51 +04:00
Valery Yatsko ca89e98e03 .cvsignore files removed, SVN-Access replaced by Mercurial-Access 2008-04-09 22:24:50 +04:00
Valery Yatsko b5482c9103 chm_* declarations gone to chmode.h - this makes some modules clean 2008-04-08 23:39:35 +04:00
Jilles Tjoelker cda884c6f2 Fix some warnings in the resolver code. 2008-04-08 19:55:51 +02:00
Jilles Tjoelker 001b3b3633 Make Dictionary keys const everywhere. 2008-04-08 19:52:02 +02:00
Jilles Tjoelker 20961eeada Make the format argument of change_nick_user_host() const. 2008-04-08 18:54:58 +02:00
Valery Yatsko 03d18a46b1 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 79c3c679ad Removing UMODE_ALL, replacing all sendto_realops_flags in sslproc.c with snomasks 2008-04-08 20:16:19 +04:00
Valery Yatsko 9b2fe0ba77 rb_lib_loop delay changed from 250 to 0, it really must be set to nil, 'cause there are some additional checks inside libratbox3 2008-04-08 18:09:32 +04:00
Valery Yatsko 29c8637abb Branch merge 2008-04-08 18:01:37 +04:00
Valery Yatsko 6b7c7401f9 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 944de091fe Oups, declarations related to ircd.c returned from ircd_state.c 2008-04-08 16:01:16 +04:00