Commit: 1299503936597ea873a3eb8272aa4deec2f31e5b Author: Jerome Loyet <f...@php.net> Wed, 23 May 2012 11:53:04 +0200 Parents: d236c1af8a5e1813e2667de969fa2ad39da74887 Branches: PHP-5.4 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=1299503936597ea873a3eb8272aa4deec2f31e5b Log: - Fixed bug #61026 (FPM pools can listen on the same address) Bugs: https://bugs.php.net/61026 Changed paths: M NEWS M sapi/fpm/fpm/fpm_conf.c Diff: diff --git a/NEWS b/NEWS index 9b0a3ac..1db032a 100644 --- a/NEWS +++ b/NEWS @@ -60,6 +60,7 @@ PHP NEWS . Fixed bug #61295 (php-fpm should not fail with commented 'user' for non-root start). (fat) . Fixed bug #61839 (Unable to cross-compile PHP with --enable-fpm). (fat) + . Fixed bug #61026 (FPM pools can listen on the same address). (fat) - Libxml: . Fixed bug #61617 (Libxml tests failed(ht is already destroyed)). diff --git a/sapi/fpm/fpm/fpm_conf.c b/sapi/fpm/fpm/fpm_conf.c index 0b2c5ae..a4283a2 100644 --- a/sapi/fpm/fpm/fpm_conf.c +++ b/sapi/fpm/fpm/fpm_conf.c @@ -704,7 +704,7 @@ static int fpm_evaluate_full_path(char **path, struct fpm_worker_pool_s *wp, cha static int fpm_conf_process_all_pools() /* {{{ */ { - struct fpm_worker_pool_s *wp; + struct fpm_worker_pool_s *wp, *wp2; if (!fpm_worker_all_pools) { zlog(ZLOG_ERROR, "No pool defined. at least one pool section must be specified in config file"); @@ -1044,6 +1044,20 @@ static int fpm_conf_process_all_pools() /* {{{ */ } } } + + /* ensure 2 pools do not use the same listening address */ + for (wp = fpm_worker_all_pools; wp; wp = wp->next) { + for (wp2 = fpm_worker_all_pools; wp2; wp2 = wp2->next) { + if (wp == wp2) { + continue; + } + + if (wp->config->listen_address && *wp->config->listen_address && wp2->config->listen_address && *wp2->config->listen_address && !strcmp(wp->config->listen_address, wp2->config->listen_address)) { + zlog(ZLOG_ERROR, "[pool %s] unable to set listen address as it's already used in another pool '%s'", wp2->config->name, wp->config->name); + return -1; + } + } + } return 0; } /* }}} */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php