Shivaram Lingamneni
f48af3ee44
correctly support disabling caps with CAP REQ, fixes #337
5 vuotta sitten
Shivaram Lingamneni
35948d2e5b
refactor some conditions for clarity
5 vuotta sitten
Shivaram Lingamneni
18c0c9da45
use our fork of mtibben/confusables for now
5 vuotta sitten
Shivaram Lingamneni
b9b2553a2f
use the TR39 skeleton algorithm to prevent confusables (#178)
5 vuotta sitten
Shivaram Lingamneni
8438afcc5c
fix: usernames from ident don't get a ~
5 vuotta sitten
Shivaram Lingamneni
4bbba5b478
fix the issue for AllNickmasks as well
5 vuotta sitten
Shivaram Lingamneni
a2a9788f39
fix spurious bidi violations when casefolding the nickmask of an RTL nick
5 vuotta sitten
Shivaram Lingamneni
96737ea6d7
fix a memory leak
Even after the timer fired, we were retaining a pointer to it;
clean those up too along with the other cleanup tasks.
5 vuotta sitten
Shivaram Lingamneni
854d85a474
add schema change for [dk]line refactor
5 vuotta sitten
Shivaram Lingamneni
6bdc6af186
refactor [dk]lines, implement #144
5 vuotta sitten
Shivaram Lingamneni
f154ea9583
add an error message for schema changes
5 vuotta sitten
Daniel Oaks
63fde2d62a
Re-enable MaxLine
5 vuotta sitten
Shivaram Lingamneni
0475fe882c
fix ns register validation bug
5 vuotta sitten
Shivaram Lingamneni
d6494957a4
forbid logging in twice via nickserv
5 vuotta sitten
Shivaram Lingamneni
598d9a025b
review fix: add maxParams for service commands
5 vuotta sitten
Shivaram Lingamneni
4caa362f18
fix histserv nick reservation
5 vuotta sitten
Shivaram Lingamneni
a52d167278
additional defensive check in EnforcementStatus
5 vuotta sitten
Shivaram Lingamneni
efc0ce3b81
fix an edge case in configurable nickname reservation
5 vuotta sitten
Shivaram Lingamneni
b80df0885f
refactor services code
5 vuotta sitten
Shivaram Lingamneni
501bb1e5c5
replay JOIN/PART/QUIT/KICK as PRIVMSG from HistServ
see https://github.com/ircv3/ircv3-specifications/issues/293
5 vuotta sitten
Shivaram Lingamneni
f20abf414f
don't log an error logline for an incorrect SASL password
5 vuotta sitten
Shivaram Lingamneni
2ee89b15b3
per-user settings for nickname enforcement
5 vuotta sitten
Shivaram Lingamneni
d0ded906d4
fix a fairly bad bug where nicks could get out of sync
during nick change, removeInternal(client) was being called even before checking
whether the new nick was in use or reserved. Reproduction steps:
1. Log in a client 'alice'
2. Log in a client 'bob'
3. bob issues /nick alice, which fails (correctly) with:
:oragono.test 433 bob alice :Nickname is already in use
4. alice issues /msg bob hi, which fails (incorrectly) with:
:oragono.test 401 alice bob :No such nick
5 vuotta sitten
Shivaram Lingamneni
9a2117f75d
preregNick doesn't need synchronization
(since it's only accessed from the client's own goroutine)
5 vuotta sitten
Shivaram Lingamneni
f94f737b31
add support for login throttling
5 vuotta sitten
Shivaram Lingamneni
3cd3601a30
refactor join/part
5 vuotta sitten
Shivaram Lingamneni
960d51159c
add ClientDetails struct for getting a snapshot of client state
5 vuotta sitten
Shivaram Lingamneni
c2b2559ab4
avoid some uses of Sprintf for loglines
5 vuotta sitten
Shivaram Lingamneni
ec4f1c189a
pointless optimizations to the logger
5 vuotta sitten
Shivaram Lingamneni
6402a69fb9
use the rehash log category consistently
5 vuotta sitten
Shivaram Lingamneni
d6d3a10817
implement #322
Automatically create the datastore on `oragono run` if it doesn't exist.
See also #302 .
5 vuotta sitten
Shivaram Lingamneni
7c36ec3f9d
allow auto-ops (halfop and higher) to bypass channel join restrictions
5 vuotta sitten
Shivaram Lingamneni
a4b3fb0e83
changes to client idle time counting
1. Remove leaveClientIdle (unused)
2. s/leaveClientActive/leaveClientIdle/
3. make ISON a leaveClientIdle command (some clients send it periodically
if a /msg window is left open)
5 vuotta sitten
Shivaram Lingamneni
ba2aacaf5b
fix #297
add validation for isupport tokens
5 vuotta sitten
Shivaram Lingamneni
b34bab16a7
ensure that identical PRIVMSG share a time tag
5 vuotta sitten
Shivaram Lingamneni
d5eade5494
force trailing zeroes in timestamp wire format
According to jwheare, ISO 8601 doesn't specify the behavior one way
or the other, and the server-time spec is also ambiguous, but this
is safest.
5 vuotta sitten
Shivaram Lingamneni
ac480d782f
add millisecond resolution to loglines
5 vuotta sitten
Shivaram Lingamneni
f35a1c7212
use GenerateSecretToken for msgids
5 vuotta sitten
Shivaram Lingamneni
c95ed46949
add whois support for services
5 vuotta sitten
Shivaram Lingamneni
2c7c8fbaf9
history replay enhancements
5 vuotta sitten
Shivaram Lingamneni
525b2c52b1
fix hostserv help string
5 vuotta sitten
Shivaram Lingamneni
f58c873f84
fix RPL_INVITING response to match modern ircdocs
5 vuotta sitten
Shivaram Lingamneni
b6b4d365bc
fix #313
5 vuotta sitten
Shivaram Lingamneni
92eca4d795
add more test cases
5 vuotta sitten
Shivaram Lingamneni
40e63dbbe8
fix #306
Fix spurious bidi rule violations in casefolding channel names
by stripping the # before starting the casefolding.
5 vuotta sitten
Shivaram Lingamneni
48f9b5e4fa
implement NS PASSWD for password changes
5 vuotta sitten
Shivaram Lingamneni
c8cf0befc6
fixes to irc/socket.go
* fix a race condition: a call to `Write` does not spawn a writer goroutine
if the trylock is held, so `BlockingWrite` must check for fresh data after
releasing the trylock
* streamline some close/finalize logic
5 vuotta sitten
Shivaram Lingamneni
a0bf548fc5
draft/resume-0.2 implementation, message history support
5 vuotta sitten
Sean Enck
c20afab7c2
prevents default create/open of buntdb, requires user to call initdb
5 vuotta sitten
Daniel Oaks
55503961cb
Release v0.12.0
5 vuotta sitten