Jeremy Latt
76852b0370
implement WHOWAS with a shared ringbuffer
10 роки тому
Jeremy Latt
41a6027d4e
move ClientLookupSet to its own file
10 роки тому
Jeremy Latt
b2055595e1
WHOWAS command
10 роки тому
Jeremy Latt
69cdad45ac
partially-working sqlite-based usermasks
10 роки тому
Jeremy Latt
832a5e1e19
allow empty server password
10 роки тому
Jeremy Latt
5c6f8ff92a
improve logging
10 роки тому
Jeremy Latt
04bb79a610
fix invite message to clients
10 роки тому
Jeremy Latt
0874692aa8
send proper replies for cap protocol
10 роки тому
Jeremy Latt
92e7a7961f
notify on more signals
10 роки тому
Jeremy Latt
6aa6f0aeaa
notify clients when the server shuts down
10 роки тому
Jeremy Latt
b421971b61
move db init/open functions into a single file
10 роки тому
Jeremy Latt
83d021fcb7
switch to gcfg for conf file
- add some validation for config file
- add comments explaining config
- remove TLS listener since most clients can't use it anyway
- remove unused nick generation function
10 роки тому
Jeremy Latt
36602c9a3c
basic capability negotiation
- multi-prefix is supported as an example
10 роки тому
Jeremy Latt
9aeb813cf5
restrict nicknames to proper character set
10 роки тому
Jeremy Latt
4df8ec12f6
allow nick changing
10 роки тому
Jeremy Latt
66f9b42125
avoid duplicate mode changes
10 роки тому
Jeremy Latt
9dc229b98f
skip nick change if there is no difference
10 роки тому
Jeremy Latt
45bb0d05e7
normalize all unicode input from the client
10 роки тому
Jeremy Latt
b30e247e77
properly persist channels
10 роки тому
Jeremy Latt
02abeeb164
persistent channels persisted to a sqlite db
10 роки тому
Jeremy Latt
1fe73aaa9e
kill command
10 роки тому
Jeremy Latt
4d2d18caf1
time command
10 роки тому
Jeremy Latt
f0305cf01a
invite command
10 роки тому
Jeremy Latt
d6ec1e719b
add a version command for sumeet
10 роки тому
Jeremy Latt
f0773c4e9e
increase buffer for a server channel
10 роки тому
Jeremy Latt
cc6f764c85
minor cleanup
10 роки тому
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 роки тому
Jeremy Latt
be089e7f5f
do bcrypt in the client main routine
10 роки тому
Jeremy Latt
2229645a39
refactor server command loop
10 роки тому
Jeremy Latt
0bf968e19e
move command parsing and hostname lookups into the socket routine
10 роки тому
Jeremy Latt
3b56b5bf42
expose various go internals as a DEBUG command
10 роки тому
Jeremy Latt
c5c7469cf0
good ol' fashioned refactoring
10 роки тому
Jeremy Latt
1283bd35c7
encapsulate client replies in method
10 роки тому
Jeremy Latt
39fb4bfb53
restrict new channels to channel regex
10 роки тому
Jeremy Latt
c8701febd0
loosen restrictions on WHO replies
10 роки тому
Jeremy Latt
c1edddb9a1
fix whois reply
10 роки тому
Jeremy Latt
e1c4c8e8cc
don't send prefix on server-originated string coded replies
10 роки тому
Jeremy Latt
23f01ff9ee
handle CAP command silently in registration too
10 роки тому
Jeremy Latt
ad513da486
do hostname lookups in the client read thread
10 роки тому
Jeremy Latt
97881b555d
async hostname lookups
10 роки тому
Jeremy Latt
9960089226
format replies to strings instead of using a Reply struct
10 роки тому
Jeremy Latt
25ebab37d3
replies shouldn't contain references to client
10 роки тому
Jeremy Latt
af6a8ee6f0
remove channel buffering
10 роки тому
Jeremy Latt
95f267ea4f
buffer all channels
10 роки тому
Jeremy Latt
f090c616b3
reduce writes
10 роки тому
Jeremy Latt
0cd6be8008
clean up nickname setting logic
10 роки тому
Jeremy Latt
9e471b5b5d
solve quit/connection close race
10 роки тому
Jeremy Latt
2bc1b952a0
do idle in the server goroutine instead of the timeout goroutine
10 роки тому
Jeremy Latt
4f106e7d3e
make server logging consistent with other logs
10 роки тому
Jeremy Latt
58517ad4e8
fix closed channel on socket close
10 роки тому