Jeremy Latt
8c44bb9ff3
ONICK command to allow operators to change users' nicks
il y a 10 ans
Jeremy Latt
7a9f1d750b
explain why CheckPassword happens in client thread
il y a 10 ans
Jeremy Latt
2006aff9f7
break up types.go
- remove old interfaces, move to relevant files
- remove Phase in favor of a boolean flag
il y a 10 ans
Jeremy Latt
e15f47c766
move to channel-based logging
il y a 10 ans
Jeremy Latt
77d053ccac
get rid of editableCommand
il y a 10 ans
Jeremy Latt
96a108f8da
mark unicode normalization with type
il y a 10 ans
Jeremy Latt
f56db354ee
fix client auth for no password
All clients are authorized if the server lacks a password.
il y a 10 ans
Jeremy Latt
76852b0370
implement WHOWAS with a shared ringbuffer
il y a 10 ans
Jeremy Latt
0874692aa8
send proper replies for cap protocol
il y a 10 ans
Jeremy Latt
36602c9a3c
basic capability negotiation
- multi-prefix is supported as an example
il y a 10 ans
Jeremy Latt
72726a39b8
many changes
- load config sub files relative to config file dir
- load config file by name
- expect bcrypt for passwords
- -genpasswd for generating config-file-safe passwords
- block client thread while checking passwords (PASS and OPER)
il y a 10 ans
Jeremy Latt
be089e7f5f
do bcrypt in the client main routine
il y a 10 ans
Jeremy Latt
0bf968e19e
move command parsing and hostname lookups into the socket routine
il y a 10 ans
Jeremy Latt
ff5656fdb4
aggressively clean up client
il y a 10 ans
Jeremy Latt
1283bd35c7
encapsulate client replies in method
il y a 10 ans
Jeremy Latt
e1c4c8e8cc
don't send prefix on server-originated string coded replies
il y a 10 ans
Jeremy Latt
ad513da486
do hostname lookups in the client read thread
il y a 10 ans
Jeremy Latt
97881b555d
async hostname lookups
il y a 10 ans
Jeremy Latt
c0dc733351
don't wait for writing to complete
il y a 10 ans
Jeremy Latt
9960089226
format replies to strings instead of using a Reply struct
il y a 10 ans
Jeremy Latt
25ebab37d3
replies shouldn't contain references to client
il y a 10 ans
Jeremy Latt
9c385ededd
synchronize on last writes to client sockets
il y a 10 ans
Jeremy Latt
af6a8ee6f0
remove channel buffering
il y a 10 ans
Jeremy Latt
6265b70622
get rid of goroutines on client socket
il y a 10 ans
Jeremy Latt
95f267ea4f
buffer all channels
il y a 10 ans
Jeremy Latt
0cd6be8008
clean up nickname setting logic
il y a 10 ans
Jeremy Latt
86d4cae141
swap refcounting friends for iteration
il y a 10 ans
Jeremy Latt
9e471b5b5d
solve quit/connection close race
il y a 10 ans
Jeremy Latt
2bc1b952a0
do idle in the server goroutine instead of the timeout goroutine
il y a 10 ans
Jeremy Latt
4f106e7d3e
make server logging consistent with other logs
il y a 10 ans
Jeremy Latt
58517ad4e8
fix closed channel on socket close
il y a 10 ans
Jeremy Latt
9c1ab4f610
fix socket close race
il y a 10 ans
Jeremy Latt
baf83e73d2
support USER from both RFCs 1459 and 2812
il y a 10 ans
Jeremy Latt
bb64d38684
implement who reply like ngircd
il y a 10 ans
Jeremy Latt
528588acfc
augment whois idle with signon time
il y a 10 ans
Jeremy Latt
9a5f21e78c
beef up whois
il y a 10 ans
Jeremy Latt
bd3ca4ae47
fix race in idle timeout; fix some string trimming; fix some replies
il y a 10 ans
Jeremy Latt
1a7f56a903
clean up general command and name handling
il y a 10 ans
Jeremy Latt
a55b912941
enforce nicks via lowercase strings
il y a 10 ans
Jeremy Latt
6d8b381927
convert client bools to a flags map
il y a 10 ans
Jeremy Latt
a9d7f64693
kick command
il y a 10 ans
Jeremy Latt
4e56ea1bdc
get rid of unnecessary concurrency for channels and clients
il y a 10 ans
Jeremy Latt
54ca916c85
stop login timer on destroy
il y a 10 ans
Jeremy Latt
e411dafda7
get rid of mutexes in favor of channel-base syncing
il y a 10 ans
Jeremy Latt
33b1e6c582
simplify Replier
il y a 10 ans
Jeremy Latt
3a9027e3dc
don't double-close socket
il y a 10 ans
Jeremy Latt
4d9742d033
organize server command into phases
il y a 10 ans
Jeremy Latt
72a90d5544
don't close channels unless necessary
il y a 10 ans
Jeremy Latt
6ea3c8f4d1
fix race conditions
il y a 10 ans
Jeremy Latt
7051627fb2
avoid race double-close on replies
il y a 10 ans