- 03 Sep, 2017 1 commit
-
-
David Renshaw authored
-
- 19 Aug, 2017 1 commit
-
-
Kenton Varda authored
RPC: Support abstract unix socket addresses on Linux
-
- 18 Aug, 2017 7 commits
-
-
Oliver Giles authored
-
Kenton Varda authored
-
Kenton Varda authored
Add WebSocket support to HTTP library
-
Kenton Varda authored
-
Kenton Varda authored
-
Oliver Giles authored
-
Oliver Giles authored
-
- 16 Aug, 2017 3 commits
-
-
Kenton Varda authored
The proxying code was responding to a `Close` message by ending the pump loop, which had the effect of immediately dropping the connection after a `Close` had been seen in each direction. This is arguably incorrect behavior: for proxying purposes, `Close` messages and underlying TCP disconnects should be treated as independent events, forwarded separately. In practice this "bug" probably would never cause a problem and perhaps doesn't even violate spec (since `Close` was seen in both directions). But, OSX's implementation of shutdown() returns ENOTCONN if the connection has already been disconnected from the remote end. This is the case here, as the proxy dropped all connections immediately after sending the final `Close`. This in turn led to a unit test failure. The intended behavior was that the proxy would forward exactly what it saw: If a `Close` was sent, it would be forwarded, without changing the underlying connection state. If a TCP disconnect was detected, it would be "forwarded" by disconnecting the next leg. This change implements that behavior.
-
Kenton Varda authored
-
Kenton Varda authored
Due to differences in the way I/O events are queued on Windows, the timing of this test end up different, such that the two incoming pings are not both received before the large outgoing message is sent. To fix this, I removed the dependency on native I/O altogether by implementing an in-memory pipe that does no buffering (it requires a read() and write() to rendezvous, then copies between their buffers).
-
- 15 Aug, 2017 8 commits
-
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
Still need to add handshake separately.
-
Kenton Varda authored
Up until now, I've always felt kj::OneOf had a rather janky interface, which made me avoid using it in other interfaces. With this macro I'm pretty happy with it as *the* way to define variants.
-
Oliver Giles authored
Explicitly disabling 'unix-abstract:' on non-Linux Unix platforms needs more work than this, but maybe it's not worth it since the result would just be a different runtime failure message. For now just be consistent
-
- 14 Aug, 2017 9 commits
-
-
Kenton Varda authored
Add canonical format to capnp convert
-
Ross Light authored
-
Ross Light authored
-
Kenton Varda authored
Specify canonicalization rule for zero-sized struct pointers
-
Kenton Varda authored
-
Kenton Varda authored
-
Ross Light authored
-
Ross Light authored
-
Oliver Giles authored
Abstract unix socket addresses can now be specified with the 'unix-abstract:' prefix, and the 'unix:' prefix now explicitly rejects addresses which contain NULL bytes
-
- 12 Aug, 2017 2 commits
-
-
Kenton Varda authored
-
Oliver Giles authored
Since kj::StringPtr supports embedded NULs, copy its entire data buffer to the sockaddr_un structure instead of using strcpy. On Linux, this allows the use of the abstract socket namespace.
-
- 11 Aug, 2017 2 commits
-
-
Kenton Varda authored
-
Kenton Varda authored
It turns out this is more than just android. Some Debian Stretch docker image I'm working with seems to have this problem (but Stretch in general does not??).
-
- 31 Jul, 2017 1 commit
-
-
Kenton Varda authored
Fix link errors with -fsanitize=vptr
-
- 28 Jul, 2017 3 commits
-
-
Kenton Varda authored
Add new `capnp convert` command with JSON support.
-
Kenton Varda authored
-
Kenton Varda authored
This supersedes the `capnp encode` and `capnp decode` commands. It didn't make sense to add JSON to those commands since it was unclear if JSON should be thought of as the "encoded" or "decoded" format. `convert` allows mapping anything to anything. This command is also useful for, say, converting unpacked format to packed format or vice versa, which can now be done without a schema.
-
- 27 Jul, 2017 3 commits
-
-
Kenton Varda authored
Allow an ExceptionCallback to control how new threads' ExceptionCallbacks are initialized.
-
Kenton Varda authored
-
Kenton Varda authored
-