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
2014-03-01 14:38:01 -08:00
Jeremy Latt
9aeb813cf5
restrict nicknames to proper character set
2014-02-26 13:42:29 -08:00
Jeremy Latt
4df8ec12f6
allow nick changing
2014-02-26 12:24:52 -08:00
Jeremy Latt
66f9b42125
avoid duplicate mode changes
2014-02-25 22:19:21 -08:00
Jeremy Latt
9dc229b98f
skip nick change if there is no difference
2014-02-25 20:47:59 -08:00
Jeremy Latt
45bb0d05e7
normalize all unicode input from the client
2014-02-25 20:22:07 -08:00
Jeremy Latt
b30e247e77
properly persist channels
2014-02-25 15:57:35 -08:00
Jeremy Latt
02abeeb164
persistent channels persisted to a sqlite db
2014-02-25 11:11:34 -08:00
Jeremy Latt
1fe73aaa9e
kill command
2014-02-25 09:10:16 -08:00
Jeremy Latt
4d2d18caf1
time command
2014-02-25 07:45:40 -08:00
Jeremy Latt
f0305cf01a
invite command
2014-02-25 07:35:52 -08:00
Jeremy Latt
d6ec1e719b
add a version command for sumeet
2014-02-24 22:04:11 -08:00
Jeremy Latt
f0773c4e9e
increase buffer for a server channel
2014-02-24 19:00:09 -08:00
Jeremy Latt
cc6f764c85
minor cleanup
2014-02-24 17:45:04 -08:00
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)
2014-02-24 09:48:46 -08:00
Jeremy Latt
be089e7f5f
do bcrypt in the client main routine
2014-02-23 22:21:39 -08:00
Jeremy Latt
2229645a39
refactor server command loop
2014-02-23 19:13:45 -08:00
Jeremy Latt
0bf968e19e
move command parsing and hostname lookups into the socket routine
2014-02-23 17:04:24 -08:00
Jeremy Latt
3b56b5bf42
expose various go internals as a DEBUG command
2014-02-23 10:04:31 -08:00
Jeremy Latt
c5c7469cf0
good ol' fashioned refactoring
2014-02-22 13:15:31 -08:00
Jeremy Latt
1283bd35c7
encapsulate client replies in method
2014-02-22 11:40:32 -08:00
Jeremy Latt
39fb4bfb53
restrict new channels to channel regex
2014-02-21 17:19:02 -08:00
Jeremy Latt
c8701febd0
loosen restrictions on WHO replies
2014-02-21 11:09:46 -08:00
Jeremy Latt
c1edddb9a1
fix whois reply
2014-02-20 20:47:05 -08:00
Jeremy Latt
e1c4c8e8cc
don't send prefix on server-originated string coded replies
2014-02-20 20:08:32 -08:00
Jeremy Latt
23f01ff9ee
handle CAP command silently in registration too
2014-02-20 19:55:03 -08:00
Jeremy Latt
ad513da486
do hostname lookups in the client read thread
2014-02-20 13:03:33 -08:00
Jeremy Latt
97881b555d
async hostname lookups
2014-02-20 11:51:45 -08:00
Jeremy Latt
9960089226
format replies to strings instead of using a Reply struct
2014-02-19 22:20:34 -08:00
Jeremy Latt
25ebab37d3
replies shouldn't contain references to client
2014-02-19 19:30:49 -08:00
Jeremy Latt
af6a8ee6f0
remove channel buffering
2014-02-19 18:22:57 -08:00
Jeremy Latt
95f267ea4f
buffer all channels
2014-02-19 17:48:03 -08:00
Jeremy Latt
f090c616b3
reduce writes
2014-02-18 20:28:35 -08:00
Jeremy Latt
0cd6be8008
clean up nickname setting logic
2014-02-18 15:36:58 -08:00
Jeremy Latt
9e471b5b5d
solve quit/connection close race
2014-02-18 13:25:21 -08:00
Jeremy Latt
2bc1b952a0
do idle in the server goroutine instead of the timeout goroutine
2014-02-18 11:22:56 -08:00
Jeremy Latt
4f106e7d3e
make server logging consistent with other logs
2014-02-18 10:22:40 -08:00
Jeremy Latt
58517ad4e8
fix closed channel on socket close
2014-02-18 10:13:57 -08:00
Jeremy Latt
9c1ab4f610
fix socket close race
2014-02-17 23:58:02 -08:00
Jeremy Latt
baf83e73d2
support USER from both RFCs 1459 and 2812
2014-02-17 22:10:48 -08:00
Jeremy Latt
bb64d38684
implement who reply like ngircd
2014-02-17 21:30:14 -08:00
Jeremy Latt
b17e62d0b0
names command
2014-02-17 21:02:03 -08:00
Jeremy Latt
046723a709
make whois channels possibly multiline
2014-02-17 20:47:41 -08:00
Jeremy Latt
9a5f21e78c
beef up whois
2014-02-17 19:08:57 -08:00
Jeremy Latt
bd3ca4ae47
fix race in idle timeout; fix some string trimming; fix some replies
2014-02-17 18:10:52 -08:00
Jeremy Latt
1a7f56a903
clean up general command and name handling
2014-02-17 17:58:22 -08:00
Jeremy Latt
6d8b381927
convert client bools to a flags map
2014-02-17 13:22:35 -08:00
Jeremy Latt
f0fc3b492c
list command
2014-02-16 23:51:27 -08:00
Jeremy Latt
a9d7f64693
kick command
2014-02-16 23:29:11 -08:00
Jeremy Latt
af5a05f390
use a select in the server commands loop
2014-02-16 22:38:43 -08:00