Shivaram Lingamneni
9f0c3cdc0e
fix error message for NS SET EMAIL without the password
2 vuotta sitten
Shivaram Lingamneni
ea4b93dd59
bump version to v2.8.0-rc1
2 vuotta sitten
Shivaram Lingamneni
ad8c97c9bb
CHATHISTORY with nonexistent msgid should send empty batch
It was sending MESSAGE_ERROR, which was inappropriate. Send an empty batch
for now (this is at parity with the in-memory implementation).
2 vuotta sitten
Shivaram Lingamneni
c4e376c8bb
fix spurious error logline in schema change
2 vuotta sitten
Shivaram Lingamneni
85fabaad6d
fix case where CS TRANSFER as an operator required acceptance
Reported by @mogad0n. If a user had both operator privileges and
channel owner privileges, the CS TRANSFER would proceed as though
unprivileged, requiring acceptance by the receiving user. Fix this
to not require acceptance.
2 vuotta sitten
Shivaram Lingamneni
61bce74018
fix spurious "corrupt account creds" logline
Reported by @tacerus. This was most likely introduced by 8b2f6de3e .
2 vuotta sitten
Shivaram Lingamneni
51d573d3c9
fix #1802
Add a config option to suppress LUSERS
2 vuotta sitten
Shivaram Lingamneni
8c556fe8c5
schema change to remove ReplayJoinsNever
See #1676
2 vuotta sitten
Shivaram Lingamneni
4749d7e776
fix #1676, take 2
Ensure the pagination window is full by making sure that every history item
gets a replay line in CHATHISTORY output, even TAGMSG.
2 vuotta sitten
Shivaram Lingamneni
3ec5ffa340
Revert "fix #1676"
This reverts commit 5bbee02fe6 .
2 vuotta sitten
Shivaram Lingamneni
5bbee02fe6
fix #1676
Fix various pagination issues with CHATHISTORY; also undo #491
(msgid munging).
2 vuotta sitten
Shivaram Lingamneni
7d5cb723b4
make `ergo genpasswd` warn for bad passwords
2 vuotta sitten
Alex Jaspersen
53a7e8c334
Send snomask for channel mode changes via SAMODE.
Fixes #1787
2 vuotta sitten
Shivaram Lingamneni
b0f412538c
move signals code to utils/
2 vuotta sitten
Shivaram Lingamneni
2cae19dde5
remove unnecessary indirection in config
2 vuotta sitten
Shivaram Lingamneni
e0e4791f72
factor out some shared code
2 vuotta sitten
Shivaram Lingamneni
b8009c4a07
rename oragono.io/nope to ergo.chat/nope
2 vuotta sitten
Shivaram Lingamneni
69d88fb231
update logo in /INFO response
2 vuotta sitten
Shivaram Lingamneni
b83479247e
add # to disfavoredNameCharacters
Partially fixes #1679 , not sure whether to police the relaymsg config or not
2 vuotta sitten
Shivaram Lingamneni
aa969b7ff7
fix #1530
Warn if the user sent, e.g., /QUOTE /SAMODE instead of /QUOTE SAMODE
2 vuotta sitten
Shivaram Lingamneni
26cdb4cf36
fix #1650
RPL_WHOISACTUALLY should display some arbitrarily chosen IP address and
hostname.
2 vuotta sitten
Shivaram Lingamneni
8b2f6de3e0
Add email-based password reset (#1779)
* Add email-based password reset
Fixes #734
* rename SETPASS to RESETPASS
* review fixes
* abuse mitigations
* SENDPASS and RESETPASS should both touch the client login throttle
* Produce a logline and a sno on SENDPASS (since it actually sends an email)
* don't re-retrieve the settings value
* add email confirmation for NS SET EMAIL
* smtp: if require-tls is disabled, don't validate server cert
* review fixes
* remove cooldown for NS SET EMAIL
If you accidentally set the wrong address, the cooldown would prevent you
from fixing your mistake. Since we touch the registration throttle anyway,
this shouldn't present more of an abuse concern than registration itself.
2 vuotta sitten
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.
2 vuotta sitten
Shivaram Lingamneni
492109f29d
upgrade go to 1.17
2 vuotta sitten
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
2 vuotta sitten
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.
2 vuotta sitten
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
2 vuotta sitten
Shivaram Lingamneni
abfb8442ab
fix handling of +k with an empty key parameter
This should be disallowed; `MODE #keytest +k :` should just be an error.
2 vuotta sitten
Valentin Lorentz
e894c44960
Add missing channel parameter to ERR_INVALIDMODEPARAM.
2 vuotta sitten
Alex Jaspersen
ecd878c169
Correct help text for NS CLIENTS LOGOUT.
"LOGOUT ALL" logs out all clients for a user.
Fixes #1712 .
2 vuotta sitten
Shivaram Lingamneni
117401f293
fix SCRAM not supporting client IDs
reported by @Mikaela
2 vuotta sitten
Shivaram Lingamneni
cf25e894e1
fix incorrect handling of overlong lines when allow-truncation is enabled
2 vuotta sitten
Shivaram Lingamneni
4dd9af8f06
add autogeneration of SCRAM credentials on successful PLAIN
2 vuotta sitten
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`
2 vuotta sitten
Shivaram Lingamneni
41822813c0
clean up redundant check for sasl mechanism
2 vuotta sitten
Shivaram Lingamneni
e1401934df
implement SCRAM-SHA-256
2 vuotta sitten
Shivaram Lingamneni
ef92318282
replace jwt library
Fixes #1762
2 vuotta sitten
delthas
7fde04ea94
Add support for extended-monitor
See: https://github.com/ircv3/ircv3-specifications/pull/466
2 vuotta sitten
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.
3 vuotta sitten
Shivaram Lingamneni
c99b2be403
fix #1757
Allow SAJOIN or implicit always-on join to override channels.operator-only-creation
3 vuotta sitten
Pratyush Desai
99610eae4b
add timeCreated to /uban list output
3 vuotta sitten
Shivaram Lingamneni
5b317d4846
fix #1751
RENAME (channel rename) that was a simple case change (e.g.
renaming #chan to #CHAN) would delete the channel :-|
3 vuotta sitten
Valentin Lorentz
f58f8531b2
Restore support for multiple channels + single user
3 vuotta sitten
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 vuotta sitten
Pratyush Desai
b2ea2583f4
add missing disconnect sno help
3 vuotta sitten
Shivaram Lingamneni
59bddd066f
update draft/register -> draft/account-registration
Fixes #1740
3 vuotta sitten
Shivaram Lingamneni
032ca175e4
add support for email timeouts
3 vuotta sitten
Shivaram Lingamneni
46572b871f
expose a user-visible error if direct email sending fails
See #1659
3 vuotta sitten
Shivaram Lingamneni
1c89f996bc
fix #1738
Fix error message for privileged NS PASSWD on a nonexistent account
3 vuotta sitten
Shivaram Lingamneni
fedf4a9176
add a debug logline for client read errors
May help clarify TLS configuration issues, possibly others too
3 vuotta sitten