about summary refs log tree commit diff stats
path: root/src/server/forkserver.nim
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/forkserver.nim')
-rw-r--r--src/server/forkserver.nim11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/server/forkserver.nim b/src/server/forkserver.nim
index 7502a481..23204629 100644
--- a/src/server/forkserver.nim
+++ b/src/server/forkserver.nim
@@ -5,6 +5,7 @@ import std/selectors
 import std/tables
 
 import config/config
+import html/formdata
 import io/bufreader
 import io/bufwriter
 import io/dynstream
@@ -60,13 +61,12 @@ proc removeChild*(forkserver: ForkServer; pid: int) =
     w.swrite(pid)
 
 proc forkBuffer*(forkserver: ForkServer; config: BufferConfig; url: URL;
-    request: Request; attrs: WindowAttributes; ishtml: bool;
-    charsetStack: seq[Charset]): int =
+    attrs: WindowAttributes; ishtml: bool; charsetStack: seq[Charset]):
+    int =
   forkserver.ostream.withPacketWriter w:
     w.swrite(fcForkBuffer)
     w.swrite(config)
     w.swrite(url)
-    w.swrite(request)
     w.swrite(attrs)
     w.swrite(ishtml)
     w.swrite(charsetStack)
@@ -121,13 +121,11 @@ proc forkLoader(ctx: var ForkServerContext; config: LoaderConfig): int =
 proc forkBuffer(ctx: var ForkServerContext; r: var BufferedReader): int =
   var config: BufferConfig
   var url: URL
-  var request: Request
   var attrs: WindowAttributes
   var ishtml: bool
   var charsetStack: seq[Charset]
   r.sread(config)
   r.sread(url)
-  r.sread(request)
   r.sread(attrs)
   r.sread(ishtml)
   r.sread(charsetStack)
@@ -161,6 +159,7 @@ proc forkBuffer(ctx: var ForkServerContext; r: var BufferedReader): int =
     let ps = newPosixStream(pipefd[1])
     ps.write(char(0))
     ps.sclose()
+    urandom = newPosixStream("/dev/urandom", O_RDONLY, 0)
     let pstream = ssock.acceptSocketStream()
     gssock = ssock
     gpstream = pstream
@@ -180,7 +179,7 @@ proc forkBuffer(ctx: var ForkServerContext; r: var BufferedReader): int =
       sockDirFd: sockDirFd
     )
     try:
-      launchBuffer(config, url, request, attrs, ishtml, charsetStack, loader,
+      launchBuffer(config, url, attrs, ishtml, charsetStack, loader,
         ssock, pstream, selector)
     except CatchableError:
       let e = getCurrentException()