- httpd in inetd mode: POST from IE (6) ends up in 'cannot display page'
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Tue, 11 Apr 2006 13:51:50 +0000 (13:51 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Tue, 11 Apr 2006 13:51:50 +0000 (13:51 -0000)
  Closes #827

networking/httpd.c

index 6e80fd9bed9440b2556b8928f0108ed82386891c..c89073a2a77f5705ac5a40904dc4eeac8ce9cc61 100644 (file)
@@ -1602,11 +1602,9 @@ static void handleIncoming(void)
   char *cookie = 0;
   char *content_type = 0;
 #endif
-#ifndef CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY
   fd_set s_fd;
   struct timeval tv;
   int retval;
-#endif
   struct sigaction sa;
 
 #ifdef CONFIG_FEATURE_HTTPD_BASIC_AUTH
@@ -1852,19 +1850,21 @@ FORBIDDEN:      /* protect listing /cgi-bin */
   free(config->remoteuser);
 #endif
 # endif
+#endif  /* CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY */
   shutdown(a_c_w, SHUT_WR);
 
   /* Properly wait for remote to closed */
   FD_ZERO (&s_fd) ;
-  FD_SET (a_c_w, &s_fd) ;
+  FD_SET (a_c_r, &s_fd) ;
 
   do {
     tv.tv_sec = 2 ;
     tv.tv_usec = 0 ;
-    retval = select (a_c_w + 1, &s_fd, NULL, NULL, &tv);
-  } while (retval > 0 && (read (a_c_w, buf, sizeof (config->buf)) > 0));
+    retval = select (a_c_r + 1, &s_fd, NULL, NULL, &tv);
+  } while (retval > 0 && (read (a_c_r, buf, sizeof (config->buf)) > 0));
 
   shutdown(a_c_r, SHUT_RD);
+#ifndef CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY
   close(config->accepted_socket);
 #endif  /* CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY */
 }