Daniel Oaks
2f08401a0f
Attempt to add mostly-correct license info at the top of each file... track this stuff a bit better
8 vuotta sitten
Daniel Oaks
3a9a643d30
server: Let websocket listeners also be TLS
8 vuotta sitten
Daniel Oaks
2fb6acb92a
restructure SSL/TLS a bit, name config items better
8 vuotta sitten
Daniel Oaks
cd7d30a997
Set default channel modes to +nt
8 vuotta sitten
Daniel Oaks
8885f14f19
PROXY: Restrict to specified addresses/hostnames
8 vuotta sitten
Daniel Oaks
fb345a2dd4
user: Don't parse the second and third params anymore
8 vuotta sitten
Daniel Oaks
9acdeedec6
commands: Simplify and unify minimum required number of args handling
8 vuotta sitten
Daniel Oaks
8b79662f1a
modes: use secret instead of private, it's the standard these days. fix secret channel hiding in whois
8 vuotta sitten
Daniel Oaks
0ccabead31
cap: Properly suspend registration for CAP negotiation
8 vuotta sitten
Daniel Oaks
a241ea7dd6
version: Return RPL_ISUPPORT tokens, as standard
8 vuotta sitten
Daniel Oaks
3972fc49ed
privileges: Add founder/admin/halfop (qah), remove owner (O)
channel owner is from 2812 and unused in the real world
8 vuotta sitten
Daniel Oaks
c3288823af
Add native SSL/TLS listener support from @enmand for our new config
8 vuotta sitten
Daniel Oaks
8dc2732137
server: Store MOTD in memory rather than reading it from disk every time. Fixes #3
8 vuotta sitten
Daniel Oaks
56641ff650
isupport: Don't advertise stuff that's still TODO
8 vuotta sitten
Daniel Oaks
78928c0322
isupport: STATUSMSG isn't supported, don't advertise it
8 vuotta sitten
Daniel Oaks
a013205fd1
Support network name
8 vuotta sitten
Daniel Oaks
c88cd328f8
Very initial RPL_ISUPPORT numeric support
8 vuotta sitten
Daniel Oaks
c705bdaac5
irc/server: MOTD does not need to be clipped at 80 chars, has not been standard for a long while now
8 vuotta sitten
Edmund Huber
fce54343ea
touchups to irc/websocket.go per review comments
9 vuotta sitten
Edmund Huber
62302ec92e
fail WebSockets with subprotocols here, because gorilla leaves it up for us to deal with subprotocols
9 vuotta sitten
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.
9 vuotta sitten
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
10 vuotta sitten
Jeremy Latt
b0bb0faadc
remove unnecessary String()s; rename parse functions
10 vuotta sitten
Jeremy Latt
21a86c3216
fix gcstats debugging command
10 vuotta sitten
Edmund Huber
d5bdc78d55
adding theater-mode, fixes #15
10 vuotta sitten
Jeremy Latt
8c44bb9ff3
ONICK command to allow operators to change users' nicks
10 vuotta sitten
Jeremy Latt
7db4347419
bind to listening sockets before asyncing
10 vuotta sitten
Jeremy Latt
d85e6681d9
move modes code to its own file; fix SQL (un)marshalling
10 vuotta sitten
Jeremy Latt
2006aff9f7
break up types.go
- remove old interfaces, move to relevant files
- remove Phase in favor of a boolean flag
10 vuotta sitten
Jeremy Latt
0126edc7af
move capability handling code to a single file
10 vuotta sitten
Jeremy Latt
e15f47c766
move to channel-based logging
10 vuotta sitten
Jeremy Latt
d1a299792e
don't buffer channels (except signal channel)
10 vuotta sitten
Jeremy Latt
4268c4a936
don't set CapNegotiating for blind CAP REQ
10 vuotta sitten
Jeremy Latt
96a108f8da
mark unicode normalization with type
10 vuotta sitten
Jeremy Latt
81df7b4a5c
comments and improvements for client set
10 vuotta sitten
Jeremy Latt
33df043961
fix CAP messages
10 vuotta sitten
Jeremy Latt
cf76d2bd77
persist and load channel mask lists
10 vuotta sitten
Jeremy Latt
12ae89ca14
minor cleanup/refactoring
10 vuotta sitten
Jeremy Latt
adde42a1bf
update ClientLookupSet when username changes
10 vuotta sitten
Jeremy Latt
76852b0370
implement WHOWAS with a shared ringbuffer
10 vuotta sitten
Jeremy Latt
41a6027d4e
move ClientLookupSet to its own file
10 vuotta sitten
Jeremy Latt
b2055595e1
WHOWAS command
10 vuotta sitten
Jeremy Latt
69cdad45ac
partially-working sqlite-based usermasks
10 vuotta sitten
Jeremy Latt
832a5e1e19
allow empty server password
10 vuotta sitten
Jeremy Latt
5c6f8ff92a
improve logging
10 vuotta sitten
Jeremy Latt
04bb79a610
fix invite message to clients
10 vuotta sitten
Jeremy Latt
0874692aa8
send proper replies for cap protocol
10 vuotta sitten
Jeremy Latt
92e7a7961f
notify on more signals
10 vuotta sitten
Jeremy Latt
6aa6f0aeaa
notify clients when the server shuts down
10 vuotta sitten
Jeremy Latt
b421971b61
move db init/open functions into a single file
10 vuotta sitten