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
Jeremy Latt
bffad06a26
v1.4
2014-03-21 23:25:19 -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
abf00e22ec
LIKE quoting should convert to string for SQL
2014-03-17 12:56:12 -07:00
Jeremy Latt
874f3628c9
fix another Name => string conversion
2014-03-15 19:18:57 -07:00
Jeremy Latt
7a9f1d750b
explain why CheckPassword happens in client thread
2014-03-15 15:12:29 -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
77d053ccac
get rid of editableCommand
2014-03-12 17:10:48 -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
97886dd00f
relax regex restrictions for nicknames
2014-03-08 20:03:36 -08:00
Jeremy Latt
f1b610e1c1
v1.3
2014-03-08 19:24:55 -08: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
04c30c8c9b
channel invite mode/list
2014-03-07 17:36:20 -08:00
Jeremy Latt
cd2042dfea
Merge remote-tracking branch 'origin/master' into user-mask
2014-03-07 17:10:14 -08:00
Jeremy Latt
d4093e7f8b
mask lists (ban, except, invite)
2014-03-07 17:09:49 -08:00
Jeremy Latt
f56db354ee
fix client auth for no password
...
All clients are authorized if the server lacks a password.
2014-03-06 20:10:02 -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
d6688a3047
allow | in nicks
2014-03-02 13:10:47 -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
8f0d2b89ee
v.1.2.12
2014-03-02 11:06:02 -08:00
Edmund Huber
857907320d
allow underscores in nicks
2014-03-02 19:56:21 +01:00
Jeremy Latt
22c1cfdc3e
chdir instead of relativizing paths in config
2014-03-01 21:51:52 -08:00
Jeremy Latt
9aa7debbfe
move password handling into a single file
2014-03-01 15:18:49 -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
542744d52a
fix line parsing function
2014-02-27 21:21:47 -08:00
Jeremy Latt
8c8d371ae2
don't give operator to the first person to enter an empty persistent channel
2014-02-27 20:42:12 -08:00
Jeremy Latt
f17855fce9
check channel emptiness when anyone leaves
2014-02-27 18:33:44 -08:00
Jeremy Latt
e33a65ec72
fix channel persistence
2014-02-26 21:52:17 -08:00
Jeremy Latt
04f0b2c48d
trim trailing space from commands
2014-02-26 16:18:52 -08:00
Jeremy Latt
9aeb813cf5
restrict nicknames to proper character set
2014-02-26 13:42:29 -08:00