Commit Graph

411 Commits

Author SHA1 Message Date
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 12eb9c89eb Simple adapter to utilise GLog with goirc. 2013-09-27 22:34:07 +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 de94609749 Fix copypasta and add a comment about fail. 2013-04-05 12:30:04 +01:00
Alex Bramley 2e4623676d Go fix tool for client API changes. 2013-04-04 18:51:35 +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
Alex Bee 2c5b477233 Merge pull request #32 from StalkR/injection
Soft protection against IRC command injection
2013-03-09 09:55:31 -08:00
StalkR 9c832fdbdb merge #34 changes into #32 2013-03-08 23:59:54 +01:00
Alex Bramley a2b9ce4198 Acknowledge contributions from fellow githubbers! 2013-03-08 22:24:33 +00:00
Alex Bee 970a4aaaa4 Merge pull request #34 from iopred/tokens
Use constants for named messages.
2013-03-08 13:39:39 -08: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
Alex Bee 4d7d690159 Merge pull request #33 from StalkR/who
352 who reply: do not warn if nick is me
2013-03-06 15:17:38 -08: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
Alex Bramley 4cd3831e92 Remove Commands from core goirc.
This dictates too much about how people might want to parse and act upon
information from PRIVMSGs, and thus should be an optional thing.
2013-02-27 20:23:24 +00:00
Alex Bee 7bb84985ee Merge pull request #26 from iopred/cfgmessages
Moved QUIT and VERSION responses into the config.
2013-02-27 11:24:27 -08:00
Chris Rhodes f1fe9d99a4 Fix test. 2013-02-18 17:02:58 -08:00
Chris Rhodes 74dea68158 Moved QUIT and VERSION messages into the config. 2013-02-17 22:28:22 -08:00
Alex Bramley fe4fae0479 Update README and example client. 2013-02-18 01:53:17 +00:00
Alex Bramley fd6fc1269b SimpleClient shouldn't need to return an error. 2013-02-18 01:42:44 +00:00
Alex Bramley 8ed96e4294 Add Me() function for ease of use. 2013-02-18 01:38:04 +00:00
Alex Bramley 12bcc94eeb Add mutex for connect/disconnect locking. 2013-02-18 01:36:52 +00:00
Alex Bramley a323372a0b First steps towards client interface.
- Move all exported vars to Config struct;
- Plumbing for Config.Me etc;
- Constants and INIT/REGISTER handler from github.com/iopred;
2013-02-18 01:36:17 +00:00
Alex Bramley 39882dafd4 Minor rearrangements. 2013-02-17 23:55:39 +00:00
Alex Bramley b1242aa351 Break out tweakable things into a Config struct. 2013-02-16 18:05:56 +00:00
Alex Bramley 45d7b3317f Remove state.StateTracker stutter, hide it in Conn. 2013-02-16 11:29:56 +00:00
Alex Bramley a88b866b63 Fix up README and example client. 2013-02-16 11:04:06 +00:00
Alex Bramley f27e56c8b0 Run gofmt, since it's clearly been a while. 2013-02-16 10:33:15 +00:00
Alex Bramley a674267128 Re-work Handlers for IRC events; add Commands. 2013-02-16 00:17:31 +00:00
Alex Bramley a038856094 Remove embedded logger from client package. 2013-02-16 00:15:23 +00:00