-- Leo's gemini proxy

-- Connecting to git.thebackupbox.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

repo: urcd
action: commit
revision:
path_from:
revision_from: 38ae526407c4a0da3f75f783e99f3d43ba04fa98:
path_to:
revision_to:

git.thebackupbox.net

urcd

git://git.thebackupbox.net/urcd

commit 38ae526407c4a0da3f75f783e99f3d43ba04fa98
Author: root <root@localhost.(none)>
Date:   Thu Jan 8 05:07:56 2015 +0000

    [urcd] bugfix: kill zombie cryptoserv, send EOF to child

diff --git a/src/cryptoserv.c b/src/cryptoserv.c

index 8b89dd974b73db2df3aeff69f3d5092ca0370704..

index ..8f73e0bbc861df849809a438d1992681e2dc34b5 100644

--- a/src/cryptoserv.c
+++ b/src/cryptoserv.c
@@ -59,7 +59,7 @@ main(int argc, char *argv[])
   exit(1);
  }

- struct passwd *urcd = getpwnam("urcd");
+ struct passwd *urcd = getpwnam("urcd");
  struct sockaddr_un s;
  struct dirent *file;
  struct stat stats;
@@ -150,7 +150,7 @@ main(int argc, char *argv[])
  memcpy(buffer2+2+12+4+8,":CryptoServ!URCD@service NOTICE ",32);

  if (EXPIRY) {
-  memcpy(path,"urcsigndb/",10);
+  memcpy(path,"urcsigndb/",10);
   if (!(directory=opendir("urcsigndb/"))) exit(5);
   while ((file=readdir(directory)))
   {
@@ -161,7 +161,7 @@ main(int argc, char *argv[])
     if (time((long *)0) - stats.st_atime >= EXPIRY) remove(path);
   } closedir(directory);

-  memcpy(path,"urccryptoboxdir/",16);
+  memcpy(path,"urccryptoboxdir/",16);
   if (!(directory=opendir("urccryptoboxdir/"))) exit(6);
   while ((file=readdir(directory)))
   {
@@ -172,7 +172,7 @@ main(int argc, char *argv[])
     if (time((long *)0) - stats.st_atime >= EXPIRY) remove(path);
   } closedir(directory);
 /*
-  memcpy(path,"urccryptoboxpfs/",16);
+  memcpy(path,"urccryptoboxpfs/",16);
   if (!(directory=opendir("urccryptoboxpfs/"))) exit(6);
   while ((file=readdir(directory)))
   {
@@ -430,7 +430,7 @@ main(int argc, char *argv[])
   }
   if (write(1,buffer0,i)<=0) exit(14);
   if ((i>=4)&&(!memcmp("quit",buffer1,4))) {
-   write(1,"",0); // send EOF
+   write(1,"",0); // send EOF
    exit(15);
   }
  }
diff --git a/src/urcd.pyx b/src/urcd.pyx

index 453641d34ff0086818af5967531fef4145866c55..

index ..a0a567ebcafaea4182c6382f112fe23032974270 100644

--- a/src/urcd.pyx
+++ b/src/urcd.pyx
@@ -199,6 +199,10 @@ def sock_close(sn,sf):
    db['Mask'] = Mask
    db['Src'] = Src
    db.close()
+  try: os.write(0,"") ### send EOF ###
+  except: pass
+  try: os.write(wr,"")
+  except: pass
   sys.exit(sn&255)

 signal.signal(signal.SIGHUP,sock_close)

-----END OF PAGE-----

-- Response ended

-- Page fetched on Sun Jun 2 18:42:37 2024