August 5, 20169 yr Hallo liebe Forums-Mitglieder, ich habe seit Version 0.9.37 ein Problem bei der Anlage von neuen E-Mail Adressen welche einen Umlaut in der Domain enthalten. Es existieren 2 Domains, welche auch ordnungsgemäß in älteren Versionen von Froxlor angelegt werden konnten. Beispiel: musterqualitaet.de und musterqualität.de Bis zur Version 0.9.37 konnten auch Problemlos E-Mails zu diesen Domains angelegt werden. Beispiel: max.mustermann@musterqualitaet.de und max.mustermann@musterqualität.de Seit der aktuellen Version kommt folgender Fehler: [Fri Aug 05 11:17:29.404365 2016] [:error] [pid 10145] [client 84.177.xxx.xxx:13969] FastCGI: server "/var/www/php-fpm/froxlor.panel/froxlor.musterdomain.de/02b0.ssl-fpm.external" stderr: PHP message: PHP Fatal error: Uncaught exception 'InvalidArgumentException' with message 'This is already a Punycode string' in /var/www/froxlor/lib/classes/idna/ext/Punycode.php:173, referer: https://froxlor.musterdomain.de/customer_email.php?page=emails&action=add&s=133eab2a860eb7470376d50ce1dc9c02 Ursache ist die Selectbox auf der Seite, wo man die E-Mail Adressen anlegen kann. Dort wird als Value bereits ein IDN-encodierte Domain hinterlegt. Beispiel: <select id="domain" name="domain"> <option value="musterqualitaet.de">musterqualitaet.de</option> <option value="xn--musterqualitt-mfb.de">musterqualität.de</option> </select> Schreibt man dort als Value die eigentliche Domain rein, lässt sich die E-Mail Adresse anlegen. Könnt ihr bitte schauen, was zur Behebung des Fehlers getan werden muss? Super vielen Dank schon mal für eure Hilfe. Viele Grüße André
August 5, 20169 yr Hm, das hatte ich auch schonmal, eigentlich sollte der IDNA Converter nichts machen, wenn es schon punycode ist, ich dachte das wäre gefixed. Welche PHP Version nutzt du?
August 5, 20169 yr Könntest du mal testen, ob es mit folgendem Patch funktioniert? diff --git a/customer_email.php b/customer_email.php index 45c0e3f..22a4685 100644 --- a/customer_email.php +++ b/customer_email.php @@ -205,7 +205,8 @@ if ($page == 'overview') { if ($userinfo['emails_used'] < $userinfo['emails'] || $userinfo['emails'] == '-1') { if (isset($_POST['send']) && $_POST['send'] == 'send') { $email_part = $_POST['email_part']; - $domain = $idna_convert->encode(validate($_POST['domain'], 'domain')); + // domain does not need idna encoding as the value of the select-box is already Punycode + $domain = validate($_POST['domain'], 'domain'); $stmt = Database::prepare("SELECT `id`, `domain`, `customerid` FROM `" . TABLE_PANEL_DOMAINS . "` WHERE `domain`= :domain AND `customerid`= :customerid
August 7, 20169 yr Author Hallo d00p, vielen Dank für deine Hilfe. Dein Patch funktioniert mit und ohne Umlautdomain wunderbar. Vielen Dank! Davon abgesehen wäre die PHP-Version "5.6.24-0+deb8u1" gewesen. Viele Grüße André
August 30, 20169 yr Hallo, das gleiche Problem haben wir auch in customer_domains.php. dort steht: $domain = $idna_convert->encode($_POST['domain']); sollte aber : $domain = $_POST['domain']; sein. Mit dieser Änderung lassen sich nun auch Subdomains anlegen.
Archived
This topic is now archived and is closed to further replies.