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
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
6b20d60c06
vendor: Updated submodules
2017-10-09 07:35:17 +10:00
Daniel Oaks
bcb0981704
vendor: Updated submodules
2017-10-08 20:49:03 +10:00
Daniel Oaks
ab7c1caa43
changelog: Add new changes
2017-10-08 20:36:39 +10:00
Daniel Oaks
f86362e639
Name MOTDFORMATTING file properly
2017-10-08 20:21:53 +10:00
Daniel Oaks
695faefd93
Allow formatting codes in the MOTD
2017-10-08 20:17:49 +10:00
Daniel Oaks
095e71b2fe
readme: Add some more credits
2017-10-08 09:45:34 +10:00
Daniel Oaks
a90ee16a20
caps: Test Add, Remove and String
2017-10-08 09:26:01 +10:00