diff --git a/install/froxlor.sql b/install/froxlor.sql index 5b5a8b0a86..8697fe8248 100644 --- a/install/froxlor.sql +++ b/install/froxlor.sql @@ -723,7 +723,7 @@ opcache.validate_timestamps'), ('panel', 'logo_image_login', ''), ('panel', 'logo_overridetheme', '0'), ('panel', 'logo_overridecustom', '0'), - ('panel', 'version', '0.10.33'), + ('panel', 'version', '0.10.34'), ('panel', 'db_version', '202112310'); diff --git a/install/updates/froxlor/0.10/update_0.10.inc.php b/install/updates/froxlor/0.10/update_0.10.inc.php index 7889077e45..10c56853c8 100644 --- a/install/updates/froxlor/0.10/update_0.10.inc.php +++ b/install/updates/froxlor/0.10/update_0.10.inc.php @@ -970,3 +970,8 @@ showUpdateStep("Updating from 0.10.32 to 0.10.33", false); \Froxlor\Froxlor::updateToVersion('0.10.33'); } + +if (\Froxlor\Froxlor::isFroxlorVersion('0.10.33')) { + showUpdateStep("Updating from 0.10.33 to 0.10.34", false); + \Froxlor\Froxlor::updateToVersion('0.10.34'); +} diff --git a/lib/Froxlor/Api/ApiCommand.php b/lib/Froxlor/Api/ApiCommand.php index f561ccf87a..c93d5cbb96 100644 --- a/lib/Froxlor/Api/ApiCommand.php +++ b/lib/Froxlor/Api/ApiCommand.php @@ -297,6 +297,10 @@ protected function getSearchWhere(&$query_fields = array(), $append = false) $sortfield[$id] = $sfield; } $field = implode('.', $sortfield); + if (preg_match('/^([a-z0-9\-\._`]+)$/i', $field) == false) { + // skip + continue; + } if (! $first) { $condition .= ' AND '; } @@ -313,6 +317,14 @@ protected function getSearchWhere(&$query_fields = array(), $append = false) } elseif (strtolower($valoper['op']) == 'in' && is_array($valoper['value']) && count($valoper['value']) > 0) { $condition .= $field . ' ' . $valoper['op'] . ' ('; foreach ($valoper['value'] as $incnt => $invalue) { + if (!is_numeric($incnt)) { + // skip + continue; + } + if (!empty($invalue) && preg_match('/^([a-z0-9\-\._`]+)$/i', $invalue) == false) { + // skip + continue; + } $condition .= ":" . $cleanfield . $incnt . ", "; $query_fields[':' . $cleanfield . $incnt] = $invalue ?? ''; } @@ -398,6 +410,10 @@ protected function getOrderBy($append = false) $sortfield[$id] = $sfield; } $field = implode('.', $sortfield); + if (preg_match('/^([a-z0-9\-\._`]+)$/i', $field) == false) { + // skip + continue; + } $by = strtoupper($by); if (! in_array($by, [ 'ASC', @@ -423,6 +439,7 @@ protected function getOrderBy($append = false) return $order; } + /** * return logger instance * diff --git a/lib/Froxlor/Froxlor.php b/lib/Froxlor/Froxlor.php index 804aab8e53..9203d50c9f 100644 --- a/lib/Froxlor/Froxlor.php +++ b/lib/Froxlor/Froxlor.php @@ -7,7 +7,7 @@ final class Froxlor { // Main version variable - const VERSION = '0.10.33'; + const VERSION = '0.10.34'; // Database version (YYYYMMDDC where C is a daily counter) const DBVERSION = '202112310'; diff --git a/lng/german.lng.php b/lng/german.lng.php index bb5a380bb9..e40d4878c0 100644 --- a/lng/german.lng.php +++ b/lng/german.lng.php @@ -410,7 +410,7 @@ // ADDED IN 1.2.13-rc3 -$lng['error']['cantchangesystemip'] = 'Sie können die letzte System-IP-Adresse nicht löschen. Entweder legen Sie eine neue IP/Port-Kombination an oder Sie ändern die System-IP-Adresse.'; +$lng['error']['cantchangesystemip'] = 'Sie können die letzte System-IP-Adresse nicht ändern. Entweder legen Sie eine neue IP/Port-Kombination an oder Sie ändern die System-IP-Adresse.'; $lng['question']['admin_domain_reallydocrootoutofcustomerroot'] = 'Sind Sie sicher, dass der DocumentRoot dieser Domain außerhalb des Heimatverzeichnisses des Kunden liegen soll?'; // ADDED IN 1.2.14-rc1