diff options
author | bptato <nincsnevem662@gmail.com> | 2024-10-20 00:51:08 +0200 |
---|---|---|
committer | bptato <nincsnevem662@gmail.com> | 2024-10-20 01:27:28 +0200 |
commit | ddb0ba9eb1454b15ba6db7c109ce23c448ddd66e (patch) | |
tree | c185aaa70295c99c5e68fc2c553a6447b2aa78b9 /src/local | |
parent | 1e23aefe5012af0f4dcbae3dc2d4e517948db6e6 (diff) | |
download | chawan-ddb0ba9eb1454b15ba6db7c109ce23c448ddd66e.tar.gz |
dynstream, serversocket: use posix instead of nativesockets
nativesockets is a wrapper over posix and winapi, but we don't support winapi, so we can just fall back to PosixStream instead. SocketStream remains as a constraint over PosixStream to allow sendFileHandle/recvFileHandle. As a nice side effect, we can drop some allowed syscalls from the seccomp filter.
Diffstat (limited to 'src/local')
-rw-r--r-- | src/local/client.nim | 3 | ||||
-rw-r--r-- | src/local/container.nim | 4 | ||||
-rw-r--r-- | src/local/pager.nim | 1 |
3 files changed, 2 insertions, 6 deletions
diff --git a/src/local/client.nim b/src/local/client.nim index e090f0f4..00cf90e9 100644 --- a/src/local/client.nim +++ b/src/local/client.nim @@ -1,6 +1,4 @@ import std/exitprocs -import std/nativesockets -import std/net import std/options import std/os import std/posix @@ -20,7 +18,6 @@ import io/bufwriter import io/dynstream import io/poll import io/promise -import io/serversocket import js/console import js/domexception import js/encoding diff --git a/src/local/container.nim b/src/local/container.nim index 6a8471df..313775a9 100644 --- a/src/local/container.nim +++ b/src/local/container.nim @@ -248,10 +248,10 @@ proc clone*(container: Container; newurl: URL; loader: FileLoader): # create a server socket, pass it on to the buffer, then move it to # the expected path after the buffer forked itself #TODO this is very ugly - let ssock = initServerSocket(loader.sockDir, loader.sockDirFd, + let ssock = newServerSocket(loader.sockDir, loader.sockDirFd, loader.clientPid) SocketStream(container.iface.stream.source) - .sendFileHandle(FileHandle(ssock.getFd())) + .sendFileHandle(FileHandle(ssock.fd)) ssock.close(unlink = false) return p.then(proc(pid: int): Container = if pid == -1: diff --git a/src/local/pager.nim b/src/local/pager.nim index d4999d63..265d9c4c 100644 --- a/src/local/pager.nim +++ b/src/local/pager.nim @@ -1,5 +1,4 @@ import std/deques -import std/net import std/options import std/os import std/osproc |