Commit Graph

79 Commits

Author SHA1 Message Date
Jeremy Latt f56db354ee fix client auth for no password
All clients are authorized if the server lacks a password.
2014-03-06 20:10:02 -08:00
Jeremy Latt 0874692aa8 send proper replies for cap protocol 2014-03-02 12:54:48 -08:00
Jeremy Latt 36602c9a3c basic capability negotiation
- multi-prefix is supported as an example
2014-02-28 19:24:38 -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 0bf968e19e move command parsing and hostname lookups into the socket routine 2014-02-23 17:04:24 -08:00
Jeremy Latt ff5656fdb4 aggressively clean up client 2014-02-23 11:08:01 -08:00
Jeremy Latt 1283bd35c7 encapsulate client replies in method 2014-02-22 11:40:32 -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 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 c0dc733351 don't wait for writing to complete 2014-02-20 11:16:10 -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 9c385ededd synchronize on last writes to client sockets 2014-02-19 18:46:46 -08:00
Jeremy Latt af6a8ee6f0 remove channel buffering 2014-02-19 18:22:57 -08:00
Jeremy Latt 6265b70622 get rid of goroutines on client socket 2014-02-19 18:13:35 -08:00
Jeremy Latt 95f267ea4f buffer all channels 2014-02-19 17:48:03 -08:00
Jeremy Latt 0cd6be8008 clean up nickname setting logic 2014-02-18 15:36:58 -08:00
Jeremy Latt 86d4cae141 swap refcounting friends for iteration 2014-02-18 15:28:20 -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 528588acfc augment whois idle with signon time 2014-02-17 19:56:06 -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 a55b912941 enforce nicks via lowercase strings 2014-02-17 15:25:32 -08:00
Jeremy Latt 6d8b381927 convert client bools to a flags map 2014-02-17 13:22:35 -08:00
Jeremy Latt a9d7f64693 kick command 2014-02-16 23:29:11 -08:00
Jeremy Latt 4e56ea1bdc get rid of unnecessary concurrency for channels and clients 2014-02-16 22:20:42 -08:00
Jeremy Latt 54ca916c85 stop login timer on destroy 2014-02-16 18:16:13 -08:00
Jeremy Latt e411dafda7 get rid of mutexes in favor of channel-base syncing 2014-02-16 17:23:47 -08:00
Jeremy Latt 33b1e6c582 simplify Replier 2014-02-14 19:35:25 -08:00
Jeremy Latt 3a9027e3dc don't double-close socket 2014-02-14 19:05:30 -08:00
Jeremy Latt 4d9742d033 organize server command into phases 2014-02-14 18:28:36 -08:00
Jeremy Latt 72a90d5544 don't close channels unless necessary 2014-02-14 08:57:17 -08:00
Jeremy Latt 6ea3c8f4d1 fix race conditions 2014-02-13 23:16:07 -08:00
Jeremy Latt 7051627fb2 avoid race double-close on replies 2014-02-13 21:10:31 -08:00
Jeremy Latt 7cef494d28 don't close replies twice 2014-02-13 20:56:15 -08:00
Jeremy Latt be01a412d9 only quit registered clients 2014-02-13 20:52:42 -08:00
Jeremy Latt dcc40bbac1 more logging 2014-02-13 20:42:06 -08:00
Jeremy Latt 541a40b056 touch should respect destroyed 2014-02-13 20:38:22 -08:00
Jeremy Latt e0e61907ce don't trigger connection closed on read and write goroutines 2014-02-13 20:30:51 -08:00
Jeremy Latt 03b6caa597 don't close replies too many times 2014-02-13 20:27:20 -08:00
Jeremy Latt d35fe6088c attempt to fix hang condition in quit sequence 2014-02-13 20:23:22 -08:00