Commit Graph

484 Commits

Author SHA1 Message Date
Alexey Sokolov 52a9752ed0 Add comments to header 2023-11-19 10:52:14 +00: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
girst 3988cfef98 ListStyle (compact) replacement for two-column tables
by calling CTable::SetStyle(CTable::ListStyle) one can switch from the
bulky and unreadable-on-narrow-devices-or-nonmonospaced-fonts tables to
a more compact list style of output. The first "column" will be bolded
for better visibility and seperated with a colon from the second.

This is currently designed to replace two column tables only.
2019-05-19 14:03:41 +02:00
Alexey Sokolov 9966bea961 Return version back to 1.7.x 2019-03-30 14:41:01 +00:00
Alexey Sokolov 6b03fac6c1 ZNC 1.7.3-rc1 2019-03-22 00:31:10 +00:00
Alexey Sokolov 855ab8c55d Revert version number to 1.7.x 2019-01-27 09:37:10 +00:00
Alexey Sokolov 2ed4d1b664 ZNC 1.7.2-rc1 2019-01-12 09:08:16 +00:00
Alexey Sokolov 0ab205ccfa Merge pull request #1628 from dgw/welcome-to-2019
Welcome to 2019
2019-01-08 22:50:58 +00:00
dgw 8d5427cf9b Welcome to 2019
What are we going to do today, Brain?

The same thing we do every year, Pinky: Update all the copyright
headers!

[Skip CI]
2019-01-01 17:05:05 -06:00
Pierre Gordon 6af027c5dd Normalize methods with 'UserName' to 'Username' 2019-01-01 16:19:27 -05:00
Pierre Gordon 812b27c268 Normalize variable "sUserName" to "sUsername"
Fixes #1546
2019-01-01 12:31:33 -05:00
Alexey Sokolov bae80fd383 Return version number to 1.7.x 2018-07-17 22:58:48 +01:00
Alexey Sokolov 9e4d89aaa4 ZNC 1.7.1-rc1 2018-07-14 07:21:12 +01:00
Alexey Sokolov fda73d8c81 Merge branch '1.7.x' 2018-06-04 22:30:53 +01:00
Alexey Sokolov 94c5707f2e Old clang doesn't understand 2-arg deprecation 2018-06-02 01:52:11 +01:00
Alexey Sokolov e531fe870a Replace the deprecated overload of CMessage::GetParam 2018-06-01 22:22:44 +01:00
Alexey Sokolov 5b7daac2f0 Rename one of overloads of CMessage::GetParams to GetParamsColon 2018-06-01 22:22:44 +01:00
Alexey Sokolov 34b783f1ab Revert "Make version 1.7.x again for 1.7.x branch"
This reverts commit 59cf8aabda.
2018-05-06 00:19:04 +01:00
Alexey Sokolov 59cf8aabda Make version 1.7.x again for 1.7.x branch 2018-05-05 20:49:12 +01:00
Alexey Sokolov d16817b03a Update git master to be 1.8.x 2018-05-01 22:39:01 +01:00
Alexey Sokolov 4489b1b694 Increase the version number to ZNC 1.7.0 2018-05-01 22:15:45 +01:00
Alexey Sokolov bfecb524e4 1.7.0-rc1 2018-04-19 23:52:45 +01:00
Alexey Sokolov 6922476fcf ZNC 1.7.0-beta1 2018-04-06 20:25:13 +01:00
Alexey Sokolov 8c60724118 Merge branch 'master' into 1.7.x 2018-04-06 20:22:37 +01:00