Commit Graph

282 Commits

Author SHA1 Message Date
Daniel Oaks 9b32d7d6b8 mode: Parse more advanced mode changes 2016-04-14 18:41:58 +10:00
Daniel Oaks 63f5f34f28 version: Clarify semantic versioning "public API" and reset ver number on Oragono 2016-04-14 15:31:51 +10:00
Daniel Oaks 0ccabead31 cap: Properly suspend registration for CAP negotiation 2016-04-14 11:25:23 +10:00
Daniel Oaks b028b6929c reply: Include param on RPL_ENDOFWHOIS. Fixes #18 2016-04-14 10:16:32 +10:00
Daniel Oaks a241ea7dd6 version: Return RPL_ISUPPORT tokens, as standard 2016-04-14 09:55:22 +10:00
Daniel Oaks 3972fc49ed privileges: Add founder/admin/halfop (qah), remove owner (O)
channel owner is from 2812 and unused in the real world
2016-04-14 09:36:02 +10:00
Daniel Oaks 5ee0f1c205 capability: Remove CAP CLEAR as per IRCv3 recommendations, allow CAP command after registration 2016-04-14 07:30:14 +10:00
Daniel Oaks c3288823af Add native SSL/TLS listener support from @enmand for our new config 2016-04-13 20:45:09 +10:00
Daniel Oaks 8dc2732137 server: Store MOTD in memory rather than reading it from disk every time. Fixes #3 2016-04-13 15:49:30 +10:00
Daniel Oaks 56641ff650 isupport: Don't advertise stuff that's still TODO 2016-04-13 08:59:00 +10:00
Daniel Oaks 78928c0322 isupport: STATUSMSG isn't supported, don't advertise it 2016-04-13 08:58:52 +10:00
Daniel Oaks a013205fd1 Support network name 2016-04-13 08:58:41 +10:00
Daniel Oaks c88cd328f8 Very initial RPL_ISUPPORT numeric support 2016-04-13 08:57:34 +10:00
Daniel Oaks c0c16c72f0 ergonomadic -> oragono. I'm making lots of changes and this is AN EXPERIMENT. I want to differentiate this from Ergonomadic proper 2016-04-13 08:55:37 +10:00
Daniel Oaks 29d80366a6 Use docopt for command-line processing and new YAML configuration format 2016-04-13 08:46:14 +10:00
Daniel Oaks c705bdaac5 irc/server: MOTD does not need to be clipped at 80 chars, has not been standard for a long while now 2016-04-13 08:46:14 +10:00
Daniel Oaks 7ce62444de strings: Disallow nicknames that mess with the protocol in bad ways 2016-04-12 22:42:17 +10:00
John Soros 65539a593b this is related to https://github.com/fluffle/goirc/pull/71: common irc server behaviour is to reply with an empty + 2016-02-20 22:19:32 -08:00
Roberto Besser 404151fe9d code.google.com is shutting down, change import to use gopkg.in 2016-02-20 18:16:04 -08:00
Robin Burchell 6ad97f7e5d irc: Switch to golang.org versions, not google code versions of dependencies.
This has a few advantages:
* the google code versions are no longer maintained
* the google code versions are using mercurial (which I don't have installed)
2015-07-04 12:19:33 +02:00
Edmund Huber 67a6247377 Merge pull request #14 from edmund-huber/websocket
add support for WebSocket connections
2015-06-09 10:30:04 -07:00
Edmund Huber 02dca1dd89 fix array overrun panic bug, #13 2015-06-06 18:26:28 -07:00
Edmund Huber a16cc84e41 don't shadow the second error 2015-06-06 16:15:09 -07:00
Edmund Huber fce54343ea touchups to irc/websocket.go per review comments 2015-06-06 16:11:06 -07:00
Edmund Huber 62302ec92e fail WebSockets with subprotocols here, because gorilla leaves it up for us to deal with subprotocols 2015-06-06 15:19:07 -07:00
Edmund Huber 23d7c81684 comment for CheckOrigin 2015-06-06 14:05:29 -07:00
Niels Freier 6a69a65860 WebSocket layer to be able to connect "web" client
Currently working with a mini irc js implem, the flow:

* PASS
* NICK
* USER
* JOIN
* PRIVMSG

works and the ping/pong timeout keep the communication open.
2015-05-04 09:47:26 +04:00
Edmund Huber 846543c180 try including the prefix in the PONG to a client PING, maybe fix #5 2015-02-19 02:09:25 -08:00
Jeremy Latt 84eed13f1d v1.4.4 2014-04-15 21:25:55 -07:00
Jeremy Latt 4ce4ba31c5 keep track of whether sockets are closed 2014-04-15 12:10:02 -07:00
Jeremy Latt 6c10add399 improve performance by using less goroutines
- get rid of command channel in Client
- get rid of loginTimer; use other timers instead
- move debugging code to debug.go
2014-04-15 12:10:02 -07:00
Jeremy Latt cab21782b4 fix crash in whowas circular buffer 2014-04-10 11:53:34 -07:00
Jeremy Latt 142bf3d3bb don't async buffer flushing 2014-03-31 10:00:59 -07:00
Edmund Huber b4edcea6e3 pretty up the notice a bit, and use RplNotice 2014-03-29 19:46:44 +01:00
Edmund Huber e1c235a9ea fix up MODE behavior to allow /mode <not-your-nick> and show per-channel modes, fixes #29 2014-03-29 19:36:42 +01:00
Jeremy Latt 37e15d7f62 v1.4.1 2014-03-28 14:41:24 -07:00
Jeremy Latt 2e212e3692 Merge pull request #35 from jlatt/fix-goroutine-leak
fix two bugs
2014-03-28 14:41:00 -07:00
Jeremy Latt 2d2e63a1b7 Merge pull request #33 from jlatt/async-write-flush
async all write buffer flushes
2014-03-28 14:34:37 -07:00
Jeremy Latt b0bb0faadc remove unnecessary String()s; rename parse functions 2014-03-28 14:33:31 -07:00
Jeremy Latt 21a86c3216 fix gcstats debugging command 2014-03-28 13:03:06 -07:00
Jeremy Latt f32df20a83 get rid of useless assignment 2014-03-28 12:11:01 -07:00
Jeremy Latt 63a46498ce reuse replies where possible 2014-03-27 19:04:34 -07:00
Jeremy Latt 3b12dec207 cleanup 2014-03-27 18:58:12 -07:00
Jeremy Latt 2dc69c7e3d use a Scanner instead of ReadString 2014-03-27 18:53:01 -07:00
Jeremy Latt 5f268e4847 async all write buffer flushes 2014-03-27 18:34:31 -07:00
Jeremy Latt d696f2313e stop leaking client goroutines; closes #34 2014-03-27 16:49:22 -07:00
Jeremy Latt c2e3bbe494 fix whois; closes #32 2014-03-27 16:48:13 -07:00
Edmund Huber 2272aae213 spelling and gofmt 2014-03-23 06:50:07 +01:00
Edmund Huber 34b01b115e add a type for CTCP-encoded strings, and NOTICEs for error cases 2014-03-23 06:47:21 +01:00
Edmund Huber 6267b6a40c clean up /theater so that it doesn't need a bunch of pointers and that it reuses channel-scoped-user-modes machinery 2014-03-22 22:25:24 +01:00