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)
hace 10 años
Jeremy Latt
be089e7f5f
do bcrypt in the client main routine
hace 10 años
Jeremy Latt
2229645a39
refactor server command loop
hace 10 años
Jeremy Latt
41e6baf9d4
get rid of a race; use pointers where possible
hace 10 años
Jeremy Latt
0856a9fa81
flag socket as closed when writes fail
hace 10 años
Jeremy Latt
0bf968e19e
move command parsing and hostname lookups into the socket routine
hace 10 años
Jeremy Latt
ff5656fdb4
aggressively clean up client
hace 10 años
Jeremy Latt
3b56b5bf42
expose various go internals as a DEBUG command
hace 10 años
Jeremy Latt
f482b6b82f
add all channel mask list replies
hace 10 años
Jeremy Latt
c5c7469cf0
good ol' fashioned refactoring
hace 10 años
Jeremy Latt
c7298c55b9
flesh out channel modes
- deprecate 's' mode
- add user limit
- don't leak key in mode messages to non-members
- begin refactoring Mode()
hace 10 años
Jeremy Latt
21337cda7f
add error responses for mode command
hace 10 años
Jeremy Latt
1283bd35c7
encapsulate client replies in method
hace 10 años
Jeremy Latt
c12ed4bada
update readme
hace 10 años
Jeremy Latt
39fb4bfb53
restrict new channels to channel regex
hace 10 años
Jeremy Latt
c8701febd0
loosen restrictions on WHO replies
hace 10 años
Jeremy Latt
f9bf422ba7
be more lax about whitespace when parsing commands from clients
hace 10 años
Jeremy Latt
c1edddb9a1
fix whois reply
hace 10 años
Jeremy Latt
e1c4c8e8cc
don't send prefix on server-originated string coded replies
hace 10 años
Jeremy Latt
0ad05abf5f
omit prefix for non-numeric replies from the server
hace 10 años
Jeremy Latt
23f01ff9ee
handle CAP command silently in registration too
hace 10 años
Jeremy Latt
b6d8f62674
adjust ping message
hace 10 años
Jeremy Latt
52ffc77d8d
don't allow double-joining
hace 10 años
Jeremy Latt
1486411db1
render a single part string for all channel members
hace 10 años
Jeremy Latt
7dffa530c2
send part message from correct source
hace 10 años
Jeremy Latt
ad513da486
do hostname lookups in the client read thread
hace 10 años
Jeremy Latt
97881b555d
async hostname lookups
hace 10 años
Jeremy Latt
c0dc733351
don't wait for writing to complete
hace 10 años
Jeremy Latt
9960089226
format replies to strings instead of using a Reply struct
hace 10 años
Jeremy Latt
25ebab37d3
replies shouldn't contain references to client
hace 10 años
Jeremy Latt
9c385ededd
synchronize on last writes to client sockets
hace 10 años
Jeremy Latt
af6a8ee6f0
remove channel buffering
hace 10 años
Jeremy Latt
6265b70622
get rid of goroutines on client socket
hace 10 años
Jeremy Latt
95f267ea4f
buffer all channels
hace 10 años
Jeremy Latt
f090c616b3
reduce writes
hace 10 años
Jeremy Latt
dcb4ac90e2
use a buffered channel for socket writing
hace 10 años
Jeremy Latt
0cd6be8008
clean up nickname setting logic
hace 10 años
Jeremy Latt
86d4cae141
swap refcounting friends for iteration
hace 10 años
Jeremy Latt
9e471b5b5d
solve quit/connection close race
hace 10 años
Jeremy Latt
2bc1b952a0
do idle in the server goroutine instead of the timeout goroutine
hace 10 años
Jeremy Latt
4f106e7d3e
make server logging consistent with other logs
hace 10 años
Jeremy Latt
58517ad4e8
fix closed channel on socket close
hace 10 años
Jeremy Latt
9c1ab4f610
fix socket close race
hace 10 años
Jeremy Latt
baf83e73d2
support USER from both RFCs 1459 and 2812
hace 10 años
Jeremy Latt
bb64d38684
implement who reply like ngircd
hace 10 años
Jeremy Latt
b17e62d0b0
names command
hace 10 años
Jeremy Latt
046723a709
make whois channels possibly multiline
hace 10 años
Jeremy Latt
528588acfc
augment whois idle with signon time
hace 10 años
Jeremy Latt
9a5f21e78c
beef up whois
hace 10 años
Jeremy Latt
bd3ca4ae47
fix race in idle timeout; fix some string trimming; fix some replies
hace 10 años