Commit Graph

282 Commits

Author SHA1 Message Date
Alexey Sokolov b642d92ce7 Switch integration test to mostly use unix sockets
By not using the same hardcoded number for every test, we can parallelize the test now.

There are several cases remaining where we can't easily use unix sockets (e.g. QSslSocket or imapauth module), for that ask kernel what port number is currently free to use. This is a bit racy though.
2025-04-21 00:19:46 +01:00
Alexey Sokolov d3a7f125cf Make unix sockets work from modules 2025-04-20 08:31:36 +01:00
Alexey Sokolov ef4b59005c CTCP sent to *status shouldn't reach server 2025-04-11 21:45:45 +01:00
Alexey Sokolov f93829e3b3 Implement message-tags spec
Message tags were supported already, but not arbitrary tags, and not
TAGMSG
2025-04-11 21:28:10 +01:00
Alexey Sokolov ce47e7ea3d Fix sending server passwords with spaces in them
Fix #1928
Fix #1899
2025-03-16 21:31:34 +00:00
Alexey Sokolov ab4125692c Remove accidentally added header from previous commit 2025-03-16 11:14:01 +00:00
Alexey Sokolov 89e6d58d5a SASL: Move tests which are not about modules
from modules.cpp to core.cpp
2025-03-16 09:46:10 +00:00
Alexey Sokolov 0a45c4710a SASL: Support receiving USER and NICK after CAP END 2025-03-16 09:44:10 +00:00
Alexey Sokolov a7dffb8ff1 Add modperl support for sasl 2025-03-16 00:42:27 +00:00
Alexey Sokolov 93e364b296 Add modpython sasl test 2025-03-15 22:43:35 +00:00
Alexey Sokolov 9f8015b8ad Add several more tests to sasl 2025-02-28 20:48:24 +01:00
Alexey Sokolov 843b40becc Merge branch 'master' into sasl 2025-02-25 18:42:51 +00:00
Alexey Sokolov fc0dd1431f fix flaky chghost test 2025-02-25 18:41:02 +00:00
Alexey Sokolov 37457105f3 Support SASL EXTERNAL in certauth 2025-02-24 22:52:47 +00:00
Alexey Sokolov 6e9980d67f Various SASL changes 2025-02-22 15:59:52 +00:00
Alexey Sokolov 41a0030fdb Merge branch 'master' into sasl
Conflicts:
	include/znc/Client.h
	src/Client.cpp
	src/Modules.cpp
	test/integration/tests/modules.cpp
2025-02-13 20:37:32 +00:00
Peter 44e4b95a20 Welcome to 2025 (#1929) 2025-02-07 23:23:45 +00:00
Alexey Sokolov dd99d3e950 simplify test 2024-12-29 15:16:27 +00:00
Alexey Sokolov 579906d686 Don't send emulated chghost-JOIN to channels where the nick wasn't
Fix #1924
2024-12-29 14:54:20 +00:00
Alexey Sokolov 20c540af7d Make CHGHOST work with detached channels 2024-10-15 17:16:32 +01:00
Alexey Sokolov d49399bbca Implement chghost capability
Interaction with extended-join doesn't yet work correctly, because ZNC
doesn't keep track of everyone's real names
2024-10-15 13:26:20 +01:00
Alexey Sokolov afefc048d0 Simply disconnect if SASL not available on server
Instead of disabling network

This unavailability could be temporarily

Fix #1918
2024-10-13 19:22:48 +01:00
Alexey Sokolov 9e9d75c4b8 Switch integration test to qt6 (#1916)
Keep using Qt5 for Cygwin and CodeQL

* CI: upgrade ubuntu
2024-09-17 15:24:33 +01:00
Alexey Sokolov f8552fc814 Skip modperl/modpython tests cleaner 2024-02-25 14:13:32 +00:00
Alexey Sokolov 1c9638a586 Fix bad copy paste in the test 2024-02-11 10:04:59 +00:00
Alexey Sokolov ca3b76368d Suspend registration on CAP REQ
Fix #1820
2024-02-10 00:53:44 +00:00
Alexey Sokolov 4753228d6d Fix test 2024-02-10 00:30:23 +00:00
Alexey Sokolov 2b3b224bca Make modperl support AddServerDependentCapability 2024-01-14 12:11:00 +00:00
Alexey Sokolov efd136c01c Make modpython work with server-dependent caps 2024-01-14 11:12:32 +00:00
Alexey Sokolov 4b1a524a72 Move extended-join test to integration test
Fix build of modperl/modpython
2024-01-14 01:46:12 +00:00
Alexey Sokolov b1009bd809 Code cleanup
Since now there are no server-dependent caps defined in the core
2024-01-14 00:27:21 +00:00
Alexey Sokolov da3919245b Improve test 2024-01-13 22:07:40 +00:00
Alexey Sokolov 99e6869b28 Add CCapability 2024-01-13 21:22:42 +00:00
Alexey Sokolov 236755444b in theory support non-network modules too 2024-01-09 02:02:42 +00:00
Alexey Sokolov b5a6ff528b The test is now working 2024-01-07 22:55:52 +00:00
Alexey Sokolov 7ee389278f Progress: CAP NEW is sent to client 2024-01-07 10:53:51 +00:00
Alexey Sokolov 2605370fd1 Set ServerThrottle=5 in integration test 2024-01-07 00:53:02 +00:00
Alexey Sokolov 1d3b33354f Merge branch 'master' into cap302 2024-01-06 20:36:24 +00:00
Alexey Sokolov 66137bd89a Progress 2024-01-05 00:45:41 +00:00
Falk Rund 17a004aa0b Welcome to 2024
[skip ci]
2023-12-31 21:09:25 +01:00
Alexey Sokolov 4cbccac707 Merge branch 'master' into cap302 2023-11-19 10:53:47 +00:00
Alexey Sokolov 53f0751fd5 Use C++17 2023-11-18 11:16:41 +00:00
Alexey Sokolov aa5016657b Fix modpython to show list of available modules
In 1.8.0 I switched from deprecated imp to importlib for loading module
by name, but forgot about this function

Close #1884
2023-10-26 00:36:12 +01:00
Alexey Sokolov 2b9a582d3e Bump cmake requirements in subprojects too 2023-09-30 14:43:15 +01:00
Alexey Sokolov a1a254bef1 Update password hashes from SHA-256 to Argon2id
These days salted SHA-256 is considered quite weak for passwords.

Transparently upgrade existing hashes upon login.

Bump cmake requirement to able to use IMPORTED_TARGET, this will allow
further cleanup in next commits.
2023-09-27 01:11:07 +01:00
KindOne ee9ad2ff8e Use module names as the module ident.
Some clients will reuse query windows as the client thinks its just a
nick change if you have a existing query window with a module and a different one messages you.

Fix that by using the modules name as the ident.

Update tests to match new modules ident.
2023-09-08 07:21:31 -04:00
delthas 1dd995ef77 Reabse and address PR comments 2023-08-31 14:35:49 +02:00
Alexey Sokolov d532dcbd5c cygwin qt doesn't know qsizetype yet 2023-01-09 01:47:03 +00:00
Alexey Sokolov c15fc63c55 Implement cap negotiation 3.2 on server side
Used for "server-dependent" caps which already rely on sending NEW and
DEL to client. This functionality is not yet available for caps added by
modules.
2023-01-09 01:08:04 +00:00
Alexey Sokolov d49168b93f Make it possible for modules to send values in CAP LS 2023-01-08 15:46:21 +00:00