Daniel Oaks
197ab520bf
Change casemapping name and advertisement to match new spec
6 роки тому
Shivaram Lingamneni
52b0fb71e7
refactor ClientManager
6 роки тому
Daniel Oaks
dedb029272
DLINE: Save name of the banning oper
6 роки тому
Daniel Oaks
8036df92fc
WHO: Require first param, matching other servers
6 роки тому
Shivaram Lingamneni
d4cb15354f
remove registeredChannelsMutex
This moves channel registration to an eventual consistency model,
where the in-memory datastructures (Channel and ChannelManager)
are the exclusive source of truth, and updates to them get persisted
asynchronously to the DB.
6 роки тому
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 роки тому
Shivaram Lingamneni
94cf438f51
remove channelJoinPartMutex
6 роки тому
Daniel Oaks
d715abf0f0
Add the INFO command
6 роки тому
Shivaram Lingamneni
7b58bf76ef
make error recovery configurable
6 роки тому
Shivaram Lingamneni
fa83ccd82b
refactor synchronization for Channel
6 роки тому
Daniel Oaks
8910dc59ee
Fix KLINE quit/error message and corrects comment on Client.Quit
6 роки тому
Shivaram Lingamneni
e540fde816
refactor idle timeouts
6 роки тому
Daniel Oaks
34987ba53a
Allow WEBIRC from specified hosts
6 роки тому
Daniel Oaks
2791476f16
INVITE: Fix dumb crash (thanks for pointing this out, @josephbisch!)
6 роки тому
Shivaram Lingamneni
d66470f1c4
review fix: rename various packages and objects
6 роки тому
Shivaram Lingamneni
58faad90dd
add loglines for IP limits
6 роки тому
Shivaram Lingamneni
ac9ac5ef19
create separate irc/connection_limiting package
6 роки тому
Shivaram Lingamneni
a2ac4eeef9
refactor limits and throttling
6 роки тому
Daniel Oaks
695faefd93
Allow formatting codes in the MOTD
6 роки тому
Daniel Oaks
d4a8984e63
Initial implementation of labeled-responses for WHOIS
6 роки тому
Daniel Oaks
68b1dc9e72
Split passwd into its' own subpackage
6 роки тому
Daniel Oaks
207c1074df
Split utils out to a separate subpackage
6 роки тому
Daniel Oaks
4aa52956e5
Split isupport to its' own subpackage
6 роки тому
Daniel Oaks
eac6a69782
Fix some notes and add some comments.
6 роки тому
Shivaram Lingamneni
456174ed53
review fixes for raw i/o notification
6 роки тому
Shivaram Lingamneni
aff1752d67
refactor logging to implement #142
6 роки тому
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.
6 роки тому
Shivaram Lingamneni
26686d7e86
refactor monitor and /oper implementations
6 роки тому
Shivaram Lingamneni
23a66fa502
fix various data races, including 2 introduced by #139
6 роки тому
Daniel Oaks
275449e6cc
caps: Move most capability-handling types into the caps package
6 роки тому
Daniel Oaks
9bfdc4fdfb
Move caps to their own package to prevent conflicts
6 роки тому
Daniel Oaks
830484feb6
AWAY: Send correct mode string (thanks for pointing out this silly bug @jwheare!)
6 роки тому
Daniel Oaks
ffe7375a68
Fix proxied DLINE/throttle/etc error messages
6 роки тому
Shivaram Lingamneni
a9e4ed237e
deduplicate d-line and throttle code
6 роки тому
Daniel Oaks
8b1f722655
server: Fix the PROXY command
6 роки тому
Shivaram Lingamneni
b7b24c34b4
rehash cannot modify the server name
6 роки тому
Shivaram Lingamneni
3b0f1ff1cc
delete websocket support as per discussion on #139
6 роки тому
Shivaram Lingamneni
e8b1870067
refactor the rehash implementation
6 роки тому
Daniel Oaks
cd8b4877b6
accounts: Check for account logins correctly, fixes registration. Also fix a typo, thanks squigz!
6 роки тому
Daniel Oaks
3b0d9c4db9
Send nick parameter correctly on ERR_NOSUCHNICK numerics
6 роки тому
Daniel Oaks
e95c75f87d
monitor: Fix a crash around the MONITOR command
6 роки тому
Daniel Oaks
acec0e1690
PROXY: Check DLINEs and connection limits/throttle on new proxied connections
6 роки тому
Daniel Oaks
38498b752b
PROXY: Make sure given IPs are valid and pass them through appropriately
6 роки тому
Daniel Oaks
7d140c9e43
PROXY: Update some comments, disallow from registered clients
6 роки тому
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 роки тому
Daniel Oaks
8cd016e4c0
server: Fix comments
6 роки тому
Shivaram Lingamneni
0f0f2d1314
refactor listener update/destroy code
Don't close and reopen listeners
6 роки тому
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 роки тому
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 роки тому
Shivaram Lingamneni
333afe1062
make default channel modes configurable
6 роки тому