Fix ldapauth
authorJeremy Harris <jgh146exb@wizmail.org>
Mon, 19 Aug 2024 14:01:56 +0000 (15:01 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Mon, 19 Aug 2024 15:30:18 +0000 (16:30 +0100)
Broken-by: 419d8549aad9
src/src/expand.c
src/src/lookups/ldap.c

index d7b55831f61bad2b83f038a3beae30c667233857..e17c21788028ccd0cb695e16203d15b6172f39cd 100644 (file)
@@ -2807,7 +2807,7 @@ switch(cond_type = identify_operator(&s, &opname))
       int stype = search_findtype(US"ldapauth", 8), expand_setup = -1;
       void * handle = search_open(NULL, stype, 0, NULL, NULL);
       if (handle)
       int stype = search_findtype(US"ldapauth", 8), expand_setup = -1;
       void * handle = search_open(NULL, stype, 0, NULL, NULL);
       if (handle)
-       rc= search_find(handle, NULL, sub[0],
+       rc = search_find(handle, NULL, sub[0],
                        -1, NULL, 0, 0, &expand_setup, NULL)
          ? OK : f.search_find_defer ? DEFER : FAIL;
       else
                        -1, NULL, 0, 0, &expand_setup, NULL)
          ? OK : f.search_find_defer ? DEFER : FAIL;
       else
index 8a142398e4ed98c4ed10110eeedfe23cec0e374e..bf1e63325888dbcecb61631099111cc9c899291b 100644 (file)
@@ -117,7 +117,7 @@ Arguments:
   search_type   SEARCH_LDAP_MULTIPLE allows values from multiple entries
                 SEARCH_LDAP_SINGLE allows values from one entry only
                 SEARCH_LDAP_DN gets the DN from one entry
   search_type   SEARCH_LDAP_MULTIPLE allows values from multiple entries
                 SEARCH_LDAP_SINGLE allows values from one entry only
                 SEARCH_LDAP_DN gets the DN from one entry
-  res           set to point at the result (not used for ldapauth)
+  res           set to point at the result (ldapauth gets an empty string if OK)
   errmsg        set to point a message if result is not OK
   defer_break   set TRUE if no more servers to be tried after a DEFER
   user          user name for authentication, or NULL
   errmsg        set to point a message if result is not OK
   defer_break   set TRUE if no more servers to be tried after a DEFER
   user          user name for authentication, or NULL
@@ -611,6 +611,7 @@ if (  !lcp->bound
 if (search_type == SEARCH_LDAP_AUTH)
   {
   DEBUG(D_lookup) debug_printf_indent("Bind succeeded: ldapauth returns OK\n");
 if (search_type == SEARCH_LDAP_AUTH)
   {
   DEBUG(D_lookup) debug_printf_indent("Bind succeeded: ldapauth returns OK\n");
+  *res = US"";
   goto RETURN_OK;
   }
 
   goto RETURN_OK;
   }
 
@@ -1614,7 +1615,7 @@ static lookup_info ldapauth_lookup_info = {
   .find = eldapauth_find,              /* find function */
   .close = NULL,                       /* no close function */
   .tidy = eldap_tidy,                  /* sic */    /* tidy function */
   .find = eldapauth_find,              /* find function */
   .close = NULL,                       /* no close function */
   .tidy = eldap_tidy,                  /* sic */    /* tidy function */
-  .quote = eldap_quote,                        /* sic */    /* quoting function */
+  .quote = NULL,                       /* NO quoting function */
   .version_report = NULL                           /* no version reporting (redundant) */
 };
 
   .version_report = NULL                           /* no version reporting (redundant) */
 };