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`.
6 роки тому
Shivaram Lingamneni
9b74c47b74
rename some getters
Rename getters in conformance with the "Effective Go" styleguide recommendation:
https://golang.org/doc/effective_go.html#Getters
6 роки тому
Shivaram Lingamneni
94cf438f51
remove channelJoinPartMutex
6 роки тому
Daniel Oaks
d715abf0f0
Add the INFO command
6 роки тому
Daniel Oaks
384e6e1720
client: Fix crash from not having right line lengths computed
6 роки тому
Daniel Oaks
03978c6b85
Setup 0.10.1-unreleased devel ver
6 роки тому
Shivaram Lingamneni
6130e48a67
always log the panic trace
6 роки тому
Shivaram Lingamneni
7b58bf76ef
make error recovery configurable
6 роки тому
Shivaram Lingamneni
80968d000f
log panic traces via the usual logging mechanism
6 роки тому
Shivaram Lingamneni
054f57e215
recover from client-caused panics
6 роки тому
Shivaram Lingamneni
71e82a9ccf
move a check, avoiding a crash
6 роки тому
Shivaram Lingamneni
240f121e5e
bug fix: SAMODE should list other users' modes
6 роки тому
Daniel Oaks
fbaf2d8e3a
Release v0.10.0
6 роки тому
Shivaram Lingamneni
fa83ccd82b
refactor synchronization for Channel
6 роки тому
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
6 роки тому
Daniel Oaks
8910dc59ee
Fix KLINE quit/error message and corrects comment on Client.Quit
6 роки тому
Shivaram Lingamneni
7ccb485b50
add two getters
6 роки тому
Shivaram Lingamneni
e540fde816
refactor idle timeouts
6 роки тому
Shivaram Lingamneni
b86fc105cd
eliminate destroyMutex
6 роки тому
Shivaram Lingamneni
545e8d71db
eliminate quitMutex
6 роки тому
Daniel Oaks
b0649cb5d3
WEBIRC: Allow protecting with fingerprint and parse `tls` flag
6 роки тому
Daniel Oaks
e1868f8a47
WEBIRC: Export fields so the config loads properly
6 роки тому
Daniel Oaks
34987ba53a
Allow WEBIRC from specified hosts
6 роки тому
Daniel Oaks
16c4b4166a
Change debug files from ergonomadic -> oragono
6 роки тому
Daniel Oaks
ef25b5b5c7
draft/sts -> sts
6 роки тому
Daniel Oaks
1324c5ff83
Allow simple way of listing DLINEs and KLINEs
6 роки тому
Daniel Oaks
2791476f16
INVITE: Fix dumb crash (thanks for pointing this out, @josephbisch!)
6 роки тому
Shivaram Lingamneni
d66470f1c4
review fix: rename various packages and objects
6 роки тому
Shivaram Lingamneni
58faad90dd
add loglines for IP limits
6 роки тому
Shivaram Lingamneni
ac9ac5ef19
create separate irc/connection_limiting package
6 роки тому
Shivaram Lingamneni
a2ac4eeef9
refactor limits and throttling
6 роки тому
Daniel Oaks
695faefd93
Allow formatting codes in the MOTD
6 роки тому
Daniel Oaks
a90ee16a20
caps: Test Add, Remove and String
6 роки тому
Daniel Oaks
378d55af65
Add tests to subpackages
6 роки тому
Daniel Oaks
10949a434a
kline: Gofmt -s
6 роки тому
Daniel Oaks
9f7e395c96
logger: Fix comments
6 роки тому
Daniel Oaks
68b1dc9e72
Split passwd into its' own subpackage
6 роки тому
Daniel Oaks
207c1074df
Split utils out to a separate subpackage
6 роки тому
Daniel Oaks
4aa52956e5
Split isupport to its' own subpackage
6 роки тому
Daniel Oaks
eac6a69782
Fix some notes and add some comments.
6 роки тому
Daniel Oaks
797b9f0996
help: Link to https oragono.io
6 роки тому
Shivaram Lingamneni
456174ed53
review fixes for raw i/o notification
6 роки тому
Shivaram Lingamneni
aff1752d67
refactor logging to implement #142
6 роки тому
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.
6 роки тому
Daniel Oaks
04d5d2fcc2
monitor: Fix target output when adding targets
6 роки тому
Shivaram Lingamneni
d39ee2fafa
fix: RPL_MONONLINE must be server-prefixed
also, remove the self-notification check; clients are probably not
monitoring themselves, and it doesn't much matter if they are
6 роки тому
Shivaram Lingamneni
84c1533b53
review fix: report unfolded nicks in `/monitor l` when possible
6 роки тому
Shivaram Lingamneni
3877db2391
review fixes: rename MonitorManager methods
6 роки тому
Shivaram Lingamneni
26686d7e86
refactor monitor and /oper implementations
6 роки тому
Shivaram Lingamneni
23a66fa502
fix various data races, including 2 introduced by #139
6 роки тому