Commit graph

367 commits

Author SHA1 Message Date
William Pitcock
dd2654fadb Merge branch 'master' of git.atheme.org:/gitroot/charybdis 2012-03-04 17:25:17 -06:00
William Pitcock
c918eb5799 m_remove: Don't use capability_require(). 2012-03-04 17:25:01 -06:00
Nathan Phillip Brink
c74836dc4a Add explicit support for being installed into a system triggered with --enable-fhs-paths.
Add two mechanism for avoiding name-collisions in a system-wide
installation of charybdis. The ssld and bandb daemons, intended to be
directly used by ircd and not the user, install into libexec when
--enable-fhs-paths is set. For binaries which are meant to be in PATH
(bindir), such as ircd and viconf, there is now an option
--with-program-prefix=progprefix inspired by automake. If the user
specifies --with-program-prefix=charybdis, the ircd binary is named
charybdisircd when installed.

Add support for saving the pidfile to a rundir and storing the ban
database in localstatedir instead of in sysconfdir. This is, again,
conditional on --enable-fhs-paths.

Fix(?) genssl.sh to always write created SSL key/certificate/dh
parameters to the sysconfdir specified during ./configure. The
previous behavior was to assume that the user ran genssl.sh after
ensuring that his current working directory was either sysconfdir or a
sibling directory of sysconfdir.
2012-03-01 02:41:09 +00:00
Nathan Phillip Brink
f02e3a2628 Use LDFLAGS when compiling extensions or modules. 2012-02-28 04:36:00 +00:00
Keith Buck
29d224a1f8 ip_cloaking*: Do qjm locally too. 2012-02-18 05:16:03 +00:00
William Pitcock
deee7b4388 m_remove: fix parameter order on PART message 2012-02-04 18:49:46 -06:00
Jilles Tjoelker
63dd387b13 Require all modes to be set for + part in $m extban.
This is like the - part requiring none of the modes to be set and is more
useful because the old behaviour can be emulated with multiple bans.
2012-02-04 15:02:26 +01:00
William Pitcock
925c50efea Add implementation of /REMOVE, based on ircd-seven implementation. 2012-02-04 02:20:56 -06:00
Keith Buck
4862f41a02 extban : Correct logic for matching against permissions. 2012-01-24 17:13:32 +00:00
JD Horelick
a8eae73002 extb_usermode should declare itself as what it actually is. 2012-01-22 13:56:25 -05:00
William Pitcock
655e7dee45 extban $o: add support for matching against specific permissions.
Syntax: $o:oper:admin (match against the oper:admin permission)
2012-01-22 04:05:34 -06:00
William Pitcock
11f2e78727 extb_usermode: should use EXTBAN_INVALID if no modestring is provided 2012-01-22 03:58:32 -06:00
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