[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