Merge remote-tracking branch 'origin/main' into v2.2

This commit is contained in:
Michael Kaufmann
2024-08-14 12:29:27 +02:00
8 changed files with 15 additions and 9 deletions

View File

@@ -84,7 +84,8 @@ if ($action == '2fa_entercode') {
// verify code set to user's data_2fa field // verify code set to user's data_2fa field
$sel_stmt = Database::prepare("SELECT `data_2fa` FROM " . $table . " WHERE `" . $field . "` = :uid"); $sel_stmt = Database::prepare("SELECT `data_2fa` FROM " . $table . " WHERE `" . $field . "` = :uid");
$userinfo_code = Database::pexecute_first($sel_stmt, ['uid' => $uid]); $userinfo_code = Database::pexecute_first($sel_stmt, ['uid' => $uid]);
$result = $tfa->verifyCode($userinfo_code['data_2fa'], $code); // 60sec discrepancy (possible slow email delivery)
$result = $tfa->verifyCode($userinfo_code['data_2fa'], $code, 60);
} else { } else {
$result = $tfa->verifyCode($_SESSION['secret_2fa'], $code, 3); $result = $tfa->verifyCode($_SESSION['secret_2fa'], $code, 3);
} }

View File

@@ -187,7 +187,7 @@ class DbManagerMySQL
*/ */
public function deleteUser(string $username, string $host) public function deleteUser(string $username, string $host)
{ {
if (Database::getAttribute(PDO::ATTR_SERVER_VERSION) < '5.0.2') { if (version_compare(Database::getAttribute(PDO::ATTR_SERVER_VERSION), '5.0.2', '<')) {
// Revoke privileges (only required for MySQL 4.1.2 - 5.0.1) // Revoke privileges (only required for MySQL 4.1.2 - 5.0.1)
$stmt = Database::prepare("REVOKE ALL PRIVILEGES ON * . * FROM `" . $username . "`@`" . $host . "`"); $stmt = Database::prepare("REVOKE ALL PRIVILEGES ON * . * FROM `" . $username . "`@`" . $host . "`");
Database::pexecute($stmt); Database::pexecute($stmt);

View File

@@ -3174,7 +3174,7 @@ no
</content> </content>
</file> </file>
<file name="/etc/pure-ftpd/db/mysql.conf" chown="root:0" <file name="/etc/pure-ftpd/db/mysql.conf" chown="root:0"
chmod="0644" backup="true"> chmod="0640" backup="true">
<content><![CDATA[ <content><![CDATA[
############################################## ##############################################
# # # #

View File

@@ -4742,7 +4742,7 @@ no
</content> </content>
</file> </file>
<file name="/etc/pure-ftpd/db/mysql.conf" chown="root:0" <file name="/etc/pure-ftpd/db/mysql.conf" chown="root:0"
chmod="0644" backup="true"> chmod="0640" backup="true">
<content><![CDATA[ <content><![CDATA[
############################################## ##############################################
# # # #

View File

@@ -3961,7 +3961,7 @@ no
</content> </content>
</file> </file>
<file name="/etc/pure-ftpd/db/mysql.conf" chown="root:0" <file name="/etc/pure-ftpd/db/mysql.conf" chown="root:0"
chmod="0644" backup="true"> chmod="0640" backup="true">
<content><![CDATA[ <content><![CDATA[
############################################## ##############################################
# # # #

View File

@@ -3953,7 +3953,7 @@ no
</content> </content>
</file> </file>
<file name="/etc/pure-ftpd/db/mysql.conf" chown="root:0" <file name="/etc/pure-ftpd/db/mysql.conf" chown="root:0"
chmod="0644" backup="true"> chmod="0640" backup="true">
<content><![CDATA[ <content><![CDATA[
############################################## ##############################################
# # # #

View File

@@ -2628,7 +2628,7 @@ no
</content> </content>
</file> </file>
<file name="/etc/pure-ftpd/db/mysql.conf" chown="root:0" <file name="/etc/pure-ftpd/db/mysql.conf" chown="root:0"
chmod="0644" backup="true"> chmod="0640" backup="true">
<content><![CDATA[ <content><![CDATA[
############################################## ##############################################
# # # #

View File

@@ -49,6 +49,7 @@ return [
'2fa_ga_desc' => 'Váš účet je nastaven tak, aby používal jednorázová hesla založená na čase prostřednictvím autentizační aplikace. Naskenujte níže uvedený QR kód pomocí požadované autentizační aplikace pro vygenerování kódů. Chcete-li deaktivovat, klikněte na "Deaktivovat 2FA"', '2fa_ga_desc' => 'Váš účet je nastaven tak, aby používal jednorázová hesla založená na čase prostřednictvím autentizační aplikace. Naskenujte níže uvedený QR kód pomocí požadované autentizační aplikace pro vygenerování kódů. Chcete-li deaktivovat, klikněte na "Deaktivovat 2FA"',
'2fa_not_activated' => 'Dvoufázové ověřování není povoleno', '2fa_not_activated' => 'Dvoufázové ověřování není povoleno',
'2fa_not_activated_for_user' => 'Dvoufaktorové ověření není pro aktuálního uživatele povoleno', '2fa_not_activated_for_user' => 'Dvoufaktorové ověření není pro aktuálního uživatele povoleno',
'type_2fa' => 'Stav 2FA',
], ],
'admin' => [ 'admin' => [
'overview' => 'Přehled', 'overview' => 'Přehled',
@@ -681,6 +682,8 @@ return [
'title' => 'Použít greylisting', 'title' => 'Použít greylisting',
'description' => 'Příchozí e-maily budou chráněny <a href="https://en.wikipedia.org/wiki/Greylisting_(email)" target="_blank">greylisting</a>.<br/>Výchozí: ano' 'description' => 'Příchozí e-maily budou chráněny <a href="https://en.wikipedia.org/wiki/Greylisting_(email)" target="_blank">greylisting</a>.<br/>Výchozí: ano'
], ],
'required_spf_dns' => 'Požadovaný SPF DNS záznam',
'required_dmarc_dns' => 'Požadovaný DMARC DNS záznam',
'required_dkim_dns' => 'Požadovaný DKIM DNS záznam', 'required_dkim_dns' => 'Požadovaný DKIM DNS záznam',
], ],
'dns' => [ 'dns' => [
@@ -782,6 +785,7 @@ return [
'hsts' => 'HSTS povoleno', 'hsts' => 'HSTS povoleno',
'aliasdomainid' => 'ID aliasové domény', 'aliasdomainid' => 'ID aliasové domény',
'nodomainsassignedbyadmin' => 'Váš účet nemá v současné době přiřazeny žádné (aktivní) domény. Pokud si myslíte, že je to špatné, kontaktujte svého správce.', 'nodomainsassignedbyadmin' => 'Váš účet nemá v současné době přiřazeny žádné (aktivní) domény. Pokud si myslíte, že je to špatné, kontaktujte svého správce.',
'email_only' => 'Jen emaily',
], ],
'emails' => [ 'emails' => [
'description' => 'Zde můžete vytvářet a měnit své e-mailové adresy.<br />Účet je jako poštovní schránka před vaším domem. Pokud vám někdo pošle e-mail, bude vypuštěn na účet.<br /><br />Chcete-li stáhnout své e-maily, použijte následující nastavení ve vašem poštovním programu: (Data v <i>kurzívě</i> musí být změněna na ekvivalenty, které jste zadali!<br />Hostitelské jméno: <b><i>doménové jméno</i></b><br />Uživatelské jméno: <b><i>jméno účtu / e-mailová adresa</i></b><br />heslo: <b><i>heslo, které jste zvolili</i></b>', 'description' => 'Zde můžete vytvářet a měnit své e-mailové adresy.<br />Účet je jako poštovní schránka před vaším domem. Pokud vám někdo pošle e-mail, bude vypuštěn na účet.<br /><br />Chcete-li stáhnout své e-maily, použijte následující nastavení ve vašem poštovním programu: (Data v <i>kurzívě</i> musí být změněna na ekvivalenty, které jste zadali!<br />Hostitelské jméno: <b><i>doménové jméno</i></b><br />Uživatelské jméno: <b><i>jméno účtu / e-mailová adresa</i></b><br />heslo: <b><i>heslo, které jste zvolili</i></b>',
@@ -1101,6 +1105,7 @@ return [
'combination_not_found' => 'Kombinace uživatele a e-mailové adresy nenalezena.', 'combination_not_found' => 'Kombinace uživatele a e-mailové adresy nenalezena.',
'2fa' => 'Dvoufázové ověření (2FA)', '2fa' => 'Dvoufázové ověření (2FA)',
'2facode' => 'Zadejte prosím 2FA kód', '2facode' => 'Zadejte prosím 2FA kód',
'2faremember' => 'Důvěřovat prohlížeči',
], ],
'mails' => [ 'mails' => [
'pop_success' => [ 'pop_success' => [
@@ -1227,7 +1232,7 @@ Ach upřímně, váš správce',
], ],
'opcacheinfo' => [ 'opcacheinfo' => [
'generaltitle' => 'Obecné informace', 'generaltitle' => 'Obecné informace',
'resetcache' => 'Resetövat OPcache', 'resetcache' => 'Resetovat OPcache',
'version' => 'Verze OPCache', 'version' => 'Verze OPCache',
'phpversion' => 'Verze PHP', 'phpversion' => 'Verze PHP',
'runtimeconf' => 'Spustitelná konfigurace', 'runtimeconf' => 'Spustitelná konfigurace',
@@ -1941,7 +1946,7 @@ Ach upřímně, váš správce',
], ],
'documentroot_use_default_value' => [ 'documentroot_use_default_value' => [
'title' => 'Použít název domény jako výchozí hodnotu pro cestu kořenového adresáře dokumentu', 'title' => 'Použít název domény jako výchozí hodnotu pro cestu kořenového adresáře dokumentu',
'description' => 'Pokud je povoleno a cesta DocumentRoot je prázdná, výchozí hodnotou bude název (sub)domény.<br /><br />Příklady: <br />/var/customers/customer_name/example.com/<br />/var /customers/customer_name/subdomain.example.com/', 'description' => 'Pokud je povoleno a cesta DocumentRoot je prázdná, výchozí hodnotou bude název (sub)domény.<br /><br />Příklady: <br />/var/customers/webs/customer_name/example.com/<br />/var/customers/webs/customer_name/subdomain.example.com/',
], ],
'panel_phpconfigs_hidesubdomains' => [ 'panel_phpconfigs_hidesubdomains' => [
'title' => 'Skrýt subdomény v PHP-konfiguračním přehledu', 'title' => 'Skrýt subdomény v PHP-konfiguračním přehledu',