Commit graph

255 commits

Author SHA1 Message Date
William Pitcock 0b18e32cad Add extban target for matching against a user's modes.
Syntax: $m:+o (require usermode +o)
Syntax: $m:+o-a (require usermode +o but do not allow +a)
Syntax: $m:+a (require usermode +a)
Syntax: $m:-h (require user disables cloaking to enter)
2012-01-22 03:46:08 -06:00
Elizabeth Jennifer Myers 765d839d3c Port ircd-seven banfowards to charybdis.
nenolod gave the thumbs-up to port ircd-seven banfowards to charybdis to spb
for a while, and people have asked about it. Might as well do it since it's a
slow weekend.

Note that as a side effect use_forward is removed from the config and
unconditionally enabled!
2011-08-12 20:33:10 -04:00
Jilles Tjoelker b4cdedaa2a override: Send notice when overriding can_send.
Also ensure no session deadline is maintained for a remote client.
2011-08-07 22:10:12 +02:00
Elizabeth Jennifer Myers 89bfeb8fb1 Remove #define KEY from ip_cloaking modules.
I meant to do this 3 years ago when I rewrote the cloaking modules. I
never got around to it. Now I am. :p

Also add some basic comment headers whilst I'm here.
2011-07-25 23:38:56 -04:00
Jilles Tjoelker 0d165b5262 override: Apply floodcount to override sends.
This avoids strange behaviour where quieting an override
oper lets them send more, and matches ircd-seven.
2011-02-06 15:50:58 +01:00
Elizabeth Jennifer Myers f924ea40a3 Overhaul extensions/m_mkpasswd. It now allows SHA256/SHA512 hashes. DES support is removed, as it is insecure and can be broken on my desktop in about 20 minutes. 2011-01-06 01:41:57 -05:00
Keith Buck bb55ebebe9 Implement operspy for /LIST. 2011-01-05 18:57:27 -08:00
Jilles Tjoelker 6d61f90fd6 override: Provide an error message if +p may not be set. 2010-12-31 02:43:38 +01:00
William Pitcock 805cfa5ab2 Use send_channel_join(). 2010-12-16 00:13:42 -06:00
B.Greenham fb28c74187 extensions/roleplay: Fix NPCA/FACTION not showing up properly on some clients. 2010-12-15 15:43:35 -05:00
B.Greenham 6816e3387a Make ENCAP ROLEPLAY originate from the user running the command, rather than just including the user in the message, as per jilles' suggestion.
This has the benefit of checking ROLEPLAY messages for fake direction.
2010-12-11 15:51:11 -05:00
B.Greenham 8ffa827529 Add extensions/m_roleplay, which provides various roleplay commands. 2010-12-09 18:44:24 -05:00
William Pitcock 5c3014d0eb Clean up OverrideSession struct on client exit. 2010-12-07 00:27:00 -06:00
William Pitcock 9101dbcda2 override: Hack can_send(). 2010-12-07 00:18:22 -06:00
William Pitcock d307688122 override: Allow banwalking too. 2010-12-06 23:55:42 -06:00
William Pitcock 429cf1b74f Add oper-override (modehacking only) as a module.
I think if you are going to kick someone from a channel.
2010-12-06 23:44:55 -06:00
Jilles Tjoelker 19716b9fd6 New custom channel mode API allowing reloading such modules.
Additionally, attempting to use too many modes or two times
the same letter is now detected and prevented.

Modules now request that a channel mode be added/orphaned,
instead of ugly manipulation from which that request had
to be guessed.

Slight changes are needed to modules that provide channel modes.
From the old API, one important function has been made static,
the other important function has been renamed, so loading old
modules should fail safely.
2010-04-01 01:16:16 +02: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
William Pitcock 4cbfc368b4 Add ip_cloaking_4.0 module, which is the same cloaking as 3.2, but moves the usermode from +h to +x,
which allows us to start transitioning this usermode change.
2010-02-18 07:30:26 -06:00
William Pitcock 3ad21d7513 hurt: unbreak compile 2010-02-17 06:44:42 -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
Jilles Tjoelker 161f040940 Update comments for parv[0] removal. 2009-01-18 18:22:43 +01:00
Jilles Tjoelker 3dfaa67120 Replace parv[0] with source_p->name. 2009-01-17 01:18:19 +01:00
Jilles Tjoelker f85a5a3f20 m_webirc: use rb_crypt() instead of crypt() 2008-12-13 11:49:28 +01:00
Jilles Tjoelker d9439a0eee ip_cloaking: clarify logic
This also slightly changes mangled IPs but the
mangling is on the same level.
2008-09-20 00:30:35 +02:00
Jilles Tjoelker 5067fe0e81 ip_cloaking: remove some unnecessary braces 2008-09-19 23:44:56 +02:00
Jilles Tjoelker 9d99a3096c ip_cloaking: fix digits in hostnames 2008-09-19 23:42:28 +02:00
Jilles Tjoelker e1c1f08d24 ip_cloaking: fix HOSTLEN buffer lengths,
could have truncated one char it shouldn't
2008-09-19 23:41:22 +02:00
Jilles Tjoelker 3213b626a4 More ip_cloaking improvements from Spaz.
The mangling function now creates more variation,
and more of numeric IPs is mangled.
2008-09-19 23:35:43 +02:00
William Pitcock 14f12985df Automated merge with http://hg.atheme.org/charybdis 2008-09-17 03:25:19 -05:00
Jacob Myers 4acae09f3d Improved cloaking. It now uses an FNV hash, which makes IP's much more
difficult to predict.
2008-09-17 04:15:51 -04:00
William Pitcock 0469849f16 Copy ip_cloaking.c to ip_cloaking_3.0.c 2008-09-17 03:23:06 -05:00
Jilles Tjoelker fb47b36663 Make sno_globalkline work for servers without kline_reason, but only for temps. 2008-09-17 00:24:50 +02:00
Jilles Tjoelker 17b97f3024 Fix possible crash with m_mkpasswd extension. 2008-09-06 21:49:45 +02:00
Jilles Tjoelker c2f73e5dbc Use rb_snprintf() in various places. 2008-09-06 01:00:20 +02:00
Jilles Tjoelker b92d34adc1 Do not use get_oper_name() for a netwide server notice, it may be confusing. 2008-09-02 23:44:06 +02:00
Valery V Yatsko f1651c905a fixed chm_adminonly extension - IsOperAdmin replaced with IsAdmin.. hm.. but possibly we need to allow hidden opers/admins to enter protected
channels?
2008-08-16 23:34:32 +04:00
Valery V Yatsko 6538a4cb03 Extension for +A (admin only) channel mode, currently belongs to type chm_staff as operonly, seen in various networks. 2008-08-13 21:04:27 +04:00
Valery V Yatsko fc8942feef Restricted +O (operonly) channel mode to be set only by ircops
(chm_staff)
2008-08-04 21:59:58 +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 eb463ef309 chm_operonly extension: use Unreal's numeric (520)
irssi still does not recognize this properly, oh well
2008-07-31 16:10:14 +02:00
Jilles Tjoelker b0ccacd250 Add SENDBANS command (extension) to propagate xlines and resvs manually. 2008-07-29 00:09:03 +02:00
Valery Yatsko b42eac7502 quick draft fix of ip_cloaking to make module work with ipv6 ips, cleanup later 2008-07-28 10:06:01 +04:00
Valery Yatsko 5440859e95 crypt -> rb_crypt in m_mkpasswd.c 2008-07-27 14:48:16 +04:00
Valery Yatsko 80ce25befa SSL only channel mode extension - might be useful if server owner prefer not to use extended bans, or to make server feel like ircd-ratbox3 2008-07-27 12:47:40 +04:00
Valery Yatsko 216574bec7 Added chm_operonly to Makefile 2008-07-27 12:19:21 +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
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
William Pitcock 780a999fe7 extensions: no more TS5. 2008-06-08 01:31:15 -05:00
Jilles Tjoelker 732280d99e olist: do not send operspy notices for nonexistent channels 2008-05-21 01:13:45 +02:00
Jilles Tjoelker 3d106847c5 olist: give proper error message if oper does not have oper_spy priv 2008-05-21 00:56:53 +02:00
Valery Yatsko 4562c60489 irc_string.h -> match.h, irc_string.h; includes changed 2008-04-20 09:47:38 +04:00
Valery Yatsko cbe4e1ba31 legacy irc sprintf gone 2008-04-20 09:12:09 +04:00
Valery Yatsko caa4d9d273 Various inet* -> rb_inet_* 2008-04-20 08:55:41 +04:00
Valery Yatsko 1f9de103c3 strlcat -> rb_strlcat 2008-04-20 08:44:04 +04:00
Valery Yatsko f427c8b00d strlcpy -> rb_strlcpy 2008-04-20 08:40:40 +04:00
Jilles Tjoelker aae358c078 Remove various other gline stuff. 2008-04-11 17:10:40 +02:00
Valery Yatsko 170703fe3a Removing glines 2008-04-11 18:47:03 +04:00
Valery Yatsko 79b0d5a330 .cvsignore files removed, SVN-Access replaced by Mercurial-Access 2008-04-09 22:24:50 +04:00
Valery Yatsko c84557ac70 chm_* declarations gone to chmode.h - this makes some modules clean 2008-04-08 23:39:35 +04:00
Valery Yatsko dbbe26fa00 New extensions documented + typo fixed 2008-04-08 23:24:47 +04:00
Valery Yatsko ec40aa0d15 chm_operonly_compat, this adds +O channel mode, which means oper only channel 2008-04-08 21:40:41 +04:00
Valery Yatsko 6d1a8b6eda chm_sslonly_compat, this adds +S channel mode, which means ssl only channel 2008-04-08 21:29:19 +04:00
Valery Yatsko 0e51998bf8 extb_ssl extension - ssl extban 2008-04-08 21:24:23 +04:00
William Pitcock 4016731b1c s_log.* -> logger.* (s_foo looks ugly, lets try to get rid of it) 2008-04-02 21:52:01 -05:00
Valery Yatsko 54ac8b60a1 Reverting some changed related not to moving on libratbox3 but using ratbox3 source! 2008-04-02 19:37:50 +04:00
Valery Yatsko bdbe991f53 m_webirc.c fixed 2008-04-02 15:32:01 +04:00
Valery Yatsko 4d4910cb77 got m_webirc.c from ratbox3 contrib/ 2008-04-02 15:30:49 +04:00
William Pitcock 954012d39b extensions compile without libcharybdis now. 2008-04-01 19:35:13 -05:00
Valery Yatsko b42e202d6b Fixes for macro 2008-04-02 03:49:56 +04:00
Valery Yatsko ddcb223e5b Fixing m_hurt.c's dlinks 2008-04-02 03:48:21 +04:00
Valery Yatsko f24a7dfbaf Removing libcharybdis references. 2008-04-02 02:18:44 +04:00
William Pitcock 036a10a995 make all extensions libratbox-clean. 2008-04-01 16:20:40 -05:00
William Pitcock 5b96d9a6b9 start making this compile 2008-04-01 15:18:48 -05:00
Jilles Tjoelker 7b7e1640de Move PRIVS command from extensions to modules (shows effective oper privs). 2008-03-31 00:39:14 +02:00
Jilles Tjoelker f9de2f89b2 Note that +i must be included in default_umodes. 2008-03-29 21:37:12 +01:00
Jilles Tjoelker 30ae6c6fa2 Add force_user_invis extension from charybdis+sn.
Forces nonopers +i.
2008-03-29 21:36:39 +01:00
Jilles Tjoelker b90022da01 PRIVS: Show name of operator block.
Change the "O" to "operator:<name>".
2008-01-06 15:29:54 +01:00
Jilles Tjoelker 5ca543e7c5 Remove FLAGS2_NOLIMIT (IsExemptLimits/SetExemptLimits).
This only has an effect at connection time, and the
ConfItem flag suffices for that.
2008-01-06 00:16:57 +01:00
Jilles Tjoelker c728f9934c Add PRIVS extension, a command that shows oper and some auth{} privileges. 2008-01-05 23:59:43 +01:00
Jilles Tjoelker b50c1127d6 Add chm_quietunreg_compat extension, makes cmode +-R an alias for +-q $~a. 2007-12-25 13:56:05 +01:00
Jilles Tjoelker 6dc16f7e82 Add no_locops extension to disable LOCOPS (force everyone -l). 2007-12-25 13:27:41 +01:00
Jilles Tjoelker adb3f9d000 Deny $o extbans with data, to be better compatible with future meanings of it. 2007-12-18 23:00:42 +01:00
Jilles Tjoelker aee6f89036 Add adminwall from ratbox, as an extension. 2007-12-18 22:54:18 +01:00
Jilles Tjoelker b47db00e58 createauthonly: allow opers through explicitly 2007-12-18 00:15:54 +01:00
Jilles Tjoelker 19fcdbd561 hurt: Do not store to-be-freed strings in const pointers (+ cast when freeing).
Take away the const.
2007-12-13 00:03:20 +01:00
Jilles Tjoelker 40528bf61d Update extensions/README. 2007-12-01 21:04:31 +01:00
William Pitcock c88cdb0095 Get rid of User.server. 2007-11-20 06:36:55 -06:00
jilles 8e8f4ffc19 [svn] Send TS6 protocol for the actual work of override modules.
Wallops remain TS5-style for now.
2007-08-10 15:31:14 -07:00
nenolod b076458c6f [svn] - forgot to do something 2007-07-06 00:56:14 -07:00
nenolod 514235a762 [svn] - fix a possible problem with ipv6 2007-07-06 00:54:54 -07:00
nenolod 762cc38cf9 [svn] - new ip cloaking module 2007-07-06 00:48:28 -07:00
jilles 5832fa369b [svn] Tweak some comments in sno_whois extension. 2007-05-30 03:22:25 -07:00
jilles 297c7db408 [svn] Move sno_channeljoin to unsupported, due to the privacy
issue and the fact that any oper with admin or hidden_admin
can load extensions.
2007-05-24 08:10:06 -07:00
nenolod 45ed977779 [svn] - createoperonly: like createauthonly, but checks opered status instead of authed status 2007-05-23 21:28:36 -07:00
nenolod 59e2698a9f [svn] - sno_channeljoin: implements snomask +j and sends channel join notices there from local users 2007-05-23 21:16:02 -07:00
nenolod 3868ef9a7c [svn] - fold in whois_notice_global functionality. 2007-05-23 21:01:12 -07:00
nenolod 9e6feafe29 [svn] - rework spy_whois_notice as a snomask-implementing module, snomask +W. 2007-05-23 20:58:27 -07:00
jilles 477bbce447 [svn] m_webirc: call del_unknown_ip() otherwise the unknown will
never be subtracted from the cgiirc ip
2007-05-18 12:51:22 -07:00
jilles 4636e5cbac [svn] webirc bugfix 2007-04-25 08:22:28 -07:00
jilles a5ea0e0dc4 [svn] Merge old trunk r2779,r2785:
Show correct privilege name in a few ERR_NOPRIVS numerics.
2007-03-28 07:49:48 -07:00
jilles 652b8478fb [svn] Make oper_up() take +i/-i during opering up into account
(e.g. no_oper_invis extension, +i in operator::umodes).
Remove the hack from no_oper_invis.
2007-02-24 11:34:28 -08:00
jilles af6ca5f5e5 [svn] no_oper_invis: decrement invisible count when clearing
invisible on a local client who has just opered up
oper_up() should really do this
2007-02-24 10:35:58 -08:00
nenolod 5366977b4f [svn] Backport from early 3.x:
--
nenolod     2006/09/27 16:39:14 UTC	(20060927-2178)
  Log:
  - remove "Processing connection to foobar.net" message


  Changes:	Modified:
  +0 -3		trunk/src/s_auth.c (File Modified)


nenolod     2006/09/27 16:34:26 UTC	(20060927-2176)
  Log:
  - missed the processing connection one (actually, we can probably nuke this one)


  Changes:	Modified:
  +1 -2		trunk/src/s_auth.c (File Modified)


river       2006/09/27 16:33:05 UTC	(20060927-2174)
  Log:
  get_client_name = stupid



  Changes:	Modified:
  +10 -7	trunk/modules/core/m_kill.c (File Modified)


nenolod     2006/09/27 16:32:37 UTC	(20060927-2172)
  Log:
  - remove excessive arguments


  Changes:	Modified:
  +1 -2		trunk/src/s_conf.c (File Modified)
  +1 -1		trunk/src/s_user.c (File Modified)


nenolod     2006/09/27 16:30:59 UTC	(20060927-2170)
  Log:
  - use sendto_one_notice() for on-connect notices too.


  Changes:	Modified:
  +10 -10	trunk/src/s_auth.c (File Modified)


nenolod     2006/09/27 16:27:01 UTC	(20060927-2168)
  Log:
  - use sendto_one_notice() in the core, too.


  Changes:	Modified:
  +2 -2		trunk/src/chmode.c (File Modified)
  +8 -15	trunk/src/modules.c (File Modified)
  +3 -5		trunk/src/s_conf.c (File Modified)
  +1 -2		trunk/src/s_newconf.c (File Modified)
  +20 -57	trunk/src/s_user.c (File Modified)


river       2006/09/27 16:19:25 UTC	(20060927-2166)
  Log:
  the KILL command will use get_client_name(, SHOW_IP) instead of
  target->name, and will show a more useful error for local opers



  Changes:	Modified:
  +6 -4		trunk/modules/core/m_kill.c (File Modified)


nenolod     2006/09/27 16:09:48 UTC	(20060927-2164)
  Log:
  - fix bugs in sendto_one_notice()/sendto_one_numeric() where a client identifier won't be sent to unregistered clients


  Changes:	Modified:
  +4 -2		trunk/src/send.c (File Modified)


nenolod     2006/09/27 16:05:46 UTC	(20060927-2161)
  Log:
  - back out r2159


  Changes:	Modified:
  +1 -1		trunk/include/client.h (File Modified)


nenolod     2006/09/27 16:04:05 UTC	(20060927-2159)
  Log:
  - get_id(): fall back to "*" if client has no known name


  Changes:	Modified:
  +1 -1		trunk/include/client.h (File Modified)


nenolod     2006/09/27 16:01:29 UTC	(20060927-2157)
  Log:
  - convert to sendto_one_notice().


  Changes:	Modified:
  +2 -3		trunk/unsupported/m_clearchan.c (File Modified)
  +4 -6		trunk/unsupported/m_force.c (File Modified)


nenolod     2006/09/27 15:57:11 UTC	(20060927-2155)
  Log:
  - use sendto_one_notice() in many places instead of
sendto_one(source_p, ":%s NOTICE %s :", ...);


  Changes:	Modified:
  +10 -25	trunk/extensions/example_module.c (File Modified)
  +5 -14	trunk/extensions/hurt.c (File Modified)
  +1 -2		trunk/extensions/m_42.c (File Modified)
  +7 -12	trunk/extensions/m_mkpasswd.c (File Modified)
  +1 -2		trunk/extensions/m_ojoin.c (File Modified)
  +1 -2		trunk/extensions/m_opme.c (File Modified)
  +3 -3		trunk/extensions/spy_whois_notice.c (File Modified)
  +3 -3		trunk/extensions/spy_whois_notice_global.c (File Modified)
  +3 -7		trunk/modules/core/m_die.c (File Modified)
  +2 -4		trunk/modules/core/m_kill.c (File Modified)
  +2 -2		trunk/modules/core/m_squit.c (File Modified)
  +1 -2		trunk/modules/m_challenge.c (File Modified)
  +11 -15	trunk/modules/m_connect.c (File Modified)
  +20 -28	trunk/modules/m_dline.c (File Modified)
  +2 -2		trunk/modules/m_etrace.c (File Modified)
  +11 -21	trunk/modules/m_gline.c (File Modified)
  +2 -4		trunk/modules/m_kline.c (File Modified)
  +1 -2		trunk/modules/m_rehash.c (File Modified)
  +3 -7		trunk/modules/m_restart.c (File Modified)
  +31 -45	trunk/modules/m_set.c (File Modified)
  +2 -4		trunk/modules/m_testmask.c (File Modified)
  +5 -8		trunk/modules/m_unreject.c (File Modified)
  +2 -5		trunk/modules/m_xline.c (File Modified)
--
2007-01-24 23:23:01 -08:00
nenolod 212380e3f4 [svn] - the new plan:
+ branches/release-2.1 -> 2.2 base
  + 3.0 -> branches/cxxconversion
  + backport some immediate 3.0 functionality for 2.2
  + other stuff
2007-01-24 22:40:21 -08:00