Commit Graph

154 Commits

Author SHA1 Message Date
Alexey Sokolov
66137bd89a Progress 2024-01-05 00:45:41 +00:00
Alexey Sokolov
4cbccac707 Merge branch 'master' into cap302 2023-11-19 10:53:47 +00:00
KindOne
ee9ad2ff8e Use module names as the module ident.
Some clients will reuse query windows as the client thinks its just a
nick change if you have a existing query window with a module and a different one messages you.

Fix that by using the modules name as the ident.

Update tests to match new modules ident.
2023-09-08 07:21:31 -04: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
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
MAGIC
99687b0f24 Welcome to 2021 2021-01-01 19:37:07 +01:00
NuclearW
f5c3ea403d Cleanup capabilities from m_ssAcceptedCaps in CClient::ClearServerDependentCaps after CAP DEL 2020-08-03 13:43:36 -04:00
Alexey Sokolov
6cce5fe08d Check for m_pNetwork being not null in several more places
I don't know whether these are crasheable, but now they will definitely
be not.
2020-05-31 11:46:05 +01:00
Alexey Sokolov
2390ad111b Fix null pointer dereference in echo-message
The bug was introduced while fixing #1705. If a client did not enable
echo-message, and doesn't have a network, it crashes.

Thanks to LunarBNC for reporting this
2020-05-31 11:45:40 +01:00
Alexey Sokolov
d229761821 Fix echo-message for *status
Close #1705
2020-03-29 08:45:10 +01:00
MAGIC
9081aa971d Welcome to 2020 2020-01-02 00:36:05 +01: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
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
Alexey Sokolov
d22fef8620 Better cleanup lines coming from network.
Thanks for Jeriko One <jeriko.one@gmx.us> for finding and reporting this.
2018-07-14 07:08:50 +01:00
Alexey Sokolov
6d1e77bb52 Revert "transperancy: Make the user aware that DEBUG mode is enabled."
This reverts commit ab501767a1.

Superceded by admindebug module
2018-06-18 00:41:18 +01:00
Alexey Sokolov
e531fe870a Replace the deprecated overload of CMessage::GetParam 2018-06-01 22:22:44 +01:00
Nobody Atoll
55d44c21a7 Fix echo-message regression from 1.6.x
This patch prevents PRIVMSGs from clients frmo being echoed to other clients if their target has the status prefix.
2018-04-12 18:34:15 -04:00
Alexey Sokolov
1eceb5a5c7 More translateable strings (#1354) 2018-04-01 00:35:51 +01:00
Alexey Sokolov
8da45322f0 Fix CClient::PutClient comment, add CClient::PutClientRaw 2018-03-11 15:54:20 +00:00
Alexey Sokolov
15ccaca41a Stop buffering and echoing CTCP requests and responses to other clients, except for /me
Fix interaction between self-message and CTCP:
CTCP request from client A gets reflected from ZNC to client B, because
B has self-message. B sees this as a usual CTCP request (from the same
nick), and replies (to the same nick). ZNC reflects that response to A
because A has self-message, and also passes that response to IRC server,
which sends that response back to ZNC, which sends it to its both clients.

Close #1488
2018-02-18 23:04:14 +00:00
Alexey Sokolov
658a6e6f90 Lie to modules less: make OnUserRaw strings raw 2018-02-18 22:14:18 +00:00
Alexey Sokolov
5cb50eccd1 Save channel key on user JOIN even if user was not on the channel yet,
which is the usual case.

Fix #1223
2018-02-14 08:30:21 +00:00
Alexey Sokolov
eccf5911ae Fill Message.GetChan() in user-originated module callbacks if the channel exists.
Close #1402
2018-02-11 15:13:11 +00:00
Falk Seidel
d647eaabc0 Welcome to 2018
The same procedure as last year, Miss Sophie?
The same procedure as every year, James.

[skip ci]
2018-01-19 19:38:58 +00:00
James Lu
f5fc51a63b src/Client: send failed logins to NOTICE instead of PRIVMSG
When connecting to many ZNC networks at once, one failed login causes numerous query windows from *status to pop up. These can be annoying to close depending on the client.
2017-12-13 20:21:21 -05:00
Alexey Sokolov
2ebd358521 Merge pull request #1446 from Zarthus/feature/debug-mode-awareness
transparency: Make the user aware that DEBUG mode is enabled.
2017-10-04 19:09:09 -07:00
Jos Ahrens
ab501767a1 transperancy: Make the user aware that DEBUG mode is enabled. 2017-10-02 14:46:00 +02:00
Jos Ahrens
f006e31fed debugging: Add Filter method to hide filter sensitive data 2017-10-02 14:09:45 +02:00
Alexey Sokolov
0ce6b7c8ba Fix a warning
Reported by s7r
2017-06-26 00:28:57 +01:00
Alexey Sokolov
46c5b2884e Don't send PART to client which sent QUIT
Reported by milky
2017-06-20 21:58:37 +01:00
Eli Young
6d0ec644d0 Support custom message tags
This provides a way for modules to register message tags and updates the
core to send tags to clients if the relevant capabilities are enabled.
2017-05-08 18:01:46 -07:00
Eli Young
823ac07240 Add OnSendToIRCMessage and OnSendToClientMessage
This also alters PutClient such that the CMessage variant handles
sending messages, rather than the CString variant. As a side bonus, this
gives callers better information on whether the message was sent to the
client. Additionally, it eliminates the need for a hook to let modules
set the tags sent to a client, as that can now be done inside
OnSendToClientMessage.
2017-04-18 15:43:16 -07:00
Phansa
3189ce7f8a Welcome to 2017
Welcome to 2017

temp

temp2
2017-03-12 20:34:26 -04:00
Alexey Sokolov
b666931883 Add an option to change ping timeout time.
Fix #979
2016-12-26 15:49:26 +00:00
Alexey Sokolov
6cde8b3950 Fix #1347 for 1.7 branch.
Commit 51fb6f09f4b8065b82f9a0ab1d1702ad8998f389 in 1.6.x branch has more
details.
2016-12-01 23:34:55 +00:00
KindOne
3f48d0a01a Remove reference for attaching queries.
This was added in commit 85b84078f8 from pull request 1072.

Pull request 1014 would of made this command possible, but it was never pulled.
2016-08-14 21:12:14 -04:00
Alexey Sokolov
5dd209369d Merge pull request #1289 from torarnv/echo-message-time
Don't strip timestamp when sending echo-messages
2016-07-05 21:41:01 +01:00
Tor Arne Vestbø
60e88fc19d Don't strip timestamp when sending echo-messages
We preserve the time of the original message by making a copy of it,
and just changing the nick, which we then pass on to the CMessage
overload of PutClient, which converts the timestamp into a @time tag.
2016-07-05 16:24:32 +02:00
Jos Ahrens
3ed914aa81 Always send the users name in NOTICE when logging in. 2016-06-20 08:06:00 +01:00
Alexey Sokolov
8eeeaf71a0 Add framework for translating ZNC to different languages 2016-01-31 20:09:19 +00:00
Alexey Sokolov
1f226d2ade Add test for #1229 and actually fix it. 2016-01-09 18:00:47 +00:00
Alexey Sokolov
4fe4a45dd6 Disable legacy encoding mode when modpython is loaded.
Python is not happy when using non-unicode text as str.

Fix #1229
2016-01-09 14:18:24 +00:00
Falk Seidel
8f73840e74 Welcome to 2016
🎆  Happy 2016 🎆
2016-01-01 20:11:21 +01:00