[PHP-CVS] cvs: php-src(PHP_5_2) /sapi/cgi fastcgi.c
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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