Shivaram Lingamneni
ed683bff79
remove draft/bearer in favor of IRCV3BEARER
2 mesi fa
Shivaram Lingamneni
ee7f818674
implement SASL OAUTHBEARER and draft/bearer (#2122)
* implement SASL OAUTHBEARER and draft/bearer
* Upgrade JWT lib
* Fix an edge case in SASL EXTERNAL
* Accept longer SASL responses
* review fix: allow multiple token definitions
* enhance tests
* use SASL utilities from irc-go
* test expired tokens
5 mesi fa
Shivaram Lingamneni
7ce0636276
refactor of channel persistence to use UUIDs
1 anno fa
Shivaram Lingamneni
2b86660e5c
fix read markers not being reloaded on restart
2 anni fa
Shivaram Lingamneni
b11dc1c84c
fix #1886
Add more clarify in NS INFO and SAREGISTER about unregistered nicknames
2 anni fa
Shivaram Lingamneni
78548aa9df
add SAVERIFY command
Fixes #1924
2 anni fa
Shivaram Lingamneni
32f7868bfd
implement draft/read-marker capability
2 anni fa
Shivaram Lingamneni
9f6e26450b
make SAREGISTER override DEFCON
DEFCON 4 and lower were blocking SAREGISTER. This is wrong; admins should be
allowed to make new accounts even under DEFCON (this may be needed
specifically to work around the DEFCON restriction).
2 anni fa
Shivaram Lingamneni
3162c8a1c8
fix #1898
NS SAREGISTER would fail due to a nil dereference of `client`;
add two safeguards against this.
2 anni fa
Shivaram Lingamneni
d174b5aad6
add disambiguating numbers in translated strings
2 anni fa
Shivaram Lingamneni
eef9753912
reorder imports
2 anni fa
Shivaram Lingamneni
9ff4047fa6
fix #1840
Account registrations pending verification should produce a logline and
send a sno.
2 anni fa
Shivaram Lingamneni
61bce74018
fix spurious "corrupt account creds" logline
Reported by @tacerus. This was most likely introduced by 8b2f6de3e .
2 anni fa
Shivaram Lingamneni
8c556fe8c5
schema change to remove ReplayJoinsNever
See #1676
2 anni fa
Shivaram Lingamneni
7d5cb723b4
make `ergo genpasswd` warn for bad passwords
2 anni fa
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 anni fa
Shivaram Lingamneni
117401f293
fix SCRAM not supporting client IDs
reported by @Mikaela
3 anni fa
Shivaram Lingamneni
4dd9af8f06
add autogeneration of SCRAM credentials on successful PLAIN
3 anni fa
Shivaram Lingamneni
e1401934df
implement SCRAM-SHA-256
3 anni fa
Shivaram Lingamneni
46572b871f
expose a user-visible error if direct email sending fails
See #1659
3 anni fa
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.
3 anni fa
Shivaram Lingamneni
23c7218bf1
first pass at renaming Oragono to Ergo
3 anni fa
Shivaram Lingamneni
b022c34a23
try to record buntdb errors from persisting lastSeen
See #1603
3 anni fa
Shivaram Lingamneni
d7ba478519
validate that passphrases are valid as non-final IRC parameters
3 anni fa
Shivaram Lingamneni
4a48e52518
fix #1490
Track channel join times, use them to optionally enforce history access
restrictions
3 anni fa
Shivaram Lingamneni
bafadf3aac
fix #1476
enable the use of grouped nicks as account names for SASL,
if force-nick-equals-account is disabled
3 anni fa
Shivaram Lingamneni
51f279289d
fix #1345
Store the channel-user modes of always-on clients along with their
channel memberships, restore them on server startup. This will coexist
alongside /CS AMODE, which autoapplies modes to clients on join regardless
of their always-on status.
3 anni fa
Shivaram Lingamneni
6a6f104899
fix casefolding issue in NS SUSPEND DEL
NS SUSPEND DEL incorrectly required the use of the casefolded account name.
3 anni fa
Shivaram Lingamneni
4f571c2cf3
implement NS RENAME
Fixes #1380
3 anni fa
Shivaram Lingamneni
1f6afa31d6
fix #1274
Enhancements to NS SUSPEND, including stored metadata and the ability
to list suspensions
3 anni fa
Shivaram Lingamneni
cf5a426f90
fix #1346
3 anni fa
Shivaram Lingamneni
347cc30ed4
fix a potential conflict with delayed verification of confusable names
0. Enable email verification
1. Register `dog`
2. Register `d0g`
3. Verify `dog`
4. Verify `d0g`: verification succeeds but the nick cannot be used
3 anni fa
Shivaram Lingamneni
cf46377863
fix #1332
3 anni fa
Shivaram Lingamneni
c639aac241
log the unfolded account name during registration
3 anni fa
Shivaram Lingamneni
ea68b9de0a
fix #1330
3 anni fa
Shivaram Lingamneni
82be9a8423
support migrating anope databases
3 anni fa
Shivaram Lingamneni
754fb79cdd
review fixes
3 anni fa
Shivaram Lingamneni
9ed789f67c
fix #1075
3 anni fa
Shivaram Lingamneni
7a6413ea2c
first draft of atheme migration code
3 anni fa
Shivaram Lingamneni
1a9f501383
fix #414
3 anni fa
Shivaram Lingamneni
1a98a37a75
scripting API for IP bans
See discussion on #68 .
3 anni fa
Shivaram Lingamneni
1dd0c432fd
use utils.StringSet in more places
3 anni fa
Shivaram Lingamneni
027886046c
clean up always-on state machine
4 anni fa
Shivaram Lingamneni
d679d21ac0
fix #1216
4 anni fa
Shivaram Lingamneni
bcf581f63d
fix #1214
4 anni fa
Shivaram Lingamneni
32c58c1e1f
fix #1190
4 anni fa
Shivaram Lingamneni
b3becbf08e
clean up no-op
4 anni fa
Conrad Lukawski
6f8711da3b
Persist realname for always-on clients
4 anni fa
Shivaram Lingamneni
a7ca6601c7
enhancements to moderation (#1134, #1135)
4 anni fa
Shivaram Lingamneni
6ea2eb367d
fix #328 (implement DEFCON)
4 anni fa