add new directory-validator 'confdir' to check against disallowed paths (like /, /bin, /home, etc.)

Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann (d00p)
2013-10-16 08:54:39 +02:00
parent 64e646b526
commit 6b93b973e2
5 changed files with 100 additions and 34 deletions

View File

@@ -17,62 +17,58 @@
*
*/
function storeSettingField($fieldname, $fielddata, $newfieldvalue)
{
if(is_array($fielddata) && isset($fielddata['settinggroup']) && $fielddata['settinggroup'] != '' && isset($fielddata['varname']) && $fielddata['varname'] != '')
{
function storeSettingField($fieldname, $fielddata, $newfieldvalue) {
if(saveSetting($fielddata['settinggroup'], $fielddata['varname'], $newfieldvalue) != false)
{
if (is_array($fielddata)
&& isset($fielddata['settinggroup'])
&& $fielddata['settinggroup'] != ''
&& isset($fielddata['varname'])
&& $fielddata['varname'] != ''
) {
if (saveSetting($fielddata['settinggroup'], $fielddata['varname'], $newfieldvalue) != false) {
/*
* when fielddata[cronmodule] is set, this means enable/disable a cronjob
*/
if(isset($fielddata['cronmodule']) && $fielddata['cronmodule'] != '')
{
*/
if (isset($fielddata['cronmodule'])
&& $fielddata['cronmodule'] != ''
) {
toggleCronStatus($fielddata['cronmodule'], $newfieldvalue);
}
/*
* satisfy dependencies
*/
if(isset($fielddata['dependency']) && is_array($fielddata['dependency']))
{
if((int)$fielddata['dependency']['onlyif'] == (int)$newfieldvalue)
{
*/
if (isset($fielddata['dependency'])
&& is_array($fielddata['dependency'])
) {
if ((int)$fielddata['dependency']['onlyif'] == (int)$newfieldvalue) {
storeSettingField($fielddata['dependency']['fieldname'], $fielddata['dependency']['fielddata'], $newfieldvalue);
}
}
return array($fielddata['settinggroup'] . '.' . $fielddata['varname'] => $newfieldvalue);
}
else
{
} else {
return false;
}
}
else
{
} else {
return false;
}
}
function storeSettingFieldInsertBindTask($fieldname, $fielddata, $newfieldvalue)
{
if(is_array($fielddata) && isset($fielddata['settinggroup']) && $fielddata['settinggroup'] != '' && isset($fielddata['varname']) && $fielddata['varname'] != '')
{
if(saveSetting($fielddata['settinggroup'], $fielddata['varname'], $newfieldvalue) != false)
{
function storeSettingFieldInsertBindTask($fieldname, $fielddata, $newfieldvalue) {
if (is_array($fielddata)
&& isset($fielddata['settinggroup'])
&& $fielddata['settinggroup'] != ''
&& isset($fielddata['varname'])
&& $fielddata['varname'] != ''
) {
if (saveSetting($fielddata['settinggroup'], $fielddata['varname'], $newfieldvalue) != false) {
return array($fielddata['settinggroup'] . '.' . $fielddata['varname'] => $newfieldvalue);
}
else
{
} else {
return false;
}
}
else
{
} else {
return false;
}
}
?>