Jeremy Latt
b30e247e77
properly persist channels
10 years ago
Jeremy Latt
02abeeb164
persistent channels persisted to a sqlite db
10 years ago
Jeremy Latt
1fe73aaa9e
kill command
10 years ago
Jeremy Latt
4d2d18caf1
time command
10 years ago
Jeremy Latt
f0305cf01a
invite command
10 years ago
Jeremy Latt
d6ec1e719b
add a version command for sumeet
10 years ago
Jeremy Latt
f0773c4e9e
increase buffer for a server channel
10 years ago
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
0bf968e19e
move command parsing and hostname lookups into the socket routine
10 years ago
Jeremy Latt
3b56b5bf42
expose various go internals as a DEBUG command
10 years ago
Jeremy Latt
c5c7469cf0
good ol' fashioned refactoring
10 years ago
Jeremy Latt
1283bd35c7
encapsulate client replies in method
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
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
23f01ff9ee
handle CAP command silently in registration too
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
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
af6a8ee6f0
remove channel buffering
10 years ago
Jeremy Latt
95f267ea4f
buffer all channels
10 years ago
Jeremy Latt
f090c616b3
reduce writes
10 years ago
Jeremy Latt
0cd6be8008
clean up nickname setting logic
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
9a5f21e78c
beef up whois
10 years ago
Jeremy Latt
bd3ca4ae47
fix race in idle timeout; fix some string trimming; fix some replies
10 years ago
Jeremy Latt
1a7f56a903
clean up general command and name handling
10 years ago
Jeremy Latt
6d8b381927
convert client bools to a flags map
10 years ago
Jeremy Latt
f0fc3b492c
list command
10 years ago
Jeremy Latt
a9d7f64693
kick command
10 years ago
Jeremy Latt
af5a05f390
use a select in the server commands loop
10 years ago
Jeremy Latt
d5c9681a10
instantiate clients in the server command goroutine
10 years ago
Jeremy Latt
dc5e258f88
don't use a goroutine when initializing clients
10 years ago
Jeremy Latt
4e56ea1bdc
get rid of unnecessary concurrency for channels and clients
10 years ago
Jeremy Latt
e411dafda7
get rid of mutexes in favor of channel-base syncing
10 years ago
Jeremy Latt
74b8221db7
use mutexes more
10 years ago
Jeremy Latt
81a0f19390
fix bad ref in part command
10 years ago