From 81f8f0a13a0974dca074fc25eed052063038f7e6 Mon Sep 17 00:00:00 2001 From: Nozomi Anzai Date: Tue, 17 Jul 2012 11:14:30 +0900 Subject: [PATCH] Allow that delegate_ip and wd_hostname can be ''. --- definePgpoolConfParam.php | 3 +++ pgconfig.php | 10 ++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/definePgpoolConfParam.php b/definePgpoolConfParam.php index 251900d..d4c6b72 100644 --- a/definePgpoolConfParam.php +++ b/definePgpoolConfParam.php @@ -35,6 +35,7 @@ $hostreg = '^[0-9a-zA-Z\._\-]*$'; $sslreg = '^(|\/[0-9a-zA-Z_\/\.\-]*)$'; $commandreg = '^[0-9a-zA-Z_\/\.\-]*$'; $addressreg = '^([0-9a-zA-Z\._\-]+|[\*]{1})$'; +$addressreg = '^([0-9a-zA-Z\._\-]+|[\*]{1})$'; $listreg = '^[0-9a-zA-Z_,]*$'; $queryreg = '^[0-9a-zA-Z; ]+$'; $userreg = "^[0-9a-zA-Z_\.\-]+$"; @@ -531,11 +532,13 @@ $key = 'delegate_IP'; $pgpoolConfigParam[$key]['type'] = 'C'; $pgpoolConfigParam[$key]['default'] = ''; $pgpoolConfigParam[$key]['regexp'] = $addressreg; +$pgpoolConfigParam[$key]['null_ok'] = TRUE; $key = 'wd_hostname'; $pgpoolConfigParam[$key]['type'] = 'C'; $pgpoolConfigParam[$key]['default'] = ''; $pgpoolConfigParam[$key]['regexp'] = $addressreg; +$pgpoolConfigParam[$key]['null_ok'] = TRUE; $key = 'wd_port'; $pgpoolConfigParam[$key]['type'] = 'N'; diff --git a/pgconfig.php b/pgconfig.php index abeac98..a8acdae 100644 --- a/pgconfig.php +++ b/pgconfig.php @@ -436,7 +436,7 @@ function check($key, $value, &$configParam ,&$error) break; case 'C': - $result = checkString($configParam[$key], $value['regexp']); + $result = checkString($configParam[$key], $value); break; case 'F': @@ -461,8 +461,14 @@ function check($key, $value, &$configParam ,&$error) */ function checkString($str, $pattern) { - if (preg_match("/$pattern/", $str)) { + // NULL is OK? + if (empty($str) && isset($pattern['null_ok']) && $pattern['null_ok'] == TRUE) { return TRUE; + + // regex test + } elseif (preg_match("/{$pattern['regexp']}/", $str)) { + return TRUE; + } else { return FALSE; } -- 2.39.5