New ticket submitted by Michael Warmuth at 2014/05/12 09:46
Tracking System: Bugs
Category: EmailAdmin
Version: Version 1.8.006
Status: Open
Resolution: None
Completed: 0%
Priority: 5 - medium
Created by: Michael Warmuth
Created on: 2014/05/12 09:46
Assigned to: Klaus Leithoff
Summary: #3283 - LDAP (new qmail User): Wrong IMAP Name Space (Cyrus)
: ACHTUNG: V. 1.8.007 (ist in Auswahl nicht vorhanden!!!)
Which version of EGroupware and the according app you use:
eGroupWare: 1.8.007 (Debian-Paket: 1.8.007.20140506)
EMailAdmin: 1.9.006 (Debian-Paket: 1.8.007.20140506)
Which php version you use and if you have register_globals set to off:
PHP Version Version 5.3.3-7+squeeze19
register_globals: Off
Which database-type & version you use:
mySQL 5.1.73 (Debian-Paket mysql-server 5.1.73-1)
Which OS and web server (incl. versions) you use:
Linux Debian 6.0.9
Apache/2.2.16 (Debian) (Debian-Paket: apache2 2.2.16-6+squeeze12)
Which SMTP and IMAP server (incl. versions) you use:
Postfix 2.7.1 (Debian-Paket: 2.7.1-1+squeeze1)
Cyrus 2.2.13 (Debian-Paket: cyrus-common-2.2 2.2.13-19+squeeze3)
A step by step description on how to reproduce the bug:
Speichern eines Benutzerkontos -> IMAP-Mailbox wird an falscher Stelle angelegt:
Falsch: “Andere Benutzer.username@domain.com"
Richtig: "user.username@domain.com”
Fehler 1: Es wird der falsche Namespace verwendet:
falsch: “others”, richtig: “personal”
Fehler 2: Der Inhalt des Namespace “personal” ist falsch:
falsch: “”, richtig: “user.”
Literatur:
https://cyrusimap.org/docs/cyrus-imapd/2.2.13p1/altnamespace.php
Lösungsansatz:
Quick-Fix in “emailadmin/inc/class.defaultimap.inc.php” (siehe ganz unten).
Zugehörige Bug-Tracker IDs:
sicher: 3269 (mit obigem Lösungsansatz behoben)
eventuell: 3268
Betroffene Konfigurationsdateien von Drittprogrammen:
Cyrus ("/etc/imapd.conf"):
…
altnamespace: yes
sharedprefix: Gemeinsame Ordner
userprefix: Andere Benutzer
…
virtdomains: on
Quick-Fix:
— emailadmin/inc/class.defaultimap.inc.php.ori 2014-05-06 13:12:23.000000000 +0200
+++ emailadmin/inc/class.defaultimap.inc.php 2014-05-12 08:56:02.000000000 +0200
@@ -402,7 +402,9 @@
{
$nameSpaces = $this->getNameSpaces();
-
// MW 20140512 Correct wrong namespace
-
//if(!isset($nameSpaces['others'])) {
-
if(!isset($nameSpaces['personal'])) {
return false;
}
@@ -411,7 +413,9 @@
$_username .= ‘@’. $this->domainName;
}
-
// MW 20140512 Correct wrong namespace
-
//$mailboxString = $nameSpaces['others'][0]['name'] . $_username . (!empty($_folderName) ? $nameSpaces['others'][0]['delimiter'] . $_folderName : '');
-
$mailboxString = $nameSpaces['personal'][0]['name'] . $_username . (!empty($_folderName) ? $nameSpaces['personal'][0]['delimiter'] . $_folderName : '');
return $mailboxString;
}
@@ -450,13 +454,17 @@
}
}
}
-
// MW 20140512 Correct wrong namespace
-
//if (!$this->hasCapability('NAMESPACE') || $retrieveDefault) {
-
if (true) {
$delimiter = $this->getHierarchyDelimiter();
if( PEAR::isError($delimiter)) $delimiter = '/';
Linked entries:
https://community.egroupware.org/egroupware/index.php?menuaction=tracker.tracker_ui.edit&tr_id=3283&no_popup=1