Commit Graph

902 Commits

Author SHA1 Message Date
Shivaram Lingamneni 26686d7e86 refactor monitor and /oper implementations 2017-10-04 01:19:27 -04:00
Daniel Oaks 5e9767c46d Merge pull request #146 from slingamn/data_races.1
fix various data races, including 2 introduced by #139
2017-10-04 08:00:33 +10:00
Shivaram Lingamneni 23a66fa502 fix various data races, including 2 introduced by #139 2017-10-02 04:42:50 -04:00
Daniel Oaks 58fb997e77 changelog: Update with new items 2017-10-01 15:27:47 +10:00
Daniel Oaks b8d47c3e4f channel: Server opers shouldn't override nooutside, reggedonly and moderated modes. if they want to do that sort of thing, they have SAMODE and all to be explicit about it 2017-10-01 15:18:52 +10:00
Daniel Oaks e3a0387cf5 channel: Fix +m (moderated) and +R (registeredonly) channel modes, add note about opers overriding +m/+R 2017-10-01 15:14:32 +10:00
Daniel Oaks b850a6c1d9 caps: Actually remove MessageIDs (accidentally left it here with the merge) 2017-09-29 17:54:17 +10:00
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
Daniel Oaks 85bfe3818b Merge pull request #141 from slingamn/dline_safety.2
refactor [dk]linemanagers
2017-09-29 16:26:18 +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
Daniel Oaks 90435256fd Merge pull request #138 from slingamn/quit_messages
send the actual quit message to friends
2017-09-26 13:03:13 +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 7ff33b88dd Update info doc and changelog 2017-09-25 11:09:58 +10:00
Daniel Oaks ee73d136fc vendor: Updated submodules 2017-09-25 10:54:31 +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
Daniel Oaks 989fea18f9 Merge pull request #135 from slingamn/listeners_refactor_again.7
refactor create/update/destroy of listeners
2017-09-25 10:48:22 +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
Daniel Oaks 8e32098f1f Quiet mkcerts messages 2017-09-11 09:15:39 +10:00
Daniel Oaks 97010461f7 Merge pull request #133 from slingamn/default_modes.2
implement #132 (configurable default channel modes)
2017-09-07 17:23:12 +10:00
Shivaram Lingamneni 6063d30bc5 add a test for default channel mode parsing 2017-09-06 19:51:50 -04:00