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