Several Bugs (3.3 -> 3.4) debian 7.x

Franz Skale i.bin at dah.am
Mon Mar 23 17:14:09 CET 2015


Hi all,

after a long debugging session i found some bugs in 3.4
I don't know anyone will read my mail, but i think some of you will have
the same troubles.


1.) pykolab persistent search bug.
I tweaked some settings on dirsrv regarding io timeouts.
Whenever i create a new user, the persisent search connection of kolabd
dies and on thread transforms into a zombie.
2015-03-22 20:07:59,391 pykolab.auth ERROR An error occured using
_persistent_search: AttributeError("'int' object has no attribute 'split'",)
This problem occurs on every change and modify (and add of course) of
ldap data.
I Tracked it down to a python persistent search problem. Perl works OK,
so please fix this issue.

Ldap perl working script: (psearch) works like a charm. Python not !

#!/usr/bin/perl
 use Net::LDAP;
 use Net::LDAP::Control::PersistentSearch;
 use Net::LDAP::LDIF;

 $ldap = Net::LDAP->new( "localhost", debug => 8 );
 $mesg = $ldap->bind( 'uid=kolab-service,ou=Special
Users,dc=example,dc=com',
                                  password => 'xxxxxxxxxxxxxx');
 $persist = Net::LDAP::Control::PersistentSearch->new( changeTypes => 15,
                                                       changesOnly => 1,
                                                       returnECs => 1 );
 $srch = $ldap->search( base     => "dc=example,dc=com",
                        filter   => "(objectClass=kolabinetorgperson)",
                        callback => \&process_entry, # call for each entry
                        control  => [ $persist ] );
 die "error: ",$srch->code(),": ",$srch->error()  if ($srch->code());

 sub process_entry {
   my $message = shift;
   my $entry = shift;
   print $entry->dn()."\n";  #output entry DN
   $ldif = Net::LDAP::LDIF->new( "", "w", onerror => 'undef');
   $ldif->write_entry ($entry); #output entry in LDIF
   $ldif->done ( );
 }

Tweaking of dirsrv done using the admin guide.
Also i changed the settings of several timeout values as well as
fildescr. etc.

LDIF of Change:

dn: cn=config
changetype: modify
replace: nsslapd-maxdescriptors
nsslapd-maxdescriptors: 8192
-
replace: nsslapd-ioblocktimeout
nsslapd-ioblocktimeout: 5000
-
replace: nsslapd-outbound-ldap-io-timeout
nsslapd-outbound-ldap-io-timeout: 5000

So the psearch problem of pykolab occurs in a less often manner, but it
occurs when i add one user !
But with these changes took effect i got arounf the IO error problem !!!

This problem's now fixed adding the timeout values: (This error don't
occur after change !)

2015-03-22 20:07:59,391 pykolab.auth ERROR An error occured using
_persistent_search: AttributeError("'int' object has no attribute 'split'",)
2015-03-22 20:07:59,392 pykolab.auth ERROR Exception occurred:
IOError(5, 'Eingabe-/Ausgabefehler')
2015-03-22 20:07:59,392 pykolab.daemon ERROR Error in process
'Kolab(example.com)', terminating:
    IOError(5, 'Eingabe-/Ausgabefehler')



2.) Kolab Files backend for roundcube not working.
Did some debug but it cannot access the Folder "Files" which is acutally
there and working (Have to read git, perhaps some updates here)

Problem:
/usr/share/chwala/lib/drivers/kolab/kolab_file_storage.php
Line 1070

Folder Files is correct but nevertheless error raised. No clue about the
problem right now.


if (empty($this->folders[$folder_name])) {
            $storage     = $this->rc->get_storage();
            $separator   = $storage->get_hierarchy_delimiter();
            $folder_name = str_replace(file_storage::SEPARATOR,
$separator, $folder_name);
            $imap_name   = rcube_charset::convert($folder_name,
RCUBE_CHARSET, 'UTF7-IMAP');
            $folder      = kolab_storage::get_folder($imap_name, 'file');

            if (!$folder || !$folder->valid) {
                throw new Exception("Storage error." . "Folder: ".
"$folder" . " Folder-Name: "." $folder_name" . " not found",
file_storage::ERROR);
            }

            $this->folders[$folder_name] = $folder;
        }


3.) Mail to shared folder on multidomain setup, which worked in 3.3 now
refuses to work with 3.4.
I found out that, whenever a resource got booked a mail is sent to the
resource which doesn't work anymore.
Simple explanation is that the primary domain will always be added
regardless of the receipeint domain:

E.g:
Mar 22 20:30:13 mail postfix/lmtp[12329]: C7D579274B0:
to=<shared+shared/Resources/buero at example.com>,
orig_to=<shared+shared/Resources/buero at example.com@primarydomain.com>,
relay=mail.example.com[/var/lib/imap/socket/lmtp], delay=0.04,
delays=0.02/0/0/0.01, dsn=5.1.1, status=bounced (host
mail.example.com[/var/lib/imap/socket/lmtp] said: 550-Mailbox unknown. 
Either there is no mailbox associated with this 550-name or you do not
have authorization to see it. 550 5.1.1 User unknown (in reply to RCPT
TO command))

How to teach roundcube to not use the primary domain in adressing ?
Of course i read the changes and added " to the virtual alias maps which
changed anything !

Thanks in advance

Will keep you informed on other bugs i my come around


Rgds.


Franz

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4254 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.kolab.org/pipermail/users/attachments/20150323/6b886aae/attachment-0001.p7s>


More information about the users mailing list