]> git.sur5r.net Git - openldap/commitdiff
Fix SPASSWD merge for real
authorKurt Zeilenga <kurt@openldap.org>
Wed, 20 Sep 2000 17:34:06 +0000 (17:34 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Wed, 20 Sep 2000 17:34:06 +0000 (17:34 +0000)
servers/slapd/back-ldbm/bind.c
servers/slapd/backend.c
servers/slapd/passwd.c
servers/slapd/proto-slap.h

index 7025dd318ae12d5585112d496f0b833512982853..08c0d64baa98e6574a7ef92605af80babe3d18a4 100644 (file)
@@ -68,7 +68,7 @@ ldbm_back_bind(
                /* allow noauth binds */
                rc = 1;
                if ( method == LDAP_AUTH_SIMPLE ) {
-                       if ( be_isroot_pw( be, dn, cred ) ) {
+                       if ( be_isroot_pw( be, conn, dn, cred ) ) {
                                *edn = ch_strdup( be_root_dn( be ) );
                                rc = 0; /* front end will send result */
 
@@ -139,7 +139,7 @@ ldbm_back_bind(
        switch ( method ) {
        case LDAP_AUTH_SIMPLE:
                /* check for root dn/passwd */
-               if ( be_isroot_pw( be, dn, cred ) ) {
+               if ( be_isroot_pw( be, conn, dn, cred ) ) {
                        /* front end will send result */
                        if(*edn != NULL) free( *edn );
                        *edn = ch_strdup( be_root_dn( be ) );
index 0dad539936c0a9919776ef56456ac850e44f4551..e3da0501919740cf8ddfa3cfc23159465e96e028 100644 (file)
@@ -504,7 +504,10 @@ be_root_dn( Backend *be )
 }
 
 int
-be_isroot_pw( Backend *be, const char *ndn, struct berval *cred )
+be_isroot_pw( Backend *be,
+       Connection *conn,
+       const char *ndn,
+       struct berval *cred )
 {
        int result;
 
@@ -526,6 +529,9 @@ be_isroot_pw( Backend *be, const char *ndn, struct berval *cred )
        result = lutil_passwd( &be->be_root_pw, cred, NULL );
 
 #if defined( SLAPD_CRYPT ) || defined( SLAPD_PASSWD )
+#ifdef SLAPD_SPASSWD
+       lutil_passwd_sasl_conn = NULL;
+#endif
        ldap_pvt_thread_mutex_unlock( &passwd_mutex );
 #endif
 
index f26b2d8814690d4892e1b9bbb052673165915df4..381fb088fdcba8e72708bc615121af1d6c582353 100644 (file)
@@ -239,6 +239,9 @@ slap_passwd_check(
        }
 
 #if defined( SLAPD_CRYPT ) || defined( SLAPD_PASSWD )
+#ifdef SLAPD_SPASSWD
+       lutil_passwd_sasl_conn = NULL;
+#endif
        ldap_pvt_thread_mutex_unlock( &passwd_mutex );
 #endif
 
index bc0ac1db888bd6b494090fb17b90d130183beb39..955a05bb75f353b1c55f8a69168beea41ed0ea0a 100644 (file)
@@ -151,7 +151,8 @@ LDAP_SLAPD_F (BackendDB *) select_backend LDAP_P(( const char * dn ));
 
 LDAP_SLAPD_F (int) be_issuffix LDAP_P(( Backend *be, const char *suffix ));
 LDAP_SLAPD_F (int) be_isroot LDAP_P(( Backend *be, const char *ndn ));
-LDAP_SLAPD_F (int) be_isroot_pw LDAP_P(( Backend *be, const char *ndn, struct berval *cred ));
+LDAP_SLAPD_F (int) be_isroot_pw LDAP_P(( Backend *be,
+       Connection *conn, const char *ndn, struct berval *cred ));
 LDAP_SLAPD_F (char *) be_root_dn LDAP_P(( Backend *be ));
 LDAP_SLAPD_F (int) be_entry_release_rw LDAP_P(( Backend *be, Entry *e, int rw ));
 #define be_entry_release_r( be, e ) be_entry_release_rw( be, e, 0 )