Falk Rund
ad6a397ca4
Welcome to 2026
...
[skip ci]
2026-01-01 13:44:32 +01:00
RealKindOne
106a9fcbb4
Make account, away-notify, and chghost only send to client if attached into a channel.
2025-06-26 10:15:13 -04:00
Alexey Sokolov
7b7f691213
Don't store "this" in static variable
...
Fix #1960
This could also cause use-after-free if the first connected socket disconnects
2025-06-23 22:41:08 +01:00
Alexey Sokolov
694f50c9c0
Make CTCP flood timer use monotonic time
...
Probably should use std::chrono types instead of int, but that'll be a later change
2025-05-11 21:24:08 +01:00
Alexey Sokolov
4f65f86ccd
Warn user if flood protection is delaying the messages for too long
...
This should help with cases like #1943
2025-05-11 21:06:21 +01:00
Alexey Sokolov
aaeab22ea3
Fix processing of multi-token CAP ACK
...
I broke it in 5943bc9ed9 while fixing #1950
2025-05-11 18:49:35 +01:00
Alexey Sokolov
5943bc9ed9
Send several caps in the same CAP REQ
...
If they got NAKed, then retry them one by one
This should speed up the usual case
Fix #1950
2025-05-09 23:46:11 +01:00
Alexey Sokolov
1c197a5508
Add a way to disable certain capabilities
...
This is a way for admins to mitigate some issues caused by caps if such issues ever arise.
E.g. add this to global level in znc.conf:
DisableClientCap = sasl
DisableServerCap = chghost
DisableServerCap = message-tags
Then these caps will be NAKed to client / not requested from server.
Note that this mechanism doesn't fully prevent a cap from being activated, e.g. one could use *send_raw module to request it from server even when disabled.
2025-05-08 21:55:40 +01:00
Alexey Sokolov
5befe2f7f8
Implement invite-notify
2025-04-18 22:23:01 +01:00
Alexey Sokolov
f93829e3b3
Implement message-tags spec
...
Message tags were supported already, but not arbitrary tags, and not
TAGMSG
2025-04-11 21:28:10 +01:00
Alexey Sokolov
ce47e7ea3d
Fix sending server passwords with spaces in them
...
Fix #1928
Fix #1899
2025-03-16 21:31:34 +00:00
Peter
44e4b95a20
Welcome to 2025 ( #1929 )
2025-02-07 23:23:45 +00:00
Alexey Sokolov
7c616f10ee
Avoid allocating useless vector in a loop
...
Ref #1924
2024-12-29 15:00:20 +00:00
Alexey Sokolov
579906d686
Don't send emulated chghost-JOIN to channels where the nick wasn't
...
Fix #1924
2024-12-29 14:54:20 +00:00
Alexey Sokolov
1224d303aa
Don't emulate chghost for disabled channels
...
Bug #1924
2024-12-29 10:12:10 +00:00
Alexey Sokolov
20c540af7d
Make CHGHOST work with detached channels
2024-10-15 17:16:32 +01:00
Alexey Sokolov
b536d0f3c3
Small optimization for message processing
...
Avoid creating the map for every message
2024-10-15 13:26:20 +01: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
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
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
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
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
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
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
ac66d48430
Merge branch '1.7.x'
2019-06-15 02:02:42 +01:00
Alexey Sokolov
3bced9a9f1
Send "Connected!" message to the correct nick to client.
...
Fix #1665
2019-06-12 08:14:20 +01:00
Alexey Sokolov
bc3093ce50
Merge branch '1.7.x'
2019-01-10 22:10:33 +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
Jos Ahrens
d15b838504
ctcp: Distinguish Channel CTCP Requests and Replies
...
Fixes #1624
2018-12-24 09:12:05 +00: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
e531fe870a
Replace the deprecated overload of CMessage::GetParam
2018-06-01 22:22:44 +01:00
Alexey Sokolov
80b96f3d46
Fix redirecting message
...
Thanks rockytvbr
2018-05-06 22:05:12 +01:00
Alexey Sokolov
1eceb5a5c7
More translateable strings ( #1354 )
2018-04-01 00:35:51 +01:00
Alexey Sokolov
a8d2df3852
Add PutIRC(CMessage) and PutIRCRaw()
...
Close #1193
2018-03-11 16:44:49 +00:00
Alexey Sokolov
a2470b3dd3
Make chan modes and permissions to be char instead of unsigned char.
...
Deprecate old module hooks which accept mode as unsigned char.
SWIG handles unsigned char as int, but char as a string.
Before this commit, usage of HasPerm from perl modules required this:
either $chan->HasPerm(ord('@')) or $chan->HasPerm(ord($ZNC::CChan::Op)).
Now ord() is not necessary, and these calls work too:
$chan->HasPerm('@') and $chan->HasPerm($ZNC::CChan::Op).
Fix #1486
2018-02-10 15:55:55 +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
Alexey Sokolov
9bb8387745
Revert "Avoid calling OnWho on every channel in the network WHO was called in. ( #1461 )"
...
This reverts commit 5132ea987e .
Add a comment to explain the old behavior, by courtesy of @psychon
2017-12-10 09:53:00 +00:00
weabot
5132ea987e
Avoid calling OnWho on every channel in the network WHO was called in. ( #1461 )
2017-12-02 23:31:04 +00:00
Alexey Sokolov
57ad5cd814
Merge pull request #1445 from Zarthus/fix/debug-shows-pass
...
debugging: Add Filter method to hide filter sensitive data
2017-10-04 19:06:50 -07:00
Alexey Sokolov
d73a4090c8
Fix crash caused by an unsigned overflow.
...
Thanks to Joseph Bisch for discovery.
This was an artifact of converting ZNC to use CMessage. Released
versions are not affected.
2017-10-03 15:21:56 +01:00