Commit Graph

1081 Commits

Author SHA1 Message Date
Daniel Oaks a33e83de9e
Merge pull request #165 from slingamn/get_fail
fix a wide-ranging assortment of crash bugs
2017-11-13 22:43:24 +10:00
Shivaram Lingamneni ca8a0b7091 fix a wide-ranging assortment of crash bugs 2017-11-13 02:42:20 -05:00
Daniel Oaks ff50a25b65
Merge pull request #161 from slingamn/chanreg.3
remove registeredChannelsMutex
2017-11-13 12:46:23 +10:00
Daniel Oaks 075a38d08d developing: Add new release instructions. 2017-11-13 12:45:28 +10:00
Daniel Oaks efb54163a5 Setup v0.10.2-unreleased devel ver 2017-11-13 12:45:10 +10:00
Daniel Oaks f2d4698baf Release v0.10.1 2017-11-09 15:07:40 +10:00
Daniel Oaks 44538c3b0b
Merge pull request #162 from slingamn/modeperms
fix channel mode change privilege enforcement
2017-11-09 14:56:53 +10:00
Shivaram Lingamneni 6d619bf411 fix channel mode change privilege enforcement 2017-11-08 23:37:38 -05:00
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.
2017-11-08 22:24:33 -05:00
Shivaram Lingamneni d5832bf765
Merge pull request #160 from slingamn/cache.4
fix a race in regenerateMembersCache
2017-11-08 22:18:25 -05:00
Shivaram Lingamneni 60b861e07e fix a race in regenerateMembersCache
The rationale for why regenerateMembersCache didn't need to hold the Lock()
throughout was subtly wrong. It is true that at least some attempt to
regenerate the cache would see *all* the updates. However, it was possible for
the value of `result` generated by that attempt to lose the race for the final
assignment `channel.membersCache = result`.

The fix is to serialize the attempts to regenerate the cache, without adding
any additional locking on the underlying `Channel` fields via
`Channel.stateMutex`. This ensures that the final read from `Channel.members`
is paired with the final write to `Channel.membersCache`.
2017-11-07 14:38:18 -05:00
Daniel Oaks f9d8d1a4f9
Merge pull request #158 from slingamn/renames
rename some getters
2017-11-03 08:02:12 +00:00
Shivaram Lingamneni 9b74c47b74 rename some getters
Rename getters in conformance with the "Effective Go" styleguide recommendation:
https://golang.org/doc/effective_go.html#Getters
2017-11-03 02:36:55 -04:00
Shivaram Lingamneni 94cf438f51 remove channelJoinPartMutex 2017-10-30 05:21:47 -04:00
Daniel Oaks d715abf0f0 Add the INFO command 2017-10-29 07:59:56 +00:00
Daniel Oaks 33651ea03c vendor: Updated submodules 2017-10-29 05:05:15 +00:00
Daniel Oaks 384e6e1720 client: Fix crash from not having right line lengths computed 2017-10-29 05:04:32 +00:00
Daniel Oaks c6b6a25906 Merge remote-tracking branch 'slingmann/recovery' 2017-10-29 04:37:57 +00:00
Daniel Oaks c09ca729c4 Merge remote-tracking branch 'slingmann/membersmutex.2' 2017-10-29 04:36:42 +00:00
Daniel Oaks 03978c6b85 Setup 0.10.1-unreleased devel ver 2017-10-29 04:35:15 +00:00
Shivaram Lingamneni 6130e48a67 always log the panic trace 2017-10-26 05:15:55 -04:00
Shivaram Lingamneni 7b58bf76ef make error recovery configurable 2017-10-26 04:19:01 -04:00
Shivaram Lingamneni 80968d000f log panic traces via the usual logging mechanism 2017-10-25 13:22:02 -04:00
Shivaram Lingamneni 054f57e215 recover from client-caused panics 2017-10-23 19:08:32 -04:00
Shivaram Lingamneni 71e82a9ccf move a check, avoiding a crash 2017-10-23 18:01:28 -04:00
Shivaram Lingamneni 240f121e5e bug fix: SAMODE should list other users' modes 2017-10-22 23:07:21 -04:00
Daniel Oaks fbaf2d8e3a Release v0.10.0 2017-10-23 12:51:42 +10:00
Shivaram Lingamneni fa83ccd82b refactor synchronization for Channel 2017-10-22 19:50:16 -04:00
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
2017-10-15 22:37:36 -04:00
Daniel Oaks 8910dc59ee Fix KLINE quit/error message and corrects comment on Client.Quit 2017-10-16 10:48:05 +10:00
Shivaram Lingamneni 7ccb485b50 add two getters 2017-10-15 19:46:25 -04:00
Shivaram Lingamneni e540fde816 refactor idle timeouts 2017-10-15 19:46:25 -04:00
Shivaram Lingamneni b86fc105cd eliminate destroyMutex 2017-10-15 19:46:25 -04:00
Shivaram Lingamneni 545e8d71db eliminate quitMutex 2017-10-15 19:46:25 -04:00
Daniel Oaks b0649cb5d3 WEBIRC: Allow protecting with fingerprint and parse `tls` flag 2017-10-16 08:47:49 +10:00
Daniel Oaks 07a16b2502 changelog: Note WEBIRC command 2017-10-15 18:21:47 +10:00
Daniel Oaks e1868f8a47 WEBIRC: Export fields so the config loads properly 2017-10-15 18:15:18 +10:00
Daniel Oaks 34987ba53a Allow WEBIRC from specified hosts 2017-10-15 16:18:14 +10:00
Daniel Oaks 0cc5e68e0f Update logo some more 2017-10-15 13:18:29 +10:00
Daniel Oaks 8fbbbb0848 Update logo 2017-10-15 13:16:07 +10:00
Daniel Oaks a16d343bb1 changelog: Update 2017-10-15 13:03:43 +10:00
Daniel Oaks 16c4b4166a Change debug files from ergonomadic -> oragono 2017-10-15 12:48:10 +10:00
Daniel Oaks ef25b5b5c7 draft/sts -> sts 2017-10-15 07:58:18 +10:00
Daniel Oaks 1324c5ff83 Allow simple way of listing DLINEs and KLINEs 2017-10-15 07:53:24 +10:00
Daniel Oaks 7217bf5b85 Update config options a little more, add note in readme to modify them 2017-10-11 07:48:31 +10:00
Daniel Oaks 90bb3f79d3 Merge remote-tracking branch 'slingamn/default_tweaks' 2017-10-11 07:44:36 +10:00
Daniel Oaks 2791476f16 INVITE: Fix dumb crash (thanks for pointing this out, @josephbisch!) 2017-10-10 11:17:41 +10:00
Daniel Oaks 79325d333e Merge pull request #151 from slingamn/limits_refactor.3
refactor connection limits and throttling
2017-10-10 09:36:30 +10:00
Shivaram Lingamneni d66470f1c4 review fix: rename various packages and objects 2017-10-09 17:38:06 -04:00
Shivaram Lingamneni 0e5eec3037 fix a config comment 2017-10-09 13:48:58 -04:00