Commit Graph

181 Commits

Author SHA1 Message Date
Přemysl Eric Janouch 62418ebb54
hid: rename connCloseWrite to connCloseWriter 2018-08-06 12:06:42 +02:00
Přemysl Eric Janouch 6b45865e3d
hid: add the first tests
This has actually revealed a problem in the SSL 2.0 detection.
2018-08-06 12:06:20 +02:00
Přemysl Eric Janouch 198cb87036
README: fix typos, add some references 2018-08-06 11:10:35 +02:00
Přemysl Eric Janouch 23f637dd47
hid: fix SSL 2.0 autodetection 2018-08-04 21:13:28 +02:00
Přemysl Eric Janouch 4cd460886e
hid: add support for customized replies 2018-08-03 21:45:53 +02:00
Přemysl Eric Janouch 4d8376fd3c
hid: unify exit codes with the flag package 2018-08-03 21:45:53 +02:00
Přemysl Eric Janouch 01c3933a07
hid: cleanups 2018-08-03 21:45:52 +02:00
Přemysl Eric Janouch 4fa84cc877
Add a README 2018-08-03 19:21:43 +02:00
Přemysl Eric Janouch 4fc4426587
hnc: add a custom netcat-alike 2018-08-03 19:07:12 +02:00
Přemysl Eric Janouch 9b6c4e7028
hid: fix listener shutdown 2018-08-03 10:55:22 +02:00
Přemysl Eric Janouch 2e427c2cea
hid: fix nickname verification in the user MODE message 2018-08-02 18:42:32 +02:00
Přemysl Eric Janouch a4239548d3
hid: port default formatting strings to fmt 2018-08-02 12:51:22 +02:00
Přemysl Eric Janouch a966d8489a
hid: ircSendToRoommates -> ircNotifyRoommates
Should be clearer.
2018-08-01 20:39:37 +02:00
Přemysl Eric Janouch e0b46a8cff
hid: figured out how to port timeouts 2018-08-01 20:39:37 +02:00
Přemysl Eric Janouch a6e6c3aaff
hid: another round of general code cleanups 2018-08-01 17:45:56 +02:00
Přemysl Eric Janouch 33969ac86e
hid: bringup of what we have this far 2018-07-31 23:11:54 +02:00
Přemysl Eric Janouch b103d5e2eb
hid: port configuration and initialization
All the basic elements should be there now, we just need to port PING
timers and fix some remaining issues and we're basically done.
2018-07-31 20:53:23 +02:00
Přemysl Eric Janouch c75299e1c3
hid: port IRC 3.2 message tag parsing, unused 2018-07-30 17:50:27 +02:00
Přemysl Eric Janouch 24f1c4413a
hid: use time.Time and time.Duration
It improves the code significantly over explicit int64 conversions.

Despite carrying unnecessary timezone information, time.Time also
carries a monotonic reading of time, which allows for more precise
measurement of time differences.
2018-07-30 10:07:02 +02:00
Přemysl Eric Janouch 40370702d4
hid: port MODE, STATS, LINKS, KILL
Now all the commands have been ported but we desperately need to parse
a configuration file for additional settings yet.
2018-07-30 09:46:59 +02:00
Přemysl Eric Janouch 5429c0b09d
hid: port PART, KICK, INVITE, JOIN, AWAY, ISON, ADMIN, DIE 2018-07-29 17:49:57 +02:00
Přemysl Eric Janouch b28c20a250
hid: port PRIVMSG, NOTICE, NAMES, WHO, WHOIS/WAS, TOPIC, SUMMON, USERS 2018-07-29 15:57:39 +02:00
Přemysl Eric Janouch 2dfb4e45d1
hid: first round of mixed fixes and cleanups 2018-07-29 08:14:07 +02:00
Přemysl Eric Janouch f5def2e579
hid: add a work in progress IRC daemon
The port is more than viable but it's also sort of all-or-nothing
and versioning needs have come before I've had a chance to finish it.
2018-07-28 16:21:34 +02:00
Přemysl Eric Janouch b2cd8b46c9
tls-autodetect: mark issues, fix initialization 2018-07-24 13:58:57 +02:00
Přemysl Eric Janouch e8602ee718
tls-autodetect: avoid a goroutine leak on timeout 2018-07-23 05:33:50 +02:00
Přemysl Eric Janouch a8f02e0d37
tls-autodetect: finish inQ overrun handling 2018-07-22 14:55:15 +02:00
Přemysl Eric Janouch 525734eeb3
tls-autodetect: fix client-initiated shutdown 2018-07-22 13:46:28 +02:00
Přemysl Eric Janouch 6caa4ab928
Rename client.kill to client.closeLink 2018-07-21 00:27:26 +02:00
Přemysl Eric Janouch 728fa4e548
tls-autodetect: put most of the server code in place
So far we act up when it is the client who initializes the shutdown.
2018-07-15 12:51:06 +02:00
Přemysl Eric Janouch b5b64db075
Initial commit
Add a work-in-progress demo chat server with TLS autodetection.

It needs to be perfected before I move on to writing an IRCd on
the foundations.  If history is of any indication, this might lead
towards a nice set of applications.
2018-07-15 05:58:59 +02:00
Paul Sbarra cd22f99b20 auth: use encoding.binary 2012-05-28 17:58:32 -05:00
Andrew Gallant (Ocelot) 4ea94ca0fe Bug fix in the generator that was outputting %(MISSING) crud. 2012-05-26 18:24:52 -04:00
Andrew Gallant (Ocelot) 58bb2572c5 Doc touchups. 2012-05-26 18:22:25 -04:00
Andrew Gallant (Ocelot) acb84171e5 Add new logger type so that it can be shut off. 2012-05-16 23:57:26 -04:00
Andrew Gallant (Ocelot) 424f293671 export logger so it can be disabled 2012-05-16 23:26:19 -04:00
Andrew Gallant (Ocelot) 45a4ee92eb close channels. 2012-05-12 22:17:10 -04:00
Andrew Gallant (Ocelot) 6bdfd1d1b1 A more idiomatic way of trying a non-blocking send on a buffered channel
and falling back to a blocking send inside a goroutine.

This really needs to be fixed. The situation only arises when events are
sent and aren't pulled off the channel using {Wait,Poll}ForEvent.
Namely, if the event send blocks, the entire program will deadlock.

Using a goroutine is not ideal because we lose a guarantee of order:
that events are processed in the order of their arrival. However, it
seems OK as a temporary band-aide for a situation that probably doesn't
arise too often.

What I need to do is implement a dynamic queue. Here is a reference
implementation: http://play.golang.org/p/AiHBsxTFpj
2012-05-12 21:55:57 -04:00
Andrew Gallant (Ocelot) 7abc9c6455 added some docs and removed some extraneous code 2012-05-12 21:44:53 -04:00
Andrew Gallant (Ocelot) 24fef4062a docs 2012-05-12 21:36:31 -04:00
Andrew Gallant (Ocelot) f77feff864 some docs in the Makefile and removing a prefix that isn't needed. 2012-05-12 21:27:47 -04:00
Andrew Gallant (Ocelot) aa95801b2d panic when an extension request is issued before an extension has been initialized. but give a nice error message for the happy people. 2012-05-11 23:59:38 -04:00
Andrew Gallant (Ocelot) 29942bf078 panic when an extension request is issued before an extension has been initialized. but give a nice error message for the happy people. 2012-05-11 23:58:52 -04:00
Andrew Gallant (Ocelot) fb3128ed2a doc updates and a quick usage 2012-05-11 02:01:29 -04:00
Andrew Gallant (Ocelot) 3e6b354493 add a little more docs for errors 2012-05-11 01:58:52 -04:00
Andrew Gallant (Ocelot) c00652934e better docs 2012-05-10 23:57:34 -04:00
Andrew Gallant (Ocelot) a3363755cd adding package header comments 2012-05-10 20:06:22 -04:00
Andrew Gallant (Ocelot) 0c50dc6241 a huge commit. splitting extensions into their own sub-packages. 2012-05-10 17:01:42 -04:00
Andrew Gallant (Ocelot) e239bb3c68 make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
Andrew Gallant (Ocelot) 00c6217ca9 update 2012-05-08 23:03:55 -04:00