diff -ur ./shttpd-0.53-orig/droproot.c ./shttpd-0.53/droproot.c
--- ./shttpd-0.53-orig/droproot.c	2001-04-14 21:05:05.000000000 -0400
+++ ./shttpd-0.53/droproot.c	2003-03-05 12:35:31.000000000 -0500
@@ -10,24 +10,24 @@
   unsigned long id;
 
   x = env_get("ROOT");
-  if (!x)
-    strerr_die2x(111,fatal,"$ROOT not set");
-  if (chdir(x) == -1)
-    strerr_die4sys(111,fatal,"unable to chdir to ",x,": ");
-  if (chroot(".") == -1)
-    strerr_die4sys(111,fatal,"unable to chroot to ",x,": ");
+  if (x) {
+    if (chdir(x) == -1)
+      strerr_die4sys(111,fatal,"unable to chdir to ",x,": ");
+    if (chroot(".") == -1)
+      strerr_die4sys(111,fatal,"unable to chroot to ",x,": ");
+  }
 
   x = env_get("GID");
-  if (!x)
-    strerr_die2x(111,fatal,"$GID not set");
-  scan_ulong(x,&id);
-  if (prot_gid((int) id) == -1)
-    strerr_die2sys(111,fatal,"unable to setgid: ");
+  if (x) {
+    scan_ulong(x,&id);
+    if (prot_gid((int) id) == -1)
+      strerr_die2sys(111,fatal,"unable to setgid: ");
+  }
 
   x = env_get("UID");
-  if (!x)
-    strerr_die2x(111,fatal,"$UID not set");
-  scan_ulong(x,&id);
-  if (prot_uid((int) id) == -1)
-    strerr_die2sys(111,fatal,"unable to setuid: ");
+  if (x) {
+    scan_ulong(x,&id);
+    if (prot_uid((int) id) == -1)
+      strerr_die2sys(111,fatal,"unable to setuid: ");
+  }
 }
