$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_\.\-]+$";
$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';
break;
case 'C':
- $result = checkString($configParam[$key], $value['regexp']);
+ $result = checkString($configParam[$key], $value);
break;
case 'F':
*/
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;
}