Shivaram Lingamneni
7b58bf76ef
make error recovery configurable
il y a 6 ans
Shivaram Lingamneni
fa83ccd82b
refactor synchronization for Channel
il y a 6 ans
Daniel Oaks
8910dc59ee
Fix KLINE quit/error message and corrects comment on Client.Quit
il y a 6 ans
Shivaram Lingamneni
e540fde816
refactor idle timeouts
il y a 6 ans
Daniel Oaks
34987ba53a
Allow WEBIRC from specified hosts
il y a 6 ans
Daniel Oaks
2791476f16
INVITE: Fix dumb crash (thanks for pointing this out, @josephbisch!)
il y a 6 ans
Shivaram Lingamneni
d66470f1c4
review fix: rename various packages and objects
il y a 6 ans
Shivaram Lingamneni
58faad90dd
add loglines for IP limits
il y a 6 ans
Shivaram Lingamneni
ac9ac5ef19
create separate irc/connection_limiting package
il y a 6 ans
Shivaram Lingamneni
a2ac4eeef9
refactor limits and throttling
il y a 6 ans
Daniel Oaks
695faefd93
Allow formatting codes in the MOTD
il y a 6 ans
Daniel Oaks
68b1dc9e72
Split passwd into its' own subpackage
il y a 6 ans
Daniel Oaks
207c1074df
Split utils out to a separate subpackage
il y a 6 ans
Daniel Oaks
4aa52956e5
Split isupport to its' own subpackage
il y a 6 ans
Daniel Oaks
eac6a69782
Fix some notes and add some comments.
il y a 6 ans
Shivaram Lingamneni
456174ed53
review fixes for raw i/o notification
il y a 6 ans
Shivaram Lingamneni
aff1752d67
refactor logging to implement #142
il y a 6 ans
Daniel Oaks
f7f049973f
Rip out REST API and web interface.
It's not really used and I'd rather not have it here unless I'm able to actively maintain it properly and build out the web interface.
I might re-add it later but for now I'd rather not have it unless anyone's actively using it.
il y a 6 ans
Shivaram Lingamneni
26686d7e86
refactor monitor and /oper implementations
il y a 6 ans
Shivaram Lingamneni
23a66fa502
fix various data races, including 2 introduced by #139
il y a 6 ans
Daniel Oaks
275449e6cc
caps: Move most capability-handling types into the caps package
il y a 6 ans
Daniel Oaks
9bfdc4fdfb
Move caps to their own package to prevent conflicts
il y a 6 ans
Daniel Oaks
830484feb6
AWAY: Send correct mode string (thanks for pointing out this silly bug @jwheare!)
il y a 6 ans
Daniel Oaks
ffe7375a68
Fix proxied DLINE/throttle/etc error messages
il y a 6 ans
Shivaram Lingamneni
a9e4ed237e
deduplicate d-line and throttle code
il y a 6 ans
Daniel Oaks
8b1f722655
server: Fix the PROXY command
il y a 6 ans
Shivaram Lingamneni
b7b24c34b4
rehash cannot modify the server name
il y a 6 ans
Shivaram Lingamneni
3b0f1ff1cc
delete websocket support as per discussion on #139
il y a 6 ans
Shivaram Lingamneni
e8b1870067
refactor the rehash implementation
il y a 6 ans
Daniel Oaks
cd8b4877b6
accounts: Check for account logins correctly, fixes registration. Also fix a typo, thanks squigz!
il y a 6 ans
Daniel Oaks
3b0d9c4db9
Send nick parameter correctly on ERR_NOSUCHNICK numerics
il y a 6 ans
Daniel Oaks
e95c75f87d
monitor: Fix a crash around the MONITOR command
il y a 6 ans
Daniel Oaks
acec0e1690
PROXY: Check DLINEs and connection limits/throttle on new proxied connections
il y a 6 ans
Daniel Oaks
38498b752b
PROXY: Make sure given IPs are valid and pass them through appropriately
il y a 6 ans
Daniel Oaks
7d140c9e43
PROXY: Update some comments, disallow from registered clients
il y a 6 ans
Shivaram Lingamneni
99f02ede20
restore PROXY protocol support
support for PROXY was removed in 43e28e2fef . After discussion,
it's worth keeping around in case of client compatibility issues,
and until /rehash support is more mature.
il y a 6 ans
Daniel Oaks
8cd016e4c0
server: Fix comments
il y a 6 ans
Shivaram Lingamneni
0f0f2d1314
refactor listener update/destroy code
Don't close and reopen listeners
il y a 6 ans
Shivaram Lingamneni
d5528f6e56
execute rehash() in its own goroutine
This prevents a deadlock:
1. rehash() is executing on the main goroutine
2. it's trying to stop a listener goroutine
3. the listener goroutine needs to hand off a new connection to newConns
4. but the main goroutine is blocked by rehash() so it can't receive it
il y a 6 ans
Shivaram Lingamneni
b1376d5f71
Fix a concurrency error with Server.listeners
See #134 ; there was a `fatal error: concurrent map read and map write`
due to unsynchronized accesses to `Server.listeners`. Now, `listeners`
is only accessed by `NewServer` and `rehash`, so it doesn't need
synchronization.
il y a 6 ans
Shivaram Lingamneni
333afe1062
make default channel modes configurable
il y a 6 ans
Daniel Oaks
f9ef97b204
modes: Add experimental, untested +R user mode to block messages from unregistered users
il y a 6 ans
Daniel Oaks
97cfc0b629
Print warnings to heavily encourage exposing port 6697 as a TLS port
il y a 7 ans
Euan Kemp
2b155f9b1e
server: close connection on parse-ip failure
Close the client's connection if we're unable to parse their IP.
This also simplifies the check to reduce indentation by a level.
Finally, this replaces the two-var construction of the pseudo-const
messages with an inline dereference via a slice to allow constructing
them less noisily.
il y a 7 ans
Daniel Oaks
b807f492ed
OPER: If client's already opered-up, ignore new OPER attempts
il y a 7 ans
Daniel Oaks
23a26f83fe
client: Show real IP and whether the target's using TLS in WHOIS
il y a 7 ans
Daniel Oaks
c9ed749538
Rename deps
il y a 7 ans
Daniel Oaks
a8fa131244
Move to new repo
il y a 7 ans
Daniel Oaks
309ec8191e
Add 'k' snomask for kills (including those coming from dlines and klines)
il y a 7 ans
Daniel Oaks
8a6ba6f9cc
LIST: Start implementing ELIST conditions
il y a 7 ans