]>
jfr.im git - solanum.git/log
Aaron Jones [Tue, 22 Oct 2019 16:16:36 +0000 (16:16 +0000)]
Merge pull request #294 from edk0/deny-webirc-auth
m_webirc: deny using webirc. as a real auth block
Ed Kellett [Sun, 20 Oct 2019 17:39:29 +0000 (18:39 +0100)]
m_webirc: deny using webirc. as a real auth block
Aaron Jones [Mon, 7 Oct 2019 03:48:57 +0000 (03:48 +0000)]
tests/Makefile.am: check-local: don't depend on extensions/*
This breaks if a file in extensions/ doesn't get built due to
conditional compilation, and the tests don't need anything
under extensions/ anyway.
Aaron Jones [Sun, 6 Oct 2019 22:23:59 +0000 (22:23 +0000)]
Merge pull request #286 from edk0/strip-unprintable
strip_unprintable: Don't strip all bytes with the MSB set
Janik Kleinhoff [Thu, 25 Oct 2018 20:31:46 +0000 (20:31 +0000)]
strip_unprintable: clarify type conversion
This type conversion is more easily shown to work as intended than the
conversion introduced in
9dcb9e169 .
Ed Kellett [Tue, 25 Sep 2018 11:48:22 +0000 (12:48 +0100)]
Fix strip_unprintable on high bit bytes
Aaron Jones [Sun, 6 Oct 2019 21:57:42 +0000 (21:57 +0000)]
Merge pull request #290 from edk0/quiet-override
override: don't spam about (un)setting the mode
Aaron Jones [Sun, 6 Oct 2019 21:51:20 +0000 (21:51 +0000)]
Merge pull request #289 from edk0/rehash-privileged-modes
Recheck umodes for opers after rehash
Ed Kellett [Sun, 6 Oct 2019 21:23:44 +0000 (22:23 +0100)]
override: don't spam about (un)setting the mode
We will spam about any uses of it, so this just seems like extra noise.
Ed Kellett [Sun, 6 Oct 2019 20:56:13 +0000 (21:56 +0100)]
Recheck umodes for opers after rehash
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 >)
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
Ed Kellett [Fri, 2 Aug 2019 21:55:19 +0000 (22:55 +0100)]
m_motd: 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
Simon Arlott [Sun, 15 Sep 2019 11:56:55 +0000 (12:56 +0100)]
Don't enable warnings on osx
Simon Arlott [Sun, 15 Sep 2019 11:33:56 +0000 (12:33 +0100)]
librb: Fix nossl
Simon Arlott [Sun, 15 Sep 2019 10:43:52 +0000 (11:43 +0100)]
librb: Fix nossl
Simon Arlott [Sun, 15 Sep 2019 10:41:41 +0000 (11:41 +0100)]
travis: Use newer versions of Clang
Simon Arlott [Sun, 15 Sep 2019 10:28:48 +0000 (11:28 +0100)]
Fix Clang 6 compiler warnings
Simon Arlott [Sun, 15 Sep 2019 10:14:38 +0000 (11:14 +0100)]
travis: Remove -Wno-unused-variable
Simon Arlott [Sun, 15 Sep 2019 10:13:54 +0000 (11:13 +0100)]
librb: Avoid unused variable warning
Simon Arlott [Sun, 15 Sep 2019 10:12:44 +0000 (11:12 +0100)]
librb: Specify -Wno-unused-parameter
Simon Arlott [Sun, 15 Sep 2019 10:04:28 +0000 (11:04 +0100)]
travis: Don't use -Werror on clang
Simon Arlott [Sun, 15 Sep 2019 10:00:50 +0000 (11:00 +0100)]
travis: Notify on IRC
Simon Arlott [Sun, 15 Sep 2019 09:57:53 +0000 (10:57 +0100)]
Fix GCC 8 compiler warnings
Simon Arlott [Sun, 15 Sep 2019 09:44:05 +0000 (10:44 +0100)]
travis: Ignore more unused warnings
Simon Arlott [Sun, 15 Sep 2019 09:41:33 +0000 (10:41 +0100)]
ircd: Use a larger buffer for ilog() buf2
Simon Arlott [Sun, 15 Sep 2019 09:26:35 +0000 (10:26 +0100)]
travis: Ignore unused-parameter warnings
Simon Arlott [Sun, 15 Sep 2019 09:25:25 +0000 (10:25 +0100)]
librb: Fix GCC 8 warning; 640 bytes should be enough
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.
Simon Arlott [Sun, 15 Sep 2019 09:02:11 +0000 (10:02 +0100)]
travis: Build with GCC 7 and GCC 8
Simon Arlott [Sun, 15 Sep 2019 09:00:56 +0000 (10:00 +0100)]
Fix compiler warning for SeesOper
Simon Arlott [Sun, 15 Sep 2019 08:57:45 +0000 (09:57 +0100)]
travis: Compile with warnings as errors
Aaron Jones [Sat, 14 Sep 2019 23:39:40 +0000 (23:39 +0000)]
Merge pull request #283 from edk0/grant
m_grant improvements
Ed Kellett [Sat, 14 Sep 2019 23:25:18 +0000 (00:25 +0100)]
Add help for GRANT
Ed Kellett [Sat, 14 Sep 2019 23:16:00 +0000 (00:16 +0100)]
m_grant: match "deoper" case-insensitively
Ed Kellett [Thu, 1 Aug 2019 13:20:30 +0000 (14:20 +0100)]
m_grant: remove a confusing line
Ed Kellett [Tue, 30 Jul 2019 22:18:22 +0000 (23:18 +0100)]
m_grant: use AV2
Ed Kellett [Sat, 27 Jul 2019 14:43:33 +0000 (15:43 +0100)]
m_grant: propagate privset changes
Ed Kellett [Sat, 27 Jul 2019 14:42:36 +0000 (15:42 +0100)]
m_grant: maintain privilegeset refcounts
Ed Kellett [Sat, 27 Jul 2019 14:20:49 +0000 (15:20 +0100)]
charybdise m_grant
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.
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)
Janik Kleinhoff [Tue, 7 Aug 2018 20:39:05 +0000 (20:39 +0000)]
extensions/drain: remove superfluous includes
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.
Aaron Jones [Fri, 13 Sep 2019 12:15:06 +0000 (12:15 +0000)]
Merge pull request #282 from edk0/propagate-oper
Propagate 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]
Aaron Jones [Thu, 12 Sep 2019 22:17:26 +0000 (22:17 +0000)]
Merge pull request #279 from edk0/operhide
Rework 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.
Aaron Jones [Sun, 8 Sep 2019 13:59:52 +0000 (13:59 +0000)]
Support ECDH X25519 for TLSv1.3 (OpenSSL 1.1.1)
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
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
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
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
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.
Ed Kellett [Sat, 27 Jul 2019 00:59:28 +0000 (01:59 +0100)]
override: don't leak the old expiry timer list
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.
Ed Kellett [Sat, 3 Aug 2019 05:41:09 +0000 (06:41 +0100)]
helpops: remove +H if usermode:helpops is lost
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.
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.
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}.
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
Ed Kellett [Fri, 2 Aug 2019 18:45:25 +0000 (19:45 +0100)]
override: move kick immunity to its own module
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.
Simon Arlott [Sat, 31 Aug 2019 20:14:27 +0000 (21:14 +0100)]
Version 4.1.3-dev
Simon Arlott [Sat, 31 Aug 2019 20:12:44 +0000 (21:12 +0100)]
Version 4.1.2
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
Simon Arlott [Sat, 31 Aug 2019 15:36:41 +0000 (16:36 +0100)]
ircd: remove debug
Simon Arlott [Sat, 31 Aug 2019 15:35:19 +0000 (16:35 +0100)]
cap_server_time: Fix strftime return value check
Simon Arlott [Sat, 31 Aug 2019 15:32:55 +0000 (16:32 +0100)]
tests: Fix use-after-free bug
Simon Arlott [Sat, 31 Aug 2019 15:10:50 +0000 (16:10 +0100)]
librb: Fix type of dst for rb_inet_pton_sock()
Simon Arlott [Sat, 31 Aug 2019 14:38:48 +0000 (15:38 +0100)]
tests: Remove modules that don't exist
Simon Arlott [Sat, 31 Aug 2019 14:31:45 +0000 (15:31 +0100)]
check_one_kline: Fix compiler warning
Simon Arlott [Sat, 31 Aug 2019 14:05:29 +0000 (15:05 +0100)]
Merge branch 'edk0-check-one-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()
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
Simon Arlott [Sat, 31 Aug 2019 13:43:34 +0000 (14:43 +0100)]
Revert "ircd: Fix umode orphan scheme."
This reverts commit
c1fc044c3594798cc5389486c361a7d9a43bc4f8 .
Aaron Jones [Sun, 16 Jun 2019 08:02:51 +0000 (08:02 +0000)]
Correct OPM port configuration variables
[ci skip]
Simon Arlott [Sun, 7 Jul 2019 18:35:13 +0000 (19:35 +0100)]
travis: run the tests
Ed Kellett [Sat, 27 Apr 2019 13:53:04 +0000 (14:53 +0100)]
Remove unused kline_delay config option
Ed Kellett [Sat, 27 Apr 2019 13:51:27 +0000 (14:51 +0100)]
Remove unused kline delay machinery
Ed Kellett [Sat, 27 Apr 2019 13:51:04 +0000 (14:51 +0100)]
m_ban: 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
Ed Kellett [Sat, 25 Nov 2017 22:17:50 +0000 (22:17 +0000)]
Add check_one_kline, expose notify_banned_client
Aaron Jones [Wed, 27 Mar 2019 19:29:55 +0000 (19:29 +0000)]
newconf: remove plaintext listeners warning
Closes #270
[ci skip]
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
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
Simon Arlott [Wed, 15 Aug 2018 22:12:38 +0000 (23:12 +0100)]
set version back to -dev
Simon Arlott [Wed, 15 Aug 2018 22:00:26 +0000 (23:00 +0100)]
charybdis 4.1.1
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
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
Aaron Jones [Mon, 13 Aug 2018 22:34:16 +0000 (22:34 +0000)]
MbedTLS: Support ChaCha20-Poly1305 in TLSv1.2+
Simon Arlott [Sun, 12 Aug 2018 17:45:05 +0000 (18:45 +0100)]
authd: always use an empty buffer to read ident reply
Otherwise we could read uninitialised data beyond the actual reply
Simon Arlott [Sun, 12 Aug 2018 11:16:51 +0000 (12:16 +0100)]
m_sasl: check if the agent is present after every client_exit
When a server disconnects the client_exit hook will only be called once
but there could be multiple servers and clients behind that server.
After any client exits, check if the agent is still present.
Simon Arlott [Sun, 12 Aug 2018 10:05:59 +0000 (11:05 +0100)]
authd: fix "is provider done" logic in blacklist/opm providers
This fixes #262.
Simon Arlott [Sun, 12 Aug 2018 09:17:12 +0000 (10:17 +0100)]
Merge pull request #260 from FauxFaux/yesno-1
YESNO options are of type bool, not int
Simon Arlott [Sun, 12 Aug 2018 09:01:56 +0000 (10:01 +0100)]
travis: don't build docs on osx
Simon Arlott [Sun, 12 Aug 2018 08:40:40 +0000 (09:40 +0100)]
doc: build with travis
Simon Arlott [Sun, 12 Aug 2018 08:37:50 +0000 (09:37 +0100)]
doc: there is no _static directory
Simon Arlott [Sun, 12 Aug 2018 08:25:56 +0000 (09:25 +0100)]
Merge pull request #263 from anarcat/extban-doc
point users towards HELP EXTBAN for inline help