Shivaram Lingamneni
e335744333
fix #1991
...
WHO <nickname> should not respect +i
2023-06-13 15:28:55 -04:00
Shivaram Lingamneni
172a6675ac
fix #1928
...
LIST should not return ERR_NOSUCHCHANNEL for nonexistent channels
2022-06-09 16:14:55 -04:00
William Rehwinkel
b1a5a47480
Fix #1911 +s channels don't appear in /list even though on the channel ( #1923 )
...
* Fix #1911 +s channels don't appear in /list even though on the channel
* use channel.HasClient instead of custom iterative checker
2022-06-09 16:14:45 -04:00
Shivaram Lingamneni
db547020c8
fix #1906
...
Having the 'samode' capability made all KICK commands privileged. This appears
to have been introduced unintentionally by 42316bc04f
and I can't find
any discussion of a rationale. Since this goes against our policy that all
ircop (as opposed to channel founder) privileges must be invoked explicitly
(e.g. SAJOIN, SAMODE), remove this.
2022-06-09 16:07:18 -04:00
Valentin Lorentz
3994125d88
Add missing argument to ERR_NEEDMOREPARAMS on USER commands.
...
Refs:
* other instances in the codebase
* https://defs.ircdocs.horse/defs/numerics.html#err-needmoreparams-461
* https://modern.ircdocs.horse/#errneedmoreparams-461
2022-01-10 19:24:13 -05:00
Valentin Lorentz
a24b31cbd6
Make kick messages default to the kicker name instead of the kicked
...
For consistency with RFC2812, Bahamut, Hybrid, Insp, Plexus4, Unreal.
https://datatracker.ietf.org/doc/html/rfc2812#section-3.2.8
At the expense of consistency with chary/solanum, irc2, and ircu2.
2022-01-10 19:24:07 -05:00
Shivaram Lingamneni
902ac1a79b
fix #1731
...
CHATHISTORY INVALID_TARGETS was missing the subcommand parameter
2022-01-10 19:19:14 -05:00
Shivaram Lingamneni
bdff4e633f
fix #1730
...
`WHO #channel o` is supposed to return only server operators.
This is RFC1459 cruft; just return an empty list in this case.
2022-01-10 19:09:27 -05:00
Shivaram Lingamneni
bd4f80586f
fix #1831
...
RPL_ENDOFWHO should send the original, un-normalized mask
2022-01-10 19:08:55 -05:00
Shivaram Lingamneni
122a232eed
send *
for WHOX o (oplevel) instead of 0
...
Jobe points out that 0 is a valid oplevel in some contexts,
* is a better placeholder for "unimplemented".
2022-01-10 19:08:41 -05:00
Shivaram Lingamneni
bfae13aad9
fix casefolding issue in muting RELAYMSG
...
Reported by @mogad0n; the mute mask was being case-canonicalized,
but the RELAYMSG identifier wasn't being case-canonicalized before
the check.
2022-01-10 19:07:54 -05:00
Shivaram Lingamneni
42aafc1f0c
correctly account for nickname in CAP LS arithmetic
...
The arithmetic was assuming that the nickname is * (which it is
pre-registration). However, we were sending the actual nickname
post-registration. It would be simpler to always send *, but it
appears that the nickname is actually required by the spec:
>Replies from the server must [sic] contain the client identifier name or
>asterisk if one is not yet available.
2022-01-10 19:06:41 -05:00
Shivaram Lingamneni
6067ce4200
Revert "remove draft/resume-0.5"
...
This reverts commit ba21987d03
.
2021-06-01 21:44:49 -04:00
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.
2021-05-27 11:43:21 -04:00
Shivaram Lingamneni
77313e20ad
fix #1647
...
Send a full NUH with RELAYMSG.
Also fix client-only tags with RELAYMSG.
2021-05-27 02:00:59 -04:00
Shivaram Lingamneni
23c7218bf1
first pass at renaming Oragono to Ergo
2021-05-26 15:55:24 -04:00
Shivaram Lingamneni
ba21987d03
remove draft/resume-0.5
2021-05-18 23:27:46 -04:00
Shivaram Lingamneni
75f89a9f1f
fix FAIL REGISTER INVALID_USERNAME case
2021-04-25 17:16:34 -04:00
Shivaram Lingamneni
0b414cb158
Merge pull request #1625 from slingamn/cleanup_star.2
...
fix #1615
2021-04-21 09:27:54 -04:00
jesopo
4700d4c048
make gofmt happey :))
2021-04-20 11:05:05 +00:00
jesopo
7345ecba48
don't Sprintf for each match, Details().nick -> .Nick()
2021-04-20 11:04:24 +00:00
jesopo
0a1537f928
support $$server and $#hostname global messages
2021-04-20 10:46:43 +00:00
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.
2021-04-19 08:54:40 -04:00
Shivaram Lingamneni
da216fc699
fix #1577
...
Remove debugging loglines for truncation
2021-04-19 07:06:49 -04:00
Shivaram Lingamneni
18b6e2f1cd
implement CHATHISTORY TARGETS
2021-04-07 05:40:39 -04:00
Shivaram Lingamneni
4052cd12fe
fix #1592
...
Implements the new `CHATHISTORY LISTCORRESPONDENTS` API.
2021-04-06 00:46:07 -04:00
Shivaram Lingamneni
e447c61c73
fix #1596
...
All truncation must be made UTF8-safe.
2021-03-18 03:49:12 -04:00
Shivaram Lingamneni
cd43fae478
Merge pull request #1597 from slingamn/away_session.1
...
fix #1531
2021-03-18 03:28:03 -04:00
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
2021-03-18 02:53:18 -04:00
Shivaram Lingamneni
1efde964e1
Fix #1562
...
Implement the new bot mode spec:
https://github.com/ircv3/ircv3-specifications/pull/439
2021-03-17 14:36:52 -04:00
Shivaram Lingamneni
fe8e6551c3
fix #1502
...
RELAYMSG should respect mutes
2021-03-11 01:21:03 -05:00
Shivaram Lingamneni
131eb229bc
use the new irc-go identifiers
2021-03-10 20:07:43 -05:00
Shivaram Lingamneni
03185ea4a9
deprecate message truncation
...
Implements #1577 , but the issue should remain open until we clean up
the debugging loglines.
2021-03-04 22:29:34 -05:00
Alex Jaspersen
23164054f6
Send 477 ERR_NEEDREGGEDNICK when an unregistered user messages a +R user.
...
Fixes #1064 .
2021-03-03 19:36:29 -08:00
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
2021-02-28 17:14:10 -05:00
Shivaram Lingamneni
e957a89ee2
bump irc-go for the IRCMessage rename
2021-02-15 11:27:04 -05:00
4340da9b6e
docs/USERGUIDE.md & irc/handlers.go: fix spelling of WeeChat
2021-02-13 14:44:13 +02:00
Shivaram Lingamneni
42316bc04f
fix #1176
...
Transition most "is an operator" checks to require a specific operator
capability
2021-02-09 22:07:06 -05:00
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.
2021-02-04 15:26:03 -05:00
Shivaram Lingamneni
07fa2ecb3e
allow UBAN <ip> REQUIRE-SASL
2021-01-22 09:38:40 -05:00
Shivaram Lingamneni
2e7cf3cc1e
Merge pull request #1496 from slingamn/jointime.1
...
fix #1490
2021-01-21 01:20:45 -05:00
Shivaram Lingamneni
4a48e52518
fix #1490
...
Track channel join times, use them to optionally enforce history access
restrictions
2021-01-20 21:13:18 -05:00
Shivaram Lingamneni
bb5276553d
initial UBAN implementation
2021-01-19 08:49:45 -05:00
Shivaram Lingamneni
64bc363cf1
fix #1443
...
Improve auditability of sensitive operator actions
2021-01-19 06:45:30 -05:00
Shivaram Lingamneni
e195854851
fix #1442
...
strip local_ from oper capab names, also consolidate unban into ban
2021-01-19 06:45:30 -05:00
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
2021-01-12 08:40:13 -05:00
Shivaram Lingamneni
ec375f5bdc
consolidate ArgsToStrings
2020-12-30 00:41:34 -05:00
Shivaram Lingamneni
0c9ecbade7
ERR_HELPNOTFOUND should take the nick as a parameter
2020-12-29 13:19:46 -05:00
Shivaram Lingamneni
6965031aa9
fix #1472
...
HELP responses weren't taking the client nickname as a parameter,
as is standard.
2020-12-29 05:20:18 -05:00
Shivaram Lingamneni
514a2e613f
fix #1468
2020-12-21 22:07:48 -05:00