Commit Graph

3864 Commits

Author SHA1 Message Date
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 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 2ecc66b9d9 add more modes to arg-having modes 2014-02-17 11:46:40 -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
Jeremy Latt d5c9681a10 instantiate clients in the server command goroutine 2014-02-16 22:30:01 -08:00
Jeremy Latt dc5e258f88 don't use a goroutine when initializing clients 2014-02-16 22:26:33 -08:00
Jeremy Latt cd4503be31 allow blank lines from the client 2014-02-16 22:24:49 -08:00
Jeremy Latt a894e3f37f parse lines more robustly 2014-02-16 22:22:46 -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 74b8221db7 use mutexes more 2014-02-16 10:42:25 -08:00
Jeremy Latt 81a0f19390 fix bad ref in part command 2014-02-16 09:41:16 -08:00
Jeremy Latt a17490e801 disable no-topic reply 2014-02-16 09:39:11 -08:00
Jeremy Latt 0f6ee63e6e fix a race 2014-02-15 20:20:37 -08:00
Jeremy Latt 213afc0481 fix another race 2014-02-15 20:01:28 -08:00
Jeremy Latt ae02596214 get rid of extra topic messages 2014-02-15 19:56:38 -08:00
Jeremy Latt 488b2ccf8f implement channel modes and messages properly 2014-02-15 19:49:20 -08:00
Jeremy Latt 0bfa2fb98f channel mode flags and member modes 2014-02-14 21:57:08 -08:00
Jeremy Latt 6983d1930c RPL_ENDOFNAMES should come from server 2014-02-14 19:38:31 -08:00
Jeremy Latt 33b1e6c582 simplify Replier 2014-02-14 19:35:25 -08:00
Jeremy Latt ac186a0669 don't close socket send channel 2014-02-14 19:30:58 -08:00
Jeremy Latt 50f1012c92 don't close socket sending channel 2014-02-14 19:30:07 -08:00
Jeremy Latt 87cc184ec0 type numeric codes 2014-02-14 19:25:14 -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 29df88fb7a more race conditions 2014-02-14 09:00:49 -08:00
Jeremy Latt 72a90d5544 don't close channels unless necessary 2014-02-14 08:57:17 -08:00
Jeremy Latt 9600be82a3 fix more data races 2014-02-14 08:42:56 -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 3ba928cee6 remove server command mutex 2014-02-13 20:58:13 -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
Jeremy Latt a9eae872c9 mutex server commands 2014-02-13 20:08:16 -08:00