Shivaram Lingamneni
e07fd9492a
backport fix for #2039
...
UTF8 should always be validated for websockets, regardless of the incoming
message type.
2023-06-13 15:38:51 -04:00
Shivaram Lingamneni
b14095f7ba
fix #1980
...
Sanitize ::1 to 0::1 in WHOX output
2023-06-13 15:33:35 -04:00
Shivaram Lingamneni
fb84910635
re-add draft/CHATHISTORY 005
...
Kiwi expects it due to https://github.com/kiwiirc/kiwiirc/pull/1244 , but
the corresponding spec change only altered the cap name, not the 005 name.
2023-06-13 15:31:37 -04:00
Shivaram Lingamneni
b60c4da0d6
fix CHATHISTORY 005 token name
...
Unclear where we got draft/CHATHISTORY from, it looks like the merged drafts
have always used unprefixed CHATHISTORY as the token name.
2023-06-13 15:31:37 -04:00
Shivaram Lingamneni
e335744333
fix #1991
...
WHO <nickname> should not respect +i
2023-06-13 15:28:55 -04:00
Shivaram Lingamneni
f925ae322a
fix #1935
...
RPL_WHOISCHANNELS didn't have proper line breaks
2022-06-09 16:15:34 -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
Val Lorentz
777cb7c991
Fix implementation of LIST <n
2022-06-09 16:08:41 -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
37fbf4c4dd
fix handling of +k with an empty key parameter
...
This should be disallowed; `MODE #keytest +k :` should just be an error.
2022-01-10 19:21:08 -05:00
Valentin Lorentz
133f2224a7
Add missing channel parameter to ERR_INVALIDMODEPARAM.
2022-01-10 19:21:02 -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
da79533525
fix #1876
...
INVITE did not exempt from +b unless the channel was coincidentally also +i.
This was a regression introduced in v2.4.0.
2022-01-10 19:16:34 -05:00
Shivaram Lingamneni
521b3e9a1c
+I should allow unregistered users to join a +R channel
...
See #1858 : this was the intent all along, but I missed this issue.
2022-01-10 19:11:27 -05:00
Shivaram Lingamneni
03b4a6581c
fix #1858
...
The channel mode +R used to both prevent joins by unregistered users,
and prevent unregistered users who happened to be joined from speaking.
This changes the behavior so that +R only prevents joins:
1. This allows users who were invited or SAJOIN'ed to speak
2. To restore the old semantics, chanops can set +RM
2022-01-10 19:11:12 -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
7912117084
bump version again for backported bugfixes
2021-11-03 04:12:59 -04:00
Shivaram Lingamneni
57fd1b1d58
fix incorrect handling of overlong lines when allow-truncation is enabled
2021-11-03 04:07:27 -04:00
Shivaram Lingamneni
c55d861a72
fix #1751
...
RENAME (channel rename) that was a simple case change (e.g.
renaming #chan to #CHAN) would delete the channel :-|
2021-11-03 04:06:20 -04:00
Shivaram Lingamneni
a09ea9a506
fix #1696
2021-11-03 04:05:41 -04:00
Shivaram Lingamneni
8659683fee
bump version for resume feature branch
2021-06-01 21:44:49 -04:00
Shivaram Lingamneni
6067ce4200
Revert "remove draft/resume-0.5"
...
This reverts commit ba21987d03
.
2021-06-01 21:44:49 -04:00
Shivaram Lingamneni
b81757d273
bump version for 2.7.0-rc1
2021-05-31 01:50:02 -04:00
Shivaram Lingamneni
f93e1f1a7d
Merge pull request #1668 from slingamn/changelog.3
...
changelog, documentation, and distrib updates for ergo 2.7
2021-05-30 21:25:56 -04:00
Shivaram Lingamneni
33e3b0ce1b
fix #1669
...
Sort snomasks for display rather than displaying them in hash order
2021-05-30 12:35:16 -04:00
Shivaram Lingamneni
6ff0486aa0
changelog, documentation, and distrib updates for ergo 2.7
2021-05-30 03:45:25 -04:00
Shivaram Lingamneni
ac806e5c62
fix znc.in/playback for individual DM targets
...
This is a regression introduced in 0d05ab4ff4249f; playback for an individual
DM target would play all DMs.
2021-05-28 18:07:54 -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
91cdb96bcb
fix HS STATUS help strings
2021-05-27 10:51:54 -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
7944871eb6
migrate additional dependencies to ergochat
2021-05-26 21:58:29 -04:00
Shivaram Lingamneni
f1ae8051cb
update readmes, add placeholder logo
2021-05-26 18:01:11 -04:00
Shivaram Lingamneni
23c7218bf1
first pass at renaming Oragono to Ergo
2021-05-26 15:55:24 -04:00
Shivaram Lingamneni
7c5a8f2013
make MaxLineLen configurable
2021-05-24 00:38:47 -04:00
Shivaram Lingamneni
ba21987d03
remove draft/resume-0.5
2021-05-18 23:27:46 -04:00
Shivaram Lingamneni
a131507090
fix #1642
...
Fix auditorium JOIN lines with zero values for the time and msgid tags.
2021-05-05 10:00:19 -04:00
Shivaram Lingamneni
aa27ad98a8
add a warning for the #1634 case
...
Configurations with require-sasl and open account registration are valid,
but likely unintended. Show a warning about them.
2021-04-27 08:44:54 -04:00
Shivaram Lingamneni
2d31a16647
propagate require-sasl into tor-listeners.require-sasl
2021-04-26 10:26:16 -04:00
Shivaram Lingamneni
317720bfc8
Merge pull request #1632 from slingamn/mysql_safety
...
fix #1622
2021-04-25 23:14:40 -04:00
Shivaram Lingamneni
e14aace1da
Merge pull request #1635 from slingamn/pass
...
fix #1634 (forward-porting to master)
2021-04-25 21:34:12 -04:00
Shivaram Lingamneni
97ba1c3d63
fix #1634 :
...
1. Fix auth bypass in the default configuration with the addition of
server.password (the REGISTER command was allowed before connection
registration, allowing unauthenticated users to REGISTER and then
take advantage of skip-server-password)
2. Caution operators against the use of require-sasl without disabling
user-initiated account registration. (Such a configuration is still valid
in the case of a public server that requires everyone to register.)
2021-04-25 19:22:08 -04:00
Shivaram Lingamneni
75f89a9f1f
fix FAIL REGISTER INVALID_USERNAME case
2021-04-25 17:16:34 -04:00
Shivaram Lingamneni
5eed48c077
fix #1622
...
Allow users to set max MySQL connections and connection lifetime;
set a sane default for max connections if it's not present.
2021-04-23 13:54:44 -04:00