r3328 - in trunk: build.d libmcrypto/include/libmcrypto libmcrypto/source/gnutls libmcrypto/source/openssl libzrtpcpp libzrtpcpp/m4 libzrtpcpp/src

mikma at minisip.org mikma at minisip.org
Sun Jun 17 10:52:44 CEST 2007


Author: mikma
Date: 2007-06-17 10:52:44 +0200 (Sun, 17 Jun 2007)
New Revision: 3328

Modified:
   trunk/build.d/build.conf
   trunk/libmcrypto/include/libmcrypto/ZrtpDH.h
   trunk/libmcrypto/source/gnutls/ZrtpDH.cxx
   trunk/libmcrypto/source/gnutls/hmac256.cxx
   trunk/libmcrypto/source/openssl/ZrtpDH.cxx
   trunk/libzrtpcpp/Makefile.am
   trunk/libzrtpcpp/configure.ac
   trunk/libzrtpcpp/m4/libzrtpcpp.m4
   trunk/libzrtpcpp/src/ZRtp.cxx
Log:
build.pl
--------
* Add ldap configure param to libmnetutil.
* Update libzrtpcpp dependencies.

libmcrypto
----------
* Fix gnutls hmac_256 arguments.
* Copy ZrtpDH::checkPubKey from
  libzrtpcpp/src/libzrtpcpp/crypto/openssl/ZrtpDH.cxx at 2823 to
  libmcrypto/source/openssl/ZrtpDH.cxx.

libzrtpcpp
-----------
* Remove openssl dependency from libzrtpcpp, use libmcrypto instead.



Modified: trunk/build.d/build.conf
===================================================================
--- trunk/build.d/build.conf	2007-06-15 13:37:35 UTC (rev 3327)
+++ trunk/build.d/build.conf	2007-06-17 08:52:44 UTC (rev 3328)
@@ -20,7 +20,7 @@
 	libmutil => [ ],
 	libmnetutil => [ qw( libmutil ) ],
 	libmcrypto => [ qw( libmutil libmnetutil ) ],
-        libzrtpcpp => [ 'libmutil' ],
+	libzrtpcpp => [ qw( libmutil libmnetutil libmcrypto ) ],
 
 	# IETF RFC standard libraries
 	libmstun => [ qw( libmutil libmnetutil ) ],
@@ -75,6 +75,7 @@
 my %libmnetutil_params = (
 	%common_params,
 	ipv6 => 1,	# enables IPV6 support
+	ldap => undef,	# enables LDAP support
 );
 
 my %libmikey_params = (

Modified: trunk/libmcrypto/include/libmcrypto/ZrtpDH.h
===================================================================
--- trunk/libmcrypto/include/libmcrypto/ZrtpDH.h	2007-06-15 13:37:35 UTC (rev 3327)
+++ trunk/libmcrypto/include/libmcrypto/ZrtpDH.h	2007-06-17 08:52:44 UTC (rev 3328)
@@ -51,6 +51,7 @@
     int32_t getPubKeyBytes(uint8_t *buf) const;
     int32_t computeKey(uint8_t *pubKeyBytes, int32_t length, uint8_t *secret);
     void random(uint8_t *buf, int32_t length) const;
+    int32_t checkPubKey(uint8_t *pubKeyBytes, int32_t length) const;
 };
 
 #endif // ZRTPDH_H

Modified: trunk/libmcrypto/source/gnutls/ZrtpDH.cxx
===================================================================
--- trunk/libmcrypto/source/gnutls/ZrtpDH.cxx	2007-06-15 13:37:35 UTC (rev 3327)
+++ trunk/libmcrypto/source/gnutls/ZrtpDH.cxx	2007-06-17 08:52:44 UTC (rev 3328)
@@ -232,7 +232,6 @@
     gcry_randomize(buf, length, GCRY_STRONG_RANDOM);
 }
 
-#if 0
 int32_t ZrtpDH::checkPubKey(uint8_t *pubKeyBytes,
                             int32_t length) const
 {
@@ -255,7 +254,6 @@
     gcry_mpi_release(pubKeyOther);
     return 1;
 }
-#endif
 
 /** EMACS **
  * Local variables:

Modified: trunk/libmcrypto/source/gnutls/hmac256.cxx
===================================================================
--- trunk/libmcrypto/source/gnutls/hmac256.cxx	2007-06-15 13:37:35 UTC (rev 3327)
+++ trunk/libmcrypto/source/gnutls/hmac256.cxx	2007-06-17 08:52:44 UTC (rev 3328)
@@ -43,9 +43,9 @@
 # define SHA256_DIGEST_LENGTH 32
 #endif
 
-void hmac_sha256(uint8_t* key, uint32_t keyLength,
-		uint8_t* data, int32_t dataLength,
-                uint8_t* mac, uint32_t* macLength)
+void hmac_sha256( unsigned char * key, unsigned int keyLength,
+		unsigned char * data, unsigned int dataLength,
+		unsigned char * mac, unsigned int * macLength )
 {
     gcry_md_hd_t hd;
     gcry_error_t err = 0;
@@ -63,10 +63,10 @@
     gcry_md_close (hd);
 }
 
-void hmac_sha256( uint8_t* key, uint32_t keyLength,
-                  uint8_t* dataChunks[],
-                  uint32_t dataChunkLength[],
-                  uint8_t* mac, uint32_t* macLength )
+void hmac_sha256( unsigned char * key, unsigned int keyLength,
+		unsigned char * dataChunks[],
+		unsigned int dataChunkLength[],
+		unsigned char * mac, unsigned int * macLength )
 {
     gcry_md_hd_t hd;
     gcry_error_t err = 0;

Modified: trunk/libmcrypto/source/openssl/ZrtpDH.cxx
===================================================================
--- trunk/libmcrypto/source/openssl/ZrtpDH.cxx	2007-06-15 13:37:35 UTC (rev 3327)
+++ trunk/libmcrypto/source/openssl/ZrtpDH.cxx	2007-06-17 08:52:44 UTC (rev 3328)
@@ -193,3 +193,24 @@
 void ZrtpDH::random(uint8_t *buf, int32_t length) const{
 	RAND_bytes(buf, length);
 }
+
+int32_t ZrtpDH::checkPubKey(uint8_t *pubKeyBytes,
+                            int32_t length) const
+{
+    BIGNUM* pubKeyOther = BN_bin2bn(pubKeyBytes, length, NULL);
+
+    int one = BN_is_one(pubKeyOther);
+    if (one == 1)
+        return 0;
+
+    if (length == 384) {
+        if (BN_cmp(bnP3072MinusOne, pubKeyOther) == 0)
+            return 0;
+    }
+    else {
+        if (BN_cmp(bnP4096MinusOne, pubKeyOther) == 0)
+            return 0;
+    }
+    BN_free(pubKeyOther);
+    return 1;
+}

Modified: trunk/libzrtpcpp/Makefile.am
===================================================================
--- trunk/libzrtpcpp/Makefile.am	2007-06-15 13:37:35 UTC (rev 3327)
+++ trunk/libzrtpcpp/Makefile.am	2007-06-17 08:52:44 UTC (rev 3328)
@@ -10,25 +10,25 @@
 
 lib_LTLIBRARIES = libzrtpcpp.la
 libzrtpcpp_la_LDFLAGS = $(MINISIP_LIBRARY_LDFLAGS)
-# libzrtpcpp_la_LIBADD = @LIBS@
+libzrtpcpp_la_LIBADD = $(MINISIP_LIBS)
 
 # http://www.gnu.org/software/libtool/manual.html
 
-if ZRTP_OPENSSL
-zrtp_src_o =    src/libzrtpcpp/crypto/openssl/ZrtpDH.cxx \
-		src/libzrtpcpp/crypto/openssl/hmac256.cxx \
-		src/libzrtpcpp/crypto/openssl/sha256.cxx \
-		src/libzrtpcpp/crypto/openssl/InitializeOpenSSL.cxx
-endif
+# if ZRTP_OPENSSL
+# zrtp_src_o =    src/libzrtpcpp/crypto/openssl/ZrtpDH.cxx \
+# 		src/libzrtpcpp/crypto/openssl/hmac256.cxx \
+# 		src/libzrtpcpp/crypto/openssl/sha256.cxx \
+# 		src/libzrtpcpp/crypto/openssl/InitializeOpenSSL.cxx
+# endif
 
-if FALSE
-if ZRTP_GCRYPT
-zrtp_src_g =	src/libzrtpcpp/crypto/gcrypt/gcryptZrtpDH.cxx \
-		src/libzrtpcpp/crypto/gcrypt/gcrypthmac256.cxx \
-		src/libzrtpcpp/crypto/gcrypt/gcryptsha256.cxx \
-		src/libzrtpcpp/crypto/gcrypt/InitializeGcrypt.cxx
-endif
-endif
+# if FALSE
+# if ZRTP_GCRYPT
+# zrtp_src_g =	src/libzrtpcpp/crypto/gcrypt/gcryptZrtpDH.cxx \
+# 		src/libzrtpcpp/crypto/gcrypt/gcrypthmac256.cxx \
+# 		src/libzrtpcpp/crypto/gcrypt/gcryptsha256.cxx \
+# 		src/libzrtpcpp/crypto/gcrypt/InitializeGcrypt.cxx
+# endif
+# endif
 
 
 

Modified: trunk/libzrtpcpp/configure.ac
===================================================================
--- trunk/libzrtpcpp/configure.ac	2007-06-15 13:37:35 UTC (rev 3327)
+++ trunk/libzrtpcpp/configure.ac	2007-06-17 08:52:44 UTC (rev 3328)
@@ -33,18 +33,6 @@
 dnl
 AC_CHECK_LIB([wsock32], [main])
 
-AC_CHECK_LIB([crypto],
-             [EVP_CipherInit_ex],
-             [
-              CRYPTOBACKEND="openssl >= 0.9.8"
-              LIBS="-lcrypto $LIBS"
-             ],
-             [AC_MSG_ERROR([Cannot find libgcrypt or OpenSSL crypto library.])]
-             )
-
-AM_CONDITIONAL(ZRTP_GCRYPT, test "${ac_cv_lib_gcrypt_gcry_cipher_open}" = "yes")
-AM_CONDITIONAL(ZRTP_OPENSSL, test "${ac_cv_lib_crypto_EVP_CipherInit_ex}" = "yes")
-
 if test $GCC = yes ; then
         WARN_FLAGS="-Wall -ansi -pedantic"
 else
@@ -53,6 +41,8 @@
 AC_SUBST(WARN_FLAGS)
 
 AM_MINISIP_CHECK_LIBMUTIL([0.3.1])
+AM_MINISIP_CHECK_LIBMNETUTIL([0.3.1])
+AM_MINISIP_CHECK_LIBMCRYPTO([0.3.1])
 AM_MINISIP_CHECK_COMPLETE
 
 # Checks for header files.

Modified: trunk/libzrtpcpp/m4/libzrtpcpp.m4
===================================================================
--- trunk/libzrtpcpp/m4/libzrtpcpp.m4	2007-06-15 13:37:35 UTC (rev 3327)
+++ trunk/libzrtpcpp/m4/libzrtpcpp.m4	2007-06-17 08:52:44 UTC (rev 3328)
@@ -1,7 +1,7 @@
 # AM_MINISIP_CHECK_LIBZRTP(VERSION)
 # ----------------------------------
 AC_DEFUN([AM_MINISIP_CHECK_LIBZRTPCPP],[
-    AC_REQUIRE([AM_MINISIP_CHECK_LIBMUTIL]) dnl
+    AC_REQUIRE([AM_MINISIP_CHECK_LIBMCRYPTO]) dnl
     AC_MINISIP_WITH_ARG(ZRTP, zrtpcpp, libzrtpcpp, $1, [REQUIRED])
     AC_MINISIP_CHECK_LIBRARY(ZRTP, libzrtpcpp, ZRtp.h, zrtpcpp)
   ])

Modified: trunk/libzrtpcpp/src/ZRtp.cxx
===================================================================
--- trunk/libzrtpcpp/src/ZRtp.cxx	2007-06-15 13:37:35 UTC (rev 3327)
+++ trunk/libzrtpcpp/src/ZRtp.cxx	2007-06-17 08:52:44 UTC (rev 3328)
@@ -20,9 +20,9 @@
  * Authors: Werner Dittmann <Werner.Dittmann at t-online.de>
  */
 
-#include <libzrtpcpp/crypto/ZrtpDH.h>
-#include <libzrtpcpp/crypto/hmac256.h>
-#include <libzrtpcpp/crypto/sha256.h>
+#include <libmcrypto/ZrtpDH.h>
+#include <libmcrypto/hmac256.h>
+#include <libmcrypto/sha256.h>
 
 #include <libzrtpcpp/ZRtp.h>
 #include <libzrtpcpp/ZrtpStateClass.h>



More information about the Minisip-devel mailing list