[PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c

2008-12-10 Thread Pierre-Alain Joye
pajoye  Thu Dec 11 00:12:21 2008 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/sapi/cgi   fastcgi.c 
  Log:
  - ws
  
http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.33r2=1.4.2.13.2.34diff_format=u
Index: php-src/sapi/cgi/fastcgi.c
diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.33 
php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.34
--- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.33Sun Dec  7 10:55:47 2008
+++ php-src/sapi/cgi/fastcgi.c  Thu Dec 11 00:12:20 2008
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: fastcgi.c,v 1.4.2.13.2.33 2008/12/07 10:55:47 mattwil Exp $ */
+/* $Id: fastcgi.c,v 1.4.2.13.2.34 2008/12/11 00:12:20 pajoye Exp $ */
 
 #include php.h
 #include fastcgi.h
@@ -456,35 +456,35 @@
if (!tcp) {
chmod(path, 0777);
} else {
-   char *ip = getenv(FCGI_WEB_SERVER_ADDRS);
-   char *cur, *end;
-   int n;
-   
-   if (ip) {
-   ip = strdup(ip);
-   cur = ip;
-   n = 0;
-   while (*cur) {
-   if (*cur == ',') n++;
-   cur++;
-   }
-   allowed_clients = malloc(sizeof(in_addr_t) * (n+2));
-   n = 0;
-   cur = ip;
-   while (cur) {
-   end = strchr(cur, ',');
-   if (end) {
-   *end = 0;
-   end++;
-   }
-   allowed_clients[n] = inet_addr(cur);
-   if (allowed_clients[n] == INADDR_NONE) {
+   char *ip = getenv(FCGI_WEB_SERVER_ADDRS);
+   char *cur, *end;
+   int n;
+   
+   if (ip) {
+   ip = strdup(ip);
+   cur = ip;
+   n = 0;
+   while (*cur) {
+   if (*cur == ',') n++;
+   cur++;
+   }
+   allowed_clients = malloc(sizeof(in_addr_t) * 
(n+2));
+   n = 0;
+   cur = ip;
+   while (cur) {
+   end = strchr(cur, ',');
+   if (end) {
+   *end = 0;
+   end++;
+   }
+   allowed_clients[n] = inet_addr(cur);
+   if (allowed_clients[n] == INADDR_NONE) {
fprintf(stderr, Wrong IP address '%s' 
in FCGI_WEB_SERVER_ADDRS\n, cur);
-   }
-   n++;
-   cur = end;
-   }
-   allowed_clients[n] = INADDR_NONE;
+   }
+   n++;
+   cur = end;
+   }
+   allowed_clients[n] = INADDR_NONE;
free(ip);
}
}



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c

2007-09-07 Thread Dmitry Stogov
dmitry  Fri Sep  7 08:26:48 2007 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/sapi/cgi   fastcgi.c 
  Log:
  Added checks for malformated FastCGI requests (Mattias Bengtsson)
  
  
http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.27r2=1.4.2.13.2.28diff_format=u
Index: php-src/sapi/cgi/fastcgi.c
diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.27 
php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.28
--- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.27Mon Jul  9 11:48:39 2007
+++ php-src/sapi/cgi/fastcgi.c  Fri Sep  7 08:26:47 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: fastcgi.c,v 1.4.2.13.2.27 2007/07/09 11:48:39 dmitry Exp $ */
+/* $Id: fastcgi.c,v 1.4.2.13.2.28 2007/09/07 08:26:47 dmitry Exp $ */
 
 #include php.h
 #include fastcgi.h
@@ -620,7 +620,8 @@
val_len |= (*p++  8);
val_len |= *p++;
}
-   if (p + name_len + val_len  end) {
+   if (name_len + val_len  0 ||
+   name_len + val_len  end - p) {
/* Malformated request */
ret = 0;
break;
@@ -676,6 +677,10 @@
padding = hdr.paddingLength;
}
 
+   if (len + padding  FCGI_MAX_LENGTH) {
+   return 0;
+   }
+
req-id = (hdr.requestIdB1  8) + hdr.requestIdB0;
 
if (hdr.type == FCGI_BEGIN_REQUEST  len == 
sizeof(fcgi_begin_request)) {
@@ -712,6 +717,10 @@
padding = hdr.paddingLength;
 
while (hdr.type == FCGI_PARAMS  len  0) {
+   if (len + padding  FCGI_MAX_LENGTH) {
+   return 0;
+   }
+
if (safe_read(req, buf, len+padding) != len+padding) {
req-keep = 0;
return 0;

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c

2007-07-09 Thread Dmitry Stogov
dmitry  Mon Jul  9 11:48:39 2007 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/sapi/cgi   fastcgi.c 
  Log:
  ECONNABORTED is not a critical error (Andrei Nigmatulin)
  
  
http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.26r2=1.4.2.13.2.27diff_format=u
Index: php-src/sapi/cgi/fastcgi.c
diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.26 
php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.27
--- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.26Mon May 21 09:08:13 2007
+++ php-src/sapi/cgi/fastcgi.c  Mon Jul  9 11:48:39 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: fastcgi.c,v 1.4.2.13.2.26 2007/05/21 09:08:13 dmitry Exp $ */
+/* $Id: fastcgi.c,v 1.4.2.13.2.27 2007/07/09 11:48:39 dmitry Exp $ */
 
 #include php.h
 #include fastcgi.h
@@ -927,7 +927,11 @@
}
}
 
+#ifdef _WIN32
if (req-fd  0  (in_shutdown || errno != 
EINTR)) {
+#else
+   if (req-fd  0  (in_shutdown || (errno != 
EINTR  errno != ECONNABORTED))) {
+#endif
return -1;
}
 

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c

2007-04-09 Thread Dmitry Stogov
dmitry  Mon Apr  9 15:39:59 2007 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/sapi/cgi   fastcgi.c 
  Log:
  Removed wrong size_t definition
  
  
http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.23r2=1.4.2.13.2.24diff_format=u
Index: php-src/sapi/cgi/fastcgi.c
diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.23 
php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.24
--- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.23Wed Mar 28 15:39:22 2007
+++ php-src/sapi/cgi/fastcgi.c  Mon Apr  9 15:39:59 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: fastcgi.c,v 1.4.2.13.2.23 2007/03/28 15:39:22 dmitry Exp $ */
+/* $Id: fastcgi.c,v 1.4.2.13.2.24 2007/04/09 15:39:59 dmitry Exp $ */
 
 #include php.h
 #include fastcgi.h
@@ -31,7 +31,6 @@
 
 #include windows.h
 
-   typedef unsigned int size_t;
typedef unsigned int in_addr_t;
 
struct sockaddr_un {

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c

2007-03-12 Thread Dmitry Stogov
dmitry  Mon Mar 12 07:39:01 2007 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/sapi/cgi   fastcgi.c 
  Log:
  Fixed compilation warning
  
  
http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.21r2=1.4.2.13.2.22diff_format=u
Index: php-src/sapi/cgi/fastcgi.c
diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.21 
php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.22
--- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.21Tue Feb 27 03:28:17 2007
+++ php-src/sapi/cgi/fastcgi.c  Mon Mar 12 07:39:01 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: fastcgi.c,v 1.4.2.13.2.21 2007/02/27 03:28:17 iliaa Exp $ */
+/* $Id: fastcgi.c,v 1.4.2.13.2.22 2007/03/12 07:39:01 dmitry Exp $ */
 
 #include php.h
 #include fastcgi.h
@@ -133,7 +133,7 @@
 
 typedef struct _fcgi_mgmt_rec {
char*  name;
-   size_t name_len;
+   char   name_len;
char   val;
 } fcgi_mgmt_rec;
 


-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c

2007-02-26 Thread Dmitry Stogov
dmitry  Mon Feb 26 09:38:45 2007 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/sapi/cgi   fastcgi.c 
  Log:
  poll() is not affected by FD_SETSIZE (Tony)
  
  
http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.19r2=1.4.2.13.2.20diff_format=u
Index: php-src/sapi/cgi/fastcgi.c
diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.19 
php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.20
--- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.19Sat Feb 24 11:20:43 2007
+++ php-src/sapi/cgi/fastcgi.c  Mon Feb 26 09:38:44 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: fastcgi.c,v 1.4.2.13.2.19 2007/02/24 11:20:43 dmitry Exp $ */
+/* $Id: fastcgi.c,v 1.4.2.13.2.20 2007/02/26 09:38:44 dmitry Exp $ */
 
 #include php.h
 #include fastcgi.h
@@ -764,22 +764,23 @@
break;
 #else
if (req-fd = 0) {
-   if (req-fd  FD_SETSIZE) {
 #if defined(HAVE_SYS_POLL_H)  defined(HAVE_POLL)
-   struct pollfd fds;
-   int ret;
+   struct pollfd fds;
+   int ret;
 
-   fds.fd = req-fd;
-   fds.events = POLLIN;
-   fds.revents = 0;
-   do {
-   errno = 0;
-   ret = poll(fds, 1, 
5000);
-   } while (ret  0  errno == 
EINTR);
-   if (ret  0  (fds.revents  
POLLIN)) {
-   break;
-   }
+   fds.fd = req-fd;
+   fds.events = POLLIN;
+   fds.revents = 0;
+   do {
+   errno = 0;
+   ret = poll(fds, 1, 5000);
+   } while (ret  0  errno == EINTR);
+   if (ret  0  (fds.revents  POLLIN)) {
+   break;
+   }
+   fcgi_close(req, 1, 0);
 #else
+   if (req-fd  FD_SETSIZE) {
struct timeval tv = {5,0};
fd_set set;
int ret;
@@ -793,12 +794,12 @@
if (ret  0  
FD_ISSET(req-fd, set)) {
break;
}
-#endif
fcgi_close(req, 1, 0);
} else {
fprintf(stderr, Too many open 
file descriptors. FD_SETSIZE limit exceeded.);
fcgi_close(req, 1, 0);
}
+#endif
}
 #endif
}

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c

2007-02-24 Thread Dmitry Stogov
dmitry  Sat Feb 24 11:20:43 2007 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/sapi/cgi   fastcgi.c 
  Log:
  Use poll() instead of select() if available
  
  
http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.18r2=1.4.2.13.2.19diff_format=u
Index: php-src/sapi/cgi/fastcgi.c
diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.18 
php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.19
--- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.18Wed Feb 21 15:46:13 2007
+++ php-src/sapi/cgi/fastcgi.c  Sat Feb 24 11:20:43 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: fastcgi.c,v 1.4.2.13.2.18 2007/02/21 15:46:13 dmitry Exp $ */
+/* $Id: fastcgi.c,v 1.4.2.13.2.19 2007/02/24 11:20:43 dmitry Exp $ */
 
 #include php.h
 #include fastcgi.h
@@ -71,6 +71,13 @@
 # include netdb.h
 # include signal.h
 
+# if defined(HAVE_SYS_POLL_H)  defined(HAVE_POLL)
+#  include sys/poll.h
+# endif
+# if defined(HAVE_SYS_SELECT_H)
+#  include sys/select.h
+# endif
+
 #ifndef INADDR_NONE
 #define INADDR_NONE ((unsigned long) -1)
 #endif
@@ -758,17 +765,35 @@
 #else
if (req-fd = 0) {
if (req-fd  FD_SETSIZE) {
+#if defined(HAVE_SYS_POLL_H)  defined(HAVE_POLL)
+   struct pollfd fds;
+   int ret;
+
+   fds.fd = req-fd;
+   fds.events = POLLIN;
+   fds.revents = 0;
+   do {
+   errno = 0;
+   ret = poll(fds, 1, 
5000);
+   } while (ret  0  errno == 
EINTR);
+   if (ret  0  (fds.revents  
POLLIN)) {
+   break;
+   }
+#else
struct timeval tv = {5,0};
fd_set set;
+   int ret;
 
FD_ZERO(set);
FD_SET(req-fd, set);
-try_again:
-   errno = 0;
-   if (select(req-fd + 1, set, 
NULL, NULL, tv) = 0  FD_ISSET(req-fd, set)) {
+   do {
+   errno = 0;
+   ret = select(req-fd + 
1, set, NULL, NULL, tv) = 0;
+   } while (ret  0  errno == 
EINTR);
+   if (ret  0  
FD_ISSET(req-fd, set)) {
break;
}
-   if (errno == EINTR) goto 
try_again;
+#endif
fcgi_close(req, 1, 0);
} else {
fprintf(stderr, Too many open 
file descriptors. FD_SETSIZE limit exceeded.);

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c

2007-02-21 Thread Dmitry Stogov
dmitry  Wed Feb 21 15:46:13 2007 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/sapi/cgi   fastcgi.c 
  Log:
  Check for FD_SETSIZE limit
  
  
http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.17r2=1.4.2.13.2.18diff_format=u
Index: php-src/sapi/cgi/fastcgi.c
diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.17 
php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.18
--- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.17Mon Feb 19 13:21:14 2007
+++ php-src/sapi/cgi/fastcgi.c  Wed Feb 21 15:46:13 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: fastcgi.c,v 1.4.2.13.2.17 2007/02/19 13:21:14 dmitry Exp $ */
+/* $Id: fastcgi.c,v 1.4.2.13.2.18 2007/02/21 15:46:13 dmitry Exp $ */
 
 #include php.h
 #include fastcgi.h
@@ -757,18 +757,23 @@
break;
 #else
if (req-fd = 0) {
-   struct timeval tv = {5,0};
-   fd_set set;
+   if (req-fd  FD_SETSIZE) {
+   struct timeval tv = {5,0};
+   fd_set set;
 
-   FD_ZERO(set);
-   FD_SET(req-fd, set);
+   FD_ZERO(set);
+   FD_SET(req-fd, set);
 try_again:
-   errno = 0;
-   if (select(req-fd + 1, set, NULL, 
NULL, tv) = 0  FD_ISSET(req-fd, set)) {
-   break;
+   errno = 0;
+   if (select(req-fd + 1, set, 
NULL, NULL, tv) = 0  FD_ISSET(req-fd, set)) {
+   break;
+   }
+   if (errno == EINTR) goto 
try_again;
+   fcgi_close(req, 1, 0);
+   } else {
+   fprintf(stderr, Too many open 
file descriptors. FD_SETSIZE limit exceeded.);
+   fcgi_close(req, 1, 0);
}
-   if (errno == EINTR) goto try_again;
-   fcgi_close(req, 1, 0);
}
 #endif
}

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c

2007-02-19 Thread Dmitry Stogov
dmitry  Mon Feb 19 13:21:14 2007 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/sapi/cgi   fastcgi.c 
  Log:
  Fixed fcgi_putenv() semantic with NULL value
  
  
http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.16r2=1.4.2.13.2.17diff_format=u
Index: php-src/sapi/cgi/fastcgi.c
diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.16 
php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.17
--- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.16Thu Feb 15 12:33:16 2007
+++ php-src/sapi/cgi/fastcgi.c  Mon Feb 19 13:21:14 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: fastcgi.c,v 1.4.2.13.2.16 2007/02/15 12:33:16 dmitry Exp $ */
+/* $Id: fastcgi.c,v 1.4.2.13.2.17 2007/02/19 13:21:14 dmitry Exp $ */
 
 #include php.h
 #include fastcgi.h
@@ -975,14 +975,15 @@
 char* fcgi_putenv(fcgi_request *req, char* var, int var_len, char* val)
 {
if (var  req) {
-   char **ret;
-
if (val == NULL) {
-   val = ;
-   }
-   val = strdup(val);
-   if (zend_hash_update(req-env, var, var_len+1, val, 
sizeof(char*), (void**)ret) == SUCCESS) {
-   return *ret;
+   zend_hash_del(req-env, var, var_len+1);
+   } else {
+   char **ret;
+
+   val = strdup(val);
+   if (zend_hash_update(req-env, var, var_len+1, val, 
sizeof(char*), (void**)ret) == SUCCESS) {
+   return *ret;
+   }
}
}
return NULL;

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c

2006-09-13 Thread Dmitry Stogov
dmitry  Wed Sep 13 13:03:01 2006 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/sapi/cgi   fastcgi.c 
  Log:
  Fix for bug #38757 (MultiPart Form Uploads fail with FastCGI)
  
  
http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.9r2=1.4.2.13.2.10diff_format=u
Index: php-src/sapi/cgi/fastcgi.c
diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.9 
php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.10
--- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.9 Mon Sep 11 07:22:40 2006
+++ php-src/sapi/cgi/fastcgi.c  Wed Sep 13 13:03:01 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: fastcgi.c,v 1.4.2.13.2.9 2006/09/11 07:22:40 dmitry Exp $ */
+/* $Id: fastcgi.c,v 1.4.2.13.2.10 2006/09/13 13:03:01 dmitry Exp $ */
 
 #include php.h
 #include fastcgi.h
@@ -682,7 +682,7 @@
break;
 #else
if (req-fd = 0) {
-   struct timeval tv = {1,0};
+   struct timeval tv = {5,0};
fd_set set;
 
FD_ZERO(set);

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c

2006-09-11 Thread Dmitry Stogov
dmitry  Mon Sep 11 07:22:40 2006 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/sapi/cgi   fastcgi.c 
  Log:
  Don't try to do safe connection close in case of FastCGI protocol error
  
  
http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.8r2=1.4.2.13.2.9diff_format=u
Index: php-src/sapi/cgi/fastcgi.c
diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.8 
php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.9
--- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.8 Mon Sep  4 07:26:48 2006
+++ php-src/sapi/cgi/fastcgi.c  Mon Sep 11 07:22:40 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: fastcgi.c,v 1.4.2.13.2.8 2006/09/04 07:26:48 dmitry Exp $ */
+/* $Id: fastcgi.c,v 1.4.2.13.2.9 2006/09/11 07:22:40 dmitry Exp $ */
 
 #include php.h
 #include fastcgi.h
@@ -611,10 +611,12 @@
RevertToSelf();
}
 #else
-   char buf[8];
+   if (!force) {
+   char buf[8];
 
-   shutdown(req-fd, 1);
-   while (recv(req-fd, buf, sizeof(buf), 0)  0) {}
+   shutdown(req-fd, 1);
+   while (recv(req-fd, buf, sizeof(buf), 0)  0) {}
+   }
close(req-fd);
 #endif
req-fd = -1;

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c

2006-09-04 Thread Dmitry Stogov
dmitry  Mon Sep  4 07:26:48 2006 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/sapi/cgi   fastcgi.c 
  Log:
  Fixed signed/unsigned mismatch warning.
  
  
http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.7r2=1.4.2.13.2.8diff_format=u
Index: php-src/sapi/cgi/fastcgi.c
diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.7 
php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.8
--- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.7 Sun Aug 20 18:24:11 2006
+++ php-src/sapi/cgi/fastcgi.c  Mon Sep  4 07:26:48 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: fastcgi.c,v 1.4.2.13.2.7 2006/08/20 18:24:11 iliaa Exp $ */
+/* $Id: fastcgi.c,v 1.4.2.13.2.8 2006/09/04 07:26:48 dmitry Exp $ */
 
 #include php.h
 #include fastcgi.h
@@ -394,7 +394,7 @@
 {
char buf[128];
char *tmp = buf;
-   size_t buf_size = sizeof(buf);
+   int buf_size = sizeof(buf);
int name_len, val_len;
char *s;
 

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c

2006-08-20 Thread Ilia Alshanetsky
iliaa   Sun Aug 20 18:24:11 2006 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/sapi/cgi   fastcgi.c 
  Log:
  MFH: sa_len compile fix for IRIX
  
  # Patch by Sascha
  
  
http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.6r2=1.4.2.13.2.7diff_format=u
Index: php-src/sapi/cgi/fastcgi.c
diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.6 
php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.7
--- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.6 Tue Jun 13 13:55:12 2006
+++ php-src/sapi/cgi/fastcgi.c  Sun Aug 20 18:24:11 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: fastcgi.c,v 1.4.2.13.2.6 2006/06/13 13:55:12 dmitry Exp $ */
+/* $Id: fastcgi.c,v 1.4.2.13.2.7 2006/08/20 18:24:11 iliaa Exp $ */
 
 #include php.h
 #include fastcgi.h
@@ -252,7 +252,7 @@
short port = 0;
int   listen_socket;
sa_t  sa;
-   socklen_t sa_len;
+   socklen_t sock_len;
 
if ((s = strchr(path, ':'))) {
port = atoi(s+1);
@@ -268,7 +268,7 @@
memset(sa.sa_inet, 0, sizeof(sa.sa_inet));
sa.sa_inet.sin_family = AF_INET;
sa.sa_inet.sin_port = htons(port);
-   sa_len = sizeof(sa.sa_inet);
+   sock_len = sizeof(sa.sa_inet);
 
if (!*host || !strncmp(host, *, sizeof(*)-1)) {
sa.sa_inet.sin_addr.s_addr = htonl(INADDR_ANY);
@@ -299,16 +299,16 @@
memset(sa.sa_unix, 0, sizeof(sa.sa_unix));
sa.sa_unix.sun_family = AF_UNIX;
memcpy(sa.sa_unix.sun_path, path, path_len + 1);
-   sa_len = (size_t)(((struct sockaddr_un *)0)-sun_path)  + 
path_len;
+   sock_len = (size_t)(((struct sockaddr_un *)0)-sun_path)
+ path_len;
 #ifdef HAVE_SOCKADDR_UN_SUN_LEN
-   sa.sa_unix.sun_len = sa_len;
+   sa.sa_unix.sun_len = sock_len;
 #endif
unlink(path);
}
 
/* Create, bind socket and start listen on it */
if ((listen_socket = socket(sa.sa.sa_family, SOCK_STREAM, 0))  0 ||
-   bind(listen_socket, (struct sockaddr *) sa, sa_len)  0 ||
+   bind(listen_socket, (struct sockaddr *) sa, sock_len)  0 ||
listen(listen_socket, backlog)  0) {
 
fprintf(stderr, Cannot bind/listen socket - [%d] %s.\n,errno, 
strerror(errno));

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c

2006-06-13 Thread Dmitry Stogov
dmitry  Tue Jun 13 13:55:12 2006 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/sapi/cgi   fastcgi.c 
  Log:
  Removed warning
  
  
http://cvs.php.net/viewcvs.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.5r2=1.4.2.13.2.6diff_format=u
Index: php-src/sapi/cgi/fastcgi.c
diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.5 
php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.6
--- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.5 Thu May 25 06:40:04 2006
+++ php-src/sapi/cgi/fastcgi.c  Tue Jun 13 13:55:12 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: fastcgi.c,v 1.4.2.13.2.5 2006/05/25 06:40:04 dmitry Exp $ */
+/* $Id: fastcgi.c,v 1.4.2.13.2.6 2006/06/13 13:55:12 dmitry Exp $ */
 
 #include php.h
 #include fastcgi.h
@@ -719,7 +719,7 @@
if (req-out_hdr) {
int len = req-out_pos - ((unsigned char*)req-out_hdr + 
sizeof(fcgi_header));
 
-   req-out_pos += fcgi_make_header(req-out_hdr, 
req-out_hdr-type, req-id, len);
+   req-out_pos += fcgi_make_header(req-out_hdr, 
(fcgi_request_type)req-out_hdr-type, req-id, len);
req-out_hdr = NULL;
}
 }

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c

2006-05-22 Thread Antony Dovgal
tony2001Mon May 22 06:49:49 2006 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/sapi/cgi   fastcgi.c 
  Log:
  fix typo
  
  
http://cvs.php.net/viewcvs.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.2r2=1.4.2.13.2.3diff_format=u
Index: php-src/sapi/cgi/fastcgi.c
diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.2 
php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.3
--- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.2 Mon May 15 14:30:31 2006
+++ php-src/sapi/cgi/fastcgi.c  Mon May 22 06:49:48 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: fastcgi.c,v 1.4.2.13.2.2 2006/05/15 14:30:31 dmitry Exp $ */
+/* $Id: fastcgi.c,v 1.4.2.13.2.3 2006/05/22 06:49:48 tony2001 Exp $ */
 
 #include php.h
 #include fastcgi.h
@@ -484,7 +484,7 @@
break;
case FCGI_FILTER:
val = strdup(FILTER);
-   zend_hash_update(req-env, FCGI_ROLE, 
sizeof(FCGI_ROLE), val, sizeof(char*), NULL);
+   zend_hash_update(req-env, FCGI_ROLE, 
sizeof(FCGI_ROLE), val, sizeof(char*), NULL);
break;
default:
return 0;

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c

2006-05-22 Thread Dmitry Stogov
dmitry  Mon May 22 09:22:20 2006 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/sapi/cgi   fastcgi.c 
  Log:
  Fixed bug #37496 (FastCGI output buffer overrun)
  
  
http://cvs.php.net/viewcvs.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.3r2=1.4.2.13.2.4diff_format=u
Index: php-src/sapi/cgi/fastcgi.c
diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.3 
php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.4
--- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.3 Mon May 22 06:49:48 2006
+++ php-src/sapi/cgi/fastcgi.c  Mon May 22 09:22:20 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: fastcgi.c,v 1.4.2.13.2.3 2006/05/22 06:49:48 tony2001 Exp $ */
+/* $Id: fastcgi.c,v 1.4.2.13.2.4 2006/05/22 09:22:20 dmitry Exp $ */
 
 #include php.h
 #include fastcgi.h
@@ -764,15 +764,17 @@
if (req-out_hdr  req-out_hdr-type != type) {
close_packet(req);
}
-   rest = len;
 #if 0
-   /* Unoptinmzed, but clear version */
+   /* Unoptimized, but clear version */
+   rest = len;
while (rest  0) {
limit = sizeof(req-out_buf) - (req-out_pos - req-out_buf);
 
if (!req-out_hdr) {
if (limit  sizeof(fcgi_header)) {
-   fcgi_flush(req, 0);
+   if (!fcgi_flush(req, 0)) {
+   return -1;
+   }
}
open_packet(req, type);
}
@@ -786,32 +788,38 @@
req-out_pos += limit;
rest -= limit;
str += limit;
-   fcgi_flush(req, 0);
+   if (!fcgi_flush(req, 0)) {
+   return -1;
+   }
}
}
 #else
-   /* Optinmzed version */
+   /* Optimized version */
+   limit = sizeof(req-out_buf) - (req-out_pos - req-out_buf);
if (!req-out_hdr) {
-   rest += sizeof(fcgi_header);
+   limit -= sizeof(fcgi_header);
}
-   limit = sizeof(req-out_buf) - (req-out_pos - req-out_buf);
 
-   if (rest  limit) {
+   if (len  limit) {
if (!req-out_hdr) {
open_packet(req, type);
}
memcpy(req-out_pos, str, len);
req-out_pos += len;
-   } else if (rest - limit  sizeof(req-out_buf) - sizeof(fcgi_header)) {
+   } else if (len - limit  sizeof(req-out_buf) - sizeof(fcgi_header)) {
if (!req-out_hdr) {
open_packet(req, type);
}
memcpy(req-out_pos, str, limit);
req-out_pos += limit;
-   fcgi_flush(req, 0);
-   open_packet(req, type);
-   memcpy(req-out_pos, str + limit, len - limit);
-   req-out_pos += len - limit;
+   if (!fcgi_flush(req, 0)) {
+   return -1;
+   }
+   if (len  limit) {
+   open_packet(req, type);
+   memcpy(req-out_pos, str + limit, len - limit);
+   req-out_pos += len - limit;
+   }
} else {
int pos = 0;
int pad;
@@ -821,7 +829,9 @@
open_packet(req, type);
fcgi_make_header(req-out_hdr, type, req-id, 0xfff8);
req-out_hdr = NULL;
-   fcgi_flush(req, 0);
+   if (!fcgi_flush(req, 0)) {
+   return -1;
+   }
if (safe_write(req, str + pos, 0xfff8) != 0xfff8) {
req-keep = 0;
return -1;
@@ -835,7 +845,9 @@
open_packet(req, type);
fcgi_make_header(req-out_hdr, type, req-id, (len - pos) - 
rest);
req-out_hdr = NULL;
-   fcgi_flush(req, 0);
+   if (!fcgi_flush(req, 0)) {
+   return -1;
+   }
if (safe_write(req, str + pos, (len - pos) - rest) != (len - 
pos) - rest) {
req-keep = 0;
return -1;

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c

2006-05-22 Thread Hannes Magnusson

NEWS entry?

On 5/22/06, Dmitry Stogov [EMAIL PROTECTED] wrote:

dmitry  Mon May 22 09:22:20 2006 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/sapi/cgi   fastcgi.c
  Log:
  Fixed bug #37496 (FastCGI output buffer overrun)


http://cvs.php.net/viewcvs.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.3r2=1.4.2.13.2.4diff_format=u
Index: php-src/sapi/cgi/fastcgi.c
diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.3 
php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.4
--- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.3 Mon May 22 06:49:48 2006
+++ php-src/sapi/cgi/fastcgi.c  Mon May 22 09:22:20 2006
@@ -16,7 +16,7 @@
+--+
 */

-/* $Id: fastcgi.c,v 1.4.2.13.2.3 2006/05/22 06:49:48 tony2001 Exp $ */
+/* $Id: fastcgi.c,v 1.4.2.13.2.4 2006/05/22 09:22:20 dmitry Exp $ */

 #include php.h
 #include fastcgi.h
@@ -764,15 +764,17 @@
if (req-out_hdr  req-out_hdr-type != type) {
close_packet(req);
}
-   rest = len;
 #if 0
-   /* Unoptinmzed, but clear version */
+   /* Unoptimized, but clear version */
+   rest = len;
while (rest  0) {
limit = sizeof(req-out_buf) - (req-out_pos - req-out_buf);

if (!req-out_hdr) {
if (limit  sizeof(fcgi_header)) {
-   fcgi_flush(req, 0);
+   if (!fcgi_flush(req, 0)) {
+   return -1;
+   }
}
open_packet(req, type);
}
@@ -786,32 +788,38 @@
req-out_pos += limit;
rest -= limit;
str += limit;
-   fcgi_flush(req, 0);
+   if (!fcgi_flush(req, 0)) {
+   return -1;
+   }
}
}
 #else
-   /* Optinmzed version */
+   /* Optimized version */
+   limit = sizeof(req-out_buf) - (req-out_pos - req-out_buf);
if (!req-out_hdr) {
-   rest += sizeof(fcgi_header);
+   limit -= sizeof(fcgi_header);
}
-   limit = sizeof(req-out_buf) - (req-out_pos - req-out_buf);

-   if (rest  limit) {
+   if (len  limit) {
if (!req-out_hdr) {
open_packet(req, type);
}
memcpy(req-out_pos, str, len);
req-out_pos += len;
-   } else if (rest - limit  sizeof(req-out_buf) - sizeof(fcgi_header)) {
+   } else if (len - limit  sizeof(req-out_buf) - sizeof(fcgi_header)) {
if (!req-out_hdr) {
open_packet(req, type);
}
memcpy(req-out_pos, str, limit);
req-out_pos += limit;
-   fcgi_flush(req, 0);
-   open_packet(req, type);
-   memcpy(req-out_pos, str + limit, len - limit);
-   req-out_pos += len - limit;
+   if (!fcgi_flush(req, 0)) {
+   return -1;
+   }
+   if (len  limit) {
+   open_packet(req, type);
+   memcpy(req-out_pos, str + limit, len - limit);
+   req-out_pos += len - limit;
+   }
} else {
int pos = 0;
int pad;
@@ -821,7 +829,9 @@
open_packet(req, type);
fcgi_make_header(req-out_hdr, type, req-id, 0xfff8);
req-out_hdr = NULL;
-   fcgi_flush(req, 0);
+   if (!fcgi_flush(req, 0)) {
+   return -1;
+   }
if (safe_write(req, str + pos, 0xfff8) != 0xfff8) {
req-keep = 0;
return -1;
@@ -835,7 +845,9 @@
open_packet(req, type);
fcgi_make_header(req-out_hdr, type, req-id, (len - pos) - 
rest);
req-out_hdr = NULL;
-   fcgi_flush(req, 0);
+   if (!fcgi_flush(req, 0)) {
+   return -1;
+   }
if (safe_write(req, str + pos, (len - pos) - rest) != (len - 
pos) - rest) {
req-keep = 0;
return -1;

--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c

2006-05-22 Thread Dmitry Stogov
I am waiting while bug submitter will test patch.

Dmitry.

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Hannes Magnusson
 Sent: Monday, May 22, 2006 2:26 PM
 To: Dmitry Stogov
 Cc: php-cvs@lists.php.net
 Subject: Re: [PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c
 
 
 NEWS entry?
 
 On 5/22/06, Dmitry Stogov [EMAIL PROTECTED] wrote:
  dmitry  Mon May 22 09:22:20 2006 UTC
 
Modified files:  (Branch: PHP_5_2)
  /php-src/sapi/cgi   fastcgi.c
Log:
Fixed bug #37496 (FastCGI output buffer overrun)
 
 
  
 http://cvs.php.net/viewcvs.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.
  2.3r2=1.4.2.13.2.4diff_format=u
  Index: php-src/sapi/cgi/fastcgi.c
  diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.3 
 php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.4
  --- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.3 Mon May 22 
 06:49:48 2006
  +++ php-src/sapi/cgi/fastcgi.c  Mon May 22 09:22:20 2006
  @@ -16,7 +16,7 @@
  
  
 +-
 -+
   */
 
  -/* $Id: fastcgi.c,v 1.4.2.13.2.3 2006/05/22 06:49:48 
 tony2001 Exp $ 
  */
  +/* $Id: fastcgi.c,v 1.4.2.13.2.4 2006/05/22 09:22:20 
 dmitry Exp $ */
 
   #include php.h
   #include fastcgi.h
  @@ -764,15 +764,17 @@
  if (req-out_hdr  req-out_hdr-type != type) {
  close_packet(req);
  }
  -   rest = len;
   #if 0
  -   /* Unoptinmzed, but clear version */
  +   /* Unoptimized, but clear version */
  +   rest = len;
  while (rest  0) {
  limit = sizeof(req-out_buf) - (req-out_pos - 
  req-out_buf);
 
  if (!req-out_hdr) {
  if (limit  sizeof(fcgi_header)) {
  -   fcgi_flush(req, 0);
  +   if (!fcgi_flush(req, 0)) {
  +   return -1;
  +   }
  }
  open_packet(req, type);
  }
  @@ -786,32 +788,38 @@
  req-out_pos += limit;
  rest -= limit;
  str += limit;
  -   fcgi_flush(req, 0);
  +   if (!fcgi_flush(req, 0)) {
  +   return -1;
  +   }
  }
  }
   #else
  -   /* Optinmzed version */
  +   /* Optimized version */
  +   limit = sizeof(req-out_buf) - (req-out_pos - 
 req-out_buf);
  if (!req-out_hdr) {
  -   rest += sizeof(fcgi_header);
  +   limit -= sizeof(fcgi_header);
  }
  -   limit = sizeof(req-out_buf) - (req-out_pos - 
 req-out_buf);
 
  -   if (rest  limit) {
  +   if (len  limit) {
  if (!req-out_hdr) {
  open_packet(req, type);
  }
  memcpy(req-out_pos, str, len);
  req-out_pos += len;
  -   } else if (rest - limit  sizeof(req-out_buf) - 
 sizeof(fcgi_header)) {
  +   } else if (len - limit  sizeof(req-out_buf) - 
  + sizeof(fcgi_header)) {
  if (!req-out_hdr) {
  open_packet(req, type);
  }
  memcpy(req-out_pos, str, limit);
  req-out_pos += limit;
  -   fcgi_flush(req, 0);
  -   open_packet(req, type);
  -   memcpy(req-out_pos, str + limit, len - limit);
  -   req-out_pos += len - limit;
  +   if (!fcgi_flush(req, 0)) {
  +   return -1;
  +   }
  +   if (len  limit) {
  +   open_packet(req, type);
  +   memcpy(req-out_pos, str + limit, 
 len - limit);
  +   req-out_pos += len - limit;
  +   }
  } else {
  int pos = 0;
  int pad;
  @@ -821,7 +829,9 @@
  open_packet(req, type);
  fcgi_make_header(req-out_hdr, 
 type, req-id, 0xfff8);
  req-out_hdr = NULL;
  -   fcgi_flush(req, 0);
  +   if (!fcgi_flush(req, 0)) {
  +   return -1;
  +   }
  if (safe_write(req, str + pos, 
 0xfff8) != 0xfff8) {
  req-keep = 0;
  return -1;
  @@ -835,7 +845,9 @@
  open_packet(req, type);
  fcgi_make_header(req-out_hdr, type, 
 req-id, (len - pos) - rest);
  req-out_hdr = NULL;
  -   fcgi_flush(req, 0);
  +   if (!fcgi_flush(req, 0)) {
  +   return -1;
  +   }
  if (safe_write(req, str + pos, (len - pos) 
 - rest) != (len - pos) - rest) {
  req-keep