Commit Graph

1215 Commits

Author SHA1 Message Date
ZNC-Jenkins 8dab274ed8 Update translations from Crowdin for bg_BG da_DK de_DE el_GR es_ES fr_FR id_ID it_IT nl_NL pl_PL pt_BR pt_PT ro_RO ru_RU tr_TR 2025-05-10 00:25:54 +00:00
Alexey Sokolov 5e5d6cac59 merge 2025-05-09 23:59:54 +01:00
Alexey Sokolov 5943bc9ed9 Send several caps in the same CAP REQ
If they got NAKed, then retry them one by one

This should speed up the usual case

Fix #1950
2025-05-09 23:46:11 +01:00
Alexey Sokolov e80b11b5b5 Move base64 table from header to .cpp 2025-05-09 21:54:36 +01:00
ZNC-Jenkins 2ca596ce8f Update translations from Crowdin for bg_BG da_DK de_DE el_GR es_ES fr_FR id_ID it_IT nl_NL pl_PL pt_BR pt_PT ro_RO ru_RU tr_TR 2025-05-09 00:26:31 +00:00
Alexey Sokolov c2f299abdf Filter out server-dependent caps in CAP NEW using blacklist too 2025-05-08 23:25:58 +01:00
Alexey Sokolov 1c197a5508 Add a way to disable certain capabilities
This is a way for admins to mitigate some issues caused by caps if such issues ever arise.

E.g. add this to global level in znc.conf:

DisableClientCap = sasl
DisableServerCap = chghost
DisableServerCap = message-tags

Then these caps will be NAKed to client / not requested from server.

Note that this mechanism doesn't fully prevent a cap from being activated, e.g. one could use *send_raw module to request it from server even when disabled.
2025-05-08 21:55:40 +01:00
ZNC-Jenkins ca6d6cd27f Update translations from Crowdin for bg_BG da_DK de_DE el_GR es_ES fr_FR id_ID it_IT nl_NL pl_PL pt_BR pt_PT ro_RO ru_RU tr_TR 2025-05-02 00:24:52 +00:00
Alexey Sokolov 5b871e74aa Bring unix socket syntax of AddPort in line with AddServer 2025-05-02 01:00:56 +01:00
Alexey Sokolov 2f02a9ea00 Merge branch 'master' into unix 2025-05-01 22:41:27 +01:00
Alexey Sokolov d8234a1a71 Fix the IP in SASL
This is wrong PR for that, but I noticed the issue while debugging failed tests here
2025-04-22 00:10:21 +01:00
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 63d10ccb17 Add support to connect to server via unix socket
The syntax for AddServer command and config is chosen to be unix:/path or unix:ssl:/path

For security reasons, only admins can add such servers, to prevent users from poking around the file system.
2025-04-20 22:40:20 +01:00
Alexey Sokolov d3a7f125cf Make unix sockets work from modules 2025-04-20 08:31:36 +01:00
ZNC-Jenkins ea33a85ccb Update translations from Crowdin for bg_BG da_DK de_DE el_GR es_ES fr_FR id_ID it_IT nl_NL pl_PL pt_BR pt_PT ro_RO ru_RU tr_TR 2025-04-20 00:26:50 +00:00
Alexey Sokolov dab1127090 Add unix listener support to *status addport, delport 2025-04-19 22:17:30 +01:00
Alexey Sokolov 18af9b0895 More cleanup of listeners 2025-04-19 20:44:39 +01:00
Alexey Sokolov b952502eae Dedup code between TCP and Unix listener 2025-04-19 20:17:52 +01:00
Alexey Sokolov b53612edab Merge branch 'master' into unix 2025-04-18 23:46:16 +01:00
Alexey Sokolov 5befe2f7f8 Implement invite-notify 2025-04-18 22:23:01 +01:00
ZNC-Jenkins 9ab81d1dad Update translations from Crowdin for bg_BG da_DK de_DE el_GR es_ES fr_FR id_ID it_IT nl_NL pl_PL pt_BR pt_PT ro_RO ru_RU tr_TR 2025-04-14 00:26:32 +00: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
ZNC-Jenkins bf5aa45b34 Update translations from Crowdin for bg_BG da_DK de_DE el_GR es_ES fr_FR id_ID it_IT nl_NL pl_PL pt_BR pt_PT ro_RO ru_RU tr_TR 2025-03-17 00:26:30 +00:00
Alexey Sokolov ce47e7ea3d Fix sending server passwords with spaces in them
Fix #1928
Fix #1899
2025-03-16 21:31:34 +00:00
Giovanni 30fbf1172c Fix host name retrieval during TLS certificate generation (#1935)
Use HOSTNAME if defined, otherwise invoke gethostname(3) if possible,
fallback to uname(2)
2025-03-16 15:43:39 +00:00
Alexey Sokolov 0a45c4710a SASL: Support receiving USER and NICK after CAP END 2025-03-16 09:44:10 +00:00
Alexey Sokolov 2ac6493150 Merge branch 'master' into sasl 2025-03-15 10:16:44 +00:00
ZNC-Jenkins bf6c6c6154 Update translations from Crowdin for bg_BG da_DK de_DE el_GR es_ES fr_FR id_ID it_IT nl_NL pl_PL pt_BR pt_PT ro_RO ru_RU tr_TR 2025-03-15 09:00:42 +00:00
Alexey Sokolov 8778a2bb5d Parse network and client from authzid. Tests will be in future commit 2025-02-24 09:21:30 +00:00
Alexey Sokolov 4f07558a7d Remove a footgun by decreasing the SASL API surface for modules
Even without the bad vtable of mutex inside shared_ptr, if a module
creates a subclass of CAuthBase, but then unloads, we have the same
problem.
2025-02-23 09:25:24 +00:00
Alexey Sokolov af21753901 Rename saslplain to saslplainauth for consistency with other auth
modules
2025-02-22 16:03:46 +00:00
Alexey Sokolov 6e9980d67f Various SASL changes 2025-02-22 15:59:52 +00:00
Alexey Sokolov 4ef64eb4d5 rename next sasl module hook 2025-02-13 21:36:07 +00:00
Alexey Sokolov c8266aafda Rename new callback, fix build 2025-02-13 21:22:09 +00:00
Alexey Sokolov 22f27b2e88 Fix indentation of SASL code.
This should help understanding what it's trying to do.
2025-02-13 21:03:16 +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 7c616f10ee Avoid allocating useless vector in a loop
Ref #1924
2024-12-29 15:00:20 +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 1224d303aa Don't emulate chghost for disabled channels
Bug #1924
2024-12-29 10:12:10 +00:00
Alexey Sokolov 20c540af7d Make CHGHOST work with detached channels 2024-10-15 17:16:32 +01:00
Alexey Sokolov b536d0f3c3 Small optimization for message processing
Avoid creating the map for every message
2024-10-15 13:26:20 +01:00
Alexey Sokolov 9dcd44a15f Make code a bit clearer
Reference doesn't help here due to ?: operator, but it makes one think
that it helps
2024-10-15 13:26:20 +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
ZNC-Jenkins 3761c910b8 Update translations from Crowdin for id_ID 2024-03-03 22:25:45 +00:00
Alexey Sokolov 19e99fbc16 Try to fix merge conflict by rerunning CI 2024-03-03 22:05:59 +00:00
Alexey Sokolov eb45a523c2 Merge branch '1.9.x' 2024-03-03 21:48:54 +00:00
ZNC-Jenkins 82bf7fb803 Update translations from Crowdin for bg_BG da_DK de_DE el_GR es_ES fr_FR id_ID it_IT nl_NL pl_PL pt_BR pt_PT ro_RO ru_RU tr_TR 2024-02-26 00:33:26 +00:00
ZNC-Jenkins e819082432 Update translations from Crowdin for id_ID 2024-02-26 00:33:25 +00:00