Commit Graph

449 Commits

Author SHA1 Message Date
Alex Bramley 1d587cd3fc Helps if you add the damn element to the struct... 2010-12-19 15:22:40 +00:00
Alex Bramley bea2395160 Make timestamp format twiddleable; cosmetic re-arrangement of *Conn struct. 2010-11-23 22:18:08 +00:00
Graham Lyon 623247c995 Generalise timestamp code and default to using time.LocalTime 2010-11-23 22:08:25 +00:00
Alex Bramley 08b7d63c27 Refactor to remove line.Text and use line.Args[-1] instead. 2010-11-23 22:07:21 +00:00
Graham Lyon 8ad6e67467 Added timestamps to irc.Line and debug output 2010-11-23 20:22:35 +00:00
Alex Bramley 83e1f9ca74 Update README for release. 2010-11-21 19:59:57 +00:00
Alex Bramley bedbfc2899 Move irc/ to client/ and set up for goinstall. 2010-11-21 19:53:14 +00:00
Alex Bramley 00d25810b5 De-duplicate mode parsing and move to nickchan.go. 2010-11-04 01:22:49 +00:00
Alex Bramley e611672b06 Reorganise handlers into separate methods rather than anonymous functions. 2010-11-04 00:54:26 +00:00
Alex Bramley c419ef1ead Run gofmt over everything, for great justice. 2010-11-04 00:25:46 +00:00
Alex Bramley 6bb5558c46 Bugfix -- there could be other integer modes than +l. 2010-11-04 00:06:27 +00:00
Alex Bramley ff61bc9ea1 Update README with slight changes. 2010-11-04 00:02:26 +00:00
Alex Bramley 419dba1e75 Update example client with changes. 2010-11-03 23:53:14 +00:00
Alex Bramley 961e38d7bf Handle ircu's non-conformist attitude to JOIN/PART formatting(h/t raylu again). 2010-11-03 23:51:36 +00:00
Alex Bramley 7935d2e939 Use append() instead of doing it manually. 2010-11-03 23:50:43 +00:00
Alex Bramley 38eb150850 Somewhat better SSL handling. It'll improve moar if my patches get looked at. 2010-11-03 23:49:28 +00:00
Alex Bramley a9d47d1a25 Sneakier handling of variadic optional args for commands. 2010-11-03 23:48:28 +00:00
Alex Bramley f829eeab9b Merge in some other niceties from raylu. 2010-11-03 23:46:58 +00:00
Alex Bramley 04db2e2c8d Revert "Use default root CAs for SSL connections, h/t raylu."
This reverts commit 7515f11470.

This doesn't use the "default" CAs, it explicitly turns off CA verification.
Probably not the best of ideas. Patch to enable optional verification coming.

Conflicts:

	irc/connection.go
2010-11-03 20:42:39 +00:00
Alex Bramley 34b3299d41 Bring in Ray Lu's Debug patches. 2010-11-02 21:47:05 +00:00
Alex Bramley 9b9197f5f6 *cough* I should pay more attention when merging... 2010-10-24 10:06:18 +01:00
raylu 036cc4c3eb Fix a bug that prevented adding multiple handlers 2010-10-24 09:54:23 +01:00
Alex Bramley 7515f11470 Use default root CAs for SSL connections, h/t raylu. 2010-10-24 09:53:52 +01:00
Alex Bramley 05e3500a3c Enable SSL IRC for goirc. 2010-08-30 12:16:20 +01:00
Alex Bramley c4d09cd228 Missed strings.Split() invocation; h/t jessta. 2010-08-30 12:03:01 +01:00
Alex Bramley 36b7645577 Makefile fixes to build with more recent Go releases. 2010-08-29 21:24:47 +01:00
Yves Junqueira 1503d7b9db Fixes for recent versions of Go.
Simplifying getStringMsg().
2010-08-29 23:59:16 +08:00
Alex Bramley cc35817517 Add a few more commands that might end up being useful 2009-12-19 22:15:11 +00:00
Alex Bramley 17e5216144 fix race and reinit conn.Me on disconnect
* due to the blocking nature of channel reads, by the time the runLoop()
  for loop exits in that goroutine, we might well be half-way through
  reconnecting to the server -- a bad time to run conn.initialise().
  move the call to initialise() into shutdown() to ensure it happens
  in a timely manner.

* On a related note, conn.Me was retaining old channel objects in it's
  Channels map. All other references to nicks and channels are erased
  in conn.initialise(), but as we keep a seperate reference to our Nick
  object in conn.Me, we need to reinit that at the same time.
2009-12-19 19:05:32 +00:00
Alex Bramley 03e5b3a84e add flood testing capability to test client 2009-12-19 18:36:12 +00:00
Alex Bramley 38f1cd9388 minor handler bug fixes in 433 and MODE
* sending NICK after 433 -- but before 001 from server -- does not
  result in a confirmation NICK message back from server, so we need
  to change Conn.Me.Nick in the 433 handler in this case.
* Nick MODE changes are transmitted back to us in line.Text not
  line.Args[1], so make sure error messages use this when needed.
2009-12-19 18:33:54 +00:00
Alex Bramley 2b1d7068b1 Less naive flood-protection algorithm in *Conn.send() 2009-12-19 18:09:29 +00:00
Alex Bramley af8dfdb6f3 change channel reads to use 'for v := range ch {}' idiom 2009-12-19 15:30:54 +00:00
Alex Bramley 7f6c8fc232 should probably be reading from conn.out after the test for closedness 2009-12-19 14:58:41 +00:00
Alex Bramley 36976f59d0 time.Sleep() requires forced int64 type 2009-12-19 13:44:36 +00:00
Alex Bramley 2942cf2093 Add naive flood protection code to *Conn.send() 2009-12-19 13:40:50 +00:00
Alex Bramley 30fbdda75e Update 352 WHOREPLY handler to set +o and +i user modes for nick 2009-12-19 13:05:10 +00:00
Alex Bramley cdc715735f Use WHO instead of WHOIS to find information about nicks
Send a single WHO on joining channel rather than triggering a WHOIS of
every nick in the 353 RPL_NAMES handler. Avoids 'Excess Flood' when
joining a large channel ;-)
2009-12-19 12:33:54 +00:00
Alex Bramley dc1dd0333a Remove extraneous (and quite spammy) debug printing. 2009-12-18 23:59:12 +00:00
Alex Bramley 05e665bec7 add irc_test.go, update Makefile and .gitignore
add simple test code to make building this package within src/pkg happy;
update irc/Makefile whitespace -- s/    /\t/;
update .gitignore to ignore _test directory created in test build;
2009-12-18 22:50:13 +00:00
Alex Bramley e5131515b8 update README and comments so godoc creates nice helpful html documentation 2009-12-18 22:48:58 +00:00
Alex Bramley 07ff350dd0 Updated README with synopsis code 2009-12-17 21:47:33 +00:00
Alex Bramley ae8e34ff0e reformat source with gofmt to nuke all of those unneeded semicolons 2009-12-17 21:30:18 +00:00
Alex Bramley 1c31d5fb47 update vims to edit README too, maybe i'll actually add stuff. 2009-12-17 21:14:46 +00:00
Alex Bramley 6a8c1a13b2 correct syntax errors from updating go to 4450:dd9bae5c7eac 2009-12-17 21:14:01 +00:00
Alex Bramley 7191dd9177 Basic README for github. 2009-12-17 21:12:37 +00:00
Alex Bramley 79822340b5 vastly updated bot framework, now with state tracking etc. 2009-12-17 17:22:31 +00:00
Alex Bramley 4d610d1718 IRC RFCs and unreal docs for reference 2009-12-12 00:24:41 +00:00
Alex 545a88fea0 initial go IRC library, dirty hax abound :-) 2009-11-29 20:23:15 +00:00