about summary refs log tree commit diff stats
path: root/src/local
diff options
context:
space:
mode:
authorbptato <nincsnevem662@gmail.com>2024-10-20 00:51:08 +0200
committerbptato <nincsnevem662@gmail.com>2024-10-20 01:27:28 +0200
commitddb0ba9eb1454b15ba6db7c109ce23c448ddd66e (patch)
treec185aaa70295c99c5e68fc2c553a6447b2aa78b9 /src/local
parent1e23aefe5012af0f4dcbae3dc2d4e517948db6e6 (diff)
downloadchawan-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.nim3
-rw-r--r--src/local/container.nim4
-rw-r--r--src/local/pager.nim1
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