Shivaram Lingamneni
9d9ee11224
fix #1860
CS AMODE changes should take immediate effect even if the nick
does not match the account.
2 years ago
Shivaram Lingamneni
8be8f0f08d
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
2 years ago
Shivaram Lingamneni
f40d868cf5
disallow initial $ in nicknames
It collides with the massmessage mask syntax. Reported by @emersion
2 years ago
Shivaram Lingamneni
cb757c703d
change FAIL AUTHENTICATE VERIFICATION_REQUIRED to be a NOTE
See discussion on #1852
2 years ago
Shivaram Lingamneni
7d66368274
add FAIL AUTHENTICATE VERIFICATION_REQUIRED
From discussion with @emersion , this will help with UX if people try to
log into their unverified accounts.
2 years ago
Shivaram Lingamneni
645721f97e
fix missing parenthesis in UBAN INFO
2 years ago
Shivaram Lingamneni
fd45529d94
fix #1842
Warn about banning a single IPv6 address
2 years ago
Shivaram Lingamneni
eef9753912
reorder imports
2 years ago
Shivaram Lingamneni
9ff4047fa6
fix #1840
Account registrations pending verification should produce a logline and
send a sno.
2 years ago
Shivaram Lingamneni
ee720f60e2
fix #1826
CS PURGE should send a snomask
2 years ago
Shivaram Lingamneni
c51569420a
fix #1844
Send snomasks for HS SET
2 years ago
Pratyush Desai
e0f4fcee61
NS SUSPEND now req 'ban' capabs
2 years ago
Shivaram Lingamneni
bc5c2a1250
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.
2 years ago
Shivaram Lingamneni
2038763e10
fix #1730
`WHO #channel o` is supposed to return only server operators.
This is RFC1459 cruft; just return an empty list in this case.
2 years ago
Shivaram Lingamneni
62b2d0341e
fix #1831
RPL_ENDOFWHO should send the original, un-normalized mask
2 years ago
Shivaram Lingamneni
92f6bf2d03
set up new development version
2 years ago
Shivaram Lingamneni
c70e518eed
bump version to v2.8.0
2 years ago
Shivaram Lingamneni
050e27b31b
fix #1798
Improve documentation for use of certificate fingerprints
2 years ago
Shivaram Lingamneni
4bffdba610
SAMODE +f shouldn't require channel privileges
Reported by @Mikaela ; normally this requires +o or higher on the
channel that is the target of the forward, but SAMODE should bypass
this check.
2 years ago
Shivaram Lingamneni
dc75b24d23
clarify comment on CAP byte arithmetic
2 years ago
Shivaram Lingamneni
9f0c3cdc0e
fix error message for NS SET EMAIL without the password
2 years ago
Shivaram Lingamneni
ea4b93dd59
bump version to v2.8.0-rc1
2 years ago
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 years ago
Shivaram Lingamneni
c4e376c8bb
fix spurious error logline in schema change
2 years ago
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 years ago
Shivaram Lingamneni
61bce74018
fix spurious "corrupt account creds" logline
Reported by @tacerus. This was most likely introduced by 8b2f6de3e .
2 years ago
Shivaram Lingamneni
51d573d3c9
fix #1802
Add a config option to suppress LUSERS
2 years ago
Shivaram Lingamneni
8c556fe8c5
schema change to remove ReplayJoinsNever
See #1676
2 years ago
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 years ago
Shivaram Lingamneni
3ec5ffa340
Revert "fix #1676"
This reverts commit 5bbee02fe6 .
2 years ago
Shivaram Lingamneni
5bbee02fe6
fix #1676
Fix various pagination issues with CHATHISTORY; also undo #491
(msgid munging).
2 years ago
Shivaram Lingamneni
7d5cb723b4
make `ergo genpasswd` warn for bad passwords
2 years ago
Alex Jaspersen
53a7e8c334
Send snomask for channel mode changes via SAMODE.
Fixes #1787
2 years ago
Shivaram Lingamneni
b0f412538c
move signals code to utils/
2 years ago
Shivaram Lingamneni
2cae19dde5
remove unnecessary indirection in config
2 years ago
Shivaram Lingamneni
e0e4791f72
factor out some shared code
2 years ago
Shivaram Lingamneni
b8009c4a07
rename oragono.io/nope to ergo.chat/nope
2 years ago
Shivaram Lingamneni
69d88fb231
update logo in /INFO response
2 years ago
Shivaram Lingamneni
b83479247e
add # to disfavoredNameCharacters
Partially fixes #1679 , not sure whether to police the relaymsg config or not
2 years ago
Shivaram Lingamneni
aa969b7ff7
fix #1530
Warn if the user sent, e.g., /QUOTE /SAMODE instead of /QUOTE SAMODE
2 years ago
Shivaram Lingamneni
26cdb4cf36
fix #1650
RPL_WHOISACTUALLY should display some arbitrarily chosen IP address and
hostname.
2 years ago
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 years ago
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 years ago
Shivaram Lingamneni
492109f29d
upgrade go to 1.17
2 years ago
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 years ago
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 years ago
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 years ago
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 years ago
Valentin Lorentz
e894c44960
Add missing channel parameter to ERR_INVALIDMODEPARAM.
2 years ago
Alex Jaspersen
ecd878c169
Correct help text for NS CLIENTS LOGOUT.
"LOGOUT ALL" logs out all clients for a user.
Fixes #1712 .
2 years ago