Commit Graph

192 Commits

Author SHA1 Message Date
Alex Bramley b4870bc685 Tell state tracker all the information about Me. 2015-04-01 17:54:33 +01:00
Alex Bramley 0cac69d2ee Merge branch 'state-copy'. Fixes #49, #35.
Overhaul the state tracker to return copies of data that should be correct
at the time of the response. Subsequent changes to tracked IRC state will not
be reflected in the copies. For people fixing up their code because this merge
broke everything, you probably want to be paying particular attention to the
use of conn.Me() instead of conn.cfg.Me.

Sorry if this causes you hassle, it's for the best.

Lastly, if kballard is watching: sorry dude, you were mostly right ;-)
2015-02-27 19:56:41 +00:00
Alex Bramley 0216e0406e Update client for new state tracking code. 2015-01-02 12:58:50 +00:00
StalkR 262ea31065 client/connection: keep information in disconnected event 2014-12-28 12:39:30 +01:00
Alex Bramley 2e39250355 Allow Join command to take an optional key. 2014-12-23 18:21:53 +00:00
kyle 5e5f5f0253 Moved timeout to Client from Connect 2014-12-20 20:39:44 +02:00
kyle dde47a6a32 fixed inconsistencies 2014-12-20 19:36:08 +02:00
kyle d1aa016bb0 Merge remote-tracking branch 'upstream/master'
Conflicts:
	client/connection.go
2014-12-20 19:17:43 +02:00
kyle c8beed09da Fixed formatting with go fmt 2014-12-20 16:56:58 +02:00
kyle 39a7da0a37 Added timeout to deal with connecting to slow and unreliable irc servers 2014-12-20 15:23:57 +02:00
Alex Bee 8231942086 Merge pull request #51 from bramp/ipv6
Fixed the building of the server/port string to be IPv6 safe.
2014-12-18 21:43:26 +00:00
Andrew Brampton d7116e2bd0 Also add time to the Connected event. 2014-11-30 16:00:21 -08:00
Andrew Brampton 706c90baa3 Ensure the time field is populated on the pseudo line events, such as connecting and disconnecting. 2014-11-30 15:42:08 -08:00
Andrew Brampton dbcdb4c13d Fixed the building of the server/port string to be IPv6 safe. 2014-11-30 10:09:17 -08:00
Minecrell b533f5b698 Make local bind address configurable. 2014-10-12 19:34:29 +02:00
Bill Thiede 09765bab65 client: track bot mode on who replies. 2014-09-30 15:01:45 -07:00
Alex Bramley 58eaab3f1f New race detector finds more bugs in my crappy code :-) 2014-09-05 15:39:56 +01:00
Alex Bee 7c53f41c56 Merge pull request #46 from 3onyc/master
Make parseLine public by renaming it to ParseLine
2014-07-06 21:38:46 +01:00
3onyc 8f2ab20f4f Make parseLine public by renaming it to ParseLine 2014-07-06 20:26:34 +02:00
StalkR ec98b98fa6 client/mocknetconn_test: minor fix found by go vet
net.IPAddr composite literal uses unkeyed fields
2014-06-19 15:19:37 +02:00
Alex Bee 7711182a72 Use Connected() instead of .connected in String() 2014-06-14 15:50:52 +01:00
Peter SZTANOJEV 3fdd17a2b8 move the disconnection event after we are done disconnecting, there is nothing to be done anyway 2014-05-31 20:34:21 +02:00
Alex Bramley d0606981cb Atomic incrementing of call count for dispatch test (1->0).
This probably could be done better with channels...
2013-09-30 14:49:32 +01:00
Alex Bramley 4eaad0e95e Use call checker instead of writing to shared var in tests (10->1). 2013-09-30 14:43:29 +01:00
Alex Bramley 637cdb573f Put read lock in Connected() (10->9). 2013-09-30 13:55:55 +01:00
Alex Bramley 648864c1d4 Wait for all goroutines before calling initialise (54->10). 2013-09-30 13:26:06 +01:00
Alex Bramley adc6c2917d Use a single control chan to kill mockNetConn goroutines (77->54). 2013-09-30 13:25:24 +01:00
Alex Bramley 144001d109 Split handlers up into three groups. 2013-09-28 00:15:54 +01:00
Alex Bramley 5bb0c8278d Minimally invasive change to put logging behind a user-replaceable interface.
This could probably be done better, and there are probably awful caveats
and hidden gotchas with this approach. I REGRET NOTHING.
2013-09-27 22:19:40 +01:00
Alex Bramley 06a9cb5d0f Give each handler its own copy of *Line.
Thanks to Kevin Ballard for the suggestion.
2013-04-08 18:04:40 +01:00
Alex Bramley 8ae6733942 Use a channel close to kill goroutines.
This tidies things up nicely, especially in some of the tests.
2013-04-08 18:02:34 +01:00
Alex Bramley 8d6b5de994 Don't Error() for EOF, since it's expected. 2013-03-17 21:13:20 +00:00
Alex Bramley 34462b2ad5 Add another Line method to make life easier. 2013-03-17 16:46:39 +00:00
Alex Bramley 5c56572b0d Split long messages at a configurable length. Fixes #29. 2013-03-17 01:21:09 +00:00
Alex Bramley 0b64613fe3 Add VHost() command, because I wants it. 2013-03-15 17:40:28 +00:00
Alex Bramley fd5fddc2cc Returning an error was awkward. Panic when people do things wrong instead. 2013-03-15 17:04:58 +00:00
Alex Bramley e6cf0933b5 Add a version of iopred's Message() and Target() Line methods, and tests. 2013-03-10 15:55:16 +00:00
Alex Bramley 332ff0a27d Fix up parseLine to use these new-fangled constants; fix Copy doc and test. 2013-03-10 15:54:37 +00:00
Alex Bramley 0c25d2d602 Hmm, this is failing occasionally now. Maybe I need a faster computer ;-) 2013-03-10 15:51:43 +00:00
Alex Bramley 31606b7f2f gofmt run. 2013-03-10 13:31:04 +00:00
Alex Bramley ac9d05efa2 Port sp0rkle's panic recovery back into goirc. 2013-03-10 13:30:00 +00:00
Alex Bramley 5f2665dde8 Further comment tidy and code reorg. 2013-03-10 13:16:14 +00:00
Alex Bramley d6cb0bb026 Fix comments and my poor code-reading skills. Damn you StalkR :-) 2013-03-10 12:17:16 +00:00
StalkR 9c832fdbdb merge #34 changes into #32 2013-03-08 23:59:54 +01:00
Chris Rhodes 60b9313a7a Ping/Pong message. 2013-03-07 17:43:33 -08:00
Chris Rhodes d1bf2c3a68 Use constants for named messages. 2013-03-07 17:33:56 -08:00
StalkR 8c5282eda1 client: commands: route commands to Raw and add command injection protection there 2013-03-07 11:54:00 +01:00
StalkR 45ecc205ff client: commands: protection against IRC command injection 2013-03-06 22:46:10 +01:00
StalkR 4fd4d930cf client: 352 who reply: do not warn if nick is me 2013-03-06 22:19:08 +01:00
Alex Bramley 9d069586a7 Don't update Me from WHO/WHOIS reply handlers. Fixes #27. 2013-02-27 23:30:13 +00:00