Shivaram Lingamneni
d5a5f939dd
review fixes
6 gadus atpakaļ
Shivaram Lingamneni
52b0fb71e7
refactor ClientManager
6 gadus atpakaļ
Daniel Oaks
bfcada11dc
KLINE: Save name of the banning oper
6 gadus atpakaļ
Daniel Oaks
dedb029272
DLINE: Save name of the banning oper
6 gadus atpakaļ
Daniel Oaks
8036df92fc
WHO: Require first param, matching other servers
6 gadus atpakaļ
Shivaram Lingamneni
b83d454554
fix ban regexp not being recompiled on removal
6 gadus atpakaļ
Shivaram Lingamneni
b1e12ca1eb
allow unprivileged users to list bans
6 gadus atpakaļ
Daniel Oaks
fc8007e6e4
Setup v0.10.3-unreleased devel ver
6 gadus atpakaļ
Daniel Oaks
11ea52b0f0
Release v0.10.2
6 gadus atpakaļ
Shivaram Lingamneni
ca8a0b7091
fix a wide-ranging assortment of crash bugs
6 gadus atpakaļ
Daniel Oaks
efb54163a5
Setup v0.10.2-unreleased devel ver
6 gadus atpakaļ
Daniel Oaks
f2d4698baf
Release v0.10.1
6 gadus atpakaļ
Shivaram Lingamneni
6d619bf411
fix channel mode change privilege enforcement
6 gadus atpakaļ
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.
6 gadus atpakaļ
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 gadus atpakaļ
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 gadus atpakaļ
Shivaram Lingamneni
94cf438f51
remove channelJoinPartMutex
6 gadus atpakaļ
Daniel Oaks
d715abf0f0
Add the INFO command
6 gadus atpakaļ
Daniel Oaks
384e6e1720
client: Fix crash from not having right line lengths computed
6 gadus atpakaļ
Daniel Oaks
03978c6b85
Setup 0.10.1-unreleased devel ver
6 gadus atpakaļ
Shivaram Lingamneni
6130e48a67
always log the panic trace
6 gadus atpakaļ
Shivaram Lingamneni
7b58bf76ef
make error recovery configurable
6 gadus atpakaļ
Shivaram Lingamneni
80968d000f
log panic traces via the usual logging mechanism
6 gadus atpakaļ
Shivaram Lingamneni
054f57e215
recover from client-caused panics
6 gadus atpakaļ
Shivaram Lingamneni
71e82a9ccf
move a check, avoiding a crash
6 gadus atpakaļ
Shivaram Lingamneni
240f121e5e
bug fix: SAMODE should list other users' modes
6 gadus atpakaļ
Daniel Oaks
fbaf2d8e3a
Release v0.10.0
6 gadus atpakaļ
Shivaram Lingamneni
fa83ccd82b
refactor synchronization for Channel
6 gadus atpakaļ
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 gadus atpakaļ
Daniel Oaks
8910dc59ee
Fix KLINE quit/error message and corrects comment on Client.Quit
6 gadus atpakaļ
Shivaram Lingamneni
7ccb485b50
add two getters
6 gadus atpakaļ
Shivaram Lingamneni
e540fde816
refactor idle timeouts
6 gadus atpakaļ
Shivaram Lingamneni
b86fc105cd
eliminate destroyMutex
6 gadus atpakaļ
Shivaram Lingamneni
545e8d71db
eliminate quitMutex
6 gadus atpakaļ
Daniel Oaks
b0649cb5d3
WEBIRC: Allow protecting with fingerprint and parse `tls` flag
6 gadus atpakaļ
Daniel Oaks
e1868f8a47
WEBIRC: Export fields so the config loads properly
6 gadus atpakaļ
Daniel Oaks
34987ba53a
Allow WEBIRC from specified hosts
6 gadus atpakaļ
Daniel Oaks
16c4b4166a
Change debug files from ergonomadic -> oragono
6 gadus atpakaļ
Daniel Oaks
ef25b5b5c7
draft/sts -> sts
6 gadus atpakaļ
Daniel Oaks
1324c5ff83
Allow simple way of listing DLINEs and KLINEs
6 gadus atpakaļ
Daniel Oaks
2791476f16
INVITE: Fix dumb crash (thanks for pointing this out, @josephbisch!)
6 gadus atpakaļ
Shivaram Lingamneni
d66470f1c4
review fix: rename various packages and objects
6 gadus atpakaļ
Shivaram Lingamneni
58faad90dd
add loglines for IP limits
6 gadus atpakaļ
Shivaram Lingamneni
ac9ac5ef19
create separate irc/connection_limiting package
6 gadus atpakaļ
Shivaram Lingamneni
a2ac4eeef9
refactor limits and throttling
6 gadus atpakaļ
Daniel Oaks
695faefd93
Allow formatting codes in the MOTD
6 gadus atpakaļ
Daniel Oaks
d4a8984e63
Initial implementation of labeled-responses for WHOIS
6 gadus atpakaļ
Daniel Oaks
a90ee16a20
caps: Test Add, Remove and String
6 gadus atpakaļ
Daniel Oaks
378d55af65
Add tests to subpackages
6 gadus atpakaļ
Daniel Oaks
10949a434a
kline: Gofmt -s
6 gadus atpakaļ