Commit graph

773 commits

Author SHA1 Message Date
Jilles Tjoelker f54e1a8fd6 Use memmove instead of memcpy where there is overlap (modunload). 2010-03-05 22:05:15 +01:00
Jilles Tjoelker 431a1a2784 Add propagated klines.
A KLINE command without the ON clause now sets a propagated
("global") ban. KLINE commands with the ON clause work as
before.

Propagated klines can only be removed with an UNKLINE command
without the ON clause, and this removes them everywhere.
In fact, they remain in a deactivated state until the latest
expiry ever used for the mask has passed.

Propagated klines are part of the netburst using a new BAN
message and capab. If such a burst has an effect, both the
server name and the original oper are shown in the server
notice.

No checks whatsoever are done on bursted klines at this time.

The system should be extended to XLINE and RESV later.

There is currently no way to list propagated klines,
but TESTLINE works normally.
2010-03-05 18:36:44 +01:00
Jilles Tjoelker 9197bc355e Add code to expire "propagated" bans.
The data structure is very simple: a dlink list of all propagated bans.
2010-03-04 00:21:22 +01:00
Jilles Tjoelker f9545a9b54 Make struct operhash_entry private. 2010-03-01 01:24:00 +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 3d242eb30f Merge bugfix that also applied to 3.2.x. 2010-02-28 16:45:55 +01:00
Jilles Tjoelker 4db0e2bdf2 Fix memory leak on /rehash bans.
We do not have the 'oper' field in klines yet.
2010-02-28 16:45:25 +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 58c728aed8 Add a missing comment for new /challenge numerics. 2010-02-27 23:56:56 +01:00
Alexander F?r?y 51027be825 Use RPL_QUIETLIST and RPL_ENDOFQUIETLIST instead of RPL_BANLIST and
RPL_ENDOFBANLIST for channel mode +q.
2010-02-27 01:08:41 +01:00
Jilles Tjoelker 1815320d3b 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 22342cd11f Remove code to write bans to csv files. 2010-02-22 19:09:46 +01:00
Jilles Tjoelker 981586df2b spambot checks: Fix excessive expiry in some cases. 2010-02-21 01:29:41 +01:00
William Pitcock dbcd150bce Do not try to free the alias dict if it does not exist. 2010-02-18 18:38:26 -06:00
William Pitcock cb7f3af4d3 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 9600850e8f s/o:lines/operator blocks/ 2010-02-17 23:01:58 -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 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 179becdf5f target change: Overwrite the least recently used target with a new one. 2010-02-15 00:31:17 +01:00
JD Horelick 97deedc42f 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 bc4fccbc44 One or 2 English language cleanups. Less than I thought there were. 2010-02-08 16:28:08 -05: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 17e4b48b55 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 11dff8a423 Clarify CertFP message. 2010-01-31 17:35:15 -06:00
Jilles Tjoelker 7247337afa 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 47f9d6002a Automated merge with ssh://hg.atheme.org//hg/charybdis 2010-01-30 19:21:28 -06:00
William Pitcock 7d778d510a 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 5f2df25109 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 3d1f32c07a Take auth_user into account when detecting redundant/duplicate auth{}.
from ircd-seven (spb)
2010-01-31 01:36:37 +01:00
Jilles Tjoelker 90afc118fd 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 fcb057992c Fix memory leak with auth_user.
from ircd-seven (spb)
2010-01-31 01:29:08 +01:00
Jilles Tjoelker 8f10356217 Remove remnants of <foo>_t typedefs. 2010-01-30 15:57:10 +01:00
Jilles Tjoelker cd5d9abf63 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 d06f3da955 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 2e918bf515 Merge +C (no CTCP to channels) from ircd-seven. 2010-01-19 02:11:04 -06:00
William Pitcock fdb90316e1 Automated merge with ssh://hg.atheme.org//hg/charybdis 2010-01-19 01:47:27 -06:00
William Pitcock bde6442c47 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 70ea02ebd6 Complete the move of xlines and resvs from aconf->name to aconf->host. 2010-01-08 18:46:29 +01:00
William Pitcock 23959371d0 Fix up more things with bandb. 2010-01-07 18:14:15 -06:00
William Pitcock 80c9ac516e Load in new bans from bandb on startup. 2010-01-07 18:06:15 -06:00
William Pitcock 6eebc37378 Start bandb on ircd initialization. 2010-01-07 17:22:44 -06:00
William Pitcock 83595e6016 Add bandb IRCd APIs. 2010-01-07 17:10:16 -06:00
Jilles Tjoelker 22df9f8989 Update some copyright years. 2010-01-01 22:46:34 +01:00
Jilles Tjoelker cef7a7bc4e Remove FLAGS_SENDQEX, fix sendq exceeded snotes for servers.
from ircd-ratbox
2009-12-21 16:58: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 456e5b3d64 Fix crashes when there are no alias blocks in the conf. 2009-12-05 20:48:02 +01:00
William Pitcock ae62bed786 Automated merge with ssh://hg.atheme.org//hg/charybdis 2009-10-24 21:07:53 -05:00
William Pitcock 04708f0e5b If you're going to censor my jokes, at least do it right. 2009-10-24 21:07:41 -05: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
William Pitcock 5cca545c3c Display o:line "nickname" in global oper-up messages. 2009-07-13 12:55:35 -05:00
Jilles Tjoelker beccbe318c Show yyerror() parse errors on stderr on startup.
Noticed by: spb
2009-06-18 00:37:19 +02:00
Jilles Tjoelker 7919c03041 Add new constants for presence key/value lengths
instead of overloading NICKLEN/TOPICLEN.
2009-06-03 23:38:07 +02:00
Jilles Tjoelker 383eac2e64 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 2914055be3 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 9def763407 presence: delete_metadata(): Free from the right heap. 2009-06-02 02:46:37 -05:00
William Pitcock 972e31192f presence: Add _butone() variant of sendto_common_channels_local_with_capability(). 2009-06-02 02:38:38 -05:00
William Pitcock 48c5e056ca presence: Broadcast presence changes to peer clients with CLICAP_PRESENCE. 2009-06-02 02:36:18 -05:00
William Pitcock 695cc4bc0c presence: Declare RPL_METADATACHG. 2009-06-02 02:32:07 -05:00
William Pitcock 62928328bf presence: Add sendto_common_channels_local_with_capability(), used for broadcasting presence updates. 2009-06-02 02:28:02 -05:00
William Pitcock 727bca6269 presence: Declare RPL_WHOISMETADATA. 2009-06-02 02:19:37 -05:00
William Pitcock 28d4abde2b presence: Remove no longer used away_heap. 2009-06-02 02:08:45 -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 df2688426d presence: Make set_metadata() erase any old metadata for an entry. 2009-06-02 01:53:05 -05:00
William Pitcock 75ea650c3c presence: Add get_metadata(). 2009-06-02 01:50:40 -05:00
William Pitcock e581ea8e3d presence: Add set_metadata() and delete_metadata(). 2009-06-02 01:41:44 -05:00
William Pitcock 195d10c293 presence: Declare RPL_METADATASET and RPL_METADATAREM. 2009-06-02 01:32:09 -05:00
William Pitcock 0d3b24f9cf presence: Create presence metadata tracking structures where appropriate. 2009-05-30 13:30:57 -05:00
Jilles Tjoelker 1bb1f1b0e7 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 cf09122bf7 Check the return value on rb_pipe.
from ircd-ratbox (r26515) (androsyn)
2009-05-13 22:07:57 +02:00
Jilles Tjoelker c04a500dfa Remove unused inet_socketpair() code, this is in libratbox now. 2009-05-12 23:56:28 +02:00
Jilles Tjoelker eda22d87af More rb_socketpair() return value checks.
from ircd-ratbox (r26507) (androsyn)
2009-05-12 23:30:46 +02:00
Jilles Tjoelker 6388eda683 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 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
William Pitcock 5f8d323c59 can_kick hook, based on the ircd-seven one. 2009-04-20 09:20:11 -05:00
Stephen Bennett 179f024d18 / 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 9a180ae365 Allow / in spoofed hosts 2009-04-20 08:37:13 -05:00
Jilles Tjoelker 8c23bb2e21 Fix compilation with --enable-assert=soft. 2009-04-08 21:30:58 +02:00
Jilles Tjoelker 8b27cfefe8 Remove some unused variables. 2009-04-08 21:30:34 +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 8347bf2459 No profanity. 2009-03-13 19:36:49 +01:00
William Pitcock ca6a194d92 Our IRC oper messages are now as enhanced as enhanced interrogation techniques. 2009-03-08 21:06:33 -05:00
Jilles Tjoelker 408024fa63 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 7340b36bf2 rehash bans: still check k/x lines for users exempt from dlines 2009-03-08 13:30:30 +01:00
Jilles Tjoelker 7eecdd6894 Use ratbox's match_esc(), this allows \s for space. 2009-03-08 02:14:26 +01:00
Jilles Tjoelker 07c2bb757d 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 995f300eb1 Allow /rehash throttles to clear throttling. 2009-03-07 01:49:09 +01:00
Jilles Tjoelker ad13bb7556 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 b9620c24ef Remove unused declaration. 2009-03-03 22:26:45 +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 54828d589d Avoid unnecessary const violation. 2009-02-22 00:05:48 +01:00
Jilles Tjoelker 4f7a1feeda Fix an off by one error with zipstats processing
from ircd-ratbox (androsyn)
2009-02-07 23:26:05 +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 6e5e2b000a Warn about auth blocks after a *@* auth and duplicate auth blocks. 2009-01-31 18:42:03 +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 8b801ad161 Log unknown class in auth errors to ircd.log as well. 2009-01-29 23:53:20 +01:00
Jilles Tjoelker a33bdd9fb6 Remove obsolete comment. 2009-01-25 21:02:04 +01:00
Jilles Tjoelker d45f5ea2d9 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 cd300c1b82 Simplify hunt_server(), send ERR_NOSUCHSERVER from only one place. 2009-01-21 20:15:07 +01:00
Jilles Tjoelker 161f040940 Update comments for parv[0] removal. 2009-01-18 18:22:43 +01:00
Jilles Tjoelker 106c88737f 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 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 bea2295fed burst_TS6(): assume users have a UID 2009-01-16 23:11:11 +01:00
Jilles Tjoelker 42d609f65a [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 0bd120ed48 [svn r26332] get rid of the zip ready stuff 2009-01-01 14:50:21 +03:00
Aaron Sethman a4165b42bf re-enable ziplinks + ssl 2008-12-13 23:20:59 +03:00
Jilles Tjoelker f2601e74cb Update some copyright years. 2009-01-01 22:48:50 +01:00
Jilles Tjoelker 681ddf64d2 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 c98c2c89d6 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 a1d2fafd55 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 31c86ea80f Put libratbox version on startup in a nicer place. 2008-12-22 21:50:21 +01:00
Valeriy Yatsko d2b6b9f308 [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 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 16ef24cf38 Only count throttle entries that cause rejection in /stats t. 2008-12-16 21:10:09 +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 422bb0b553 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 0e52d0d4cf Unref privset of quitting oper. 2008-12-14 17:31:42 +01:00
androsyn bdbc903306 cast getpid() to int 2008-12-10 12:46:23 +03:00
Aaron Sethman cdf7c361aa report logfile access issues
committer: Valeriy Yatsko <dwr@it-penza.org>
2008-11-16 10:15:28 +03:00
Valeriy Yatsko 731fac317d Branch merge. 2008-12-03 02:59:26 +03:00
Valeriy Yatsko b7a689d1e5 Remove irc_basename, replace it with rb_basename from libratbox. 2008-12-03 02:59:13 +03:00
Jilles Tjoelker 2a073ca2ed Put back conditionally netwide ssld error snote. 2008-12-03 00:55:58 +01:00
Valeriy Yatsko d0f4d745c6 Branch merge. 2008-12-03 02:50:01 +03:00
Valeriy Yatsko 3202e24921 Copied libratbox and related stuff from shadowircd upstream. 2008-12-03 02:49:39 +03:00
Jilles Tjoelker d4db3063c7 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 e33e589cbf 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 54e3b7658f Remove unnecessary initialization that violates const. 2008-11-27 22:50:01 +01:00
Jilles Tjoelker 5c16ab05a0 Put back accidentally removed word. 2008-11-26 21:38:49 +01:00
Jilles Tjoelker e07de82c26 Make the notices reporting auth{} privs a bit more serious-looking,
as in ratbox3.
2008-11-19 22:45:13 +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 b0c41d32b1 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 db3efb7ac2 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 ffe4e4ae65 Add WHOX to 005 so we can see if much breaks. 2008-11-09 00:27:15 +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 e0c1f4ecab 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 9641f15652 Add the IP address to userlog, as in ratbox3. 2008-10-31 10:57:51 +01:00
Jilles Tjoelker d61a1c7e13 Allow clearing general::kline_reason via a rehash. 2008-09-17 00:21:00 +02:00
Jilles Tjoelker 10847f65d3 Remove old oper privilege flags. 2008-09-09 21:51:26 +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 c2f73e5dbc Use rb_snprintf() in various places. 2008-09-06 01:00:20 +02:00
Valeriy Yatsko 41d8802e84 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 5d47bdca0f Make change_isupport() return the old value!!! 2008-08-29 15:36:41 -05:00
William Pitcock 474b0d3515 Add change_isupport() to change the value of an ISUPPORT token. 2008-08-29 15:27:34 -05:00
William Pitcock 86b6be08eb Automated merge with ssh://hg.atheme.org//hg/charybdis 2008-08-29 14:48:06 -05:00
Stephen Bennett 12f4addbed 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 d7dc7ae6c1 Remove some dead code.
found using llvm static analyzer
2008-08-29 02:53:52 +02:00
Jilles Tjoelker ab2b9e23cc Fix a memory leak.
found using llvm static analyzer
2008-08-29 01:58:10 +02:00
Jilles Tjoelker d60a42a27f Fix comment, getsockname() can fail legitimately.
from ircd-ratbox r25967 (jilles)
2008-08-28 01:06:19 +02:00
Jilles Tjoelker 9692f954c6 Don't try to add a closed connection.
ircd-ratbox r25965 (jilles)
2008-08-28 01:05:41 +02:00
Jilles Tjoelker 3540120ad5 Fix ident for ssl connections. 2008-08-28 00:49:04 +02:00
Jilles Tjoelker 83dfad0e75 Clear privset on deoper. 2008-08-25 18:24:24 +02:00
Jilles Tjoelker 7d5acab766 Fix crash if there is no privset= in an operator{}. 2008-08-18 00:55:12 +02:00
Jilles Tjoelker bdd296d5b9 Use C locale for the compilation date. 2008-08-17 22:55:57 +02:00
William Pitcock ef24271618 Make a reference to privset in Client.localClient. 2008-08-17 08:23:40 -05:00
William Pitcock 598b4cf10c privilegeset_ref(): return the privilegeset 2008-08-17 08:22:56 -05:00
William Pitcock 49b0375d62 Make use of the new default privset!! 2008-08-17 08:08:23 -05:00
William Pitcock 39a68b5376 ircd initialization: add a "default" privset with no privs. 2008-08-17 08:06:28 -05:00
William Pitcock 5c68d54336 Automated merge with ssh://hg.atheme.org//hg/charybdis 2008-08-17 07:53:32 -05:00
William Pitcock e62b8b4a53 update oper line 2008-08-17 07:53:29 -05:00
Jilles Tjoelker 8c59a8403b Add 328 numeric (ChanServ channel URL) to the header files. 2008-08-17 14:49:01 +02:00
William Pitcock 76de88805d same bug 2008-08-17 07:47:06 -05:00
William Pitcock 065f67db89 fix another stupid bug, gah 2008-08-17 07:46:18 -05:00
William Pitcock f80958276f Make sure extended privilege sets are added to the registry. 2008-08-17 07:44:46 -05:00
William Pitcock 3d8f7aa7b4 Allow : to be in 'string' values. 2008-08-17 07:41:52 -05:00
William Pitcock 22c3b270ca Initial work on getting privsets working. 2008-08-17 07:40:27 -05:00
William Pitcock f860687514 Add config magic for privset{} parsing. 2008-08-17 07:10:23 -05:00
William Pitcock 353f862553 Add privilegeset_extend(). 2008-08-17 06:35:49 -05:00
William Pitcock 9c3f080b99 Add basic PrivilegeSet API. 2008-08-17 06:27:59 -05:00
Valery V Yatsko b1daa815bd fixed warnings on src/ircd.c compilation 2008-08-17 09:33:05 +04:00
Valery V Yatsko ec86417cee ircd-ratbox -> charybdis 2008-08-16 22:38:13 +04:00
Valery V Yatsko e1db84d87d seed random not even every 300 seconds, but on startup also 2008-08-16 22:30:28 +04:00
Valery V Yatsko 37cd159e94 egd fixed 2008-08-16 22:29:33 +04:00
Valery V Yatsko f01a7ff1e9 comment to fix egd (not work currently) 2008-08-16 22:24:28 +04:00
Valery V Yatsko 33e65f0004 no more servlink - removed 'servlink_path' from reference.conf and source files 2008-08-16 22:23:56 +04:00
Valery V Yatsko b924934711 fixed typo in sslproc.c 2008-08-08 20:01:52 +04:00
Valery V Yatsko 1a7848d87a ilog -> inotice in ircd_restart_cb (ircd.c) 2008-08-06 23:57:45 +04:00
Valery V Yatsko 6643434b59 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 392ae75ca9 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 6b67766849 Removed global_tree declaration as unused from reject.c 2008-08-04 21:45:30 +04: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 4679c2c1cc Fix rejectcache and unknown_count.
Unfortunately they are checked after SSL setup.
2008-07-31 22:47:53 +02:00
Jilles Tjoelker 41d7fefad1 Fix some part of IPv6 dline checking. 2008-07-31 21:56:05 +02:00
Jilles Tjoelker ce1cab0ffd 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 88fc1aeb68 Put back netwide snotes for ssld errors from remote connects. 2008-07-30 14:50:12 +02:00
Jilles Tjoelker befa24c8fe Make the ircd start again. 2008-07-30 14:48:39 +02:00
Valery Yatsko 0862e335a3 sslproc.c synced with ircd-ratbox3 svn 2008-07-30 02:55:08 +04:00
Valery Yatsko adc7be98fc Removed unneeded includes from newconf.h 2008-07-28 23:14:51 +04:00
Valery Yatsko 6fce54ff82 Reordered functions to match ratbox3's order 2008-07-28 23:02:54 +04:00
Valery Yatsko cd27d99ce4 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 6977926571 Cleanup: removed unused initialVMTop variable from ircd.c and get_maxrss() from restart.c 2008-07-27 16:18:50 +04:00
Valery Yatsko ba8b3ff18a last changes of crypt -> rb_crypt 2008-07-27 14:52:46 +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 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 ba0711fd4a 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 81c5873e97 Log ssld errors for servers and handshakes.
(serverlog)
2008-06-30 00:28:00 +02:00
Jilles Tjoelker 39452169e8 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 9ec5132680 Give proper error messages if connect fails for a server using SSL. 2008-06-29 23:47:02 +02:00
Jilles Tjoelker 2ce698f393 Send ssld error netwide if it was a remote connect and a handshake. 2008-06-29 22:02:32 +02:00
Jilles Tjoelker 78dfd39d42 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 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
Valery V Yatsko 3664572833 New (and better) values for startup event timings 2008-06-28 14:50:21 +04:00
Valery V Yatsko 82fed37e11 Removed __CYGWIN__ define - server has no ability to work on cygwin right now 2008-06-28 14:46:03 +04:00
Valery V Yatsko b2064202fb Removed SystemTime declaration 2008-06-28 14:38:27 +04:00
Valery V Yatsko 3d3d1a95bb Remove srand() from main(), we are using ratbox3 random number generator (ev) 2008-06-28 14:36:25 +04:00
Valery V Yatsko b3ebc7ab9e Applied svn diff from ratbox3 r21458:21470 2008-06-28 14:13:50 +04:00
Valery V Yatsko 405ae5ce44 notify_banned_client cleaned up 2008-06-28 12:56:58 +04:00
Valery V Yatsko b09cbaa315 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 5433b83e8f *_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 b4407833bd Remove Channel->users_last, used nowhere 2008-06-28 12:25:53 +04:00
Valery V Yatsko 18e4d42137 'struct config_channel_entry ConfigChannel' in channel.c too 2008-06-28 12:02:51 +04:00
Valery V Yatsko c3d1034381 'rb_dlink_list global_channel_list' declaration moved to channel.c 2008-06-28 12:00:01 +04:00
Valery V Yatsko b617afdc02 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 4231cedcea Pretty symlink logic for help files 2008-06-28 11:48:30 +04:00
Valery V Yatsko 22b98b1ed1 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 af41336ae5 unlikely -> rb_unlikely 2008-06-26 10:19:27 +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 c18cb68b91 Generating cflags bufs dynamically: one for RPL_MYINFO and one for
supported.c
2008-06-25 07:51:32 +04:00
Valery V Yatsko 9bec26cc38 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 f588b95674 New way of noparam mode search 2008-06-24 22:21:26 +04:00
Valery V Yatsko cbed45a2da 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 d463189921 Fix some tracking for cmode +r. 2008-06-25 19:40:12 +02:00
Jilles Tjoelker 84c9a8c7be 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 46d59e1138 A draft version of find_cmode_slot and orphaned concept for channel
flags
2008-06-24 21:26:49 +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 dd1b211fae ident: use rb_read/rb_write instead of direct syscalls 2008-06-21 02:29:21 +02:00
Jilles Tjoelker d0ebe1bcb2 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 d5d5e89c98 ident: Check getsockname() return value. 2008-06-21 01:27:17 +02:00
Jilles Tjoelker 1a53072881 Clean up s_auth a little. No functional changes. 2008-06-21 00:58:08 +02:00
Jilles Tjoelker 6bb4fb832b 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 f8a8d16e52 Get rid of ", " at the start of some oper privs strings. 2008-06-18 21:58:43 +02:00
Jilles Tjoelker 8e9623ab59 resolver: Remove effectively unused 'resend' flag. 2008-06-15 15:53:04 +02:00
Jilles Tjoelker dd1bfa0de1 resolver: Remove request_state which is no longer used. 2008-06-15 01:17:42 +02:00
Jilles Tjoelker c889c12f3a 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 ba301effe1 Remove construction of some TS5 linebufs. 2008-06-14 02:30:30 +02:00
Jilles Tjoelker 982ef94983 Remove more TS5 remants (sendto_server calls). 2008-06-14 02:06:55 +02:00
Jilles Tjoelker fd44b8518a Unbreak sending out bans and simple modes with parameters. 2008-06-13 22:21:44 +02:00
Jilles Tjoelker 6ab8c0d318 Get rid of some K&R style function declarations for conf parser. 2008-06-11 00:54:02 +02:00
Jilles Tjoelker a3143c9b6b Some const stuff for m_set. 2008-06-11 00:28:08 +02:00
William Pitcock 469c9689c1 More TS6 special cases simplified. 2008-06-08 02:16:43 -05:00
William Pitcock 23489ed776 Remove one last bit of TS5 stuff. 2008-06-08 02:14:21 -05:00
William Pitcock 032515f48c Forgot to test the bitmask, oops. 2008-06-08 02:13:26 -05:00
William Pitcock 0866cef3c1 Replace old 2.8-style privileges notice with a new one. 2008-06-08 02:09:15 -05:00
William Pitcock ca273a1c73 core: no more TS5 2008-06-08 01:29:26 -05:00
William Pitcock 7bb8c655ec Remove burst_modes_TS5() and burst_TS5(). 2008-06-08 01:11:57 -05:00
Jilles Tjoelker 794816af01 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 b380384839 Show hg revision number (serno) in ircd -version. 2008-04-22 23:41:16 +02:00