[Kolab-devel] Search: Invalid DN syntax function.ldap-search
ComCept Soliva
soliva at comcept.ch
Sun Feb 21 15:33:35 CET 2010
Hi Gunnar
Man thanks fort he hint and I modified the file as in your patch shown:
--------------- /kolab/var/kolab/php/admin/include/ldap.class.php
---------------
411 // Count the number of occurences of an email address
412 // in users' mail and alias attributes and in dist. lists.
413 // This can be used to check for uniqueness etc.
412 // in users' mail and alias attributes and in dist. lists.
413 // This can be used to check for uniqueness etc.
414 function countMail( $base, $mail , $excludedn=false ) {
415 // First count users
416 $filter = '(|(|(mail='.$this->escape($mail).')
417 (alias='.$this->escape($mail).')
418 )
419 (uid='.$this->escape($mail).')
420 )';
421 // $res = $this->search( $this->dn_escape($base),
$filter, array( 'dn' ) );
422 $res = $this->search( $base, $filter, array( 'dn' )
);
423 $count = 0;
424
425 $entries = ldap_get_entries( $this->connection, $res
);
426 if( $excludedn ) {
427 for ( $i = 0; $i < count( $entries ); $i++ ) {
428 // if( is_null( $entries[$i] ) ) continue;
429 if( !isset($entries[$i]) || is_null(
$entries[$i] ) ) continue;
430 if(
KolabLDAP::unescape_dn_value($entries[$i]['dn']) ==
KolabLDAP::unescape_dn_value($excludedn) ) continue;
431 debug("found ".$entries[$i]['dn'] );
432 $count++;
--------------- /kolab/var/kolab/php/admin/include/ldap.class.php
---------------
After that I created a new user, modified as deleted the user without any
warnings etc. in the log /kolab/var/apache/log/php/php-errors.log. From this
point it seems the warning are gone. I saw somewhere also in the devel
messages (can not remember anymore) that without this patch it is possible
to configure a mail alias to two different uid's (users)?
Right....?.....after the patch this is not possible meaning a warning is
shown/poping up that this alias is already set to another uid/user etc.
As mentioned I did not find anything else after the patch was applied
meaning warnings, errros etc. even I manipulated the new user I created for
the test in different ways. Hope this helps and if you need more tests or
wathever give me a hint.
Many thnks and kind regards
Andrea Soliva
Mail: soliva at comcept.ch
-----Ursprüngliche Nachricht-----
Von: Gunnar Wrobel [mailto:wrobel at pardus.de] Im Auftrag von
kolab-devel-bounces at kolab.org
Gesendet: Sonntag, 21. Februar 2010 14:15
An: kolab-devel at kolab.org
Betreff: Re: [Kolab-devel] Search: Invalid DN syntax function.ldap-search
Quoting ComCept Soliva <soliva at comcept.ch>:
> Hi Gunnar
>
> No problem can give a try...give me a hint as soon as the patch is
> available....
Here it is: http://kolab.org/pipermail/kolab-commits/2010q1/011956.html
Cheers,
Gunnar
>
> Kind regards
>
> Andrea
>
> Mail: soliva at comcept.ch
>
> -----Ursprüngliche Nachricht-----
> Von: Gunnar Wrobel [mailto:wrobel at pardus.de] Im Auftrag von
> kolab-devel-bounces at kolab.org
> Gesendet: Montag, 15. Februar 2010 10:00
> An: kolab-devel at kolab.org
> Betreff: Re: [Kolab-devel] Search: Invalid DN syntax function.ldap-search
>
> Hi Andrea,
>
> actually the error you see is probably a side effect of the bug I
> introduced with the fix for https://issues.kolab.org/issue3499. I'll
> try to provide a patch for that today. Please add yourself in nosy
> there. Would be great if you could provide feedback if that works.
>
> Cheers,
>
> Gunnar
>
> Quoting ComCept Soliva <soliva at comcept.ch>:
>
>> Hi Gunnar
>>
>> Sorry was in holidays for a fiew days :-)
>>
>> I tried to include your suggested stuff "var_dump($base);" in the Code
of:
>>
>> /opt/kolab/var/kolab/php/admin/include/ldap.class.php on line 204
>>
>> But as a pity without success....I'm not so familar with php :-( can you
>> please advice how you would include it.
>>
>> Regarding your suggstion what the symptomes are if this error occurs
>> following:
>>
>> The error occures "ONLY" if a user is added or modified within the
manager
>> interface. It happens also if a Distribution List ist added or modified.
> For
>> the manager itself which add's or modifies the users or distribution list
> on
>> the manager interface nothing occured meanining I added over 20 domains
> with
>> 50 email address's and aliases but I never was kicked out or saw a blank
>> white page or a error from php or whatever. I'm using kolab since years
> and
>> this never occoured but I have to say what I did this time was to add a
>> Domain Maintainer which I never used before...could this be the reason?
If
> I
>> looked in as the Domain Maintainer and added a user I had some kick outs
> and
>> blank white pages? I have a strange feeling about this function but that
> we
>> have no misunderstandig at all as Kolab Manager I had never blank pages
or
>> uncontrolled kicke outs.
>>
>> If you could advice where to add the code etc. I can follow up on
this....
>>
>> PS: One more thing which you are probably interessted....I did in rc.conf
>> template a modification....this means in the past for config the entry in
>> this file was:
>>
>> openldap_url="ldap:// ldaps://"
>>
>> This was working fine without any problems...in the newewst version the
>> entry is:
>>
>> openldap_url="ldap://@@@bind_addr@@@/ ldaps://@@@bind_addr@@@/"
>>
>> This was given errors and a lot of problems because the real entry in the
>> /kolab/etc/rc.conf was looking:
>>
>> openldap_url="ldap://0.0.0.0/ ldaps://0.0.0.0/"
>>
>> This does not work and I changed to 127.0.0.1 or back to the old style.
> Both
>> is working fine:
>>
>> openldap_url="ldap:// ldaps://"
>>
>> I do not think so that this has something to do with the issue which we
> are
>> discussion here even I do not understand the
> "openldap_url="ldap://0.0.0.0/
>> ldaps://0.0.0.0/". Looks for me funny and not usable. My opinion is that
> the
>> bind_addr did not work as expected because I'm using Kolab in a Solaris
> Zone
>> and the localhost as the 127.0.0.1 is handled in some circumstances in
>> another way.....this only for your information. I documented the overall
>> stuff on the Wiki:
>>
>> https://wiki.kolab.org/index.php/Solaris
>>
>>
>> Kind regards
>>
>> Andrea
>>
>> Mail: soliva at comcept.ch
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Gunnar Wrobel [mailto:wrobel at pardus.de] Im Auftrag von
>> kolab-devel-bounces at kolab.org
>> Gesendet: Donnerstag, 11. Februar 2010 22:10
>> An: kolab-devel at kolab.org
>> Betreff: [Kolab-devel] Search: Invalid DN syntax function.ldap-search
>>
>> Hi Andrea,
>>
>> Quoting ComCept Soliva <soliva at comcept.ch>:
>>
>>> Hi
>>>
>>> It is from my point of view clear the search function but even I see the
>>> lines I can not identify what is false and why?:
>>>
>>> syntax in /opt/kolab/var/kolab/php/admin/include/ldap.class.php on line
>> 204
>>>
>>>
>>> 201 function search( $base, $filter, $attrs = false ) {
>>> 202 $this->freeSearchResult();
>>> 203 if( $attrs ) {
>>> 204 $this->search_result = ldap_search( $this->connection,
>>> $base, $filter, $attrs );
>>> 205 } else {
>>> 206 $this->search_result = ldap_search( $this->connection,
>>> $base, $filter );
>>> 207 }
>>> 208 return $this->search_result;
>>> 209 }
>>
>> The error sounds as if $base contains an invalid value. You could add
>> a "var_dump($base);" in the code to display the value.
>>
>> Both log entries you mentioned are just warnings though. The code
>> won't stop on a warning. And the code of the web admin is not exactly
>> clean when it comes to notices and warnings. Quite the contrary. So
>> what you see might not be a real problem.
>>
>> But I did not quite understand what kind of problems you saw in the
>> actual frontend. Did you see any specific errors that were displayed?
>> Or did the web admin just show you a blank page (the PHP white screen
>> of death)?
>>
>> Cheers,
>>
>> Gunnar
>>
>>>
>>>
>>> is not a valid ldap result resource in
>>> /opt/kolab/var/kolab/php/admin/include/ldap.class.php on line 424
>>>
>>> 411 // Count the number of occurences of an email address
>>> 412 // in users' mail and alias attributes and in dist. lists.
>>> 413 // This can be used to check for uniqueness etc.
>>> 414 function countMail( $base, $mail , $excludedn=false ) {
>>> 415 // First count users
>>> 416 $filter = '(|(|(mail='.$this->escape($mail).')
>>> 417 (alias='.$this->escape($mail).')
>>> 418 )
>>> 419 (uid='.$this->escape($mail).')
>>> 420 )';
>>> 421 $res = $this->search( $this->dn_escape($base), $filter,
>>> array( 'dn' ) );
>>> 422 $count = 0;
>>> 423
>>> 424 $entries = ldap_get_entries( $this->connection, $res );
>>> 425 if( $excludedn ) {
>>> 426 for ( $i = 0; $i < count( $entries ); $i++ ) {
>>> 427 if( is_null( $entries[$i] ) ) continue;
>>> 428 if(
>> KolabLDAP::unescape_dn_value($entries[$i]['dn'])
>>> == KolabLDAP::unescape_dn_value($excludedn) ) continue;
>>> 429 debug("found ".$entries[$i]['dn'] );
>>> 430 $count++;
>>> 431 }
>>> 432 } else $count += $entries['count'];
>>>
>>>
>>> Kind regards
>>>
>>> Andrea Soliva
>>>
>>> Mail: soliva at comcept.ch
>>> -----Ursprüngliche Nachricht-----
>>> Von: Bernhard Reiter [mailto:bernhard at intevation.de] Im Auftrag von
>>> kolab-devel-bounces at kolab.org
>>> Gesendet: Montag, 25. Januar 2010 14:37
>>> An: kolab-devel at kolab.org
>>> Betreff: Re: [Kolab-devel] Search: Invalid DN syntax
function.ldap-search
>>>
>>> Am Sonntag, 24. Januar 2010 11:31:48 schrieb ComCept Soliva:
>>>> [23-Jan-2010 14:59:36] PHP Warning: ldap_search() [<a
>>>> href='function.ldap-search'>function.ldap-search</a>]: Search: Invalid
> DN
>>>> syntax in /opt/kolab/var/kolab/php/admin/include/ldap.class.php on line
>>> 204
>>>> [23-Jan-2010 14:59:36] PHP Warning: ldap_get_entries(): supplied
>> argument
>>>> is not a valid ldap result resource in
>>>> /opt/kolab/var/kolab/php/admin/include/ldap.class.php on line 424
>>>>
>>>> Is this already recognized? Is it not known....I tried to figure out
> what
>>>> is wrong but actually I could not?!
>>>>
>>>> Any suggestion?
>>>
>>> My suggestion is to check the given line 204 and see which argument
>>> is used there (maybe add a statement to print it out).
>>>
>>>> By the way is there a documentation about Master/Slave configuration
>>>> meaning how this works etc. I could not find anything. Any hints would
> be
>>>> appriciated.
>>>
>>> I think the documentation is in the architecture documents.
>>> The idea is pretty simple: Replicate the directory server on the slave
>>> (for which there is a bootstrap) have all read access on the slave
>> accounts
>>> go
>>> to the slave LDAP server and all write access (only by webadmin) to the
>>> master.
>>>
>>> Bernhard
>>>
>>> --
>>> Managing Director - Owner: www.intevation.net (Free Software
>> Company)
>>> Germany Coordinator: fsfeurope.org. Coordinator:
> www.Kolab-Konsortium.com.
>>> Intevation GmbH, Osnabrück, DE; Amtsgericht Osnabrück, HRB 18998
>>> Geschäftsführer Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner
>>>
>>> _______________________________________________
>>> Kolab-devel mailing list
>>> Kolab-devel at kolab.org
>>> https://kolab.org/mailman/listinfo/kolab-devel
>>>
>>
>>
>>
>> --
>> ____ http://www.pardus.de _________________ http://gunnarwrobel.de _
>>
>> E-mail : p at rdus.de Dr. Gunnar Wrobel
>> Tel. : +49 700 6245 0000 Bundesstrasse 29
>> Fax : +49 721 1513 52322 D-20146 Hamburg
>> --------------------------------------------------------------------
>> >> Mail at ease - Rent a kolab groupware server at p at rdus <<
>> --------------------------------------------------------------------
>>
>>
>> _______________________________________________
>> Kolab-devel mailing list
>> Kolab-devel at kolab.org
>> https://kolab.org/mailman/listinfo/kolab-devel
>>
>> _______________________________________________
>> Kolab-devel mailing list
>> Kolab-devel at kolab.org
>> https://kolab.org/mailman/listinfo/kolab-devel
>>
>
>
>
> --
> ______ http://kdab.com _______________ http://kolab-konsortium.com _
>
> p at rdus Kolab work is funded in part by KDAB and the Kolab Konsortium
>
> ____ http://www.pardus.de _________________ http://gunnarwrobel.de _
> E-mail : p at rdus.de Dr. Gunnar Wrobel
> Tel. : +49 700 6245 0000 Bundesstrasse 29
> Fax : +49 721 1513 52322 D-20146 Hamburg
> --------------------------------------------------------------------
> >> Mail at ease - Rent a kolab groupware server at p at rdus <<
> --------------------------------------------------------------------
>
> _______________________________________________
> Kolab-devel mailing list
> Kolab-devel at kolab.org
> https://kolab.org/mailman/listinfo/kolab-devel
>
--
______ http://kdab.com _______________ http://kolab-konsortium.com _
p at rdus Kolab work is funded in part by KDAB and the Kolab Konsortium
____ http://www.pardus.de _________________ http://gunnarwrobel.de _
E-mail : p at rdus.de Dr. Gunnar Wrobel
Tel. : +49 700 6245 0000 Bundesstrasse 29
Fax : +49 721 1513 52322 D-20146 Hamburg
--------------------------------------------------------------------
>> Mail at ease - Rent a kolab groupware server at p at rdus <<
--------------------------------------------------------------------
More information about the devel
mailing list