Shivaram Lingamneni
ebe1f84d64
consolidate login throttle checks
We can check once during initialization of the SASL session, e.g.
on receiving `AUTHENTICATE PLAIN` or `AUTHENTICATE EXTERNAL`
3 gadus atpakaļ
Shivaram Lingamneni
41822813c0
clean up redundant check for sasl mechanism
3 gadus atpakaļ
Shivaram Lingamneni
e1401934df
implement SCRAM-SHA-256
3 gadus atpakaļ
Pratyush Desai
99610eae4b
add timeCreated to /uban list output
3 gadus atpakaļ
Valentin Lorentz
f58f8531b2
Restore support for multiple channels + single user
3 gadus atpakaļ
Val Lorentz
54c5d35193
Add support for KICK #chan user1,user2
This is one of the two cases of [RFC 2812 kicks](https://datatracker.ietf.org/doc/html/rfc2812#section-3.2.8 ):
even when there are multiple user targets, the RFC (and Unreal
and Inspircd and probably others) allows a single channel name.
3 gadus atpakaļ
Shivaram Lingamneni
59bddd066f
update draft/register -> draft/account-registration
Fixes #1740
3 gadus atpakaļ
Shivaram Lingamneni
46572b871f
expose a user-visible error if direct email sending fails
See #1659
3 gadus atpakaļ
Shivaram Lingamneni
d0801e45a8
fix #1731
CHATHISTORY INVALID_TARGETS was missing the subcommand parameter
3 gadus atpakaļ
Alex Jaspersen
b6264a43b6
Rename "realIP" to "ip" in WhoWas struct.
It could be the real IP or the proxied IP.
3 gadus atpakaļ
Shivaram Lingamneni
51c207dc80
fix #1703
`WHOWAS :` should return an error numeric instead of an empty response
3 gadus atpakaļ
Alex Jaspersen
e5c2588eab
Show real IP in WHOWAS to opers with ban capability.
3 gadus atpakaļ
Shivaram Lingamneni
4910aefa37
use ergochat/irc-go instead of goshuirc/irc-go
3 gadus atpakaļ
Shivaram Lingamneni
ec48966b68
fix #1661
If the relay bot and the owner share an IP, legacy bots that identify users
by user@host could misinterpret relayed lines as coming from the bot owner.
Try to avoid this by using the bot's account cloak where applicable.
3 gadus atpakaļ
Shivaram Lingamneni
77313e20ad
fix #1647
Send a full NUH with RELAYMSG.
Also fix client-only tags with RELAYMSG.
3 gadus atpakaļ
Shivaram Lingamneni
23c7218bf1
first pass at renaming Oragono to Ergo
3 gadus atpakaļ
Shivaram Lingamneni
ba21987d03
remove draft/resume-0.5
3 gadus atpakaļ
Shivaram Lingamneni
75f89a9f1f
fix FAIL REGISTER INVALID_USERNAME case
3 gadus atpakaļ
jesopo
4700d4c048
make gofmt happey :))
3 gadus atpakaļ
jesopo
7345ecba48
don't Sprintf for each match, Details().nick -> .Nick()
3 gadus atpakaļ
jesopo
0a1537f928
support $$server and $#hostname global messages
3 gadus atpakaļ
Shivaram Lingamneni
0d05ab4ff4
fix #1615
Remove the CHATHISTORY * and znc.in/playback *self targets,
clean up associated database code, add new mechanisms to play
all missed DMs.
3 gadus atpakaļ
Shivaram Lingamneni
da216fc699
fix #1577
Remove debugging loglines for truncation
3 gadus atpakaļ
Shivaram Lingamneni
18b6e2f1cd
implement CHATHISTORY TARGETS
3 gadus atpakaļ
Shivaram Lingamneni
4052cd12fe
fix #1592
Implements the new `CHATHISTORY LISTCORRESPONDENTS` API.
3 gadus atpakaļ
Shivaram Lingamneni
e447c61c73
fix #1596
All truncation must be made UTF8-safe.
3 gadus atpakaļ
Shivaram Lingamneni
70b20750aa
fix #1531
AWAY status should be tracked per-session:
1. With auto-away enabled, away status is aggregated across sessions
(if any session is not away, the client is not away, else use
the away status that was set most recently)
2. With auto-away disabled, we get the legacy behavior where AWAY
applies directly to the client
3 gadus atpakaļ
Shivaram Lingamneni
1efde964e1
Fix #1562
Implement the new bot mode spec:
https://github.com/ircv3/ircv3-specifications/pull/439
3 gadus atpakaļ
Shivaram Lingamneni
fe8e6551c3
fix #1502
RELAYMSG should respect mutes
3 gadus atpakaļ
Shivaram Lingamneni
131eb229bc
use the new irc-go identifiers
3 gadus atpakaļ
Shivaram Lingamneni
03185ea4a9
deprecate message truncation
Implements #1577 , but the issue should remain open until we clean up
the debugging loglines.
3 gadus atpakaļ
Alex Jaspersen
23164054f6
Send 477 ERR_NEEDREGGEDNICK when an unregistered user messages a +R user.
Fixes #1064 .
3 gadus atpakaļ
Shivaram Lingamneni
8180c2b572
improve compatibility with published register spec
1. Send COMPLETE_CONNECTION_REQUIRED instead of DISALLOWED
2. Include the account name in all FAIL messages
3 gadus atpakaļ
Shivaram Lingamneni
e957a89ee2
bump irc-go for the IRCMessage rename
3 gadus atpakaļ
Mikaela Suomalainen
4340da9b6e
docs/USERGUIDE.md & irc/handlers.go: fix spelling of WeeChat
3 gadus atpakaļ
Shivaram Lingamneni
42316bc04f
fix #1176
Transition most "is an operator" checks to require a specific operator
capability
3 gadus atpakaļ
Shivaram Lingamneni
cc6be14c1d
fix #1507
Registered channels should be eagerly created on startup, and should
remain (and be visible in LIST) even when they have no members.
3 gadus atpakaļ
Shivaram Lingamneni
07fa2ecb3e
allow UBAN <ip> REQUIRE-SASL
3 gadus atpakaļ
Shivaram Lingamneni
4a48e52518
fix #1490
Track channel join times, use them to optionally enforce history access
restrictions
3 gadus atpakaļ
Shivaram Lingamneni
bb5276553d
initial UBAN implementation
3 gadus atpakaļ
Shivaram Lingamneni
64bc363cf1
fix #1443
Improve auditability of sensitive operator actions
3 gadus atpakaļ
Shivaram Lingamneni
e195854851
fix #1442
strip local_ from oper capab names, also consolidate unban into ban
3 gadus atpakaļ
Shivaram Lingamneni
d1f8317180
fix #1479
Give Tor clients who authenticate via SASL a unique cloak, so chanops
can ban *!*@tor-network.onion and still allow authenticated Tor users
3 gadus atpakaļ
Shivaram Lingamneni
ec375f5bdc
consolidate ArgsToStrings
3 gadus atpakaļ
Shivaram Lingamneni
0c9ecbade7
ERR_HELPNOTFOUND should take the nick as a parameter
3 gadus atpakaļ
Shivaram Lingamneni
6965031aa9
fix #1472
HELP responses weren't taking the client nickname as a parameter,
as is standard.
3 gadus atpakaļ
Shivaram Lingamneni
514a2e613f
fix #1468
3 gadus atpakaļ
Shivaram Lingamneni
cc2b6d27a0
fix critical bugs in RENAME
Channel rename (both of registered and unregistered channels) would leave
the old name unreclaimable.
3 gadus atpakaļ
Shivaram Lingamneni
ba72d3acfc
implement a channel forwarding mode
Fixes #1260
3 gadus atpakaļ
Shivaram Lingamneni
47f7b9a76e
make CAP LS/LIST respect the MaxLineLen constant
3 gadus atpakaļ