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
Jeremy Latt
04bb79a610
fix invite message to clients
2014-03-05 22:55:22 -08:00
Jeremy Latt
0874692aa8
send proper replies for cap protocol
2014-03-02 12:54:48 -08:00
Jeremy Latt
92e7a7961f
notify on more signals
2014-03-02 11:51:29 -08:00
Jeremy Latt
fa165a9d74
Merge remote-tracking branch 'origin/master' into gcfg
...
Conflicts:
ergonomadic.go
irc/config.go
irc/server.go
2014-03-02 11:42:43 -08:00
Jeremy Latt
2340464265
Merge pull request #10 from jlatt/cleanup
...
cleanup
2014-03-02 11:37:06 -08:00
Jeremy Latt
6aa6f0aeaa
notify clients when the server shuts down
2014-03-02 11:36:00 -08:00
Jeremy Latt
b421971b61
move db init/open functions into a single file
2014-03-01 15:09:58 -08:00
Jeremy Latt
83d021fcb7
switch to gcfg for conf file
...
- add some validation for config file
- add comments explaining config
- remove TLS listener since most clients can't use it anyway
- remove unused nick generation function
2014-03-01 14:38:01 -08:00
Jeremy Latt
36602c9a3c
basic capability negotiation
...
- multi-prefix is supported as an example
2014-02-28 19:24:38 -08:00
Jeremy Latt
9aeb813cf5
restrict nicknames to proper character set
2014-02-26 13:42:29 -08:00
Jeremy Latt
4df8ec12f6
allow nick changing
2014-02-26 12:24:52 -08:00
Jeremy Latt
66f9b42125
avoid duplicate mode changes
2014-02-25 22:19:21 -08:00
Jeremy Latt
9dc229b98f
skip nick change if there is no difference
2014-02-25 20:47:59 -08:00
Jeremy Latt
45bb0d05e7
normalize all unicode input from the client
2014-02-25 20:22:07 -08:00
Jeremy Latt
b30e247e77
properly persist channels
2014-02-25 15:57:35 -08:00
Jeremy Latt
02abeeb164
persistent channels persisted to a sqlite db
2014-02-25 11:11:34 -08:00