/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 1998-2009 The OpenLDAP Foundation.
+ * Copyright 1998-2012 The OpenLDAP Foundation.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
#define des_finish(key, schedule)
#elif defined(HAVE_MOZNSS)
-# include <pk11pub.h>
+/*
+ hack hack hack
+ We need to define this here so that nspr/obsolete/protypes.h will not be included
+ if that file is included, it will create a uint32 typedef that will cause the
+ one in lutil_sha1.h to blow up
+*/
+#define PROTYPES_H 1
+# include <nss/pk11pub.h>
typedef PK11SymKey *des_key;
typedef unsigned char des_data_block[8];
typedef PK11Context *des_context[1];
}
#endif /* SLAPD_LMHASH || SLAPD_CRYPT */
-static int pw_string64(
+int lutil_passwd_string64(
const struct berval *sc,
const struct berval *hash,
struct berval *b64,
* abstract away setting the parity.
*/
static void
-des_set_key( des_key *key, unsigned char *keyData)
+des_set_key_and_parity( des_key *key, unsigned char *keyData)
{
memcpy(key, keyData, 8);
des_set_odd_parity( key );
* implement MozNSS wrappers for the openSSL calls
*/
static void
-des_set_key( des_key *key, unsigned char *keyData)
+des_set_key_and_parity( des_key *key, unsigned char *keyData)
{
SECItem keyDataItem;
PK11SlotInfo *slot;
k[6] = ((lpw[5] & 0x3F) << 2) | (lpw[6] >> 6);
k[7] = ((lpw[6] & 0x7F) << 1);
- des_set_key( key, k );
+ des_set_key_and_parity( key, k );
}
static int chk_lanman(
(const unsigned char *)salt.bv_val, salt.bv_len );
lutil_SHA1Final( SHA1digest, &SHA1context );
- return pw_string64( scheme, &digest, hash, &salt);
+ return lutil_passwd_string64( scheme, &digest, hash, &salt);
}
static int hash_sha1(
(const unsigned char *)passwd->bv_val, passwd->bv_len );
lutil_SHA1Final( SHA1digest, &SHA1context );
- return pw_string64( scheme, &digest, hash, NULL);
+ return lutil_passwd_string64( scheme, &digest, hash, NULL);
}
#endif
(const unsigned char *) salt.bv_val, salt.bv_len );
lutil_MD5Final( MD5digest, &MD5context );
- return pw_string64( scheme, &digest, hash, &salt );
+ return lutil_passwd_string64( scheme, &digest, hash, &salt );
}
static int hash_md5(
(const unsigned char *) passwd->bv_val, passwd->bv_len );
lutil_MD5Final( MD5digest, &MD5context );
- return pw_string64( scheme, &digest, hash, NULL );
+ return lutil_passwd_string64( scheme, &digest, hash, NULL );
;
}