Commit Graph

164 Commits

Author SHA1 Message Date
Daniel Oaks 3a9a643d30 server: Let websocket listeners also be TLS 2016-04-28 20:41:26 +10:00
Daniel Oaks 2fb6acb92a restructure SSL/TLS a bit, name config items better 2016-04-28 20:12:23 +10:00
Daniel Oaks cd7d30a997 Set default channel modes to +nt 2016-04-21 19:29:50 +10:00
Daniel Oaks 8885f14f19 PROXY: Restrict to specified addresses/hostnames 2016-04-21 16:53:55 +10:00
Daniel Oaks fb345a2dd4 user: Don't parse the second and third params anymore 2016-04-15 18:45:05 +10:00
Daniel Oaks 9acdeedec6 commands: Simplify and unify minimum required number of args handling 2016-04-15 15:57:08 +10:00
Daniel Oaks 8b79662f1a modes: use secret instead of private, it's the standard these days. fix secret channel hiding in whois 2016-04-14 22:33:38 +10:00
Daniel Oaks 0ccabead31 cap: Properly suspend registration for CAP negotiation 2016-04-14 11:25:23 +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 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 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
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
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
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 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
Edmund Huber d5bdc78d55 adding theater-mode, fixes #15 2014-03-20 05:05:18 +01:00
Jeremy Latt 8c44bb9ff3 ONICK command to allow operators to change users' nicks 2014-03-17 12:56:35 -07:00
Jeremy Latt 7db4347419 bind to listening sockets before asyncing 2014-03-13 17:19:39 -07:00
Jeremy Latt d85e6681d9 move modes code to its own file; fix SQL (un)marshalling 2014-03-13 13:22:38 -07:00
Jeremy Latt 39b7c2a915 Merge remote-tracking branch 'origin/master' into cleanup
Conflicts:
	irc/client.go
	irc/commands.go
	irc/constants.go
	irc/reply.go
	irc/server.go
	irc/types.go
2014-03-13 12:38:44 -07:00
Jeremy Latt 2006aff9f7 break up types.go
- remove old interfaces, move to relevant files
- remove Phase in favor of a boolean flag
2014-03-12 17:52:25 -07:00
Jeremy Latt 0126edc7af move capability handling code to a single file 2014-03-12 17:38:11 -07:00
Jeremy Latt e15f47c766 move to channel-based logging 2014-03-12 17:17:26 -07:00
Jeremy Latt d1a299792e don't buffer channels (except signal channel) 2014-03-12 16:58:11 -07:00
Jeremy Latt 4268c4a936 don't set CapNegotiating for blind CAP REQ 2014-03-12 16:57:15 -07:00
Jeremy Latt 96a108f8da mark unicode normalization with type 2014-03-12 16:45:22 -07:00
Jeremy Latt 465313c9ac Merge remote-tracking branch 'origin/master' into user-mask
Conflicts:
	irc/types.go
2014-03-08 19:23:10 -08:00
Jeremy Latt 81df7b4a5c comments and improvements for client set 2014-03-08 19:22:04 -08:00
Jeremy Latt 33df043961 fix CAP messages 2014-03-08 14:00:13 -08:00
Jeremy Latt cf76d2bd77 persist and load channel mask lists 2014-03-07 18:14:39 -08:00
Jeremy Latt 5d46e7d7fa Merge remote-tracking branch 'origin/master' into user-mask
Conflicts:
	irc/reply.go
	irc/server.go
	irc/types.go
2014-03-06 17:44:37 -08:00
Jeremy Latt 4bcd42ff34 Merge pull request #8 from jlatt/cap-protocol
basic capability negotiation
2014-03-06 17:39:12 -08:00
Jeremy Latt 12ae89ca14 minor cleanup/refactoring 2014-03-06 17:07:23 -08:00
Jeremy Latt adde42a1bf update ClientLookupSet when username changes 2014-03-06 16:53:15 -08:00
Jeremy Latt 76852b0370 implement WHOWAS with a shared ringbuffer 2014-03-06 13:55:40 -08:00
Jeremy Latt 41a6027d4e move ClientLookupSet to its own file 2014-03-06 13:10:54 -08:00
Jeremy Latt b2055595e1 WHOWAS command 2014-03-06 12:14:21 -08:00
Jeremy Latt 69cdad45ac partially-working sqlite-based usermasks 2014-03-06 11:56:32 -08:00
Jeremy Latt 832a5e1e19 allow empty server password 2014-03-06 11:00:48 -08:00
Jeremy Latt d54f530d13 Merge remote-tracking branch 'origin/master' into cap-protocol
Conflicts:
	irc/server.go
2014-03-06 10:34:50 -08:00
Jeremy Latt 5c6f8ff92a improve logging 2014-03-05 23:07:55 -08:00
Jeremy Latt fa5b1e6cf7 Merge pull request #9 from jlatt/gcfg
switch from JSON to gcfg config files
2014-03-05 23:02:22 -08:00