Shivaram Lingamneni
52b0fb71e7
refactor ClientManager
6 years ago
Shivaram Lingamneni
9b74c47b74
rename some getters
Rename getters in conformance with the "Effective Go" styleguide recommendation:
https://golang.org/doc/effective_go.html#Getters
6 years ago
Shivaram Lingamneni
94cf438f51
remove channelJoinPartMutex
6 years ago
Daniel Oaks
384e6e1720
client: Fix crash from not having right line lengths computed
6 years ago
Shivaram Lingamneni
6130e48a67
always log the panic trace
6 years ago
Shivaram Lingamneni
7b58bf76ef
make error recovery configurable
6 years ago
Shivaram Lingamneni
80968d000f
log panic traces via the usual logging mechanism
6 years ago
Shivaram Lingamneni
054f57e215
recover from client-caused panics
6 years ago
Shivaram Lingamneni
fa83ccd82b
refactor synchronization for Channel
6 years ago
Shivaram Lingamneni
c026cc5ab6
review fixes
* move constant definitions
* always give the client at least quitTimeout to respond to ping,
even if registerTimeout or quitTimeout are longer than idleTimeout
6 years ago
Daniel Oaks
8910dc59ee
Fix KLINE quit/error message and corrects comment on Client.Quit
6 years ago
Shivaram Lingamneni
e540fde816
refactor idle timeouts
6 years ago
Shivaram Lingamneni
b86fc105cd
eliminate destroyMutex
6 years ago
Shivaram Lingamneni
545e8d71db
eliminate quitMutex
6 years ago
Shivaram Lingamneni
d66470f1c4
review fix: rename various packages and objects
6 years ago
Shivaram Lingamneni
a2ac4eeef9
refactor limits and throttling
6 years ago
Daniel Oaks
d4a8984e63
Initial implementation of labeled-responses for WHOIS
6 years ago
Daniel Oaks
207c1074df
Split utils out to a separate subpackage
6 years ago
Daniel Oaks
4aa52956e5
Split isupport to its' own subpackage
6 years ago
Shivaram Lingamneni
3877db2391
review fixes: rename MonitorManager methods
6 years ago
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
Shivaram Lingamneni
e66735619e
tweak some defaults
* Lower ident timeout to 1.5 seconds, as discussed in #oragono
* Enforce connection limits at the granularity of ipv4 /32's and ipv6 /64's
* Raise the limit on number of new connections to 64 every 10 minutes
(for the benefit of people behind large IPv4 NATs)
6 years ago
Daniel Oaks
275449e6cc
caps: Move most capability-handling types into the caps package
6 years ago
Daniel Oaks
cea6565b80
client: HasCapabs -> HasRoleCapabs to make it more clear exactly what this means
6 years ago
Daniel Oaks
9bfdc4fdfb
Move caps to their own package to prevent conflicts
6 years ago
Daniel Oaks
c39206ad13
Don't create new caps out of nowhere, dummy
6 years ago
Daniel Oaks
cd8b4877b6
accounts: Check for account logins correctly, fixes registration. Also fix a typo, thanks squigz!
6 years ago
Shivaram Lingamneni
1612c141d5
send the actual quit message to friends
6 years ago
Daniel Oaks
a78a8f1130
client: Only add friends if they actually have the caps we request. Friends() is entirely broken because of this
6 years ago
Daniel Oaks
e95c75f87d
monitor: Fix a crash around the MONITOR command
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
23a26f83fe
client: Show real IP and whether the target's using TLS in WHOIS
7 years ago
Daniel Oaks
1c0c4841a1
General comments, fix misspellings and lints
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
3ee26041ff
Send snomask on client quits
7 years ago
Daniel Oaks
55d8eb5dce
Make 'nick' snomask look nicer
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
c911ff2bcd
Squash a bunch of possible races
7 years ago
Daniel Oaks
f7a4f5d956
socket: Move to a timing-out send method that reduces goroutines and ensures QUIT/ERROR are sent
7 years ago
Daniel Oaks
f665ebac16
channels: Help prevent issues when join/parting
7 years ago
Daniel Oaks
1c917a19a7
client: Ensure ERROR message is parsed when quitting
7 years ago
Daniel Oaks
22216d4d60
Fix lots of nits
7 years ago
Daniel Oaks
317a804644
Fix dates at top of source files
7 years ago
Daniel Oaks
300d02bd9c
channel: Kill a race condition that locked up the server.
Specifically, if you joined a channel while someone else was trying to part. the Join method would grab the lock, the Quit method would queue to grab the lock, the Join method would unlock and then try to regrab the lock, and it would get into a situation where nobody would have the lock and everyone would be waiting for it.
This caused weird oddities with clients.
7 years ago