Hello community, here is the log from the commit of package libzrtpcpp for openSUSE:Factory checked in at 2013-06-18 15:22:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libzrtpcpp (Old) and /work/SRC/openSUSE:Factory/.libzrtpcpp.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libzrtpcpp" Changes: -------- --- /work/SRC/openSUSE:Factory/libzrtpcpp/libzrtpcpp.changes 2013-06-13 16:54:48.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libzrtpcpp.new/libzrtpcpp.changes 2013-06-18 15:22:42.000000000 +0200 @@ -1,0 +2,7 @@ +Thu Jun 13 20:01:04 UTC 2013 - [email protected] + +- Update to new upstream release 2.3.3 +* Fallback to libgcrypt if openssl has no Elliptical Curve + support (no user-visible changes) + +------------------------------------------------------------------- Old: ---- libzrtpcpp-2.3.2.tar.gz libzrtpcpp-2.3.2.tar.gz.sig New: ---- libzrtpcpp-2.3.3.tar.gz libzrtpcpp-2.3.3.tar.gz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libzrtpcpp.spec ++++++ --- /var/tmp/diff_new_pack.TicFoY/_old 2013-06-18 15:22:43.000000000 +0200 +++ /var/tmp/diff_new_pack.TicFoY/_new 2013-06-18 15:22:43.000000000 +0200 @@ -18,7 +18,7 @@ Name: libzrtpcpp %define lname libzrtpcpp2 -Version: 2.3.2 +Version: 2.3.3 Release: 0 Summary: A ccrtp extension for ZRTP support License: GPL-3.0+ ++++++ libzrtpcpp-2.3.2.tar.gz -> libzrtpcpp-2.3.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzrtpcpp-2.3.2/CMakeLists.txt new/libzrtpcpp-2.3.3/CMakeLists.txt --- old/libzrtpcpp-2.3.2/CMakeLists.txt 2012-10-17 15:16:16.000000000 +0200 +++ new/libzrtpcpp-2.3.3/CMakeLists.txt 2013-06-08 13:02:27.000000000 +0200 @@ -11,7 +11,7 @@ cmake_minimum_required(VERSION 2.6) PROJECT(libzrtpcpp) -set (VERSION 2.3.2) +set (VERSION 2.3.3) set (PACKAGE libzrtpcpp) set (SOVERSION ${VERSION}) STRING(REGEX REPLACE "[.].*$" "" SOVERSION ${SOVERSION}) @@ -107,30 +107,35 @@ endif() # now get info about crypto libraries -gcr_check(GCRYPT gcrypt) -#if(GCRYPT_FOUND) -# check_include_files(gcrypt.h HAVE_GCRYPT_H) -# set(LIBS ${LIBS} ${GCRYPT_LIBRARIES}) -# set(BUILD_REQ "libgcrypt-devel") -# set(CRYPTOBACKEND="") -# set(PACKAGE_REQ "libgcrypt") -#else() - pkg_check_modules(OPENSSL libcrypto>=0.9.8) - if (OPENSSL_FOUND) - set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${OPENSSL_INCLUDE_DIRS}) #update include files search directory - check_include_files(openssl/bn.h HAVE_OPENSSL_BN_H) - check_include_files(openssl/aes.h HAVE_OPENSSL_AES_H) - check_include_files(openssl/sha.h HAVE_OPENSSL_SHA_H) - check_library_exists(crypto EVP_CipherInit_ex "${OPENSSL_LIBDIR}" HAVE_SSL_CRYPT) #use search lib directory from pkg-config - set(LIBS ${LIBS} -lcrypto) - set(CRYPTOBACKEND "libcrypto >= 0.9.8") - set(BUILD_REQ "libopenssl-devel >= 0.9.8") - set(PACKAGE_REQ "libopenssl >= 0.9.8") - include_directories(${OPENSSL_INCLUDE_DIRS}) #update includes directory from pkg-config - else() - message(FATAL_ERROR "No crypto library found") +pkg_check_modules(OPENSSL libcrypto>=0.9.8) +if (OPENSSL_FOUND) + set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${OPENSSL_INCLUDE_DIRS}) #update include files search directory + check_include_files(openssl/bn.h HAVE_OPENSSL_BN_H) + check_include_files(openssl/aes.h HAVE_OPENSSL_AES_H) + check_include_files(openssl/sha.h HAVE_OPENSSL_SHA_H) + check_include_files(openssl/ec.h HAVE_OPENSSL_EC_H) + check_library_exists(crypto EVP_CipherInit_ex "${OPENSSL_LIBDIR}" HAVE_SSL_CRYPT) #use search lib directory from pkg-config + set(LIBS ${LIBS} -lcrypto) + set(CRYPTOBACKEND "libcrypto >= 0.9.8") + set(BUILD_REQ "libopenssl-devel >= 0.9.8") + set(PACKAGE_REQ "libopenssl >= 0.9.8") + include_directories(${OPENSSL_INCLUDE_DIRS}) #update includes directory from pkg-config +endif() + +if(NOT HAVE_OPENSSL_EC_H) + gcr_check(GCRYPT gcrypt) + if(GCRYPT_FOUND) + check_include_files(gcrypt.h HAVE_GCRYPT_H) + set(LIBS ${LIBS} ${GCRYPT_LIBRARIES}) + set(BUILD_REQ "libgcrypt-devel") + set(CRYPTOBACKEND="") + set(PACKAGE_REQ "libgcrypt") endif() -#endif() +endif() + +if(NOT OPENSSL_FOUND AND NOT GCRYPT_FOUND) + message(FATAL_ERROR "No crypto library found") +endif() check_include_files(stdlib.h HAVE_STDLIB_H) check_include_files(string.h HAVE_STRING_H) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzrtpcpp-2.3.2/ChangeLog new/libzrtpcpp-2.3.3/ChangeLog --- old/libzrtpcpp-2.3.2/ChangeLog 2012-10-17 15:16:16.000000000 +0200 +++ new/libzrtpcpp-2.3.3/ChangeLog 2013-06-08 13:02:27.000000000 +0200 @@ -1,3 +1,7 @@ +2.3.3: + +- fallback to gcrypt if no openssl elliptical support + 2.3.1: - 2.3.0 paranoid mode diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzrtpcpp-2.3.2/libzrtpcpp.spec new/libzrtpcpp-2.3.3/libzrtpcpp.spec --- old/libzrtpcpp-2.3.2/libzrtpcpp.spec 2012-10-17 15:16:16.000000000 +0200 +++ new/libzrtpcpp-2.3.3/libzrtpcpp.spec 2013-06-08 13:02:27.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package libzrtpcpp (Version 2.3.2) +# spec file for package libzrtpcpp (Version 2.3.3) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -19,7 +19,7 @@ Summary: A ccrtp extension for ZRTP support BuildRequires: gcc-c++ libopenssl-devel >= 0.9.8 pkgconfig cmake BuildRequires: libccrtp-devel >= 2.0.0 -Version: 2.3.2 +Version: 2.3.3 Release: 0 License: GPL v3 or later Group: Development/Libraries/Other diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzrtpcpp-2.3.2/src/CMakeLists.txt new/libzrtpcpp-2.3.3/src/CMakeLists.txt --- old/libzrtpcpp-2.3.2/src/CMakeLists.txt 2012-10-17 15:16:16.000000000 +0200 +++ new/libzrtpcpp-2.3.3/src/CMakeLists.txt 2013-06-08 13:02:27.000000000 +0200 @@ -27,7 +27,7 @@ set(crypto_src ${gcrypt_src}) endif() -if (OPENSSL_FOUND) +if (OPENSSL_FOUND AND HAVE_OPENSSL_EC_H) set(crypto_src ${openssl_src}) endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzrtpcpp-2.3.2/src/libzrtpcpp/crypto/gcrypt/InitializeGcrypt.cpp new/libzrtpcpp-2.3.3/src/libzrtpcpp/crypto/gcrypt/InitializeGcrypt.cpp --- old/libzrtpcpp-2.3.2/src/libzrtpcpp/crypto/gcrypt/InitializeGcrypt.cpp 2012-10-17 15:16:16.000000000 +0200 +++ new/libzrtpcpp-2.3.3/src/libzrtpcpp/crypto/gcrypt/InitializeGcrypt.cpp 2013-06-08 13:02:27.000000000 +0200 @@ -18,54 +18,100 @@ #include <stdio.h> #include <malloc.h> -#include <pthread.h> #include <errno.h> #include <gcrypt.h> -/* - * The following macro was copied from gcrypt.h and modified to explicitly - * cast the pointer types to keep the compiler happy. - */ -#define GCRY_THREAD_OPTION_PTHREAD_CPP_IMPL \ -static int gcry_pthread_mutex_init (void **priv) \ -{ \ - int err = 0; \ - pthread_mutex_t *lock = (pthread_mutex_t *)malloc (sizeof (pthread_mutex_t)); \ - \ - if (!lock) \ - err = ENOMEM; \ - if (!err) \ -{ \ - err = pthread_mutex_init (lock, NULL); \ - if (err) \ - free (lock); \ - else \ - *priv = lock; \ -} \ - return err; \ -} \ -static int gcry_pthread_mutex_destroy (void **lock) \ -{ int err = pthread_mutex_destroy ((pthread_mutex_t *)*lock); free (*lock); return err; } \ -static int gcry_pthread_mutex_lock (void **lock) \ -{ return pthread_mutex_lock ((pthread_mutex_t *)*lock); } \ -static int gcry_pthread_mutex_unlock (void **lock) \ -{ return pthread_mutex_unlock ((pthread_mutex_t *)*lock); } \ - \ -static struct gcry_thread_cbs gcry_threads_pthread = \ -{ GCRY_THREAD_OPTION_PTHREAD, NULL, \ - gcry_pthread_mutex_init, gcry_pthread_mutex_destroy, \ - gcry_pthread_mutex_lock, gcry_pthread_mutex_unlock } - -/** Implement the locking callback functions for libgcrypt. - * - */ +#include <libzrtpcpp-config.h> +#ifdef HAVE_PTHREAD_H +#include <pthread.h> +#else +#include <winbase.h> +#endif static int initialized = 0; #ifdef __cplusplus extern "C" { #endif -GCRY_THREAD_OPTION_PTHREAD_CPP_IMPL; + +#ifdef HAVE_PTHREAD_H +static int gcry_thread_mutex_init (void **priv) +{ + int err = 0; + pthread_mutex_t *lock = (pthread_mutex_t *)malloc (sizeof (pthread_mutex_t)); + if (!lock) + err = ENOMEM; + if (!err) { + err = pthread_mutex_init (lock, NULL); + if (err) + free (lock); + else + *priv = lock; + } + return err; +} + +static int gcry_thread_mutex_destroy (void **lock) +{ + int err = pthread_mutex_destroy ((pthread_mutex_t *)*lock); + free (*lock); return err; +} + +static int gcry_thread_mutex_lock (void **lock) +{ + return pthread_mutex_lock ((pthread_mutex_t *)*lock); +} + +static int gcry_thread_mutex_unlock (void **lock) +{ + return pthread_mutex_unlock ((pthread_mutex_t *)*lock); +} + +static struct gcry_thread_cbs gcry_threads = { + GCRY_THREAD_OPTION_PTHREAD, NULL, + gcry_thread_mutex_init, gcry_thread_mutex_destroy, + gcry_thread_mutex_lock, gcry_thread_mutex_unlock +}; + +#else +static int gcry_thread_mutex_init (void **priv) +{ + int err = 0; + CRITICAL_SECTION *lock = (CRITICAL_SECTION *)malloc(sizeof(CRITICAL_SECTION)); + if (!lock) + err = ENOMEM; + if (!err) { + InitializeCriticalSection(lock); + *priv = lock; + } + return err; +} + +static int gcry_thread_mutex_destroy (void **lock) +{ + free(*lock); + return 0; +} + +static int gcry_thread_mutex_lock (void **lock) +{ + EnterCriticalSection((CRITICAL_SECTION *)*lock); + return 0; +} + +static int gcry_thread_mutex_unlock (void **lock) +{ + LeaveCriticalSection((CRITICAL_SECTION *)*lock); + return 0; +} + +static struct gcry_thread_cbs gcry_threads = { + GCRY_THREAD_OPTION_PTHREAD, NULL, + gcry_thread_mutex_init, gcry_thread_mutex_destroy, + gcry_thread_mutex_lock, gcry_thread_mutex_unlock +}; +#endif + #ifdef __cplusplus } #endif @@ -74,9 +120,9 @@ { if (initialized) { - return 1; + return 1; } - gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread); + gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads); gcry_check_version(NULL); gcry_control(GCRYCTL_DISABLE_SECMEM); initialized = 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzrtpcpp-2.3.2/src/libzrtpcpp/crypto/gcrypt/gcryptAesCFB.cpp new/libzrtpcpp-2.3.3/src/libzrtpcpp/crypto/gcrypt/gcryptAesCFB.cpp --- old/libzrtpcpp-2.3.2/src/libzrtpcpp/crypto/gcrypt/gcryptAesCFB.cpp 2012-10-17 15:16:16.000000000 +0200 +++ new/libzrtpcpp-2.3.3/src/libzrtpcpp/crypto/gcrypt/gcryptAesCFB.cpp 2013-06-08 13:02:27.000000000 +0200 @@ -27,7 +27,7 @@ extern void initializeGcrypt(); void aesCfbEncrypt(uint8_t* key, int32_t keyLength, uint8_t* IV, uint8_t *data, - int32_t dataLength); + int32_t dataLength) { gcry_error_t err = 0; int algo; @@ -52,7 +52,7 @@ } void aesCfbDecrypt(uint8_t* key, int32_t keyLength, const uint8_t* IV, uint8_t *data, - int32_t dataLength); + int32_t dataLength) { gcry_error_t err = 0; int algo; @@ -74,4 +74,4 @@ err = gcry_cipher_setiv (tmp, IV, AES_BLOCK_SIZE); err = gcry_cipher_decrypt (tmp, data, dataLength, data, dataLength); gcry_cipher_close(tmp); -} \ No newline at end of file +} -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
