Alex Bramley
377fbcd3af
WIP on config parser before attempting to learn FSMs
2010-11-27 14:12:12 +00:00
Alex Bramley
b3f98e762e
Merge branch 'master' into ircd-devel
2010-11-23 22:18:25 +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
b2539c0063
Initial commit of vague hackery for a go IRCd.
2010-11-21 20:07:31 +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