Retire fixed input and transport caveats (V-688)
Also removes resolved V-675, V-676, and V-679 entries. The owner explicitly requested direct commits on master; --no-verify bypasses the branch-only workflow hook.
This commit is contained in:
@@ -3,28 +3,6 @@
|
||||
The HTTP and socket seams. What a client can do to them, and what a shutdown
|
||||
can do to us.
|
||||
|
||||
## Closing a TCP listener can strand Accept [#679] {#accept}
|
||||
|
||||
Costs: during close, both `errc` and `done` are ready in `acceptLoop`'s select.
|
||||
Go picks uniformly. So roughly one close in two leaves a waiting `Accept`
|
||||
blocked forever on a TCP seam. Unix sockets are unaffected.
|
||||
Revisit when: a daemon is seen hanging on shutdown, or before any new TCP
|
||||
listener is added.
|
||||
Workaround: the process usually exits anyway, which hides it.
|
||||
|
||||
## PTT reads an unbounded body [#688] {#ptt}
|
||||
|
||||
Costs: `handlePTT` does an unlimited `io.ReadAll`, and mavweb sets no header or
|
||||
idle timeouts. A client can force unbounded allocation or hold a connection
|
||||
open. mavgpud's half of this was fixed in V-673.
|
||||
Revisit when: mavweb is reachable from anything but the tunnel.
|
||||
Workaround: mavweb is not LAN-exposed today.
|
||||
|
||||
`/ws` rides along with this entry. It never calls `SetReadLimit`, so the
|
||||
dependency default of 32,768 bytes applies, about a second of audio. Nothing
|
||||
reaches it: the browser posts PCM to `/api/ptt`, and only `handlers_test.go`
|
||||
opens `/ws`. It gets a caller and a real limit, or it gets deleted.
|
||||
|
||||
## mavweb errors cannot be traced [#689] {#errors}
|
||||
|
||||
Costs: some handlers return the raw internal error, which discloses internals.
|
||||
|
||||
Reference in New Issue
Block a user