Jump to content
Froxlor Forum

d00p

Administrators
  • Posts

    10611
  • Joined

  • Last visited

  • Days Won

    43

Everything posted by d00p

  1. macht froxlor doch genauso...oder was meinst du jetzt?
  2. kontext? Wo muss da was in anführungszeichen gesetzt werden? Redest du von froxlor oder deiner eigenen anwendung? Ein - im db/usernamen ist ja was komplett anderes, das hat nix damit zu tun ob extern oder nicht...
  3. https://linuxize.com/post/mysql-remote-access/
  4. Because there wasnt any milter-config-template in froxlor for years, hence it was never used. Also it's not only in the documentation, it's also in RED in the announcement: Well, it would have been converted for you if you've enabled "antispam" in the updater...the alternative is: i don't want antispam and thus froxlor cleans its own tables. It's not meant for third-party usage and it's not supported. I cannot guarantee that dkim related fields in the tables will never be touched again...sorry. Enable antispam feature and activate dkim for each domain... You may try, but as said, I cannot guarantee or support third party / custom solutions
  5. Kannst du mit serverseitigen filtern (Sieve) ganz einfach machen
  6. Für den User ist vermutlich eine custom table View gespeichert mit dem alten Feld. Leere die Tabelle panel_usercolumns
  7. Die allerwenigsten betreiben selbst einen DNS Server, daher ist das alles eher "rudimentär" implementiert und nicht für alle use-cases ausgelegt - Verbesserungsvorschläge oder noch besser pull-requests via GitHub sind gern gesehen
  8. Beachte das froxlor halt auch das pdns reload command nutzt sofern nicht z.b. auf "/bin/true" gesetzt. Ansonsten was die DB angeht nimmt froxlor für die Einträge das was du als db-credentials angibst, alles andere ist einfach eine Sache des Probierens
  9. Direkt SQL
  10. Update: froxlor 2.2.2 - 2.2.4 New: [config-services] add validation for empty or non-existing configuration template xml files [antispam] add rewrite-subject flag to email-edit form; hide spam-related settings if 'bypass_spam' is activated; add possibility to disable rejection of spam-mails, refs #1282 [updater] add possibility to ask for potential update question in CLI updater and also pass them as options to override them Fixes: fix timestamp matching regex, add lmtp to receving service regex and skip lines not including the main target service name in maillog parser fix successful login when using email 2fa fix language replacement and fix 'sending messages' after successfully sending prior, thx to Davidd [php-fpm] remove 'date.timezone' from php_admin_values (superfluous as it is in php_values) [antispam] set rewrite_subject to a slighty higher score then used for add_header, fixes #1275 exchange toggler-links with checkboxes in email edit form to be able to adjust all parameters at once, fixes #1277 store IDN email-usernames in ACE, as dovecot/postfix need them this way do not issue let's encrypt for email_only domains (in case they were web-enabled prior, we do not unset former settings to ease reverting back when disabling email_only) fix incorrect width of APCu Hit/Miss bar (#1283) check whether mysql-user exists prior to DROP USER for mysql < 5.7 fix wrong fieldname in email-domain-overview
  11. Kann ich dir nicht sagen, noch nie gehabt das Szenario. Lösch halt und stell neu aus: acme.sh --remove -d lexco.at acme.sh --issue -d lexco.at -w /var/www/html/froxlor/
  12. Error renewing lexco.at... steht doch da. Also muss ja irgendwas nich stimmen. Versuch doch mal ein renew auf die domain via acme.sh und debug flag, dann weisste was los is
  13. Kannst du bitte etwas mehr Kontext geben was genau gemacht wurde/wird und woher genau diese Fehlermeldung kommt? Normal macht froxlor ein issue mit der webroot option, das sind alles feste werte, da kann eigentlich nichts leer sein, ohne mehr Kontext kann ich dir nix dazu sagen, außer das vermutlich irgendwas manuell gemacht wurde
  14. d00p

    /var/run/nginx

    You know you can change that directory in the settings right? It's just a default, you may adjust in settings -> php-fpm -> fastcgi ipcdir
  15. Database: 5.5.5-10.5.26-MariaDB-0+deb11u2 Recht altes System, MySQL unterstützt "IF EXISTS" bei einem "DROP USER" erst ab 5.7, probier mal folgende Anpassung in der `lib/Froxlor/Database/Manager/DbManagerMySQL.php`: public function deleteUser(string $username, string $host) { + if ($this->userExistsOnHost($username, $host)) { if (version_compare(Database::getAttribute(PDO::ATTR_SERVER_VERSION), '5.0.2', '<')) { // Revoke privileges (only required for MySQL 4.1.2 - 5.0.1) $stmt = Database::prepare("REVOKE ALL PRIVILEGES ON * . * FROM `" . $username . "`@`" . $host . "`"); Database::pexecute($stmt); } // as of MySQL 5.0.2 this also revokes privileges. (requires MySQL 4.1.2+) if (version_compare(Database::getAttribute(PDO::ATTR_SERVER_VERSION), '5.7.0', '<')) { $stmt = Database::prepare("DROP USER :username@:host"); } else { $stmt = Database::prepare("DROP USER IF EXISTS :username@:host"); } Database::pexecute($stmt, [ "username" => $username, "host" => $host ]); + } }
  16. nein, ein drop wird immer auf den exakten user + alle hinterlegten mysql-access-hosts gefahren, niemals wildcard
  17. Danke fürs Feedback, wir schauen uns das mal an und gucken ob wir das reproduzieren können
  18. Wenn du magst, schau doch mal bei uns im Discord vorbei (https://discord.froxlor.org) - ich hab da was, wenn du testen möchtest
  19. Der Updater kann noch keine Optionen abfragen und nimmt im CLI daher, sofern "Datenbank update" gewählt wird, immer die defaults. Gib mir mal ein bisschen zeit, vllt fällt mir was gutes ein, wie wir das noch im Updater abfragen/übergeben können, ich wollte am freitag sowieso die 2.2.2 releasen
  20. Oh fies, muss man erstmal finden
  21. Du müsstest die generierten Konfigurationsdateien in /etc/bind/ (/etc/bind/froxlor_bind.conf und /etc/bind/domains/*) auf dem einen Server zusammenführen/regelmäßig synchronisieren. Mit ein bisschen scripting sollte das kein Problem sein.
  22. Solang ich keine eindeutige beschreibung finde, was per definition dort als "name" gültig ist, bzw was ungültig ist, wird es schwer hier was zu finden
  23. konnte dazu leider auch nichts finden, vorallem da ich es nicht reproduzieren kann, sorry
  24. Weird, I'm not aware of any restrictions for attachments...need to check. In the meatime here: diff --git a/lib/Froxlor/Api/Commands/Customers.php b/lib/Froxlor/Api/Commands/Customers.php index ccbef644..f0492ed2 100644 --- a/lib/Froxlor/Api/Commands/Customers.php +++ b/lib/Froxlor/Api/Commands/Customers.php @@ -738,11 +738,12 @@ class Customers extends ApiCommand implements ResourceEntity 'adminid' => $this->getUserDetail('adminid'), 'docroot' => $documentroot, 'phpenabled' => $phpenabled, - 'openbasedir' => '1' + 'openbasedir' => '1', + 'is_stdsubdomain' => 1 ]; $domainid = -1; try { - $std_domain = $this->apiCall('Domains.add', $ins_data); + $std_domain = $this->apiCall('Domains.add', $ins_data, true); $domainid = $std_domain['id']; } catch (Exception $e) { $this->logger()->logAction(FroxlorLogger::ADM_ACTION, LOG_ERR, "[API] Unable to add standard-subdomain: " . $e->getMessage()); diff --git a/lib/Froxlor/Api/Commands/Domains.php b/lib/Froxlor/Api/Commands/Domains.php index 2dfbfb94..0ed0fbc9 100644 --- a/lib/Froxlor/Api/Commands/Domains.php +++ b/lib/Froxlor/Api/Commands/Domains.php @@ -274,7 +274,8 @@ class Domains extends ApiCommand implements ResourceEntity * $override_tls is true * @param string $description * optional custom description (currently not used/shown in the frontend), default empty - * + * @param bool $is_stdsubdomain (internally) + * optional whether this is a standard subdomain for a customer which is being added so no usage is decreased * @access admin * @return string json-encoded array * @throws Exception @@ -282,7 +283,8 @@ class Domains extends ApiCommand implements ResourceEntity public function add() { if ($this->isAdmin()) { - if ($this->getUserDetail('domains_used') < $this->getUserDetail('domains') || $this->getUserDetail('domains') == '-1') { + $is_stdsubdomain = $this->isInternal() ? $this->getBoolParam('is_stdsubdomain', true, 0) : false; + if ($is_stdsubdomain || $this->getUserDetail('domains_used') < $this->getUserDetail('domains') || $this->getUserDetail('domains') == '-1') { // parameters $p_domain = $this->getParam('domain'); @@ -795,12 +797,15 @@ class Domains extends ApiCommand implements ResourceEntity $ins_data['id'] = $domainid; unset($ins_data); - $upd_stmt = Database::prepare(" - UPDATE `" . TABLE_PANEL_ADMINS . "` SET `domains_used` = `domains_used` + 1 - WHERE `adminid` = :adminid"); - Database::pexecute($upd_stmt, [ - 'adminid' => $adminid - ], true, true); + if (!$is_stdsubdomain) { + $upd_stmt = Database::prepare(" + UPDATE `" . TABLE_PANEL_ADMINS . "` SET `domains_used` = `domains_used` + 1 + WHERE `adminid` = :adminid + "); + Database::pexecute($upd_stmt, [ + 'adminid' => $adminid + ], true, true); + } $ins_stmt = Database::prepare(" INSERT INTO `" . TABLE_DOMAINTOIP . "` SET
  25. I agree, there should be an active display of "issues" when creating a customer which not directly affects the resource "customer" (e.g. std-subdomain could not be added, or similar). For the main issue, as any admin who can create users should be able to create std-subdomains, you might want to test the following patch: NoResourceCheckIfStandardSubdomain.patch
×
×
  • Create New...