[exim-cvs] cvs commit: exim/exim-doc/doc-txt ChangeLog exim…

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: exim-cvs
Subject: [exim-cvs] cvs commit: exim/exim-doc/doc-txt ChangeLog exim/exim-src ACKNOWLEDGMENTS exim/exim-src/src/lookups ldap.c
ph10 2006/12/19 14:51:34 GMT

  Modified files:
    exim-doc/doc-txt     ChangeLog 
    exim-src             ACKNOWLEDGMENTS 
    exim-src/src/lookups ldap.c 
  Log:
  Robert Bannocks' patch for an LDAP problem on Solaris LDAP.


  Revision  Changes    Path
  1.446     +3 -0      exim/exim-doc/doc-txt/ChangeLog
  1.67      +2 -1      exim/exim-src/ACKNOWLEDGMENTS
  1.13      +12 -3     exim/exim-src/src/lookups/ldap.c


  Index: ChangeLog
  ===================================================================
  RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
  retrieving revision 1.445
  retrieving revision 1.446
  diff -u -r1.445 -r1.446
  --- ChangeLog    19 Dec 2006 14:38:38 -0000    1.445
  +++ ChangeLog    19 Dec 2006 14:51:34 -0000    1.446
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.445 2006/12/19 14:38:38 ph10 Exp $
  +$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.446 2006/12/19 14:51:34 ph10 Exp $


Change log file for Exim from version 4.21
-------------------------------------------
@@ -353,6 +353,9 @@

   PH/53 Added missing "#include <time.h>" to pcre/pcretest.c (this was a PCRE
         bug, fixed in subsequent PCRE releases).
  +
  +PH/54 Applied Robert Bannocks' patch to avoid a problem with references that
  +      arises when using the Solaris LDAP libraries (but not with OpenLDAP).



Exim version 4.63

  Index: ACKNOWLEDGMENTS
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/ACKNOWLEDGMENTS,v
  retrieving revision 1.66
  retrieving revision 1.67
  diff -u -r1.66 -r1.67
  --- ACKNOWLEDGMENTS    12 Dec 2006 15:47:39 -0000    1.66
  +++ ACKNOWLEDGMENTS    19 Dec 2006 14:51:34 -0000    1.67
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-src/ACKNOWLEDGMENTS,v 1.66 2006/12/12 15:47:39 ph10 Exp $
  +$Cambridge: exim/exim-src/ACKNOWLEDGMENTS,v 1.67 2006/12/19 14:51:34 ph10 Exp $


EXIM ACKNOWLEDGEMENTS

@@ -20,7 +20,7 @@
Philip Hazel

Lists created: 20 November 2002
-Last updated: 12 December 2006
+Last updated: 19 December 2006


   THE OLD LIST
  @@ -68,6 +68,7 @@
   Justo Alonso              Suggested patch for maildir++ maildirsize file support
   Anton Altaparmakov        Patches to get cyrus_sasl fully working
   Claus Assmann             Example code for OpenSSL CRL support
  +Robert Bannocks           Patch for LDAP reference problem on Solaris
   Ian Bell                  Analysis of a bug and an infelicity in clock tick code
                             Patch for ${quote_local_part
   Peter Benie               A number mistakes found by analysing the code


  Index: ldap.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/lookups/ldap.c,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ldap.c    17 Jul 2006 09:18:09 -0000    1.12
  +++ ldap.c    19 Dec 2006 14:51:34 -0000    1.13
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/lookups/ldap.c,v 1.12 2006/07/17 09:18:09 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/lookups/ldap.c,v 1.13 2006/12/19 14:51:34 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -853,18 +853,27 @@
     (1) If we get LDAP_SIZELIMIT_EXCEEDED, just carry on, to return the
         truncated result list.


  -  (2) The range of errors defined by LDAP_NAME_ERROR generally mean "that
  +  (2) If we get LDAP_RES_SEARCH_REFERENCE, also just carry on. This was a
  +      submitted patch that is reported to "do the right thing" with Solaris
  +      LDAP libraries. (The problem it addresses apparently does not occur with
  +      Open LDAP.)
  +
  +  (3) The range of errors defined by LDAP_NAME_ERROR generally mean "that
         object does not, or cannot, exist in the database". For those cases we
         fail the lookup.


  -  (3) All other non-successes here are treated as some kind of problem with
  +  (4) All other non-successes here are treated as some kind of problem with
         the lookup, so return DEFER (which is the default in error_yield).
   */


   DEBUG(D_lookup) debug_printf("ldap_parse_result yielded %d: %s\n",
     rc, ldap_err2string(rc));


  -if (rc != LDAP_SUCCESS && rc != LDAP_SIZELIMIT_EXCEEDED)
  +if (rc != LDAP_SUCCESS && rc != LDAP_SIZELIMIT_EXCEEDED
  +    #ifdef LDAP_RES_SEARCH_REFERENCE
  +    && rc != LDAP_RES_SEARCH_REFERENCE
  +    #endif
  +    )
     {
     *errmsg = string_sprintf("LDAP search failed - error %d: %s%s%s%s%s",
       rc,