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