]> git.sur5r.net Git - openldap/commitdiff
Fix --disable-crypt and --disable-cleartext
authorKurt Zeilenga <kurt@openldap.org>
Tue, 29 Dec 1998 21:45:08 +0000 (21:45 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Tue, 29 Dec 1998 21:45:08 +0000 (21:45 +0000)
mutex declaration should be moved from slapd/main.c to slapd/init.c
so we don't have ripple changes through slapd/tools.

13 files changed:
clients/tools/ldappasswd.c
libraries/liblutil/passwd.c
servers/slapd/back-ldbm/bind.c
servers/slapd/back-ldbm/init.c
servers/slapd/backend.c
servers/slapd/init.c
servers/slapd/main.c
servers/slapd/proto-slap.h
servers/slapd/tools/ldbmtest.c
servers/slapd/tools/ldif2id2children.c
servers/slapd/tools/ldif2id2entry.c
servers/slapd/tools/ldif2index.c
servers/slapd/tools/ldif2ldbm.c

index 54b5bc4bf5f384d27aeac7551b8f98d229b72e3a..26a621c98826d13bcb59f24b5071aaff758c1b50 100644 (file)
@@ -155,12 +155,15 @@ gen_pass (unsigned int len)
        return ((char *)salt.salt);
 }
 
+#ifdef SLAPD_CLEARTEXT
 char *
 hash_none (const char *pw_in, Salt * salt)
 {
        return (STRDUP (pw_in));
 }
+#endif
 
+#ifdef SLAPD_CRYPT
 char *
 hash_crypt (const char *pw_in, Salt * salt)
 {
@@ -189,6 +192,7 @@ hash_crypt (const char *pw_in, Salt * salt)
        }
        return (STRDUP (crypted_pw));
 }
+#endif
 
 char *
 hash_md5 (const char *pw_in, Salt * salt)
@@ -222,8 +226,12 @@ hash_sha1 (const char *pw_in, Salt * salt)
 
 static Hash hashes[] =
 {
+#ifdef SLAPD_CLEARTEXT
        {"none",  4, hash_none,  0, HASHTYPE_NONE,  HASHTYPE_NONE,  0},
+#endif
+#ifdef SLAPD_CRYPT
        {"crypt", 5, hash_crypt, 1, HASHTYPE_CRYPT, HASHTYPE_CRYPT, 2},
+#endif
        {"md5",   3, hash_md5,   0, HASHTYPE_MD5,   HASHTYPE_SMD5,  0},
        {"smd5",  4, hash_md5,   1, HASHTYPE_SMD5,  HASHTYPE_SMD5,  4},
        {"sha",   3, hash_sha1,  0, HASHTYPE_SHA1,  HASHTYPE_SSHA1, 0},
index 7a74aa998972df4ff78d583646bcdccfa4075867..ff698f944a3762376d1e5e0eeb588d1780d6e49a 100644 (file)
@@ -31,12 +31,7 @@ lutil_passwd(
                return -1;
        }
 
-       if (strncasecmp(passwd, "{CRYPT}", sizeof("{CRYPT}") - 1) == 0 ) {
-               const char *p = passwd + (sizeof("{CRYPT}") - 1);
-
-               return( strcmp(p, crypt(cred, p)) );
-
-       } else if (strncasecmp(passwd, "{MD5}", sizeof("{MD5}") - 1) == 0 ) {
+       if (strncasecmp(passwd, "{MD5}", sizeof("{MD5}") - 1) == 0 ) {
                lutil_MD5_CTX MD5context;
                unsigned char MD5digest[16];
                char base64digest[25];  /* ceiling(sizeof(input)/3) * 4 + 1 */
@@ -74,6 +69,14 @@ lutil_passwd(
                }
 
                return( strcmp(p, base64digest) );
+
+#ifdef SLAPD_CRYPT
+       } else if (strncasecmp(passwd, "{CRYPT}", sizeof("{CRYPT}") - 1) == 0 ) {
+               const char *p = passwd + (sizeof("{CRYPT}") - 1);
+
+               return( strcmp(p, crypt(cred, p)) );
+
+#endif
        }
 
 #ifdef SLAPD_CLEARTEXT
index 144650686b944c6c77894dcbb3467c609b148c4f..23bb40491ab97658c6fb056cfe614102083c2e67 100644 (file)
@@ -19,8 +19,6 @@
 extern int     krbv4_ldap_auth();
 #endif
 
-pthread_mutex_t crypt_mutex;
-
 static int
 crypted_value_find(
        struct berval       **vals,
@@ -35,13 +33,17 @@ crypted_value_find(
                if ( syntax != SYNTAX_BIN ) {
                        int result;
 
+#ifdef SLAPD_CRYPT
                        pthread_mutex_lock( &crypt_mutex );
+#endif
 
                        result = lutil_passwd(
                                (char*) cred->bv_val,
                                (char*) vals[i]->bv_val);
 
+#ifdef SLAPD_CRYPT
                        pthread_mutex_unlock( &crypt_mutex );
+#endif
 
                        return result;
 
index 6580fa53319d8d2700ea3e14e74c80236f04a7d6..36ebbc963c6cdfcc5d3e9b41523c5c36ba221f9b 100644 (file)
@@ -19,10 +19,6 @@ ldbm_back_init(
        char            *argv[ 4 ];
        int             i;
 
-#ifdef SLAPD_CRYPT
-       extern pthread_mutex_t crypt_mutex;
-#endif /* SLAPD_CRYPT */
-
        /* allocate backend-specific stuff */
        li = (struct ldbminfo *) ch_calloc( 1, sizeof(struct ldbminfo) );
 
@@ -70,9 +66,6 @@ ldbm_back_init(
        pthread_mutex_init( &li->li_cache.c_mutex, pthread_mutexattr_default );
        pthread_mutex_init( &li->li_nextid_mutex, pthread_mutexattr_default );
        pthread_mutex_init( &li->li_dbcache_mutex, pthread_mutexattr_default );
-#ifdef SLAPD_CRYPT
-       pthread_mutex_init( &crypt_mutex, pthread_mutexattr_default );
-#endif /* SLAPD_CRYPT */
        pthread_cond_init( &li->li_dbcache_cv, pthread_condattr_default );
        for ( i = 0; i < MAXDBCACHE; i++ ) {
                pthread_mutex_init( &li->li_dbcache[i].dbc_mutex,
index 259361632830b1efb2f85939ae72e81498ba1ddf..c3b5d332832ab6f5931d9a4fca374f5e05644028 100644 (file)
@@ -210,11 +210,23 @@ be_isroot( Backend *be, char *dn )
 int
 be_isroot_pw( Backend *be, char *dn, struct berval *cred )
 {
+       int result;
+
        if ( ! be_isroot( be, dn ) ) {
                return( 0 );
        }
 
-       return( lutil_passwd( cred->bv_val, be->be_rootpw ) == 0 );
+#ifdef SLAPD_CRYPT
+       pthread_mutex_lock( &crypt_mutex );
+#endif
+
+       result = lutil_passwd( cred->bv_val, be->be_rootpw );
+
+#ifdef SLAPD_CRYPT
+       pthread_mutex_unlock( &crypt_mutex );
+#endif
+
+       return result == 0;
 }
 
 void
index 05c965f0787647d56ea16871e47a936c0de8da41..e93479432cbb9e3e26eb9c62c5f4379f73772d85 100644 (file)
@@ -21,4 +21,7 @@ init( void )
        pthread_mutex_init( &replog_mutex, pthread_mutexattr_default );
        pthread_mutex_init( &ops_mutex, pthread_mutexattr_default );
        pthread_mutex_init( &num_sent_mutex, pthread_mutexattr_default );
+#ifdef SLAPD_CRYPT
+       pthread_mutex_init( &crypt_mutex, pthread_mutexattr_default );
+#endif
 }
index 57ecbe44f285ffb901a7d4f752bca875ff09ae9f..8f5df3bd7b5b44f80fb437a912baca34384092e1 100644 (file)
@@ -40,6 +40,9 @@ pthread_mutex_t       currenttime_mutex;
 int            active_threads;
 pthread_mutex_t        active_threads_mutex;
 pthread_mutex_t        new_conn_mutex;
+#ifdef SLAPD_CRYPT
+pthread_mutex_t crypt_mutex;
+#endif
 long           ops_initiated;
 long           ops_completed;
 int            num_conns;
index 2d26a5cb4e1921d9cb791a8faca3ce5136353a82..f213ac202ebd121d5459c4d5c66575d862fdbc9f 100644 (file)
@@ -248,6 +248,9 @@ extern pthread_mutex_t      new_conn_mutex;
 extern pthread_mutex_t num_sent_mutex;
 extern pthread_mutex_t ops_mutex;
 extern pthread_mutex_t replog_mutex;
+#ifdef SLAPD_CRYPT
+extern pthread_mutex_t crypt_mutex;
+#endif
 extern pthread_t       listener_tid;
 extern struct acl      *global_acl;
 extern struct objclass *global_oc;
index ddda1aae12854dcc5ff4200ce4d89327dd8aefff..0868b97d0c7b9f5ede3db0ae0524bc56be28e3ef 100644 (file)
@@ -52,6 +52,9 @@ pthread_mutex_t       currenttime_mutex;
 pthread_mutex_t        replog_mutex;
 pthread_mutex_t        ops_mutex;
 pthread_mutex_t        regex_mutex;
+#ifdef SLAPD_CRYPT
+pthread_mutex_t        crypt_mutex;
+#endif
 
 int
 main( int argc, char **argv )
index ded23471aa305663fcb1bf6ba3fa2751c1feaffa..f662a0e4c46e754c0f4c8180d161358dea4d89d5 100644 (file)
@@ -34,6 +34,9 @@ pthread_mutex_t       currenttime_mutex;
 pthread_mutex_t        replog_mutex;
 pthread_mutex_t        ops_mutex;
 pthread_mutex_t        regex_mutex;
+#ifdef SLAPD_CRYPT
+pthread_mutex_t        crypt_mutex;
+#endif
 
 static char    *tailorfile;
 static char    *inputfile;
index 4f923656aecacb3dd2e1a4d62a94d3416689820a..391988207f5e8e448536df38489e7e43a20e9ee6 100644 (file)
@@ -31,6 +31,9 @@ pthread_mutex_t       currenttime_mutex;
 pthread_mutex_t        replog_mutex;
 pthread_mutex_t        ops_mutex;
 pthread_mutex_t        regex_mutex;
+#ifdef SLAPD_CRYPT
+pthread_mutex_t        crypt_mutex;
+#endif
 
 static char    *tailorfile;
 static char    *inputfile;
index 7c996cb7eca9f5f3e7e0f78c75977fd6af7aa52d..336b9ba0d393a90771f70a37958352e03f29ad50 100644 (file)
@@ -33,6 +33,9 @@ pthread_mutex_t       currenttime_mutex;
 pthread_mutex_t        replog_mutex;
 pthread_mutex_t        ops_mutex;
 pthread_mutex_t        regex_mutex;
+#ifdef SLAPD_CRYPT
+pthread_mutex_t        crypt_mutex;
+#endif
 
 
 static void
index c25c7631897ec3a1b516e099794f672999a1ee03..0686e58bb85dcbd4193d183359eee911b58fdb62 100644 (file)
@@ -37,6 +37,9 @@ pthread_mutex_t       currenttime_mutex;
 pthread_mutex_t        replog_mutex;
 pthread_mutex_t        ops_mutex;
 pthread_mutex_t        regex_mutex;
+#ifdef SLAPD_CRYPT
+pthread_mutex_t        crypt_mutex;
+#endif
 
 static void fork_child( char *prog, char *args[] );
 static void    wait4kids( int nkidval );