Commit Graph

712 Commits

Author SHA1 Message Date
B.Greenham b8643345db Update find_channel_status() for halfop and owner. 2010-02-27 22:50:41 -05:00
B.Greenham 5af82425e0 Add +ah to the 005, if they are enabled. 2010-02-27 22:32:19 -05:00
B.Greenham 40c6b59b63 Add is_halfop() and is_owner() and start using them in the new functions. 2010-02-27 21:53:46 -05:00
B.Greenham b3b2ed9780 Add can_kick_deop() and use it in m_kick. 2010-02-27 21:27:05 -05:00
B.Greenham 46f0c51863 Add config options for owner and halfop. 2010-02-27 20:05:07 -05:00
B.Greenham bbc6973347 Move is_chanop_voiced() to a function in channels.c in preperation for +ah. 2010-02-27 19:40:52 -05:00
B.Greenham d1c7eccf6a Add is_any_op() in preperation for adding +ah, start using it instead of is_chanop() in a few places. 2010-02-27 19:20:01 -05:00
B.Greenham 846aa234b8 Add the +J channelmode and config options, though they don't do anything yet. 2010-02-26 00:30:39 -05:00
B.Greenham 99c780941a Fix everything I broke with the last three commits and make +G work for real. 2010-02-25 20:36:03 -05:00
B.Greenham c279d43b75 Add has_common_channel(), which is needed by umode +G. 2010-02-25 19:15:13 -05:00
B.Greenham 61ffa214b4 Add umode +G, soft callerid. 2010-02-25 17:57:12 -05:00
JD Horelick a4f6509ce1 more override stuff 2010-02-25 16:15:17 -05:00
JD Horelick 13a467bb98 Override part one. 2010-02-25 16:01:03 -05:00
JD Horelick afe430eebb Backed out changeset 677d7b5cbbcc 2010-02-25 15:47:08 -05:00
JD Horelick c7c1673d10 bad 2010-02-25 15:46:42 -05:00
JD Horelick cff17f66fa branch merge 2010-02-25 15:13:24 -05:00
JD Horelick da3ba37e04 Backed out changeset 0d7b5f2ac591 2010-02-25 15:13:12 -05:00
JD Horelick 4355dbd3c9 branch merge 2010-02-25 15:12:18 -05:00
JD Horelick 47fab428b1 Backed out changeset 65db6ca26281 2010-02-25 15:11:43 -05:00
B.Greenham 2b3c7c29c3 Add chmode +G, which blocks messages in all caps. 2010-02-25 01:51:28 -05:00
B.Greenham ea4041ece9 Automated merge with ssh://shadowircd/uranium/shadowircd/ 2010-02-25 01:14:49 -05:00
B.Greenham afd4834b50 Add chmode +N, which prevents nickchanges. 2010-02-25 01:14:38 -05:00
JD Horelick 13ec57db15 autochanmodes support 2010-02-24 22:18:13 -05:00
JD Horelick 44a8fbc29e Actually add +p umode and expiry code. It currently does nothing though. 2010-02-24 21:53:45 -05:00
JD Horelick 5974ba0c55 Add the config handling code for expire_override_time config option.
Part one of override stuff. This is gonna be painful.
2010-02-24 20:28:17 -05:00
B.Greenham 837a020a0c Add general::secret_channels_in_whois. 2010-02-23 22:38:35 -05:00
JD Horelick 45b9f1cbc0 Added channel::host_in_topic. 2010-02-23 20:19:58 -05:00
JD Horelick c3a0fde28f Added cycle_host_change option. 2010-02-23 19:50:45 -05:00
B.Greenham f9e91eceaa Add chmode +E, which prevents ops from using /kick on channels where it is set. 2010-02-23 18:14:43 -05:00
JD Horelick aa35afbb1f Some changes to bring the code i moved all around up-to-date. 2010-02-23 04:12:11 -05:00
B.Greenham be2d3c114f Make the last commit actually compile. 2010-02-23 03:08:58 -05:00
B.Greenham 88b63e6506 Make the target user's modes show up in whois. 2010-02-23 02:59:35 -05:00
JD Horelick 074fe45ad7 Some quick user_join() call fixes. 2010-02-23 02:56:57 -05:00
JD Horelick 824455aba6 Forgot to constify 2010-02-23 02:53:19 -05:00
JD Horelick 3472ff3fec Add an include 2010-02-23 02:52:53 -05:00
JD Horelick 9230426e7a More moving 2010-02-23 02:52:01 -05:00
JD Horelick 67b90240c4 move user_join() to channels.c 2010-02-23 02:48:33 -05:00
JD Horelick 080bb5cf25 Start moving parts of join to channels.c so they can be used in more places. 2010-02-23 02:41:26 -05:00
JD Horelick 2c489d8e65 Backed out changeset 199eadae216a 2010-02-23 02:04:53 -05:00
JD Horelick 6d3e983251 Compile fix 2010-02-23 02:01:19 -05:00
B.Greenham 7e6c9180da Add chmode +D, which blocks CTCP ACTION. 2010-02-23 01:08:42 -05:00
B.Greenham 92504d43b1 Merge. 2010-02-23 00:54:16 -05:00
B.Greenham 6afd4b916f Add chmode +T, which blocks notices. 2010-02-23 00:49:24 -05:00
JD Horelick e54944ef98 Whoops, small fail. 2010-02-23 00:43:34 -05:00
JD Horelick 87f58b4ffb Add oper autojoin (with auth::autojoin_opers config option). 2010-02-23 00:41:14 -05:00
JD Horelick fa72cee166 Added autojoin-on-connect (with auth::autojoin config option). 2010-02-23 00:22:37 -05:00
B.Greenham 930629c5f2 Add umode +B, which marks users with it set as a bot in whois. 2010-02-23 00:21:24 -05:00
B.Greenham 2678f87a51 Fix some indentation I messed up while adding umode +C. 2010-02-22 23:10:36 -05:00
B.Greenham 854f6bd0af Add umode +V, which blocks invites to anyone with it set. 2010-02-22 22:45:37 -05:00
B.Greenham ccfc9b567d Add umode +C, which blocks CTCPs to anyone with it set. 2010-02-22 22:14:47 -05:00
Jilles Tjoelker c6d5c019d0 Remove more old kline.conf stuff.
Make sure to recompile modules, stuff has been removed
close to the start of ConfigFileEntry.
2010-02-22 19:31:05 +01:00
Jilles Tjoelker 918a0e1d39 Remove code to write bans to csv files. 2010-02-22 19:09:46 +01:00
Jilles Tjoelker b6698246ba spambot checks: Fix excessive expiry in some cases. 2010-02-21 01:29:41 +01:00
William Pitcock ba29286a4a Do not try to free the alias dict if it does not exist. 2010-02-18 18:38:26 -06:00
William Pitcock 6d194359ab Change license version in version.c.SH (GPLv1 -> GPLv2) so that it agrees with the other documentation. 2010-02-17 23:05:47 -06:00
William Pitcock 8afd32ce07 s/o:lines/operator blocks/ 2010-02-17 23:01:58 -06:00
William Pitcock e4c72f7919 Clarify ERR_NOOPERHOST and convert it to use sendto_one_numeric(). 2010-02-17 06:51:41 -06:00
William Pitcock d8a023eddd Add support for client certificate fingerprints in o:lines. 2010-02-17 06:41:41 -06:00
Jilles Tjoelker 878733fd68 Move target change code to src/tgchange.c,
so we can use it for /invite as well.
2010-02-15 21:58:34 +01:00
Jilles Tjoelker 3002877654 target change: Overwrite the least recently used target with a new one. 2010-02-15 00:31:17 +01:00
JD Horelick 957ee03b56 English fix to fix the fix i made about 80 minutes ago.
I suck at a/an cometimes. Also, fix.
2010-02-08 18:04:54 -05:00
JD Horelick b17999e11b One or 2 English language cleanups. Less than I thought there were. 2010-02-08 16:28:08 -05:00
Jilles Tjoelker 54656d7650 Pass certfp to other servers and show it in whois. Do not show it on connect.
The server protocol for this is
:<uid> ENCAP * CERTFP :<40 hex chars>
both in new user introductions and in burst.

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

Displaying the certfp on connect seems unnecessary to me,
the user can whois themselves if needed.
2010-02-06 00:18:27 +01:00
Jilles Tjoelker f7b5446177 Apply ratbox3 workaround for too permissive inet_pton6():
Any kline (or various other things) containing * or ? is
a mask kline and not an IP kline. Ideally, rb_inet_pton_sock()
would return failure for those, but in practice this is not
always the case for IPv6.

Such a kline that is erroneously treated as an IP line
likely matches way fewer IPs than expected.
2010-02-03 00:44:51 +01:00
William Pitcock 09fb2d185d Clarify CertFP message. 2010-01-31 17:35:15 -06:00
Jilles Tjoelker a099270d45 Add certfp support to libratbox and ssld.
This lets a user connect with a client certificate, and
passes the certificate's fingerprint to ircd, which
currently just notices it to the user.

A new ssld->ircd message 'F' is used to pass on the
fingerprint.

This is only for OpenSSL for now, not GNUTLS.
2010-01-31 19:04:20 +01:00
William Pitcock 436cf01700 Automated merge with ssh://hg.atheme.org//hg/charybdis 2010-01-30 19:21:28 -06:00
William Pitcock 4b253d3bd7 modreload: Causing an entire 50,000 user network to crash due to user-error is a bad idea, don't let it happen again by not allowing paths in /modreload. 2010-01-30 19:21:17 -06:00
Jilles Tjoelker cfc8334833 Slightly tighten auth{} duplicate check:
If the existing auth{} block has no auth_user, it will
trump any auth{} block for the same u@h.
2010-01-31 01:40:43 +01:00
Jilles Tjoelker 67cc1f0c96 Take auth_user into account when detecting redundant/duplicate auth{}.
from ircd-seven (spb)
2010-01-31 01:36:37 +01:00
Jilles Tjoelker 66a1809526 No need to be paranoid about clearing auth_user.
It is a username, not a password.
2010-01-31 01:30:25 +01:00
Jilles Tjoelker e37a8398ce Fix memory leak with auth_user.
from ircd-seven (spb)
2010-01-31 01:29:08 +01:00
Jilles Tjoelker 6d70eae633 Remove remnants of <foo>_t typedefs. 2010-01-30 15:57:10 +01:00
Jilles Tjoelker 7748deb557 Do not read in help files starting with a dot (including dot and dot-dot). 2010-01-22 02:02:45 +01:00
Stephen Bennett b4c26701c3 Don't cache files that are empty or not files. Avoids crashing on the likes of 'HELP .' 2010-01-21 16:27:34 +00:00
William Pitcock 92a7995129 Merge +C (no CTCP to channels) from ircd-seven. 2010-01-19 02:11:04 -06:00
William Pitcock f5e7f3182b Automated merge with ssh://hg.atheme.org//hg/charybdis 2010-01-19 01:47:27 -06:00
William Pitcock 0a304f3813 supported: Add CLIENTVER=3.0 to indicate presence of 3.0 core capabilities (such as CAP, extended WHO, etc) as requested by LifeIsPain. 2010-01-19 01:47:21 -06:00
Jilles Tjoelker 70c6c150f6 Complete the move of xlines and resvs from aconf->name to aconf->host. 2010-01-08 18:46:29 +01:00
William Pitcock ff0482a9cb Fix up more things with bandb. 2010-01-07 18:14:15 -06:00
William Pitcock 9f02582216 Load in new bans from bandb on startup. 2010-01-07 18:06:15 -06:00
William Pitcock 58af12a20d Start bandb on ircd initialization. 2010-01-07 17:22:44 -06:00
William Pitcock 2c9a27c46a Add bandb IRCd APIs. 2010-01-07 17:10:16 -06:00
Jilles Tjoelker 5c3794b9f0 Update some copyright years. 2010-01-01 22:46:34 +01:00
Jilles Tjoelker 25b1f927be Remove FLAGS_SENDQEX, fix sendq exceeded snotes for servers.
from ircd-ratbox
2009-12-21 16:58:25 +01:00
Stephen Bennett 4606e8fc6c Merge 2009-12-08 19:23:32 +00:00
Stephen Bennett c387fc41ae Revert all presence-related changes 2009-12-08 19:22:55 +00:00
Jilles Tjoelker 22544e37fb Fix crashes when there are no alias blocks in the conf. 2009-12-05 20:48:02 +01:00
William Pitcock eb94e0e2f2 Automated merge with ssh://hg.atheme.org//hg/charybdis 2009-10-24 21:07:53 -05:00
William Pitcock 32f33374f8 If you're going to censor my jokes, at least do it right. 2009-10-24 21:07:41 -05:00
Jilles Tjoelker 100563e836 Force part local users (not resv_exempt) on channel resv.
A notice will be sent to any force parted users that the channel
is temporarily/permanently unavailable on the server.
A new config option channel::resv_forcepart can be used to disable this.

from ircd-ratbox (dubkat)
2009-09-19 21:24:35 +02:00
William Pitcock 022573be75 Display o:line "nickname" in global oper-up messages. 2009-07-13 12:55:35 -05:00
Jilles Tjoelker fe86a70d9a Show yyerror() parse errors on stderr on startup.
Noticed by: spb
2009-06-18 00:37:19 +02:00
Jilles Tjoelker 9d393c9052 Add new constants for presence key/value lengths
instead of overloading NICKLEN/TOPICLEN.
2009-06-03 23:38:07 +02:00
Jilles Tjoelker 104fea6cda Do not send two 792 numerics when changing a metadata from one non-empty value to another. 2009-06-03 20:44:37 +02:00
William Pitcock 41c6374550 presence: send..._with_capability...(): don't send if the client does not have the capab but isn't on a channel 2009-06-02 02:48:22 -05:00
William Pitcock a436c5aab0 presence: delete_metadata(): Free from the right heap. 2009-06-02 02:46:37 -05:00
William Pitcock 46b3bb7655 presence: Add _butone() variant of sendto_common_channels_local_with_capability(). 2009-06-02 02:38:38 -05:00
William Pitcock 8ccc820864 presence: Broadcast presence changes to peer clients with CLICAP_PRESENCE. 2009-06-02 02:36:18 -05:00
William Pitcock 489f4799c8 presence: Declare RPL_METADATACHG. 2009-06-02 02:32:07 -05:00
William Pitcock a917e9baf3 presence: Add sendto_common_channels_local_with_capability(), used for broadcasting presence updates. 2009-06-02 02:28:02 -05:00
William Pitcock 727a98a669 presence: Declare RPL_WHOISMETADATA. 2009-06-02 02:19:37 -05:00
William Pitcock e4a64911ae presence: Remove no longer used away_heap. 2009-06-02 02:08:45 -05:00
William Pitcock 987ef7eb1f presence: Remove user.away, replaced by a metadata entry.
Cache the metadata retrieval value where feasible for minimal performance impact.
2009-06-02 02:03:51 -05:00
William Pitcock 25e664566f presence: Make set_metadata() erase any old metadata for an entry. 2009-06-02 01:53:05 -05:00
William Pitcock 85171f1f16 presence: Add get_metadata(). 2009-06-02 01:50:40 -05:00
William Pitcock e5847c3ef3 presence: Add set_metadata() and delete_metadata(). 2009-06-02 01:41:44 -05:00
William Pitcock 95cc7c44e8 presence: Declare RPL_METADATASET and RPL_METADATAREM. 2009-06-02 01:32:09 -05:00
William Pitcock dd7eb3ffaa presence: Create presence metadata tracking structures where appropriate. 2009-05-30 13:30:57 -05:00
Jilles Tjoelker 481912374a Remove check_banned_lines() code duplication.
We can just call check_dlines(), check_klines() and check_xlines().
2009-05-21 23:11:32 +02:00
Jilles Tjoelker 8479094d8f Check the return value on rb_pipe.
from ircd-ratbox (r26515) (androsyn)
2009-05-13 22:07:57 +02:00
Jilles Tjoelker e17ab35b5d Remove unused inet_socketpair() code, this is in libratbox now. 2009-05-12 23:56:28 +02:00
Jilles Tjoelker e421505e8c More rb_socketpair() return value checks.
from ircd-ratbox (r26507) (androsyn)
2009-05-12 23:30:46 +02:00
Jilles Tjoelker 77ced1e851 Report errors and close the incoming connection if socketpair fails
for ssl connections.
from ircd-ratbox (r26503) (androsyn)
2009-05-12 23:18:41 +02:00
Jilles Tjoelker 63860dd1a7 Change xlines to store spaces as \s.
Spaces in xline.conf files are changed to \s in memory
and recognized on unxline, but are not changed in the
file. New xlines are added to xline.conf files with \s.

xline.conf written by this commit or newer will not work
properly with charybdis older than 1124:131254925f32 (which
introduced \s support in match_esc()).
2009-05-08 00:21:14 +02:00
William Pitcock 16d8d9fc6d can_kick hook, based on the ircd-seven one. 2009-04-20 09:20:11 -05:00
Stephen Bennett 1229514e6d / is a host character and not a nick character, so make pretty_mask treat it as such 2009-04-20 08:42:41 -05:00
Stephen Bennett 59bb80930d Allow / in spoofed hosts 2009-04-20 08:37:13 -05:00
Jilles Tjoelker 6d4df0e35c Fix compilation with --enable-assert=soft. 2009-04-08 21:30:58 +02:00
Jilles Tjoelker 0c73c94217 Remove some unused variables. 2009-04-08 21:30:34 +02:00
Jilles Tjoelker 6ce8910d97 Apply +z to messages blocked by +b and +q as well.
This adds a new server capab EOPMOD which will be used
for an extended topic command also.
2009-03-29 15:48:07 +02:00
Jilles Tjoelker 2ab422dbdd No profanity. 2009-03-13 19:36:49 +01:00
William Pitcock efd2d7e0e5 Our IRC oper messages are now as enhanced as enhanced interrogation techniques. 2009-03-08 21:06:33 -05:00
Jilles Tjoelker 13ea0f1cd1 rehash bans: show mask in k/x line over-ruled notice
This was already shown in the over-ruled notices on k/x line add.
2009-03-08 14:31:50 +01:00
Jilles Tjoelker 6bba251749 rehash bans: still check k/x lines for users exempt from dlines 2009-03-08 13:30:30 +01:00
Jilles Tjoelker 638156bac9 Use ratbox's match_esc(), this allows \s for space. 2009-03-08 02:14:26 +01:00
Jilles Tjoelker 9bf8f69cc6 Fix close detection with ssl+zip, porting more code from ircd-ratbox.
This tells the SSL ssld to report connection closure to ircd
using the new fd.
2009-03-07 03:23:17 +01:00
Jilles Tjoelker 0b1e46f5b4 Allow /rehash throttles to clear throttling. 2009-03-07 01:49:09 +01:00
Jilles Tjoelker dbbe21ed03 Rework remote rehash messages to apply to all server notices during rehash.
Previously various notices such as those applying
to modules were not sent to the remote oper.
2009-03-07 01:27:05 +01:00
Jilles Tjoelker 76caaecbba Remove unused declaration. 2009-03-03 22:26:45 +01:00
Jilles Tjoelker dea418e9b4 Add channel::only_ascii_channels config option
to restrict channel names to printable ascii only.
Like disable_fake_channels this only applies to joins
by local users; unlike disable_fake_channels it applies
to opers as well.
2009-02-22 00:12:21 +01:00
Jilles Tjoelker 2a003301de Avoid unnecessary const violation. 2009-02-22 00:05:48 +01:00
Jilles Tjoelker 1a4058095d Fix an off by one error with zipstats processing
from ircd-ratbox (androsyn)
2009-02-07 23:26:05 +01:00
Jilles Tjoelker 6b2cf989b6 Disable autoconnect for a server with excessive TS delta.
Note that in some cases (different TS delta settings,
heavy lag) it is possible only one of the servers
detects the problem and autoconnect may be left enabled.
The mechanism used for disabling is the same as
/quote set autoconn <server> 0; the A flag in /stats c
disappears and a rehash or /quote set autoconn can put
it back.
2009-02-05 23:43:07 +01:00
Jilles Tjoelker 4ffad8e6cc Warn about auth blocks after a *@* auth and duplicate auth blocks. 2009-01-31 18:42:03 +01:00
Jilles Tjoelker af2484840a Remove comments related to (removed) ability to disable TS6. 2009-01-30 16:50:00 +01:00
Jilles Tjoelker 1ba281712f For remote rehashes, send error messages to the requesting oper as well. 2009-01-30 00:11:12 +01:00
Jilles Tjoelker 12c4f819fa Log unknown class in auth errors to ircd.log as well. 2009-01-29 23:53:20 +01:00
Jilles Tjoelker 0f3f5496b8 Remove obsolete comment. 2009-01-25 21:02:04 +01:00
Jilles Tjoelker 8d03179e4f Only kill unknown prefix UIDs that start with a valid SID
(existing and behind the link that sent the prefix).
Also require them to be exactly 9 characters long.
2009-01-22 00:27:27 +01:00
Jilles Tjoelker f8283571ad Simplify hunt_server(), send ERR_NOSUCHSERVER from only one place. 2009-01-21 20:15:07 +01:00
Jilles Tjoelker ac408af6cb Update comments for parv[0] removal. 2009-01-18 18:22:43 +01:00
Jilles Tjoelker 564b19bf9a If a privset is removed from ircd.conf, wipe its privs.
(Privsets continue to exist as long as they are referenced.)
2009-01-18 01:39:41 +01:00
Jilles Tjoelker 3619e29987 Change /stats O to show privset blocks (oper only).
To show operator blocks, only /stats o (lowercase) now works.
2009-01-18 01:35:24 +01:00
Jilles Tjoelker 6e749518bb burst_TS6(): assume users have a UID 2009-01-16 23:11:11 +01:00
Jilles Tjoelker cffd37ee37 [ratbox3 svn r26397] Make it more likely that error messages on ssld connections get through.
When ssld reports a connection closure because of
"Remote host closed the connection" and the connection
is any server or a registered client, try a
read_packet() on the client.
This should mainly help LIBRB_USE_IOTYPE=poll which
iterates over the ready file descriptors in numerical
order, processing the ssld control connection before the
closing data connection.
2009-01-15 20:08:46 +03:00
androsyn 6f3b64079f [svn r26332] get rid of the zip ready stuff 2009-01-01 14:50:21 +03:00
Aaron Sethman 62271ba929 re-enable ziplinks + ssl 2008-12-13 23:20:59 +03:00
Jilles Tjoelker d5e5bfc851 Update some copyright years. 2009-01-01 22:48:50 +01:00
Jilles Tjoelker 3471ceb507 Allow opers to see other users umodes with /mode <nick>.
If the other user is local, the snomask is also shown.
2009-01-01 19:24:38 +01:00