Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 199398 Details for
Bug 233633
net-nds/openldap-2.4.10 does not build with USE flag gnutls enabled
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
openldap-2.4.17-gnutls-lmpasswd-fix.patch
openldap-2.4.17-gnutls-lmpasswd-fix.patch (text/plain), 3.62 KB, created by
Robin Johnson
on 2009-07-28 02:09:48 UTC
(
hide
)
Description:
openldap-2.4.17-gnutls-lmpasswd-fix.patch
Filename:
MIME Type:
Creator:
Robin Johnson
Created:
2009-07-28 02:09:48 UTC
Size:
3.62 KB
patch
obsolete
>If GnuTLS is used, the lmpasswd module for USE=samba does not compile. >Forward-port an old Debian patch that upstream never applied. > >X-Gentoo-Bug: http://bugs.gentoo.org/show_bug.cgi?id=233633 >X-Upstream-Bug: http://www.openldap.org/its/index.cgi/Software%20Enhancements?id=4997 >X-Debian-Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=245341 > >--- openldap-2.4.17.orig/libraries/liblutil/passwd.c 2009-07-27 18:59:19.635995474 -0700 >+++ openldap-2.4.17/libraries/liblutil/passwd.c 2009-07-27 19:01:13.588069010 -0700 >@@ -51,6 +51,9 @@ typedef unsigned char des_data_block[8]; > typedef PK11Context *des_context[1]; > #define DES_ENCRYPT CKA_ENCRYPT > >+#elif defined(HAVE_GNUTLS_GNUTLS_H) && !defined(DES_ENCRYPT) >+# include <gcrypt.h> >+ > #endif > > #endif /* SLAPD_LMHASH */ >@@ -651,7 +654,7 @@ static int chk_md5( > > #ifdef SLAPD_LMHASH > >-#if defined(HAVE_OPENSSL) >+#if defined(HAVE_OPENSSL) || defined(HAVE_GNUTLS_GNUTLS_H) > > /* > * abstract away setting the parity. >@@ -808,6 +811,27 @@ des_finish(des_key *key, des_context ctx > * } > */ > >+#if defined(HAVE_GNUTLS_GNUTLS_H) && !defined(DES_ENCRYPT) >+static int gcrypt_init = 0; >+ >+typedef const void* des_key; >+typedef unsigned char des_cblock[8]; >+typedef des_cblock des_data_block; >+typedef int des_key_schedule; /* unused */ >+typedef des_key_schedule des_context; /* unused */ >+#define des_failed(encrypted) 0 >+#define des_finish(key, schedule) >+ >+#define des_set_key_unchecked( key, key_sched ) \ >+ gcry_cipher_setkey( hd, key, 8 ) >+ >+#define des_ecb_encrypt( input, output, key_sched, enc ) \ >+ gcry_cipher_encrypt( hd, *output, 8, *input, 8 ) >+ >+#define des_set_odd_parity( key ) do {} while(0) >+ >+#endif /* HAVE_GNUTLS_GNUTLS_H && !DES_ENCRYPT */ >+ > static void lmPasswd_to_key( > const char *lmPasswd, > des_key *key) >@@ -841,6 +865,19 @@ static int chk_lanman( > des_data_block StdText = "KGS!@#$%"; > des_data_block PasswordHash1, PasswordHash2; > char PasswordHash[33], storedPasswordHash[33]; >+ >+#if defined(HAVE_GNUTLS_GNUTLS_H) && !defined(DES_ENCRYPT) >+ gcry_cipher_hd_t hd; >+ >+ if ( !gcrypt_init ) { >+ gcry_check_version( GCRYPT_VERSION ); >+ gcrypt_init = 1; >+ } >+ >+ schedule = schedule; /* unused - avoid warning */ >+ >+ gcry_cipher_open( &hd, GCRY_CIPHER_DES, GCRY_CIPHER_MODE_ECB, 0 ); >+#endif /* HAVE_GNUTLS_GNUTLS_H && !DES_ENCRYPT */ > > for( i=0; i<cred->bv_len; i++) { > if(cred->bv_val[i] == '\0') { >@@ -883,6 +920,10 @@ static int chk_lanman( > strncpy( storedPasswordHash, passwd->bv_val, 32 ); > storedPasswordHash[32] = '\0'; > ldap_pvt_str2lower( storedPasswordHash ); >+ >+#if defined(HAVE_GNUTLS_GNUTLS_H) && !defined(DES_ENCRYPT) >+ gcry_cipher_close( hd ); >+#endif /* HAVE_GNUTLS_GNUTLS_H && !DES_ENCRYPT */ > > return memcmp( PasswordHash, storedPasswordHash, 32) ? LUTIL_PASSWD_ERR : LUTIL_PASSWD_OK; > } >@@ -1138,6 +1179,19 @@ static int hash_lanman( > des_data_block PasswordHash1, PasswordHash2; > char PasswordHash[33]; > >+#if defined(HAVE_GNUTLS_GNUTLS_H) && !defined(DES_ENCRYPT) >+ gcry_cipher_hd_t hd; >+ >+ if ( !gcrypt_init ) { >+ gcry_check_version( GCRYPT_VERSION ); >+ gcrypt_init = 1; >+ } >+ >+ schedule = schedule; /* unused - avoid warning */ >+ >+ gcry_cipher_open( &hd, GCRY_CIPHER_DES, GCRY_CIPHER_MODE_ECB, 0 ); >+#endif /* HAVE_GNUTLS_GNUTLS_H && !DES_ENCRYPT */ >+ > for( i=0; i<passwd->bv_len; i++) { > if(passwd->bv_val[i] == '\0') { > return LUTIL_PASSWD_ERR; /* NUL character in password */ >@@ -1168,6 +1222,10 @@ static int hash_lanman( > > hash->bv_val = PasswordHash; > hash->bv_len = 32; >+ >+#if defined(HAVE_GNUTLS_GNUTLS_H) && !defined(DES_ENCRYPT) >+ gcry_cipher_close( hd ); >+#endif /* HAVE_GNUTLS_GNUTLS_H && !DES_ENCRYPT */ > > return pw_string( scheme, hash ); > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 233633
: 199398 |
199442