Shivaram Lingamneni
26686d7e86
refactor monitor and /oper implementations
6 years ago
Shivaram Lingamneni
23a66fa502
fix various data races, including 2 introduced by #139
6 years ago
Daniel Oaks
275449e6cc
caps: Move most capability-handling types into the caps package
6 years ago
Daniel Oaks
9bfdc4fdfb
Move caps to their own package to prevent conflicts
6 years ago
Daniel Oaks
830484feb6
AWAY: Send correct mode string (thanks for pointing out this silly bug @jwheare!)
6 years ago
Daniel Oaks
ffe7375a68
Fix proxied DLINE/throttle/etc error messages
6 years ago
Shivaram Lingamneni
a9e4ed237e
deduplicate d-line and throttle code
6 years ago
Daniel Oaks
8b1f722655
server: Fix the PROXY command
6 years ago
Shivaram Lingamneni
b7b24c34b4
rehash cannot modify the server name
6 years ago
Shivaram Lingamneni
3b0f1ff1cc
delete websocket support as per discussion on #139
6 years ago
Shivaram Lingamneni
e8b1870067
refactor the rehash implementation
6 years ago
Daniel Oaks
cd8b4877b6
accounts: Check for account logins correctly, fixes registration. Also fix a typo, thanks squigz!
6 years ago
Daniel Oaks
3b0d9c4db9
Send nick parameter correctly on ERR_NOSUCHNICK numerics
6 years ago
Daniel Oaks
e95c75f87d
monitor: Fix a crash around the MONITOR command
6 years ago
Daniel Oaks
acec0e1690
PROXY: Check DLINEs and connection limits/throttle on new proxied connections
6 years ago
Daniel Oaks
38498b752b
PROXY: Make sure given IPs are valid and pass them through appropriately
6 years ago
Daniel Oaks
7d140c9e43
PROXY: Update some comments, disallow from registered clients
6 years ago
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.
6 years ago
Daniel Oaks
8cd016e4c0
server: Fix comments
6 years ago
Shivaram Lingamneni
0f0f2d1314
refactor listener update/destroy code
Don't close and reopen listeners
6 years ago
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
6 years ago
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.
6 years ago
Shivaram Lingamneni
333afe1062
make default channel modes configurable
6 years ago
Daniel Oaks
f9ef97b204
modes: Add experimental, untested +R user mode to block messages from unregistered users
7 years ago
Daniel Oaks
97cfc0b629
Print warnings to heavily encourage exposing port 6697 as a TLS port
7 years ago
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.
7 years ago
Daniel Oaks
b807f492ed
OPER: If client's already opered-up, ignore new OPER attempts
7 years ago
Daniel Oaks
23a26f83fe
client: Show real IP and whether the target's using TLS in WHOIS
7 years ago
Daniel Oaks
c9ed749538
Rename deps
7 years ago
Daniel Oaks
a8fa131244
Move to new repo
7 years ago
Daniel Oaks
309ec8191e
Add 'k' snomask for kills (including those coming from dlines and klines)
7 years ago
Daniel Oaks
8a6ba6f9cc
LIST: Start implementing ELIST conditions
7 years ago
Daniel Oaks
34863a6320
JOIN: Disable JOIN 0 support, in line with Insp
7 years ago
Daniel Oaks
4128ff6137
server: Check for channel permissions when renaming channels
7 years ago
Daniel Oaks
0f8ab4eaec
server: Add proposed RENAME command
7 years ago
Daniel Oaks
53190ef131
Send a whole lot more snomasks
7 years ago
Daniel Oaks
ebb9d629d7
xline: Add ANDKILL param to kill all matching clients
7 years ago
Daniel Oaks
d847d55c06
Fix wordWrap function so it doesn't drop chars, and fix client.Notice() to automagically split very long lines.
7 years ago
Daniel Oaks
9fe7c143c8
server: Remove useless comments, make idle/quit function layouts nicer
7 years ago
Daniel Oaks
fd793d6adb
Add very initial snomasks
7 years ago
Daniel Oaks
1afd3b8f78
server: Change localconnect msg to include username/realname
7 years ago
Daniel Oaks
51425b7764
help: Generate index of help topics
7 years ago
Daniel Oaks
2bd4d03ecc
Prevent copying locks because that's silly
7 years ago
Daniel Oaks
f665ebac16
channels: Help prevent issues when join/parting
7 years ago
Daniel Oaks
e0035dfa04
types: Make ChannelNameMap use mutexes to fix crash
7 years ago
Daniel Oaks
0046025d60
Enable chanmode +r, fix bug with registering channels
7 years ago
Daniel Oaks
317a804644
Fix dates at top of source files
7 years ago
Daniel Oaks
451c40f170
WHO: Fix a small hang
7 years ago
Daniel Oaks
70b7606996
config: Allow enabling/disabling channel reg
7 years ago
Daniel Oaks
05074e966d
modes: Continue overhauling
7 years ago