Shivaram Lingamneni
abc71684f3
always validate UTF8 from websockets
1 year ago
Shivaram Lingamneni
9439e9b9e1
allow resizing the ws read buffer
1 year ago
Shivaram Lingamneni
5eaf7b37e5
reduce websocket read allocations
See #2037
1 year ago
Shivaram Lingamneni
4910aefa37
use ergochat/irc-go instead of goshuirc/irc-go
3 years ago
Shivaram Lingamneni
23c7218bf1
first pass at renaming Oragono to Ergo
3 years ago
Shivaram Lingamneni
7c5a8f2013
make MaxLineLen configurable
3 years ago
Shivaram Lingamneni
131eb229bc
use the new irc-go identifiers
3 years ago
Shivaram Lingamneni
e9d42e02a2
simplify utf8 validation of incoming WS lines
As of #1483 , websockets entail enforce-utf8, so there's no need
to check globalUTF8EnforcementSetting when handling websockets.
3 years ago
Shivaram Lingamneni
d547d05205
implement candidate compromise proposal for websockets
1. Text and binary frames are accepted
2. Text frames are sent by default
3. Binary frames are sent to clients who negotiate `binary.ircv3.net`
4. Non-UTF8 data is not accepted (enabling websockets still enables UTFONLY)
3 years ago
Shivaram Lingamneni
d0e11f49ad
use the new goshuirc ircreader
3 years ago
Shivaram Lingamneni
bb5276553d
initial UBAN implementation
3 years ago
Shivaram Lingamneni
db81b15acb
initial work on #1483
Add the new utf8-only cap, disallow non-utf8 when websockets are enabled
3 years ago
Shivaram Lingamneni
c78253fd93
more memory-efficient implementation of line reading
4 years ago
Shivaram Lingamneni
aad39024b9
mitigate a potential DoS against websocket listeners
Websocket listeners would process an arbitrary number of invalid
(non-text or blank) messages without throttling. This imposes fakelag
on such messages by treating them as blank lines.
4 years ago
Shivaram Lingamneni
15c54e80de
clean up some error handling
4 years ago
Shivaram Lingamneni
6a2fba9812
make it easier to patch out the maximum line length
4 years ago
Shivaram Lingamneni
8cadc7340a
don't trim line endings in IRCStreamConn
Doesn't help if the line ends with regular \n only,
and the parser has to account for \r and \n anyway
4 years ago
Shivaram Lingamneni
a4f9e08a85
fix #1151
4 years ago
Shivaram Lingamneni
c92192ef48
review fixes; add submatch support to glob
4 years ago
Shivaram Lingamneni
3dc5c8de78
more work on websocket support
4 years ago