[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Tue Jun 2 17:55:06 MDT 2015


The branch, master has been updated
       via  d5065ed Prevent clashes between system and Samba SHA functions
      from  9d797ff tevent: fix access after free in tevent_common_check_signal()

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit d5065ed2f4c6d9f4539297e9794a2b02adec4d12
Author: Emmanuel Dreyfus <manu at netbsd.org>
Date:   Sat May 30 07:31:01 2015 +0200

    Prevent clashes between system and Samba SHA functions
    
    Samba provides its own set of SHA function, which would replace
    libc-provided flavors. This is a problem because while the prototypes
    are the same, the context structure are different. As a result,
    when connecting to a LDAP/SSL directory, we go through
    libldap/libssl/libcrypto and there libcrypto expects to call libc
    SHA functions, not Samba's.
    
    The fix is to check for SHA function presence and rename Samba's
    version to avoid a clash.
    
    Reviewed-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Simo <simo at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Wed Jun  3 01:54:24 CEST 2015 on sn-devel-104

-----------------------------------------------------------------------

Summary of changes:
 lib/crypto/sha256.h          | 5 ++++-
 lib/crypto/sha512.h          | 2 +-
 lib/crypto/wscript_configure | 7 +++++++
 3 files changed, 12 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/crypto/sha256.h b/lib/crypto/sha256.h
index 7ee8fac..010dbff 100644
--- a/lib/crypto/sha256.h
+++ b/lib/crypto/sha256.h
@@ -42,11 +42,14 @@
  */
 #define HEIM_SHA_H 1
 
-#if 0
+#if SHA1_RENAME_NEEDED
 /* symbol renaming */
 #define SHA1_Init hc_SHA1_Init
 #define SHA1_Update hc_SHA1_Update
 #define SHA1_Final hc_SHA1_Final
+#endif
+#if SHA256_RENAME_NEEDED
+/* symbol renaming */
 #define SHA256_Init hc_SHA256_Init
 #define SHA256_Update hc_SHA256_Update
 #define SHA256_Final hc_SHA256_Final
diff --git a/lib/crypto/sha512.h b/lib/crypto/sha512.h
index dc394fd..509fd95 100644
--- a/lib/crypto/sha512.h
+++ b/lib/crypto/sha512.h
@@ -36,7 +36,7 @@
 #ifndef HEIM_SHA_H
 #define HEIM_SHA_H 1
 
-#if 0
+#if SHA512_RENAME_NEEDED
 /* symbol renaming */
 #define SHA512_Init hc_SHA512_Init
 #define SHA512_Update hc_SHA512_Update
diff --git a/lib/crypto/wscript_configure b/lib/crypto/wscript_configure
index 21ec566..130acec 100644
--- a/lib/crypto/wscript_configure
+++ b/lib/crypto/wscript_configure
@@ -6,3 +6,10 @@ if not conf.CHECK_FUNCS_IN('MD5Init', 'bsd', headers='bsd/md5.h',
                         checklibc=True)
 conf.CHECK_FUNCS_IN('CC_MD5_Init', '', headers='CommonCrypto/CommonDigest.h',
     checklibc=True)
+
+if conf.CHECK_FUNCS('SHA1_Update'):
+	conf.DEFINE('SHA1_RENAME_NEEDED', 1)
+if conf.CHECK_FUNCS('SHA256_Update'):
+	conf.DEFINE('SHA256_RENAME_NEEDED', 1)
+if conf.CHECK_FUNCS('SHA512_Update'):
+	conf.DEFINE('SHA512_RENAME_NEEDED', 1)


-- 
Samba Shared Repository


More information about the samba-cvs mailing list