Daniel Oaks
c911ff2bcd
Squash a bunch of possible races
7 jaren geleden
Daniel Oaks
f7a4f5d956
socket: Move to a timing-out send method that reduces goroutines and ensures QUIT/ERROR are sent
7 jaren geleden
Daniel Oaks
f665ebac16
channels: Help prevent issues when join/parting
7 jaren geleden
Daniel Oaks
1c917a19a7
client: Ensure ERROR message is parsed when quitting
7 jaren geleden
Daniel Oaks
22216d4d60
Fix lots of nits
7 jaren geleden
Daniel Oaks
317a804644
Fix dates at top of source files
7 jaren geleden
Daniel Oaks
300d02bd9c
channel: Kill a race condition that locked up the server.
Specifically, if you joined a channel while someone else was trying to part. the Join method would grab the lock, the Quit method would queue to grab the lock, the Join method would unlock and then try to regrab the lock, and it would get into a situation where nobody would have the lock and everyone would be waiting for it.
This caused weird oddities with clients.
7 jaren geleden
Daniel Oaks
aad1070633
client: Unlock channel mutex earlier
7 jaren geleden
Daniel Oaks
05074e966d
modes: Continue overhauling
7 jaren geleden
Daniel Oaks
f29a5f0e70
socket: Very initial SendQ limit
7 jaren geleden
Daniel Oaks
de4db1c6ef
socket: Start overhaul of sockets and writing
7 jaren geleden
Daniel Oaks
439331cfb8
logger: Move to separate package, make *much* nicer
7 jaren geleden
Daniel Oaks
5de03f2169
logging: Reverse arrows for in and out, in ~= left, out ~= right
7 jaren geleden
Daniel Oaks
b328a4fcd3
logging: Add userinput and output, fix up lots
7 jaren geleden
Daniel Oaks
29e89b16a0
logger: Very initial working new logs
7 jaren geleden
Martin Lindhe
730d283201
server-time: convert local time to UTC before using it, fixes #94
7 jaren geleden
vegax87
a623d8ef1e
Solved! RPL_USERHOST must use trailing
7 jaren geleden
Daniel Oaks
c8b5fb65e0
WHOIS: Use inbuilt functionality to force trailing, as suggested by @vegax87
7 jaren geleden
Daniel Oaks
c2fedfb177
client: Forego the ForceTrailing func, just automagically work it out based on the command name
7 jaren geleden
Daniel Oaks
b257c5955e
client: Add SendForceTrailing function, to force the last param to be a trailing
7 jaren geleden
Daniel Oaks
67d65b0e3d
client: Ignore empty lines, send ERROR with no prefix
7 jaren geleden
Daniel Oaks
cbe49ff3d8
Use a better line-splitting algorithm
7 jaren geleden
Daniel Oaks
522001d4f6
Cleanup message sending
7 jaren geleden
Daniel Oaks
e741c1476b
Implement message-ids draft
7 jaren geleden
Daniel Oaks
f6185fa336
Get it working, using not-great and very initial splitting code
7 jaren geleden
Daniel Oaks
92626a178d
server: Start roughly hacking in new message-tags support
7 jaren geleden
Daniel Oaks
d2e18962e3
Very initial maxline work
7 jaren geleden
Daniel Oaks
2b240faa90
strings: Fix nick bugs, use UsernameCaseMapped
7 jaren geleden
Daniel Oaks
4168eaafbb
Basic implementation of KLINEs
7 jaren geleden
Daniel Oaks
6f7c683247
channel: RWMutex for members access
7 jaren geleden
Daniel Oaks
a8eabe8e9c
client: Fix a lot of bugs around setting NICK
7 jaren geleden
Daniel Oaks
dc605ebb01
client: Send quit messages more correctly
7 jaren geleden
Daniel Oaks
2e2e91689a
client: Send quit message to friends correctly
7 jaren geleden
Daniel Oaks
9a9820fa88
NICK: Prevent races, remove a DoS
7 jaren geleden
Daniel Oaks
95e36b99a2
Nick locking (entirely broken, needs to be completely redesigned)
7 jaren geleden
Daniel Oaks
c3174bb648
Various crash fixes, and little cleanups for safety
7 jaren geleden
Daniel Oaks
07e4728c15
roleplay: Initial commit
7 jaren geleden
Daniel Oaks
c7fdb4656e
strings: Use inbuilt precis.Nickname encoding now
7 jaren geleden
Daniel Oaks
a404bf83d1
Add automated client connection limiting
7 jaren geleden
Daniel Oaks
a7949b6cb4
irc: Assorted golint cleanups
7 jaren geleden
Daniel Oaks
29e811a531
oper: Support custom vhosts, and chghost
7 jaren geleden
Daniel Oaks
8e2a8cb1b3
opers: Enforce oper class permissions
7 jaren geleden
Daniel Oaks
f3459830e7
opers: Allow setting custom whois lines
7 jaren geleden
Daniel Oaks
64bdedaee2
Add oper classes, for more finely-grained control
7 jaren geleden
Daniel Oaks
425a521d27
channel: Fix MODE and WHO
7 jaren geleden
Daniel Oaks
1e956355bf
NICK: Fix small bug when casefolding
7 jaren geleden
Daniel Oaks
1bab81091f
Add MONITOR command
7 jaren geleden
Daniel Oaks
e643c2101f
capability: Add 3.2 CAP values
7 jaren geleden
Daniel Oaks
43e28e2fef
PROXY: Remove command, I don't think it's that useful
7 jaren geleden
Daniel Oaks
0eebd6273c
AWAY: Only dispatch AWAY when cap-notify is used
7 jaren geleden