Shivaram Lingamneni
12947644e2
remove SCRAM-SHA-256 from advertised SASL mechanisms
Advertising SCRAM-SHA-256 breaks irccloud, which doesn't fall back to PLAIN
if it sees SCRAM advertised but SCRAM then fails (as is the case for any
account password hashed on Ergo 2.7 or lower).
Leave a config option for irctest to enable it in the controller.
vor 2 Jahren
Shivaram Lingamneni
492109f29d
upgrade go to 1.17
vor 2 Jahren
Valentin Lorentz
a90fbf9f2c
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
vor 2 Jahren
Valentin Lorentz
f33f41b0eb
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.
vor 2 Jahren
Valentin Lorentz
f6f25039b7
Advertise support for multiple KICK targets
This is already implemented, but TARGMAX=KICK:1 says it isn't.
Instead, let's advertise that indefinitely many targets are allowed.
Refs:
* https://defs.ircdocs.horse/defs/isupport.html#targmax
* https://github.com/ircdocs/modern-irc/pull/112
vor 2 Jahren
Shivaram Lingamneni
abfb8442ab
fix handling of +k with an empty key parameter
This should be disallowed; `MODE #keytest +k :` should just be an error.
vor 2 Jahren
Valentin Lorentz
e894c44960
Add missing channel parameter to ERR_INVALIDMODEPARAM.
vor 2 Jahren
Alex Jaspersen
ecd878c169
Correct help text for NS CLIENTS LOGOUT.
"LOGOUT ALL" logs out all clients for a user.
Fixes #1712 .
vor 2 Jahren
Shivaram Lingamneni
117401f293
fix SCRAM not supporting client IDs
reported by @Mikaela
vor 2 Jahren
Shivaram Lingamneni
cf25e894e1
fix incorrect handling of overlong lines when allow-truncation is enabled
vor 2 Jahren
Shivaram Lingamneni
4dd9af8f06
add autogeneration of SCRAM credentials on successful PLAIN
vor 2 Jahren
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`
vor 2 Jahren
Shivaram Lingamneni
41822813c0
clean up redundant check for sasl mechanism
vor 2 Jahren
Shivaram Lingamneni
e1401934df
implement SCRAM-SHA-256
vor 2 Jahren
Shivaram Lingamneni
ef92318282
replace jwt library
Fixes #1762
vor 2 Jahren
Shivaram Lingamneni
6851901e20
fix #1756
A default channel mode of +i would block channel creation; fix this by treating
initial joins as SAJOINs.
Note that it's nontrivial to detect initial join in (*Channel).Join, because
having 0 members does not necessarily indicate a new channel.
vor 3 Jahren
Shivaram Lingamneni
c99b2be403
fix #1757
Allow SAJOIN or implicit always-on join to override channels.operator-only-creation
vor 3 Jahren
Pratyush Desai
99610eae4b
add timeCreated to /uban list output
vor 3 Jahren
Shivaram Lingamneni
5b317d4846
fix #1751
RENAME (channel rename) that was a simple case change (e.g.
renaming #chan to #CHAN) would delete the channel :-|
vor 3 Jahren
Valentin Lorentz
f58f8531b2
Restore support for multiple channels + single user
vor 3 Jahren
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.
vor 3 Jahren
Pratyush Desai
b2ea2583f4
add missing disconnect sno help
vor 3 Jahren
Shivaram Lingamneni
59bddd066f
update draft/register -> draft/account-registration
Fixes #1740
vor 3 Jahren
Shivaram Lingamneni
032ca175e4
add support for email timeouts
vor 3 Jahren
Shivaram Lingamneni
46572b871f
expose a user-visible error if direct email sending fails
See #1659
vor 3 Jahren
Shivaram Lingamneni
1c89f996bc
fix #1738
Fix error message for privileged NS PASSWD on a nonexistent account
vor 3 Jahren
Shivaram Lingamneni
fedf4a9176
add a debug logline for client read errors
May help clarify TLS configuration issues, possibly others too
vor 3 Jahren
Shivaram Lingamneni
5fc7ac41da
always mark the service ready after rehash
vor 3 Jahren
Shivaram Lingamneni
364193df4e
refactor some start-stop logging
vor 3 Jahren
Shivaram Lingamneni
dbfa704eb2
fix UBAN ADD of masks (k-lines) not killing clients
vor 3 Jahren
Shivaram Lingamneni
6f24082705
support systemd notifications
Fixes #1733
vor 3 Jahren
Shivaram Lingamneni
d0801e45a8
fix #1731
CHATHISTORY INVALID_TARGETS was missing the subcommand parameter
vor 3 Jahren
Pratyush Desai
99cb1fd02c
DISCONNECT Sno for always-on and/or multiclient
vor 3 Jahren
Kyle Fuller
9adc77498e
Include nick in ERR_LISTMODEALREADYSET and ERR_LISTMODENOTSET
vor 3 Jahren
Shivaram Lingamneni
0751f31b9e
fix #1722
Validate operator vhosts against the configured (or default)
vhosts.valid-regexp
vor 3 Jahren
Alex Jaspersen
ff3f959d52
Allow +v users to talk in +R channels.
vor 3 Jahren
Shivaram Lingamneni
b68696eb9b
fix #1714
Fix a panic if the operator class title is empty
vor 3 Jahren
Alex Jaspersen
b6264a43b6
Rename "realIP" to "ip" in WhoWas struct.
It could be the real IP or the proxied IP.
vor 3 Jahren
Shivaram Lingamneni
51c207dc80
fix #1703
`WHOWAS :` should return an error numeric instead of an empty response
vor 3 Jahren
Alex Jaspersen
e5c2588eab
Show real IP in WHOWAS to opers with ban capability.
vor 3 Jahren
Shivaram Lingamneni
99b9312847
fix #1696
vor 3 Jahren
Shivaram Lingamneni
4910aefa37
use ergochat/irc-go instead of goshuirc/irc-go
vor 3 Jahren
Shivaram Lingamneni
8f8b71761d
Update irc/help.go
Co-authored-by: Mikaela Suomalainen <mikaela@mikaela.info >
vor 3 Jahren
Pratyush Desai
8efb2d23c3
help for +f mode
fix help for +f mode
vor 3 Jahren
Shivaram Lingamneni
fcaefaca9c
set up new development version
vor 3 Jahren
Shivaram Lingamneni
9851d2e9bc
bump version and changelog for official release
vor 3 Jahren
Matthias Maier
6cfd8eadc9
update ChanServ OP command documentation
Commit 7ce396931c introduced the ability
that every user with an account in the AMODE list of a channel can use
the OP command to restore their modes. Update the chanserv help message
accordingly.
vor 3 Jahren
Alex Jaspersen
1d832ee1bc
Show email in NS INFO when user has permission.
Users logged into an account can see their own email.
Opers with the accreg capability can see all users.
vor 3 Jahren
Shivaram Lingamneni
b81757d273
bump version for 2.7.0-rc1
vor 3 Jahren
Shivaram Lingamneni
33e3b0ce1b
fix #1669
Sort snomasks for display rather than displaying them in hash order
vor 3 Jahren