Commit Graph

348 Commits

Author SHA1 Message Date
Daniel Oaks 34987ba53a Allow WEBIRC from specified hosts 2017-10-15 16:18:14 +10:00
Daniel Oaks 2791476f16 INVITE: Fix dumb crash (thanks for pointing this out, @josephbisch!) 2017-10-10 11:17:41 +10:00
Shivaram Lingamneni d66470f1c4 review fix: rename various packages and objects 2017-10-09 17:38:06 -04:00
Shivaram Lingamneni 58faad90dd add loglines for IP limits 2017-10-09 13:24:12 -04:00
Shivaram Lingamneni ac9ac5ef19 create separate irc/connection_limiting package 2017-10-09 13:24:12 -04:00
Shivaram Lingamneni a2ac4eeef9 refactor limits and throttling 2017-10-09 13:24:12 -04:00
Daniel Oaks 695faefd93 Allow formatting codes in the MOTD 2017-10-08 20:17:49 +10:00
Daniel Oaks 68b1dc9e72 Split passwd into its' own subpackage 2017-10-06 00:03:53 +10:00
Daniel Oaks 207c1074df Split utils out to a separate subpackage 2017-10-05 23:47:43 +10:00
Daniel Oaks 4aa52956e5 Split isupport to its' own subpackage 2017-10-05 23:39:57 +10:00
Daniel Oaks eac6a69782 Fix some notes and add some comments. 2017-10-05 23:29:34 +10:00
Shivaram Lingamneni 456174ed53 review fixes for raw i/o notification 2017-10-05 21:06:22 +10:00
Shivaram Lingamneni aff1752d67 refactor logging to implement #142 2017-10-05 21:05:57 +10:00
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.
2017-10-05 17:14:16 +10:00
Shivaram Lingamneni 26686d7e86 refactor monitor and /oper implementations 2017-10-04 01:19:27 -04:00
Shivaram Lingamneni 23a66fa502 fix various data races, including 2 introduced by #139 2017-10-02 04:42:50 -04:00
Daniel Oaks 275449e6cc caps: Move most capability-handling types into the caps package 2017-09-29 17:25:58 +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 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
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 cd8b4877b6 accounts: Check for account logins correctly, fixes registration. Also fix a typo, thanks squigz! 2017-09-28 15:49:01 +10:00
Daniel Oaks 3b0d9c4db9 Send nick parameter correctly on ERR_NOSUCHNICK numerics 2017-09-26 07:52: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
Shivaram Lingamneni 333afe1062 make default channel modes configurable 2017-09-06 17:37:29 -04: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
Daniel Oaks 97cfc0b629 Print warnings to heavily encourage exposing port 6697 as a TLS port 2017-07-27 23:29:08 +10: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
Daniel Oaks 23a26f83fe client: Show real IP and whether the target's using TLS in WHOIS 2017-06-23 05:15:10 +10:00
Daniel Oaks c9ed749538 Rename deps 2017-06-15 10:14:19 -06:00
Daniel Oaks a8fa131244 Move to new repo 2017-06-14 12:00:53 -06:00
Daniel Oaks 309ec8191e Add 'k' snomask for kills (including those coming from dlines and klines) 2017-06-11 10:01:39 -06:00
Daniel Oaks 8a6ba6f9cc LIST: Start implementing ELIST conditions 2017-06-11 07:45:58 -06:00
Daniel Oaks 34863a6320 JOIN: Disable JOIN 0 support, in line with Insp 2017-06-10 17:03:23 -06:00
Daniel Oaks 4128ff6137 server: Check for channel permissions when renaming channels 2017-06-04 20:06:11 -06:00
Daniel Oaks 0f8ab4eaec server: Add proposed RENAME command 2017-06-04 20:01:37 -06:00
Daniel Oaks 53190ef131 Send a whole lot more snomasks 2017-05-28 12:43:09 -06:00