Horde 8-bit folder creation bug

Možno ste sa počas upgradu webmailu Horde stretli s nasledovnou chybou:

Can’t create mailbox name with 8-bit octet: {127.0.0.1:143/imap/notls}INBOX.Odoslané

Ponúkam vám workaround, ako problém vyriešiť:

Jedným z riešení by bolo naštudovať RFC-3501 a preveriť, či sa váš IMAP server správa podľa štandardu a následne ešte otestovať aj implementáciu v module php5-imap. Aj keby sa podarilo nájsť chybu a pripraviť patch, chvílku by trvalo, kým by sa patch zaintegroval do vašej distribúcie a problém sa vyriešil.

Najjednoduchšie riešenie ktoré napadlo mňa spočíva v úprave konfigurácie IMP4, čo je mail plugin pre Horde.

V Debiane stačí upraviť nasledujúci konfiguračný súbor nasledovne:

--- /etc/horde/imp4/prefs.php.orig 2011-12-11 12:28:02 UTC                                                                   
+++ /etc/horde/imp4/prefs.php 2011-12-11 12:29:58 UTC
@@ -244,7 +244,8 @@

 // sent mail folder
 $_prefs['sent_mail_folder'] = array(
-    'value' => _("Sent"),
+    //'value' => _("Sent"),
+    'value' => "Sent",
 // For Exchange server uncomment the line below and delete the line above
 //    'value' => 'Sent Items',
     'locked' => false,
@@ -282,7 +283,8 @@

 // drafts folder
 $_prefs['drafts_folder'] = array(
-    'value' => _("Drafts"),
+    //'value' => _("Drafts"),
+    'value' => "Drafts",
     'locked' => false,
     'shared' => false,
     'type' => 'implicit');
@@ -295,7 +297,8 @@
 $_prefs['trash_folder'] = array(
 // for Exchange, uncomment the entry below and remove the default value entry
 //    'value' => 'Deleted Items',
-    'value' => _("Trash"),
+    //'value' => _("Trash"),
+    'value' => "Trash",
     'locked' => false,
     'shared' => false,
     'type' => 'implicit');
@@ -306,7 +309,8 @@

 // spam folder
 $_prefs['spam_folder'] = array(
-    'value' => _("Spam"),
+    //'value' => _("Spam"),
+    'value' => "Spam",
     'locked' => false,
     'shared' => false,
     'type' => 'implicit');

Čiže sme spravili to, že sa názov priečinka pošty neprekladá cez gettext funkciou podčiarkovník „_(‚názov priečinka na preklad‘)“, ale použije sa pôvodný anglický názov.

Až to niekedy v budúcnosti slovenskí prekladatelia Horde opravia, a nebudú používať diakritiku v názve priečinku, rád to vrátim späť. Ale aj tak si myslím, že používať diakritiku v názve priečinkov a súborov je zvrhlosť. 🙂

Alternatívou je ešte opraviť preklad IMP:

cd /usr/share/horde3/imp/locale/sk_SK/LC_MESSAGES
msgunfmt imp.mo > imp.po
msgfmt -o imp.mo imp.po

… ale toto sa vám pri najbližsom upgrade prepíše oficiálnou verziou.