6004 Commits

Author SHA1 Message Date
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
ZNC-Jenkins b98d7a9389 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-23 00:27:10 +00:00
Alexey Sokolov 7d4879ab26 Cleanup previous PR, add integration test for multiple joins 2026-07-22 09:24:52 +01:00
Alexey Sokolov 583c52866c Merge pull request #2030 from RealKindOne/fix-client-cycle
Fix join/part not working when a client sends '/cycle' or '/hop'.
2026-07-22 08:47:46 +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
ZNC-Jenkins 05ca60e22a 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-20 00:26:18 +00:00
Alexey Sokolov fe0f9be77a Merge pull request #2028 from znc/dependabot/github_actions/actions/checkout-7
Bump actions/checkout from 6 to 7
2026-07-19 20:37:53 +01:00
Alexey Sokolov 31e47f1193 Merge pull request #2027 from znc/dependabot/github_actions/codecov/codecov-action-7
Bump codecov/codecov-action from 6 to 7
2026-07-19 20:37:35 +01: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
ZNC-Jenkins 512d35233b 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-03 00:26:28 +00:00
Alexey Sokolov 46cca361ab Merge pull request #2029 from RealKindOne/attachbugfix
Fix JOIN command not joining detached channels on other clients.
2026-07-02 19:39:05 +01:00
RealKindOne ba32b092e9 Fix JOIN command not joining detached channels on other clients. 2026-07-01 13:59:18 -04:00
dependabot[bot] 09d8652026 Bump actions/checkout from 6 to 7
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-01 12:32:36 +00:00
dependabot[bot] cd3528267c Bump codecov/codecov-action from 6 to 7
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 6 to 7.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-01 12:32: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 c5014a1d20 Merge pull request #2025 from DarthGandalf/ssl111
Remove support for OpenSSL<1.1.1

Accidentally readd support for LibreSSL which was accidentally removed in previous commit
2026-06-30 23:41:58 +01:00
Alexey Sokolov 5bd5ecc5b8 Remove old ssl compatibility code 2026-06-29 19:19:40 +01:00
Alexey Sokolov f416b5ba60 update required openssl version after #2024 2026-06-29 19:07:43 +01:00
Ravi Kant Sharma 94bcf919e1 Fix build error with OpenSSL 4 (#2024)
More details here https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1138356
2026-06-29 19:03:27 +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
Alexey Sokolov e7919287fe Merge pull request #2021 from dxbjavid/copy-preserve-mode
fileutils: open Copy() destination at the source's mode
2026-06-09 23:24:33 +01:00
Alexey Sokolov 16062c87b1 Merge pull request #2020 from rootvector2/identfile-bound-spoof-read
identfile: read original spoof with ReadFile
2026-06-09 22:47:40 +01:00
rootvector2 02031f5173 fileutils: mark CFile::Read as [[nodiscard]]
Read()'s return value is the only bound on how many bytes are valid in
the caller's buffer; ignoring it is what caused the identfile OOB read.
All existing callers already use the result, so flag the rest at compile
time.
2026-06-09 17:14:32 +05:30
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
TehPeGaSuS d4f5d5f9e8 Enable SSL by default in znc --makeconf when connecting to servers (#2022)
* Enable SSL by default in ZNC configuration when connecting to servers

* Change default port from 6667 to 6697 in znctest

* Update SSL variable initialization with preprocessor checks

Refactor SSL configuration to use preprocessor directives.

* Fix comment formatting in znc.cpp

Fix extraneous double tab that slipped into the commit
2026-06-09 08:21:01 +01:00
dxbjavid 01678166a8 fileutils: force owner write while copying read-only sources
Opening the destination at the source's exact mode breaks when the
source lacks owner write (e.g. r-xr-xr-x): the create still works but
the overwrite path can't reopen such a destination for writing. Force
owner read+write while copying and let the trailing Chmod() put the
source mode back, which only ever adds owner bits so the group/other
bits stay as restrictive as the source throughout. Add a regression
test covering the restricted-mode and read-only-source cases.
2026-06-09 09:53:57 +05:30
Alexey Sokolov 042d827e4a Merge pull request #2023 from DarthGandalf/nossl
Add CI job for ZNC without SSL support
2026-06-08 23:03:02 +01: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 Sokolov 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
Alexey Sokolov 15c94bef77 Add CI job for ZNC without SSL support 2026-06-08 21:42:02 +01:00
dxbjavid 1701edca5b fileutils: open Copy() destination at the source's mode 2026-05-25 13:08:43 +05:30
Alexey Sokolov 56ed5c3f94 docker: update alpine 2026-05-07 20:15:53 +01:00
Alexey Sokolov f018a75cde Merge branch '1.10.x' 2026-05-07 20:07:54 +01:00
Alexey Sokolov eba009c49e Return version number to 1.10.x 2026-05-07 20:07:43 +01:00
Alexey Sokolov 59af2206c6 Increase the version number to 1.10.2 znc-1.10.2 2026-05-07 20:00:42 +01:00
Alexey Sokolov a80cf49f5e Merge pull request #2018 from MarkLee131/fix/http-hardening-headers
HTTPSock: emit standard hardening response headers
2026-05-05 00:26:58 +01:00
Alexey Sokolov 663699b617 Merge pull request #2015 from MarkLee131/fix/cstring-empty-input-guards
ZNCString: guard Replace/Split against empty-width arguments
2026-05-04 22:05:49 +01:00
MarkLee131 80699c4178 test: use EXPECT_THAT matchers for Split assertions
Pull in gmock so the empty-delimiter Split assertions can keep using
EXPECT_THAT(..., ElementsAre(...)) and IsEmpty(). On failure the matcher
prints the actual vector contents, which EXPECT_TRUE(vempty.empty())
hides behind a bare 'not true'.
2026-05-04 20:51:56 +08:00
MarkLee131 83e7eefc21 HTTPSock: tighten hardening header defaults
Switch the default Referrer-Policy from same-origin to no-referrer so the
webadmin URL (which can carry user/network names in the path) does not
leak to outbound clicks either.

Drop Pragma: no-cache; it is deprecated and modern intermediaries honor
Cache-Control. Simplify Cache-Control to a single no-store directive,
which on its own already prevents storing per RFC 9111; the previous
no-cache, must-revalidate, max-age=0 tail was HTTP/1.0-era padding.
2026-05-04 20:35:23 +08:00
MarkLee131 c3f1b0c00e test: replace gmock matchers in Split test with gtest equivalents
StringTest.cpp does not include gmock, so EXPECT_THAT/ElementsAre/IsEmpty
do not compile and the unittest target fails on every CI configuration.
Use EXPECT_EQ against a VCString and EXPECT_TRUE(empty()) instead, which
keeps the test scope identical without dragging gmock into this file.
2026-05-04 19:31:29 +08:00
Alexey Sokolov 3584162177 CI: remove firefox
It tries to be upgraded from snap, and fails
2026-05-02 00:29:31 +01:00
Alexey Sokolov f35e565637 Merge pull request #2013 from MarkLee131/fix/base64-decode-ub
ZNCString: avoid left shift of negative value in Base64Decode
2026-05-01 22:23:24 +01:00
ZNC-Jenkins e0c573c053 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-05-01 00:28:00 +00:00