Commit Graph

506 Commits

Author SHA1 Message Date
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
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
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
6e0591ff98 Remove unused field and getter
When account-tag was introduced, these fields were used, but since cap
3.2 this is no longer useful
2024-02-10 00:18:11 +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
e2508d9716 Add comments 2024-01-14 00:58:37 +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
f7ff0ee3f3 Modulefy core server-dependent caps 2024-01-13 23:34:03 +00:00
Alexey Sokolov
99e6869b28 Add CCapability 2024-01-13 21:22:42 +00:00
Alexey Sokolov
b5a6ff528b The test is now working 2024-01-07 22:55:52 +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
52a9752ed0 Add comments to header 2023-11-19 10:52:14 +00:00
Alexey Sokolov
0a355636b2 Cleanup ZNC_LVREFQUAL 2023-11-18 15:07:46 +00:00
Alexey Sokolov
9835f76939 Use std::variant to save a bit of RAM 2023-11-18 13:39:18 +00: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
delthas
1dd995ef77 Reabse and address PR comments 2023-08-31 14:35:49 +02:00
MrLenin
d27e2cce5c SASL Authentication for Clients 2023-08-30 17:25:32 +02:00
Alexey Sokolov
50a3226b4f Don't duplicate the map of cap handlers per client
The idea here was that modules would dynamically add handlers to the
map, then it needs to be per client; but a simpler way to achieve this
will be in next commit
2023-03-04 10:01:56 +00:00
Alexey Sokolov
9eebb1ff04 Move CClient constructor body to .cpp 2023-03-04 09:32:57 +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
Alexey Sokolov
b57d794aaf Send multiline CAP LS response for IRCv3.2 clients 2023-01-08 15:32:27 +00:00
Falk Rund
f9fd05c307 Welcome to 2023 2023-01-01 06:49:00 +01:00
Alexey Sokolov
c55237be0b Make CUser::Put* send to all clients
Instead of only networkless clients, which is a very rare case, because
most clients are connected to some network. This resulted in
CModule::PutModule to sometimes have no effect.

I fixed CUser::PutStatus and PutStatusNotice back in 2011 in
0b6d609014, but missed these 3 functions.

Deprecate CUser::PutAllUser() which is now essentially alias to
CUser::PutUser().
2022-10-28 23:18:43 +01:00
Falk Rund
6402d241ac Welcome to 2022
The same procedure as last year, Miss Sophie?
Same procedure as every year, James.
2022-01-01 14:05:32 +01:00
Alexey Sokolov
7ab8446dcf Merge pull request #1814 from blendbyte/new-deny-options
New User Options: DenySetIdent, DenySetNetwork, DenySetRealName, DenySetQuitMsg, DenySetCTCPReplies

Close #1796
2021-11-27 14:18:39 +00:00
Alexey Sokolov
dcb5f3df82 Fix build with libressl
It got another feature of openssl implemented, which broke this
2021-11-14 00:45:01 +00:00
Bradley Shaw
fe475e1ef0 Add more deny options
DenySetIdent - Denies setting ident

DenySetNetwork - Denies adding/removing networks/servers

DenySetRealName - Denies setting realname

DenySetQuitMsg - Denies setting quitmsg

DenySetCTCPReplies - Denies adding/removing CTCP replies
2021-07-03 17:16:42 +01:00
Alexey Sokolov
fd71a69fab Rewrite message parsing using string_view
It's a bit too early yet to require C++17 so the implementation from
BackportCpp (string_view-standalone) is used instead.

Fixes https://crbug.com/oss-fuzz/34413 - slow message parsing on huge
messages. In real word, messages can't be that big, because CSocket
enforces a line length limit.

This can be considered a regression of 1.7.0, because before it, instead
of gathering params into a vector, code was searching 1st word in the
string, then 2nd word, then 3rd word, starting from beginning each time.
It was not very efficient, but the number of passes over the string was
limited.
2021-05-22 09:57:04 +01:00
MAGIC
99687b0f24 Welcome to 2021 2021-01-01 19:37:07 +01:00
njhanley
99b33eade9 Add MoveChan and SwapChans commands 2020-09-29 19:32:45 -04:00
njhanley
926d140a47 Respect order of subconfigs in znc.conf 2020-09-03 00:27:15 -04:00
NuclearW
c79961c514 Add support for cap account-tag
The account-tag capability is now requested when ZNC connects to an IRC server, the same is then offered to clients connecting.
This permits the tag to then pass through to account-tag aware clients.
2020-08-02 23:26:17 -04:00
Alexey Sokolov
dd42fcd209 Remove autoconf, leave only CMake 2020-05-01 23:44:19 +01:00
Alexey Sokolov
ff7758b573 Increase version number to 1.9.x 2020-05-01 22:20:07 +01:00
Alexey Sokolov
54053c0676 Return version number to git: 1.8.x 2020-05-01 22:18:38 +01:00
Alexey Sokolov
6295fffee5 ZNC 1.8.0-alpha1 2020-03-29 15:23:47 +01:00
Alexey Sokolov
f3d7922499 Update copyright in files which were missing in the previous update 2020-01-05 11:37:51 +00:00
MAGIC
9081aa971d Welcome to 2020 2020-01-02 00:36:05 +01:00
Alexey Sokolov
c0e71184be Backport SSL changes from asio branch (#1639).
This shouldn't change any behavior.
2019-12-29 13:03:52 +00:00
Aspen (linudaemon)
95369455fc Rework MODE/RPL_CHANMODEIS handling for trailing args (#1661)
Some servers may send a colon even if the last parameter doesn't need it, currently this leads to issues with permission/mode tracking, as the core doesn't handle the colon properly.

This fix replaces reconstructing the parameter string with just passing a vector of the relevant parameters to CChan::SetModes() and adds overrides for CChan::SetModes() and CChan::ModeChange() that accept the vector instead.

Clean up uses of old CModeMessage::GetModes()
2019-08-08 21:54:49 +01:00
Alexey Sokolov
2c951bcac1 Merge branch 'master' of github.com:znc/znc 2019-06-15 02:28:30 +01:00
Alexey Sokolov
ac66d48430 Merge branch '1.7.x' 2019-06-15 02:02:42 +01:00
Alexey Sokolov
8de9e376ce Fix remote code execution and privilege escalation vulnerability.
To trigger this, need to have a user already.

Thanks for Jeriko One <jeriko.one@gmx.us> for finding and reporting this.

CVE-2019-12816
2019-06-15 02:00:42 +01:00