3
0
mirror of https://github.com/ergochat/ergo.git synced 2024-11-26 05:49:25 +01:00
Commit Graph

652 Commits

Author SHA1 Message Date
Daniel Oaks
b4fcb45af0 Add license stuff to the top of caps/ and sno/ files I guess 2017-09-29 17:33:29 +10:00
Daniel Oaks
275449e6cc caps: Move most capability-handling types into the caps package 2017-09-29 17:25:58 +10:00
Shivaram Lingamneni
ae441d22d3 refactor [dk]linemanagers
* Synchronize map accesses
* Be more aggressive about cleaning up expired lines
* CIDR dlines did not work (nil dereference)
2017-09-29 02:07:09 -04:00
Daniel Oaks
cea6565b80 client: HasCapabs -> HasRoleCapabs to make it more clear exactly what this means 2017-09-29 12:11:06 +10:00
Daniel Oaks
810908db7f Add comments 2017-09-29 12:09:48 +10:00
Daniel Oaks
9bfdc4fdfb Move caps to their own package to prevent conflicts 2017-09-29 12:07:52 +10:00
Daniel Oaks
830484feb6 AWAY: Send correct mode string (thanks for pointing out this silly bug @jwheare!) 2017-09-29 11:56:18 +10:00
Daniel Oaks
c39206ad13 Don't create new caps out of nowhere, dummy 2017-09-29 11:55:54 +10:00
Daniel Oaks
ffe7375a68 Fix proxied DLINE/throttle/etc error messages 2017-09-29 07:18:08 +10:00
Shivaram Lingamneni
a9e4ed237e deduplicate d-line and throttle code 2017-09-29 07:05:59 +10:00
Daniel Oaks
8b1f722655 server: Fix the PROXY command 2017-09-29 07:05:22 +10:00
Daniel Oaks
3f4bf38bee Merge branch 'rehash_refactor.4' of https://github.com/slingamn/oragono 2017-09-29 06:50:54 +10:00
Daniel Oaks
8ea5632269 Setup v0.9.2-unreleased devel ver 2017-09-29 06:50:09 +10:00
Shivaram Lingamneni
b7b24c34b4 rehash cannot modify the server name 2017-09-28 02:58:09 -04:00
Shivaram Lingamneni
3b0f1ff1cc delete websocket support as per discussion on #139 2017-09-28 02:53:08 -04:00
Shivaram Lingamneni
e8b1870067 refactor the rehash implementation 2017-09-28 02:13:24 -04:00
Daniel Oaks
eae04e8c51 Release v0.9.1 2017-09-28 15:49:10 +10:00
Daniel Oaks
cd8b4877b6 accounts: Check for account logins correctly, fixes registration. Also fix a typo, thanks squigz! 2017-09-28 15:49:01 +10:00
Shivaram Lingamneni
1612c141d5 send the actual quit message to friends 2017-09-25 22:47:03 -04:00
Daniel Oaks
a78a8f1130 client: Only add friends if they actually have the caps we request. Friends() is entirely broken because of this 2017-09-26 08:36:34 +10:00
Daniel Oaks
79de443496 channel: Don't send TOPIC on entirely new channel 2017-09-26 08:01:10 +10:00
Daniel Oaks
2759d8f5d3 modes: Allow 'MODE b' (used by irssi for channel sync) (thanks @dx!) 2017-09-26 07:58:17 +10:00
Daniel Oaks
3b0d9c4db9 Send nick parameter correctly on ERR_NOSUCHNICK numerics 2017-09-26 07:52:43 +10:00
Daniel Oaks
1ccdd67a45 Setup v0.9.1-unreleased devel ver 2017-09-26 00:45:42 +10:00
Daniel Oaks
02cd620bd4 Release v0.9.0 2017-09-25 11:29:43 +10:00
Daniel Oaks
e95c75f87d monitor: Fix a crash around the MONITOR command 2017-09-25 11:29:27 +10:00
Daniel Oaks
acec0e1690 PROXY: Check DLINEs and connection limits/throttle on new proxied connections 2017-09-25 10:52:02 +10:00
Daniel Oaks
38498b752b PROXY: Make sure given IPs are valid and pass them through appropriately 2017-09-25 10:52:01 +10:00
Daniel Oaks
7d140c9e43 PROXY: Update some comments, disallow from registered clients 2017-09-25 10:52:01 +10:00
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.
2017-09-25 10:52:01 +10:00
Daniel Oaks
8cd016e4c0 server: Fix comments 2017-09-25 10:52:01 +10:00
Shivaram Lingamneni
0f0f2d1314 refactor listener update/destroy code
Don't close and reopen listeners
2017-09-11 18:40:15 -04:00
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
2017-09-11 14:03:53 -04:00
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.
2017-09-11 11:29:14 -04:00
Daniel Oaks
c48d869f4d Allow multiple account registrations for testing 2017-09-11 09:16:13 +10:00
Shivaram Lingamneni
6063d30bc5 add a test for default channel mode parsing 2017-09-06 19:51:50 -04:00
Shivaram Lingamneni
333afe1062 make default channel modes configurable 2017-09-06 17:37:29 -04:00
Daniel Oaks
d052ca8a8d accounts: Disable reg if client's already registered an account 2017-09-06 14:38:55 +10:00
Daniel Oaks
ac91a3e484 strings: Follow latest advice on PRECIS regarding string stabilizing 2017-09-06 14:38:55 +10:00
Daniel Oaks
f9ef97b204 modes: Add experimental, untested +R user mode to block messages from unregistered users 2017-09-06 14:38:54 +10:00
Shivaram Lingamneni
9a9a85cd55 fix hostmask issue
PTR records ending in . (e.g., `google-public-dns-b.google.com.`)
were considered invalid
2017-09-05 11:43:50 -04:00
Daniel Oaks
ffabd26653 Make sure ISUPPORT outputs are sorted and tested 2017-07-30 22:42:37 +10:00
Daniel Oaks
97cfc0b629 Print warnings to heavily encourage exposing port 6697 as a TLS port 2017-07-27 23:29:08 +10:00
Daniel Oaks
0b75351e56 Merge pull request #128 from euank/return-bad-ip-err
server: close connection on parse-ip failure
2017-07-26 17:19:08 +10:00
Euan Kemp
3b47f3d470 config: don't casefold tls names
I don't think casefolding things like `:6697` ever made sense.
Since these are configured by the ircd operator, it makes sense to
assume they'll already be in a canonical form regardless.
2017-07-25 23:28:29 -07:00
Euan Kemp
449ef4cea1 strings: disallow ':' in nicks
This matches the behavior of inspircd at the very least.

Previously, the comment above that section claimed ':' should be
disallowed, but the code didn't do so.

I also simplified the code a little bit and added tests.
2017-07-25 23:28:29 -07:00
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.
2017-07-25 22:19:40 -07:00
Daniel Oaks
b807f492ed OPER: If client's already opered-up, ignore new OPER attempts 2017-07-23 22:50:50 +10:00
Euan Kemp
2e8a98a925 irc: fix timer memleak
This is a gotcha called out in the `time.After` docs. `time.After` will
leak the underlying channel if nothing ever receives on it.
2017-07-14 17:21:53 +10:00
Daniel Oaks
c0fbc7908d sasl: Always send a 906 in response to AUTHENTICATE * 2017-06-30 11:06:10 +10:00