Jump to content
View in the app

A better way to browse. Learn more.

Froxlor Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Fehler: "This is already a Punycode string"

Featured Replies

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é

 

 

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?

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

  • 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.  :rolleyes:

 

Viele Grüße

André

Wunderbar, ist auch schon im repository, danke fürs melden und testen

  • 4 weeks later...

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.