Commit Graph
183 Commits
Author SHA1 Message Date
RealKindOne ff65bc01fb awaystore: Modernize and add test. Fixed various bugs.
Fixed 'pass' command to save password in CBlowfish(MD5(...)) instead of plaintext.

Fixed 'away' command not updating with a new away message if already away.

Fixed default timer in SetArgsHelpText to match SetAwayTime().

Fixed broken 'Messages' command.

Fixed 'replay' command with IPv6

Fixes #815
2026-09-13 11:27:31 +01:00
RealKindOne 0b860b23bf Fix chansaver test. 2026-09-13 11:27:31 +01:00
RealKindOne 97e3932f03 Fix autoreply, chansaver, and stickychan test. 2026-09-13 11:27:31 +01:00
RealKindOne e7d188c3ec watch: Modernize and update test. 2026-09-13 11:27:31 +01:00
RealKindOne bbfec24e6b stichychan: Modernize and add test. 2026-09-13 11:27:31 +01:00
RealKindOne ecaf056d47 nickserv: Modernize and add test. 2026-09-13 11:27:31 +01:00
RealKindOne 9dbf062d87 kickrejoin: Modernize and add test. 2026-09-13 11:27:31 +01:00
RealKindOne ec49f11be6 keepnick: Modernize and update test. 2026-09-13 11:27:31 +01:00
RealKindOne cec9741003 flooddetach: Modernize and add test. 2026-09-13 11:27:31 +01:00
RealKindOne ca24ae726c ctcpflood: Modernize and add test. 2026-09-13 11:27:31 +01:00
RealKindOne 2a2b6068e8 clearbufferonmsg: Modernize and add test. 2026-09-13 11:27:31 +01:00
RealKindOne 28b9d8cbfb chansaver: Modernize and add test. 2026-09-13 11:27:31 +01:00
RealKindOne 97b1e8ab79 bouncedcc: Modernize and add test. 2026-09-13 11:27:31 +01:00
RealKindOne 0832094976 autoreply: Modernize and add test. 2026-09-13 11:27:31 +01:00
RealKindOne a75612dd15 autoattach: Modernize and update test. 2026-09-13 11:27:31 +01:00
Alexey Sokolov 76cdad9e6a Merge branch '1.10.x' 2026-09-13 10:54:57 +01:00
RealKindOne af5cdd0192 crypt: Modernize and add test. Fix OnNumericMessage 332 issue.
It was possible to trigger null pointer dereference during
OnNumericMessage

The affected versions are 1.7.0+

CVE-2026-82374
2026-09-12 19:08:21 +01:00
RealKindOne a2b0decb8e Fix MotdBufferDoesNotAccumulate376 test. 2026-08-21 03:37:07 -04:00
RealKindOne 4fbccd0cc4 Fix MOTD buffering to prevent duplicate 376 messages after rate limiting
Added m_bMotdBegun flag to track MOTD state. MOTD lines (372, 376) are now only
buffered if MOTD has begun (375/422), and 376 itself is not buffered.

The flag is reset on 263 rate limit responses to prevent repeat 376 messages.

Fixes #1460
2026-07-23 04:38:56 -04:00
Alexey Sokolov 3e95cf44a6 Restore test
I somehow oversimplified it, breaking it
2026-07-23 02:35:29 +01:00
Alexey Sokolov 133f0ad585 typo 2026-07-23 02:10:28 +01:00
Alexey Sokolov 7d4879ab26 Cleanup previous PR, add integration test for multiple joins 2026-07-22 09:24:52 +01:00
RealKindOne d2fc5d550a Apply fixes for IsParting() pull request. 2026-07-22 01:58:01 -04:00
RealKindOne a0d58c8fed Add IsParting() flag to track PART commands waiting IRCd response.
Fixes potential desync where ZNC marks channel as parted before server
confirms the PART, which could cause issues if the server never replies.

Add unittests and integration tests.
2026-07-21 03:24:38 -04:00
RealKindOne 3ceae3ad26 Fix part/join not working when a client sends '/cycle' or '/hop' command. 2026-07-20 04:33:04 -04:00
RealKindOne 13268feefe Revert "Revert "Fix JOIN command not joining detached channels on other clients.""
The revert was made by mistake due to misreading of 'znc -D'.

This reverts commit 6d470db241.
2026-07-20 04:25:50 -04:00
Alexey Sokolov 6d470db241 Revert "Fix JOIN command not joining detached channels on other clients."
This reverts commit ba32b092e9.

It broke /hop (/part+/join) due to race with server
2026-07-19 20:35:31 +01:00
RealKindOne ba32b092e9 Fix JOIN command not joining detached channels on other clients. 2026-07-01 13:59:18 -04:00
Alexey Sokolov 53ffcc909b add include 2026-06-08 22:43:13 +01:00
Alexey Sokolov 2a9359d1fb Merge branch 'nossl' of github.com:DarthGandalf/znc into nossl 2026-06-08 22:07:34 +01:00
Alexey Sokolov ad12a6011d Skip tests which require SSL 2026-06-08 22:07:11 +01:00
Alexey Sokolovanddgw 14846166c6 Update test/integration/framework/znctest.cpp
Co-authored-by: dgw <dgw@technobabbl.es>
2026-06-08 22:00:37 +01:00
Alexey Sokolov 197a235764 test: Don't wait for SSL question if built without SSL
And don't hardcode 6667 in preparation for #2022
2026-06-08 21:54:34 +01:00
Falk Rund ad6a397ca4 Welcome to 2026
[skip ci]
2026-01-01 13:44:32 +01:00
Alexey Sokolov d8b8c16783 Merge branch '1.10.x' 2025-12-10 00:55:07 +00:00
Alexey Sokolov 8c983564e8 Add test for modperl SCString functions.
Pass CClient to the OnClientGetSASLMechanisms callback.

See #1970
2025-07-31 23:47:26 +01:00
KindOne d9ee1da873 Fix spacing in StripControls test. 2025-07-15 00:01:31 -04:00
RealKindOne f89ae9d158 stripcontrols: Use new On...Message events.
Added OnTopicMessage and stripping for /list and /topic output.

Fixes #1179
2025-07-08 01:35:52 -04:00
RealKindOne b61e21e079 Fix AwayNotify test. 2025-07-06 23:02:10 -04:00
RealKindOne 106a9fcbb4 Make account, away-notify, and chghost only send to client if attached into a channel. 2025-06-26 10:15:13 -04:00
Alexey Sokolov 4b12c0dc3c Fix nullptr dereference
If client sends TAGMSG while server is not connected
2025-06-23 22:52:34 +01:00
Alexey Sokolov 7b7f691213 Don't store "this" in static variable
Fix #1960

This could also cause use-after-free if the first connected socket disconnects
2025-06-23 22:41:08 +01:00
Alexey Sokolov b32d3dbbc9 Fix test on cygwin
Depending on timing between client and server, the initial JOIN can come in either order - in one case forwarding directly from client, in another joining the channels after client disconnected.
2025-06-09 20:20:50 +01:00
Alexey Sokolov aaeab22ea3 Fix processing of multi-token CAP ACK
I broke it in 5943bc9ed9 while fixing #1950
2025-05-11 18:49:35 +01:00
Alexey Sokolov 3d1551b7f2 Don't forward client JOINs during registration
ZNC remembers that it should join these channels, and will join them after registration. But if client automatically joins some channels, we don't want it to be added to send queue before parts of registration itself (CAP, AUTHENTICATE), because server will just disconnect with "Registration timeout". After registration is complete, using /join still joins the channel immediately.

Only limiting this to joins, because server may request some input from user to finish registration, and joins are the ones which are prone to be sent automatically by client to cause issues.

Fix #1949
2025-05-10 20:09:25 +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 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
Alexey Sokolov 1063b7f5d6 CI: handle the case where junit is not outputted
though maybe github actions should also use one
2025-05-04 19:56:35 +01:00
Alexey Sokolov ca6ae51179 CI: try to fix jenkins from counting every test twice 2025-05-04 19:41:11 +01:00