Commit graph

214 commits

Author SHA1 Message Date
William Pitcock
32d5702869 extensions: add the ability to hide uncommon channels in WHOIS, like in ircd-seven (closes #6) 2016-01-05 18:45:07 -06:00
William Pitcock
340b2512d4 sno_whois: fix resource leak, pointed out by mniip 2015-12-27 17:08:57 -06:00
William Pitcock
a2bc8af8c5 extb_combi: relax recursion and complexity limits now that bancache for unjoined users is fixed 2015-12-13 11:38:27 -06:00
William Pitcock
2749c37c43 extb_combi: tighten up recursion depth 2015-12-13 11:22:47 -06:00
William Pitcock
9145dc0956 extb_combi: allow up to 5 children nodes 2015-12-13 11:09:15 -06:00
William Pitcock
5984986bcf extb_combi: if there are more nodes than allowed, return EXTBAN_INVALID 2015-12-13 11:06:04 -06:00
William Pitcock
2e548a8a04 extb_combi: try limiting the number of allowed nodes per depth to 3 2015-12-13 10:58:05 -06:00
William Pitcock
d63f3f80f0 extb_combi: implement a recursion guard 2015-12-13 07:50:02 -06:00
Jilles Tjoelker
2d28539c68 Reduce clean_nick() code duplication further.
Side effect: hurt and monitor now allow nicks starting with a digit.
2015-12-13 00:22:21 +01:00
William Pitcock
72dee03d50 clean up some code duplication when checking nicks for validity 2015-12-12 08:41:09 -06:00
William Pitcock
e2a9fa9cab extenions: add a $m: extban (ref #74) 2015-12-10 02:25:22 -06:00
William Pitcock
4ef511ebb8 import marienz's extb_combi module (ref #74) 2015-12-10 02:20:58 -06:00
William Pitcock
202d496644 override: only engage override code if we're needing to authorize a WRITE to a channel's state (closes #65) 2015-12-10 01:00:32 -06:00
Jail Bird
29c92cf95f Spring cleaning redux:
- Implemented changes suggested by Jilles
- Remove some unused parameters in functions
- Remove some unused ssl procs
- 63-bit time_t support in TS deltas
- const char * vs char * cleanup
- struct alignment (void *) casts
- signed vs unsigned fixes
- bad memset() call
- Bad LT_MAIN in libratbox
- char -> unsigned char casts for isdigit/isspace/etc calls

Thanks Jilles!
2015-04-20 00:55:20 -05:00
Jilles Tjoelker
3bfac098f7 extensions/extb_channel: Allow the channel itself as target even if +s/+p. 2014-07-19 20:14:14 +02:00
Jilles Tjoelker
83aa910fb9 extensions/chm_sslonly: Use some 4xx numeric for the join failure. 2014-07-19 20:14:14 +02:00
Keith Buck
55abcbb20a Remove trailing whitespace from all .c and .h files.
3134 bytes were removed.
2014-03-03 04:25:47 +00:00
Jilles Tjoelker
b222b6a05a findforwards: Don't compare array to NULL as this is always true. 2014-03-02 21:47:36 +01:00
Jilles Tjoelker
f9960c0262 extensions/mkpasswd: Do not leak /dev/random fd. 2014-02-23 22:18:44 +01:00
Jilles Tjoelker
a6b29d3ed4 extensions/roleplay: Fix memory leak on every use. 2014-02-23 22:01:04 +01:00
Jilles Tjoelker
0391874cc7 webirc: Check validity of given IP. 2014-02-23 21:14:09 +01:00
Andrew
46b55df60b Fix grammatical error 2013-12-12 04:08:12 +00:00
Jilles Tjoelker
e5c254d7d1 override: Remove umode +p when deopering. 2013-10-25 17:49:58 +02:00
Keith Buck
0137d36122 Revert "Add m_override.c - an improved override module."
This reverts commit f00a55e9a1.
2013-10-25 05:39:55 +00:00
Keith Buck
f00a55e9a1 Add m_override.c - an improved override module. 2013-10-24 06:36:22 +00:00
Keith Buck
77d3d2dbaf Remove s_assert definition from ircd_defs.h and add it to its own header.
s_assert requires some higher-level functionality that shouldn't be
present in ircd_defs.h. ircd_defs.h is used by ssld, which has no notion
of logging or sending IRC messages. Additionally, some of the headers
s_assert depends on result in conflicting definitions in ssld.c.

This change also fixes the compile when using --enable-assert=soft.
2013-09-10 06:10:14 +00:00
Alex Iadicicco
e03fc000a2 extensions/m_roleplay: Properly transmit source name. 2013-08-23 20:11:22 -07:00
Jilles Tjoelker
0ef5377a36 Rename m_nokillservices.so to no_kill_services.so per the naming scheme. 2013-04-27 17:00:10 +02:00
Jilles Tjoelker
ee45698302 nokillservices: Use ircu numeric instead of a notice. 2013-04-27 16:55:26 +02:00
Elizabeth Myers
4f253f11a2 Forgot this -.- 2013-04-27 05:07:04 -05:00
Elizabeth Myers
06c3a3191c Fix minor comment munging from sed being a piece of shit 2013-04-27 04:59:57 -05:00
Elizabeth Myers
bd0d352f12 Include messages.h for macro form_str in select extensions 2013-04-27 04:57:44 -05:00
Elizabeth Myers
a6adeaad20 Fix format string generation 2013-04-27 04:57:31 -05:00
William Pitcock
960833fed6 Merge pull request #20 from quora-wings/master
Makefile.in updated
2013-04-20 20:24:25 -07:00
Quora
4dda34a0aa Makefile.in updated 2013-04-20 20:18:51 -07:00
Elizabeth Myers
be8f778945 Remove last vestige of halfops from this module.
How this was in here for this long is well beyond me. This must be old
hybrid code or something.
2013-04-20 21:23:27 -05:00
Quora
cec9e96f75 Removed redundant and buggy code that caused segmentation faults. Also deprecated by operspy support for LIST. Referencing commit Ponychat/shadowircd@162195279a 2013-04-20 13:59:27 -07:00
Elizabeth Myers
9d745dbd21 Implement kill-cancelling hook.
With this comes an example module to block the killing of services.

NOTE: this will not cancel remote kills. Those are still accepted, per
the TS 6 specification.
2013-04-20 01:07:55 -05:00
Jilles Tjoelker
e69375f3ac Cope with rb_crypt() returning NULL. 2013-02-02 00:54:32 +01:00
William Pitcock
4cbed3b849 extensions/m_roleplay: merge in darkmyst changes 2012-11-04 03:35:58 +00:00
William Pitcock
e5149d6169 Add module which restricts unauthenticated users from doing anything as channel op. 2012-11-01 06:48:40 +00:00
Keith Buck
0d0f34c322 chm_nonotice: Ignore CTCP and send ERR_CANNOTSENDTOCHAN if a message is being blocked. 2012-07-31 06:37:33 +00:00
Douglas Freed
9f409b6333 extensions/ip_cloaking*: Fix a bug accidentally introduced in 29d224a1 where the cloaking module would change your cloak locally, but not correctly broadcast this to the network, and fail to tell you correctly in the RPL_HOSTHIDDEN reply 2012-05-24 11:06:20 +00:00
Jilles Tjoelker
b97e1bf66c extensions/roleplay: Fix "No such channel" message. 2012-04-14 01:11:40 +02:00
Jilles Tjoelker
23485ebe3a extensions/roleplay: End floodgrace because this is sent to other users. 2012-04-14 01:07:43 +02:00
William Pitcock
b181432121 extensions/chm_nonotice: fix typo 2012-04-02 14:07:25 -05:00
William Pitcock
359407245d extensions/chm_nonotice: reject NOTICEs to channels mode
Same thing as +T in unrealircd, inspircd and shadowircd.
2012-03-31 22:56:14 -05:00
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