2242 Commits
Author SHA1 Message Date
Alhuda Khan 288b21a1e4 cert: put the delete button inside its form 2026-10-27 12:23:21 +05:30
Alhuda Khan 8dc96ae08c web: only delete channels, notes, keys and certs on POST 2026-10-26 19:15:53 +05:30
Alexey Sokolov 9962274521 Merge pull request #2058 from kitkatt7/bouncedcc-refuse-loopback-peer
bouncedcc: refuse DCC requests from IRC aimed at loopback or link-local
2026-10-24 10:09:16 +01:00
Alhuda Khan d5375e58f8 bouncedcc: only let the user's own clients connect to an IRC-originated bounce
When the DCC request came from IRC, ZNC connects out to the remote peer
and the thing connecting to the bounce listener should be one of the
user's clients. In GetSockObj, compare the connecting address with the
remote IP of each currently connected client and refuse anyone else,
closing the accepted socket straight away while leaving the listener up
for the real client. The user-originated path is unchanged, since there
it is the remote IRC peer that is expected to connect.
2026-10-23 13:00:06 +05:30
Alhuda Khan 8aef9873fc bouncedcc: refuse DCC requests from IRC aimed at loopback or link-local
The address in an incoming DCC CHAT/SEND is chosen by the remote IRC
user, and ZNC is the side that connects to it, relaying traffic to
whoever connects to the bounce listener. Refuse requests that point at
0/8, 127/8, 169.254/16, 224/3 or values above 32 bits (which
CUtils::GetIP would otherwise mask down to one of those).
2026-10-20 17:36:19 +05:30
Alhuda Khan 2b7e1b820b imapauth: quote LOGIN arguments and refuse passwords with line breaks 2026-10-20 14:18:47 +05:30
RealKindOne f5c865015c listsockets: Add TODO comment and update test. 2026-10-01 20:00:11 -04:00
RealKindOne bc25a36972 listsockets: Fix 1970s date bug.
Fixes #1910
2026-10-01 15:26:10 -04:00
RealKindOne 18f304e6a4 corecaps: Add missing wiki info. 2026-09-13 14:19:50 -04:00
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 375e744298 autoattach: use const CString& in TryAttach and simplify On...Message events.
TryAttach() only reads and never mutates.
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
Alexey Sokolov 4b88c64c6e Fix crash while unloading modules
The bug allowed unprivileged users to trigger use-after-free while
unloading modules

Note that the fix requires a slight API change for OnEmbeddedWebRequest:
now the callers (webadmin is the only known caller of it) call it via
DoEmbeddedWebRequest() instead. The modules which implement this hook
need no changes.

CVE-2026-82373

Found by Claude from Anthropic, reported by Ada Logics.
2026-09-12 19:08:21 +01:00
ZNC-Jenkins 9623585d22 Update translations from Crowdin for fr_FR 2026-08-08 00:26:34 +00:00
ZNC-Jenkins a0778c296e Update translations from Crowdin for fr_FR 2026-08-08 00:26:33 +00:00
ZNC-Jenkins e8fd8ae164 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 2026-07-01 00:26:19 +00:00
Alexey Sokolov 5bd5ecc5b8 Remove old ssl compatibility code 2026-06-29 19:19:40 +01:00
ZNC-Jenkins 2cc7197c38 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 2026-06-10 00:26:19 +00:00
rootvector2 28b9971e83 identfile: read original spoof with ReadFile
Read() returned up to 1024 bytes into a stack buffer that was then
assigned to a CString via the const char* overload, so strlen() walked
past the end of buf when the file filled all 1024 bytes without a NUL.
ReadFile() bounds the append by the byte count Read() returns and reads
the whole file, so the original contents also round-trip faithfully.
2026-06-09 17:14:27 +05:30
DannyAAM c2a760709c Fix webadmin serverlist parsing for password containing space 2026-02-26 21:57:50 +08:00
Falk Rund ad6a397ca4 Welcome to 2026
[skip ci]
2026-01-01 13:44:32 +01:00
ZNC-Jenkins fbfd391ec3 Update translations from Crowdin for bg_BG 2025-12-11 00:27:03 +00:00
Alexey Sokolov d8b8c16783 Merge branch '1.10.x' 2025-12-10 00:55:07 +00:00
Dominique Leuenberger 49af1c8d53 Fix build with SWIG 4.4
SWIG 4.4 has dropped the usage of SWIG_NULLPTR again, which means we can't
rely on its presence to identify SWIG >= 4.2.0

Generate a swig_version.h by parsing the output of `swig -version` and
writing this in a hex representation

Fixes #1979
2025-12-10 00:34:39 +00:00
ZNC-Jenkins 0d651d6f67 Update translations from Crowdin for de_DE 2025-11-20 00:26:22 +00:00
ZNC-Jenkins bfa58f6892 Update translations from Crowdin for de_DE 2025-11-20 00:26:21 +00:00
ZNC-Jenkins ea22b297fc Update translations from Crowdin for de_DE nl_NL 2025-11-10 00:26:12 +00:00
ZNC-Jenkins 4115baa9f4 Update translations from Crowdin for de_DE nl_NL 2025-11-10 00:26:11 +00:00
ZNC-Jenkins 74a5da185c Update translations from Crowdin for de_DE 2025-11-09 00:26:22 +00:00
ZNC-Jenkins 3427c58246 Update translations from Crowdin for de_DE 2025-11-09 00:26:17 +00:00
ZNC-Jenkins cb1d4aae94 Update translations from Crowdin for de_DE 2025-11-07 00:26:39 +00:00
bastelratte 97fc8be37a Update autoreply.de_DE.po
Correction DE when = wenn
2025-11-05 21:14:08 +01:00
ZNC-Jenkins 447f503f4c Update translations from Crowdin for pl_PL 2025-10-26 00:26:21 +00:00
ZNC-Jenkins 6b9aaf6700 Update translations from Crowdin for pl_PL 2025-10-26 00:26:19 +00:00
ZNC-Jenkins 6158a2b68a Update translations from Crowdin for bg_BG 2025-10-08 00:26:41 +00:00
ZNC-Jenkins f783c48c52 Update translations from Crowdin for bg_BG 2025-10-08 00:26:36 +00:00
Todd Zullinger f28f89720b modperl: avoid newAV_alloc_x which requires perl >= 5.35.1
Use of newAV_alloc_x() was added in a7dffb8f (Add modperl support for
sasl, 2025-03-16), but it has the unintended consequence of increasing
the minimum Perl version a bit more than desired.  Replace it with the
roughly equivalent code as documented in perlapi(1), which can be read
online at <https://perldoc.perl.org/perlapi#newAV>.

Fix #1966
2025-07-31 20:54:20 -04:00