]> jfr.im git - solanum.git/log
solanum.git
4 years agofilter: require an extra "+" before data
Ed Kellett [Wed, 3 Apr 2019 11:16:44 +0000 (12:16 +0100)] 
filter: require an extra "+" before data

This disambiguates it from control commands

4 years agofilter: add modes to disable incoming filters
Ed Kellett [Sun, 7 Apr 2019 19:45:38 +0000 (20:45 +0100)] 
filter: add modes to disable incoming filters

4 years agofilter: make the kill reason more honest
Ed Kellett [Thu, 20 Sep 2018 19:02:19 +0000 (19:02 +0000)] 
filter: make the kill reason more honest

4 years agofilter: send the failure response only on PRIVMSG
Ed Kellett [Tue, 14 Aug 2018 21:41:24 +0000 (22:41 +0100)] 
filter: send the failure response only on PRIVMSG

4 years agofilter: match in two passes, before and after stripping
Ed Kellett [Tue, 14 Aug 2018 21:38:51 +0000 (22:38 +0100)] 
filter: match in two passes, before and after stripping

4 years agofilter: move to extensions
Ed Kellett [Tue, 14 Aug 2018 21:37:58 +0000 (22:37 +0100)] 
filter: move to extensions

4 years agofilter: bump version
Ed Kellett [Sat, 11 Aug 2018 22:45:22 +0000 (23:45 +0100)] 
filter: bump version

4 years agofilter: use a static buffer instead of strdup
Ed Kellett [Fri, 10 Aug 2018 20:52:03 +0000 (21:52 +0100)] 
filter: use a static buffer instead of strdup

4 years agofilter: add version number
Ed Kellett [Fri, 10 Aug 2018 15:24:37 +0000 (16:24 +0100)] 
filter: add version number

4 years agofilter: send a numeric error for ACT_DROP
Ed Kellett [Fri, 10 Aug 2018 14:05:13 +0000 (15:05 +0100)] 
filter: send a numeric error for ACT_DROP

4 years agofilter: add #defines for nick,user,host
Ed Kellett [Fri, 10 Aug 2018 14:04:32 +0000 (15:04 +0100)] 
filter: add #defines for nick,user,host

4 years agofilter: don't give the target of PMs to filters
Ed Kellett [Fri, 10 Aug 2018 02:32:21 +0000 (03:32 +0100)] 
filter: don't give the target of PMs to filters

4 years agofilter: include identified marker
Ed Kellett [Thu, 9 Aug 2018 22:39:19 +0000 (23:39 +0100)] 
filter: include identified marker

4 years agofilter: drop messages if we're ACT_KILLing them
Ed Kellett [Thu, 9 Aug 2018 13:53:54 +0000 (14:53 +0100)] 
filter: drop messages if we're ACT_KILLing them

4 years agofilter: Filter only locally-sourced messages
Ed Kellett [Thu, 9 Aug 2018 13:51:02 +0000 (14:51 +0100)] 
filter: Filter only locally-sourced messages

(Assume the remote server filtered remote ones.)

4 years agofilter: kill last or we can't send the snote
Ed Kellett [Wed, 8 Aug 2018 21:10:02 +0000 (22:10 +0100)] 
filter: kill last or we can't send the snote

4 years agoAdd filter.c
Ed Kellett [Mon, 6 Aug 2018 16:48:15 +0000 (17:48 +0100)] 
Add filter.c

4 years agoDepend on hyperscan
Ed Kellett [Mon, 6 Aug 2018 11:57:52 +0000 (12:57 +0100)] 
Depend on hyperscan

4 years agoTravis CI: Bump to Ubuntu Bionic 18.04 LTS
Aaron Jones [Sun, 6 Oct 2019 14:55:15 +0000 (14:55 +0000)] 
Travis CI: Bump to Ubuntu Bionic 18.04 LTS

Also bump Linux compilers from (GCC 4.8, GCC 4.9, GCC 5, GCC 7,
GCC 8, Clang 3.9, Clang 4.0, Clang 5.0, Clang 6.0) to (GCC 7,
GCC 8, Clang 7, Clang 8). There's no need to test against every
ancient compiler under the sun. Furthermore, we no longer need
an apt sources list for Bionic.

[ci skip] (Tested already <https://travis-ci.org/charybdis-ircd/charybdis/builds/594225622>)

4 years agoMerge pull request #285 from edk0/ratelimits
Aaron Jones [Sun, 15 Sep 2019 19:27:39 +0000 (19:27 +0000)] 
Merge pull request #285 from edk0/ratelimits

Remove ratelimits on /stats and /motd when they don't have a server parameter

4 years agom_motd: don't ratelimit with no server argument
Ed Kellett [Fri, 2 Aug 2019 21:55:19 +0000 (22:55 +0100)] 
m_motd: don't ratelimit with no server argument

4 years agom_stats: don't ratelimit with no server argument
Ed Kellett [Fri, 2 Aug 2019 20:56:10 +0000 (21:56 +0100)] 
m_stats: don't ratelimit with no server argument

4 years agoDon't enable warnings on osx
Simon Arlott [Sun, 15 Sep 2019 11:56:55 +0000 (12:56 +0100)] 
Don't enable warnings on osx

4 years agolibrb: Fix nossl
Simon Arlott [Sun, 15 Sep 2019 11:33:56 +0000 (12:33 +0100)] 
librb: Fix nossl

4 years agolibrb: Fix nossl
Simon Arlott [Sun, 15 Sep 2019 10:43:52 +0000 (11:43 +0100)] 
librb: Fix nossl

4 years agotravis: Use newer versions of Clang
Simon Arlott [Sun, 15 Sep 2019 10:41:41 +0000 (11:41 +0100)] 
travis: Use newer versions of Clang

4 years agoFix Clang 6 compiler warnings
Simon Arlott [Sun, 15 Sep 2019 10:28:48 +0000 (11:28 +0100)] 
Fix Clang 6 compiler warnings

4 years agotravis: Remove -Wno-unused-variable
Simon Arlott [Sun, 15 Sep 2019 10:14:38 +0000 (11:14 +0100)] 
travis: Remove -Wno-unused-variable

4 years agolibrb: Avoid unused variable warning
Simon Arlott [Sun, 15 Sep 2019 10:13:54 +0000 (11:13 +0100)] 
librb: Avoid unused variable warning

4 years agolibrb: Specify -Wno-unused-parameter
Simon Arlott [Sun, 15 Sep 2019 10:12:44 +0000 (11:12 +0100)] 
librb: Specify -Wno-unused-parameter

4 years agotravis: Don't use -Werror on clang
Simon Arlott [Sun, 15 Sep 2019 10:04:28 +0000 (11:04 +0100)] 
travis: Don't use -Werror on clang

4 years agotravis: Notify on IRC
Simon Arlott [Sun, 15 Sep 2019 10:00:50 +0000 (11:00 +0100)] 
travis: Notify on IRC

4 years agoFix GCC 8 compiler warnings
Simon Arlott [Sun, 15 Sep 2019 09:57:53 +0000 (10:57 +0100)] 
Fix GCC 8 compiler warnings

4 years agotravis: Ignore more unused warnings
Simon Arlott [Sun, 15 Sep 2019 09:44:05 +0000 (10:44 +0100)] 
travis: Ignore more unused warnings

4 years agoircd: Use a larger buffer for ilog() buf2
Simon Arlott [Sun, 15 Sep 2019 09:41:33 +0000 (10:41 +0100)] 
ircd: Use a larger buffer for ilog() buf2

4 years agotravis: Ignore unused-parameter warnings
Simon Arlott [Sun, 15 Sep 2019 09:26:35 +0000 (10:26 +0100)] 
travis: Ignore unused-parameter warnings

4 years agolibrb: Fix GCC 8 warning; 640 bytes should be enough
Simon Arlott [Sun, 15 Sep 2019 09:25:25 +0000 (10:25 +0100)] 
librb: Fix GCC 8 warning; 640 bytes should be enough

4 years agoircd: Zero out the global_client_list
Simon Arlott [Sun, 15 Sep 2019 09:21:49 +0000 (10:21 +0100)] 
ircd: Zero out the global_client_list

Otherwise we unconditionally add "me" to it twice in some unit tests,
which results in a loop in the list.

4 years agotravis: Build with GCC 7 and GCC 8
Simon Arlott [Sun, 15 Sep 2019 09:02:11 +0000 (10:02 +0100)] 
travis: Build with GCC 7 and GCC 8

4 years agoFix compiler warning for SeesOper
Simon Arlott [Sun, 15 Sep 2019 09:00:56 +0000 (10:00 +0100)] 
Fix compiler warning for SeesOper

4 years agotravis: Compile with warnings as errors
Simon Arlott [Sun, 15 Sep 2019 08:57:45 +0000 (09:57 +0100)] 
travis: Compile with warnings as errors

4 years agoMerge pull request #283 from edk0/grant
Aaron Jones [Sat, 14 Sep 2019 23:39:40 +0000 (23:39 +0000)] 
Merge pull request #283 from edk0/grant

m_grant improvements

4 years agoAdd help for GRANT
Ed Kellett [Sat, 14 Sep 2019 23:25:18 +0000 (00:25 +0100)] 
Add help for GRANT

4 years agom_grant: match "deoper" case-insensitively
Ed Kellett [Sat, 14 Sep 2019 23:16:00 +0000 (00:16 +0100)] 
m_grant: match "deoper" case-insensitively

4 years agom_grant: remove a confusing line
Ed Kellett [Thu, 1 Aug 2019 13:20:30 +0000 (14:20 +0100)] 
m_grant: remove a confusing line

4 years agom_grant: use AV2
Ed Kellett [Tue, 30 Jul 2019 22:18:22 +0000 (23:18 +0100)] 
m_grant: use AV2

4 years agom_grant: propagate privset changes
Ed Kellett [Sat, 27 Jul 2019 14:43:33 +0000 (15:43 +0100)] 
m_grant: propagate privset changes

4 years agom_grant: maintain privilegeset refcounts
Ed Kellett [Sat, 27 Jul 2019 14:42:36 +0000 (15:42 +0100)] 
m_grant: maintain privilegeset refcounts

4 years agocharybdise m_grant
Ed Kellett [Sat, 27 Jul 2019 14:20:49 +0000 (15:20 +0100)] 
charybdise m_grant

4 years agoUse the m_grant from ircd-seven
Ed Kellett [Sat, 27 Jul 2019 12:50:10 +0000 (13:50 +0100)] 
Use the m_grant from ircd-seven

Charybdis' rewritten m_grant introduces at least one serious bug without
providing any apparent benefit. I think the best solution here is the
easiest one.

The bug in question is that an empty mode change is triggered after
seven's grant has done its work, and this is necessary in order to
give umodes granted by oper privileges a chance to update. The rewrite
removes this, generating a mode change only if it wants to change the
state of +o, which means the grant victim can keep privileged modes they
no longer have access to, or fail to gain new ones.

4 years agoMerge pull request #284 from edk0/drain
Aaron Jones [Sat, 14 Sep 2019 21:21:38 +0000 (21:21 +0000)] 
Merge pull request #284 from edk0/drain

Add extensions/drain (port from ircd-seven)

4 years agoextensions/drain: remove superfluous includes
Janik Kleinhoff [Tue, 7 Aug 2018 20:39:05 +0000 (20:39 +0000)] 
extensions/drain: remove superfluous includes

4 years agoAdd extensions/drain
Ed Kellett [Wed, 29 Nov 2017 02:56:30 +0000 (02:56 +0000)] 
Add extensions/drain

This takes the simplest possible approach: load the module and you're in
drain mode.

4 years agoMerge pull request #282 from edk0/propagate-oper
Aaron Jones [Fri, 13 Sep 2019 12:15:06 +0000 (12:15 +0000)] 
Merge pull request #282 from edk0/propagate-oper

Propagate OPER

4 years agoPropagate OPER
Ed Kellett [Sun, 7 Jul 2019 01:36:58 +0000 (02:36 +0100)] 
Propagate OPER

Move opername and privset storage to struct User, so it can exist for
remote opers.

On /oper and when bursting opers, send:

    :foo OPER opername privset

which sets foo's opername and privset. The contents of the privset on
remote servers come from the remote server's config, so the potential
for confusion exists if these do not match.

If an oper's privset does not exist on a server that sees it, it will
complain, but create a placeholder privset. If the privset is created by
a rehash, this will be reflected properly.

/privs is udpated to take an optional argument, the server to query, and
is now local by default:

    /privs [[nick_or_server] nick]

4 years agoMerge pull request #279 from edk0/operhide
Aaron Jones [Thu, 12 Sep 2019 22:17:26 +0000 (22:17 +0000)] 
Merge pull request #279 from edk0/operhide

Rework oper hiding

4 years agoRework oper hiding
Ed Kellett [Sun, 7 Jul 2019 03:57:53 +0000 (04:57 +0100)] 
Rework oper hiding

As it stands, oper hiding is rather messy and inconsistent. Add
SeesOper(target, source), which is true iff target should appear as an
oper to source. If I haven't missed something, all commands that reveal
oper status now use the same logic.

general::hide_opers_in_whois is a special case, and affects /whois only.

general::hide_opers is introduced, and has the same effect as giving
everyone oper:hidden. All commands that reveal oper status respect both.

4 years agoSupport ECDH X25519 for TLSv1.3 (OpenSSL 1.1.1)
Aaron Jones [Sun, 8 Sep 2019 13:59:52 +0000 (13:59 +0000)] 
Support ECDH X25519 for TLSv1.3 (OpenSSL 1.1.1)

4 years agoMerge pull request #277 from edk0/helpops
Aaron Jones [Sat, 7 Sep 2019 14:57:30 +0000 (14:57 +0000)] 
Merge pull request #277 from edk0/helpops

Fix various bugs in extensions/helpops

4 years agoMerge pull request #278 from edk0/override
Aaron Jones [Sat, 7 Sep 2019 14:26:01 +0000 (14:26 +0000)] 
Merge pull request #278 from edk0/override

Fix various bugs in extensions/override

4 years agoMerge pull request #275 from edk0/override-immunity
Aaron Jones [Sat, 7 Sep 2019 14:10:22 +0000 (14:10 +0000)] 
Merge pull request #275 from edk0/override-immunity

override: move kick immunity to its own module

4 years agoMerge pull request #276 from edk0/deferred-cap-notify
Aaron Jones [Sat, 7 Sep 2019 14:08:19 +0000 (14:08 +0000)] 
Merge pull request #276 from edk0/deferred-cap-notify

Deferred capability notifications from modules

4 years agooverride: always check oper:override
Ed Kellett [Sat, 27 Jul 2019 12:50:53 +0000 (13:50 +0100)] 
override: always check oper:override

It's possible to have the oper:override privilege removed by /grant.
/grant triggers an empty umode change event to allow privileged umodes
to be set or removed, so checking for oper:override on all umode changes
(and not just ones where +o or +p is changed) allows us to remove +p
when necessary.

4 years agooverride: don't leak the old expiry timer list
Ed Kellett [Sat, 27 Jul 2019 00:59:28 +0000 (01:59 +0100)] 
override: don't leak the old expiry timer list

4 years agooverride: start timers for +p clients on modinit
Ed Kellett [Sat, 27 Jul 2019 00:48:36 +0000 (01:48 +0100)] 
override: start timers for +p clients on modinit

Reloading override previously would have the effect of cancelling +p
expiry. With this change, reloading the module just refreshes the
timers, so expiry is delayed a bit rather than forgotten entirely.

4 years agohelpops: remove +H if usermode:helpops is lost
Ed Kellett [Sat, 3 Aug 2019 05:41:09 +0000 (06:41 +0100)] 
helpops: remove +H if usermode:helpops is lost

4 years agohelpops: handle the helper list properly on reload
Ed Kellett [Sat, 3 Aug 2019 04:17:35 +0000 (05:17 +0100)] 
helpops: handle the helper list properly on reload

Free the whole list on unload rather than leaking it, and initialise it
to the list of people with +H on load.

4 years agohelpops: fix umode handling
Ed Kellett [Sat, 3 Aug 2019 04:13:49 +0000 (05:13 +0100)] 
helpops: fix umode handling

construct_umodebuf() can change the char->flag mapping (to restore an
orphaned mode). I don't love the use of a fake constant, so I think the
cleanest solution here is just to index user_modes with a macro for the
umode letter.

4 years agoDeferred capability notifications from modules
Ed Kellett [Mon, 8 Jul 2019 02:53:29 +0000 (03:53 +0100)] 
Deferred capability notifications from modules

Reloading modules sends CAP DEL followed by an immediate CAP NEW:

    :staberinde.local CAP * DEL :account-tag
    :staberinde.local CAP * NEW :account-tag

This isn't very nice. /modrestart is particularly bad. In order to avoid
doing this, we remember the capability set at the beginning of module
operations, compare that with the set afterwards, and report only the
differences with CAP {DEL,NEW}.

4 years agoMerge pull request #274 from edk0/event-deletion
Aaron Jones [Sat, 7 Sep 2019 13:56:17 +0000 (13:56 +0000)] 
Merge pull request #274 from edk0/event-deletion

librb/event: delete indirectly via a dead flag

4 years agooverride: move kick immunity to its own module
Ed Kellett [Fri, 2 Aug 2019 18:45:25 +0000 (19:45 +0100)] 
override: move kick immunity to its own module

4 years agolibrb/event: delete indirectly via a dead flag
Ed Kellett [Sat, 3 Aug 2019 05:41:58 +0000 (06:41 +0100)] 
librb/event: delete indirectly via a dead flag

This avoids an issue where deleting an event inside the handler of a
different event puts the event iteration in an invalid state.

4 years agoVersion 4.1.3-dev
Simon Arlott [Sat, 31 Aug 2019 20:14:27 +0000 (21:14 +0100)] 
Version 4.1.3-dev

4 years agoVersion 4.1.2
Simon Arlott [Sat, 31 Aug 2019 20:12:44 +0000 (21:12 +0100)] 
Version 4.1.2

4 years agotravis: don't run the tests on macosx
Simon Arlott [Sat, 31 Aug 2019 15:41:18 +0000 (16:41 +0100)] 
travis: don't run the tests on macosx

overriding rb_gettimeofday and "me" doesn't work

4 years agoircd: remove debug
Simon Arlott [Sat, 31 Aug 2019 15:36:41 +0000 (16:36 +0100)] 
ircd: remove debug

4 years agocap_server_time: Fix strftime return value check
Simon Arlott [Sat, 31 Aug 2019 15:35:19 +0000 (16:35 +0100)] 
cap_server_time: Fix strftime return value check

4 years agotests: Fix use-after-free bug
Simon Arlott [Sat, 31 Aug 2019 15:32:55 +0000 (16:32 +0100)] 
tests: Fix use-after-free bug

4 years agolibrb: Fix type of dst for rb_inet_pton_sock()
Simon Arlott [Sat, 31 Aug 2019 15:10:50 +0000 (16:10 +0100)] 
librb: Fix type of dst for rb_inet_pton_sock()

4 years agotests: Remove modules that don't exist
Simon Arlott [Sat, 31 Aug 2019 14:38:48 +0000 (15:38 +0100)] 
tests: Remove modules that don't exist

4 years agocheck_one_kline: Fix compiler warning
Simon Arlott [Sat, 31 Aug 2019 14:31:45 +0000 (15:31 +0100)] 
check_one_kline: Fix compiler warning

4 years agoMerge branch 'edk0-check-one-kline'
Simon Arlott [Sat, 31 Aug 2019 14:05:29 +0000 (15:05 +0100)] 
Merge branch 'edk0-check-one-kline'

4 years agoDocument the process shared by check_one_kline() and find_kline()
Simon Arlott [Sat, 31 Aug 2019 14:04:33 +0000 (15:04 +0100)] 
Document the process shared by check_one_kline() and find_kline()

4 years agoMerge branch 'check-one-kline' of https://github.com/edk0/charybdis into edk0-check...
Simon Arlott [Sat, 31 Aug 2019 14:05:11 +0000 (15:05 +0100)] 
Merge branch 'check-one-kline' of https://github.com/edk0/charybdis into edk0-check-one-kline

4 years agoRevert "ircd: Fix umode orphan scheme."
Simon Arlott [Sat, 31 Aug 2019 13:43:34 +0000 (14:43 +0100)] 
Revert "ircd: Fix umode orphan scheme."

This reverts commit c1fc044c3594798cc5389486c361a7d9a43bc4f8.

5 years agoCorrect OPM port configuration variables
Aaron Jones [Sun, 16 Jun 2019 08:02:51 +0000 (08:02 +0000)] 
Correct OPM port configuration variables

[ci skip]

5 years agotravis: run the tests
Simon Arlott [Sun, 7 Jul 2019 18:35:13 +0000 (19:35 +0100)] 
travis: run the tests

5 years agoRemove unused kline_delay config option
Ed Kellett [Sat, 27 Apr 2019 13:53:04 +0000 (14:53 +0100)] 
Remove unused kline_delay config option

5 years agoRemove unused kline delay machinery
Ed Kellett [Sat, 27 Apr 2019 13:51:27 +0000 (14:51 +0100)] 
Remove unused kline delay machinery

5 years agom_ban: check only the added K-line
Ed Kellett [Sat, 27 Apr 2019 13:51:04 +0000 (14:51 +0100)] 
m_ban: check only the added K-line

5 years agom_kline: check only the added K-line
Ed Kellett [Sat, 25 Nov 2017 01:31:34 +0000 (01:31 +0000)] 
m_kline: check only the added K-line

5 years agoAdd check_one_kline, expose notify_banned_client
Ed Kellett [Sat, 25 Nov 2017 22:17:50 +0000 (22:17 +0000)] 
Add check_one_kline, expose notify_banned_client

5 years agonewconf: remove plaintext listeners warning
Aaron Jones [Wed, 27 Mar 2019 19:29:55 +0000 (19:29 +0000)] 
newconf: remove plaintext listeners warning

Closes #270

[ci skip]

5 years agom_sasl: Don't process authentication messages if SASL has been aborted, but track...
Simon Arlott [Sat, 23 Feb 2019 12:40:27 +0000 (12:40 +0000)] 
m_sasl: Don't process authentication messages if SASL has been aborted, but track failures

5 years agotests: Verify behaviour if services authenticates a user after SASL is aborted
Simon Arlott [Sat, 23 Feb 2019 12:31:56 +0000 (12:31 +0000)] 
tests: Verify behaviour if services authenticates a user after SASL is aborted

5 years agoset version back to -dev
Simon Arlott [Wed, 15 Aug 2018 22:12:38 +0000 (23:12 +0100)] 
set version back to -dev

5 years agocharybdis 4.1.1
Simon Arlott [Wed, 15 Aug 2018 22:00:26 +0000 (23:00 +0100)] 
charybdis 4.1.1

5 years agom_nick/m_sasl/m_user: restore check for mixing of client and server protocol
Simon Arlott [Wed, 15 Aug 2018 21:44:02 +0000 (22:44 +0100)] 
m_nick/m_sasl/m_user: restore check for mixing of client and server protocol

5 years agom_pass: store unverified SID in preClient for use in m_server
Simon Arlott [Mon, 13 Aug 2018 19:53:04 +0000 (20:53 +0100)] 
m_pass: store unverified SID in preClient for use in m_server

5 years agoMbedTLS: Support ChaCha20-Poly1305 in TLSv1.2+
Aaron Jones [Mon, 13 Aug 2018 22:34:16 +0000 (22:34 +0000)] 
MbedTLS: Support ChaCha20-Poly1305 in TLSv1.2+