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 лет назад