Shivaram Lingamneni
b9b2553a2f
use the TR39 skeleton algorithm to prevent confusables (#178)
hace 5 años
Shivaram Lingamneni
9a2117f75d
preregNick doesn't need synchronization
(since it's only accessed from the client's own goroutine)
hace 5 años
Shivaram Lingamneni
960d51159c
add ClientDetails struct for getting a snapshot of client state
hace 5 años
Shivaram Lingamneni
2c7c8fbaf9
history replay enhancements
hace 5 años
Shivaram Lingamneni
b6b4d365bc
fix #313
hace 5 años
Shivaram Lingamneni
a0bf548fc5
draft/resume-0.2 implementation, message history support
hace 5 años
Shivaram Lingamneni
7154f14781
move handling of RecoverFromErrors into LoadConfig
hace 6 años
Shivaram Lingamneni
1383190249
refactor rehash to rely more on server.config
hace 6 años
Shivaram Lingamneni
31f386f5a9
add CHANSERV UNREGISTER
hace 6 años
Shivaram Lingamneni
d3815fbe61
review fixes and updates
hace 6 años
Shivaram Lingamneni
1016f86f70
implement CHANSERV AMODE
hace 6 años
Shivaram Lingamneni
f6373f7a4d
fix #262
hace 6 años
Shivaram Lingamneni
fad2475c3f
modes refactor, #255
hace 6 años
Shivaram Lingamneni
5e62cc4ebc
initial vhosts implementation, #183
hace 6 años
Shivaram Lingamneni
8fb5a38851
Updates to channel persistence
1. Implement persistent channel keys (#208 )
2. Persist changes to registered channel modes
3. Backend changes for persisting operator status (partial #198 )
hace 6 años
Shivaram Lingamneni
1bf5e2a7c8
implement fakelag (#189)
hace 6 años
Shivaram Lingamneni
a8b952da77
store maxSendQBytes in a uint32 to avoid alignment problems
The sync.atomic documentation says:
"On both ARM and x86-32, it is the caller's responsibility to arrange
for 64-bit alignment of 64-bit words accessed atomically."
hace 6 años
Shivaram Lingamneni
d1f5c59eef
fix #190
hace 6 años
Shivaram Lingamneni
be86684e96
implement #199
hace 6 años
Shivaram Lingamneni
878f9ca94c
fix: store the uncasefolded account name correctly
hace 6 años
Shivaram Lingamneni
ad73d68807
refactor account registration, add nick enforcement
hace 6 años
Daniel Oaks
3634d0601e
Split modes into a subpackage (this is painful, but will force us to simplify and improve the API for interacting with modes)
hace 6 años
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.
hace 6 años
Shivaram Lingamneni
9b74c47b74
rename some getters
Rename getters in conformance with the "Effective Go" styleguide recommendation:
https://golang.org/doc/effective_go.html#Getters
hace 6 años
Shivaram Lingamneni
94cf438f51
remove channelJoinPartMutex
hace 6 años
Shivaram Lingamneni
7b58bf76ef
make error recovery configurable
hace 6 años
Shivaram Lingamneni
fa83ccd82b
refactor synchronization for Channel
hace 6 años
Shivaram Lingamneni
7ccb485b50
add two getters
hace 6 años
Shivaram Lingamneni
e540fde816
refactor idle timeouts
hace 6 años
Daniel Oaks
4aa52956e5
Split isupport to its' own subpackage
hace 6 años
Shivaram Lingamneni
26686d7e86
refactor monitor and /oper implementations
hace 6 años
Shivaram Lingamneni
23a66fa502
fix various data races, including 2 introduced by #139
hace 6 años