Shivaram Lingamneni
f94f737b31
add support for login throttling
5 years ago
Shivaram Lingamneni
3cd3601a30
refactor join/part
5 years ago
Shivaram Lingamneni
960d51159c
add ClientDetails struct for getting a snapshot of client state
5 years ago
Shivaram Lingamneni
c2b2559ab4
avoid some uses of Sprintf for loglines
5 years ago
Shivaram Lingamneni
ec4f1c189a
pointless optimizations to the logger
5 years ago
Shivaram Lingamneni
6402a69fb9
use the rehash log category consistently
5 years ago
Shivaram Lingamneni
d6d3a10817
implement #322
Automatically create the datastore on `oragono run` if it doesn't exist.
See also #302 .
5 years ago
Shivaram Lingamneni
7c36ec3f9d
allow auto-ops (halfop and higher) to bypass channel join restrictions
5 years ago
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 years ago
Shivaram Lingamneni
ba2aacaf5b
fix #297
add validation for isupport tokens
5 years ago
Shivaram Lingamneni
b34bab16a7
ensure that identical PRIVMSG share a time tag
5 years ago
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 years ago
Shivaram Lingamneni
ac480d782f
add millisecond resolution to loglines
5 years ago
Shivaram Lingamneni
f35a1c7212
use GenerateSecretToken for msgids
5 years ago
Shivaram Lingamneni
c95ed46949
add whois support for services
5 years ago
Shivaram Lingamneni
2c7c8fbaf9
history replay enhancements
5 years ago
Shivaram Lingamneni
525b2c52b1
fix hostserv help string
5 years ago
Shivaram Lingamneni
f58c873f84
fix RPL_INVITING response to match modern ircdocs
5 years ago
Shivaram Lingamneni
b6b4d365bc
fix #313
5 years ago
Shivaram Lingamneni
92eca4d795
add more test cases
5 years ago
Shivaram Lingamneni
40e63dbbe8
fix #306
Fix spurious bidi rule violations in casefolding channel names
by stripping the # before starting the casefolding.
5 years ago
Shivaram Lingamneni
48f9b5e4fa
implement NS PASSWD for password changes
5 years ago
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 years ago
Shivaram Lingamneni
a0bf548fc5
draft/resume-0.2 implementation, message history support
5 years ago
Sean Enck
c20afab7c2
prevents default create/open of buntdb, requires user to call initdb
5 years ago
Daniel Oaks
55503961cb
Release v0.12.0
5 years ago
Shivaram Lingamneni
10d4f77638
fix PROXY protocol support for IPv6
1. Handle PROXY lines with IPv6 addresses starting with ::
(similar to WEBIRC in issue #211 )
2. Strip v6 mapping from v4 addresses when handling proxied IPs.
5 years ago
Shivaram Lingamneni
0e5842b33a
fix #211
5 years ago
Shivaram Lingamneni
c3d197f4ff
make unix domain socket permissions configurable
5 years ago
Shivaram Lingamneni
86836905b3
re-add nil receiver for ModeSet.HasMode
5 years ago
Shivaram Lingamneni
ac08ce0f20
move ChannelOperator check into hasPrivs helper
5 years ago
Shivaram Lingamneni
a18283e2de
fix a crash when SAMODE'ing in a channel you're not joined to
5 years ago
Shivaram Lingamneni
1fb9bd7208
Fix a bug in 330 RPL_WHOISACCOUNT
According to https://defs.ircdocs.horse/defs/numerics.html , 330 RPL_WHOISACCOUNT
takes 4 parameters: `<client> <nick> <authname> :<info>`. We were omitting
the second parameter (the target nick).
Also refactor locking.
5 years ago
Shivaram Lingamneni
a2c2419084
remove stackimpact
5 years ago
Shivaram Lingamneni
6eda236eab
remove allow-multiple-per-connection
5 years ago
Shivaram Lingamneni
b45b863fc4
unregister capab was renamed to accreg, but i missed this occurrence
5 years ago
Shivaram Lingamneni
a4546c418b
fix miscounting in LUSERS
5 years ago
Shivaram Lingamneni
7cd5b8473c
fix a bug in CS UNREGISTER
6 years ago
Shivaram Lingamneni
578ca2fdf6
add support for service command aliases
6 years ago
Shivaram Lingamneni
3c12fb6254
fix #283 (remove unnecessary log.Fatal)
The server should never crash during rehash, even if the config is invalid.
6 years ago
Shivaram Lingamneni
eb5f2c1db9
fix webirc password handling
6 years ago
Shivaram Lingamneni
dfb0a57040
refactor the password hashing / password autoupgrade system
6 years ago
Daniel Oaks
6260869068
Upgrade password hashing.
Previously, we generated and prepended a long salt before generating
password hashes. This resulted in the hash verification cutting off long
before it should do. This form of salting is also not necessary with
bcrypt as it's provided by the password hashing and verification
functions themselves, so totally rip it out.
This commit also adds the functionality for the server to automagically
upgrade users to use the new hashing system, which means better
security and more assurance that people can't bruteforce passwords.
No need to apply a database upgrade to do this, whoo! \o/
6 years ago
Shivaram Lingamneni
7154f14781
move handling of RecoverFromErrors into LoadConfig
6 years ago
Shivaram Lingamneni
1383190249
refactor rehash to rely more on server.config
6 years ago
Shivaram Lingamneni
318da22448
simplify CAS logic a bit
6 years ago
Shivaram Lingamneni
1e513a717c
expand bitset tests
6 years ago
Shivaram Lingamneni
a1bbe0c7f2
review fix
6 years ago
Shivaram Lingamneni
2a33c1483b
atomic bitset implementations of caps.Set and modes.ModeSet
6 years ago
Shivaram Lingamneni
cdbb369a9c
add benchmarks for caps.Set
6 years ago