Shivaram Lingamneni
4b88a60ba6
clean up some old getters
5 years ago
Shivaram Lingamneni
1de166bccb
eliminate client.Realname() getter
5 years ago
Shivaram Lingamneni
3d445573cf
implement draft/resume-0.4
5 years ago
Shivaram Lingamneni
8fc588375b
implement user preferences system
5 years ago
Shivaram Lingamneni
353aeb0389
normalize most times in the app to UTC
Fixes #480
5 years ago
Shivaram Lingamneni
ce6a3e42df
load isupport directly into the config object
eliminates Server.configurableStateMutex
5 years ago
Shivaram Lingamneni
fbc6c84a01
add client compatibility switches
5 years ago
Shivaram Lingamneni
60c8f286e8
fix several session destruction bugs
5 years ago
Shivaram Lingamneni
da656c07c8
add NICKSERV SESSIONS command to list sessions
5 years ago
Shivaram Lingamneni
51465b4a3a
strip out the +a away mode
5 years ago
Shivaram Lingamneni
30f6e11698
fix #400
Also fix some issues with STATUSMSG
5 years ago
Shivaram Lingamneni
c2faeed4b5
initial implementation of bouncer functionality
5 years ago
Shivaram Lingamneni
63029e2ff5
refactor channel registration
5 years ago
Shivaram Lingamneni
2e88f82e41
remove indirections in Fakelag and NickTimer
5 years ago
Shivaram Lingamneni
b0f89062fa
add support for tor (#369)
5 years ago
Shivaram Lingamneni
c6b9fe0218
fix #384
5 years ago
Shivaram Lingamneni
a5b9634783
fix #394
5 years ago
Shivaram Lingamneni
afe94d43c3
update resume support to draft/resume-0.3
5 years ago
Shivaram Lingamneni
35abe7940a
RESUME should end cap negotiation without requiring CAP LS
5 years ago
Chris Smith
34a9a37b82
Fix usernames being used in place of hostnames.
Closes #355
5 years ago
Shivaram Lingamneni
eff2571096
limit the number of channels a client can join
5 years ago
Shivaram Lingamneni
1c23af8767
add sasl-only config option
5 years ago
Shivaram Lingamneni
b9b2553a2f
use the TR39 skeleton algorithm to prevent confusables (#178)
5 years ago
Shivaram Lingamneni
9a2117f75d
preregNick doesn't need synchronization
(since it's only accessed from the client's own goroutine)
5 years ago
Shivaram Lingamneni
960d51159c
add ClientDetails struct for getting a snapshot of client state
5 years ago
Shivaram Lingamneni
2c7c8fbaf9
history replay enhancements
5 years ago
Shivaram Lingamneni
b6b4d365bc
fix #313
5 years ago
Shivaram Lingamneni
a0bf548fc5
draft/resume-0.2 implementation, message history support
5 years ago
Shivaram Lingamneni
7154f14781
move handling of RecoverFromErrors into LoadConfig
6 years ago
Shivaram Lingamneni
1383190249
refactor rehash to rely more on server.config
6 years ago
Shivaram Lingamneni
31f386f5a9
add CHANSERV UNREGISTER
6 years ago
Shivaram Lingamneni
d3815fbe61
review fixes and updates
6 years ago
Shivaram Lingamneni
1016f86f70
implement CHANSERV AMODE
6 years ago
Shivaram Lingamneni
f6373f7a4d
fix #262
6 years ago
Shivaram Lingamneni
fad2475c3f
modes refactor, #255
6 years ago
Shivaram Lingamneni
5e62cc4ebc
initial vhosts implementation, #183
6 years ago
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 )
6 years ago
Shivaram Lingamneni
1bf5e2a7c8
implement fakelag (#189)
6 years ago
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."
6 years ago
Shivaram Lingamneni
d1f5c59eef
fix #190
6 years ago
Shivaram Lingamneni
be86684e96
implement #199
6 years ago
Shivaram Lingamneni
878f9ca94c
fix: store the uncasefolded account name correctly
6 years ago
Shivaram Lingamneni
ad73d68807
refactor account registration, add nick enforcement
6 years ago
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)
6 years ago
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 years ago
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 years ago
Shivaram Lingamneni
94cf438f51
remove channelJoinPartMutex
6 years ago
Shivaram Lingamneni
7b58bf76ef
make error recovery configurable
6 years ago
Shivaram Lingamneni
fa83ccd82b
refactor synchronization for Channel
6 years ago
Shivaram Lingamneni
7ccb485b50
add two getters
6 years ago