sas Wed Sep 3 04:14:15 2003 EDT
Modified files: (Branch: PHP_4_3)
/php-src/sapi/cgi cgi_main.c
Log:
fix heuristic: if someone passed "-b IP:port", this check would
falsely recognize the parameter as defining only a port.
Index: php-src/sapi/cgi/cgi_main.c
diff -u php-src/sapi/cgi/cgi_main.c:1.190.2.47 php-src/sapi/cgi/cgi_main.c:1.190.2.48
--- php-src/sapi/cgi/cgi_main.c:1.190.2.47 Tue Sep 2 12:16:12 2003
+++ php-src/sapi/cgi/cgi_main.c Wed Sep 3 04:14:14 2003
@@ -20,7 +20,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: cgi_main.c,v 1.190.2.47 2003/09/02 16:16:12 sas Exp $ */
+/* $Id: cgi_main.c,v 1.190.2.48 2003/09/03 08:14:14 sas Exp $ */
#include "php.h"
#include "php_globals.h"
@@ -1122,7 +1122,6 @@
/* for windows, socket listening is broken in the fastcgi library itself
so dissabling this feature on windows till time is available to fix it */
if (bindpath) {
- int port = 0;
/* this must be done to make FCGX_OpenSocket work correctly
bug 23664 */
close(0);
@@ -1130,11 +1129,16 @@
* If just a port is specified, then we prepend a ':' onto the
* path (it's what the fastcgi library expects)
*/
- port = atoi(bindpath);
- if (port) {
- char bindport[32];
- snprintf(bindport, 32, ":%s", bindpath);
- fcgi_fd = FCGX_OpenSocket(bindport, 128);
+
+ if (strchr(bindpath, ':') == NULL) {
+ char *tmp;
+
+ tmp = malloc(strlen(bindpath) + 2);
+ tmp[0] = ':';
+ memcpy(tmp + 1, bindpath, strlen(bindpath) + 1);
+
+ fcgi_fd = FCGX_OpenSocket(tmp, 128);
+ free(tmp);
} else {
fcgi_fd = FCGX_OpenSocket(bindpath, 128);
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php