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 години