Hi,

On 03/12/17 17:39, Steffan Karger wrote:
> Hi,
> 
> Feature-ACK.
> 
> As discussed on IRC, let's apply this patch after 2/7 (or merge with
> 2/7) to prevent having a commit in the tree that unconditionally
> disabled crypto.

thanks for the review!

> 
> On 02-12-17 14:45, Antonio Quartulli wrote:
>> With this patch we remove the possibility to disable the crypto engine
>> (ENABLE_CRYPTO define) at configuration time.
>>
>> [Some unit-test are temporarily disabled and will be enabled again when
>> ENABLE_CRYPTO is completely removed from the codebase]
>>
>> [--disable-crypto has been removed from .travis.yml too]
>>
>> Signed-off-by: Antonio Quartulli <a...@unstable.cc>
>> ---
>>  .travis.yml                                        |  2 +-
>>  config-msvc.h                                      |  1 -
>>  configure.ac                                       | 33 
>> ++++++----------------
>>  doc/doxygen/openvpn.doxyfile.in                    |  2 +-
>>  .../keyingmaterialexporter.c                       |  2 --
>>  sample/sample-plugins/log/log_v3.c                 |  2 --
>>  tests/Makefile.am                                  |  4 +--
>>  tests/unit_tests/openvpn/Makefile.am               |  4 +--
>>  8 files changed, 13 insertions(+), 37 deletions(-)
>>
>> diff --git a/.travis.yml b/.travis.yml
>> index 366e6599..e89cb7d4 100644
>> --- a/.travis.yml
>> +++ b/.travis.yml
>> @@ -59,7 +59,7 @@ matrix:
>>      - env: SSLLIB="openssl" CHOST=i686-w64-mingw32
>>        os: linux
>>        compiler: ": Win32 build only"
>> -    - env: SSLLIB="openssl" EXTRA_CONFIG="--disable-crypto" 
>> EXTRA_SCRIPT="make distcheck"
>> +    - env: SSLLIB="openssl" EXTRA_SCRIPT="make distcheck"
>>        os: linux
>>        compiler: clang
>>      - env: SSLLIB="openssl" EXTRA_CONFIG="--disable-lzo"
>> diff --git a/config-msvc.h b/config-msvc.h
>> index 0bb153df..8be9195f 100644
>> --- a/config-msvc.h
>> +++ b/config-msvc.h
>> @@ -4,7 +4,6 @@
>>  
>>  #define ENABLE_DEF_AUTH 1
>>  #define ENABLE_PF 1
>> -#define ENABLE_CRYPTO 1
>>  #define ENABLE_CRYPTO_OPENSSL 1
>>  #define ENABLE_DEBUG 1
>>  #define ENABLE_EUREPHIA 1
>> diff --git a/configure.ac b/configure.ac
>> index acfddb22..faea7d15 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -77,13 +77,6 @@ AC_ARG_ENABLE(comp-stub,
>>      [enable_comp_stub="no"]
>>  )
>>  
>> -AC_ARG_ENABLE(
>> -    [crypto],
>> -    [AS_HELP_STRING([--disable-crypto], [disable crypto support 
>> @<:@default=yes@:>@])],
>> -    ,
>> -    [enable_crypto="yes"]
>> -)
>> -
>>  AC_ARG_ENABLE(
>>      [ofb-cfb],
>>      [AS_HELP_STRING([--disable-ofb-cfb], [disable support for OFB and CFB 
>> cipher modes @<:@default=yes@:>@])],
>> @@ -843,7 +836,7 @@ PKG_CHECK_MODULES(
>>      []
>>  )
>>  
>> -if test "${enable_crypto}" = "yes" -a "${with_crypto_library}" = "openssl"; 
>> then
>> +if test "${with_crypto_library}" = "openssl"; then
>>      AC_ARG_VAR([OPENSSL_CFLAGS], [C compiler flags for OpenSSL])
>>      AC_ARG_VAR([OPENSSL_LIBS], [linker flags for OpenSSL])
>>  
>> @@ -958,11 +951,10 @@ if test "${enable_crypto}" = "yes" -a 
>> "${with_crypto_library}" = "openssl"; then
>>      CFLAGS="${saved_CFLAGS}"
>>      LIBS="${saved_LIBS}"
>>  
>> -    have_crypto="yes"
>> -    AC_DEFINE([ENABLE_CRYPTO_OPENSSL], [1], [Use OpenSSL library])
>> +    AC_DEFINE([CRYPTO_OPENSSL], [1], [Use OpenSSL library])
> 
> Why rename this (and ENABLE_CRYPTO_MBEDTLS)?  All our configure feature
> flags currently have this ENABLE_ prefix, and I'd personally prefer to
> keep it for these too.  (Though I don't care enough to NAK.)
> 

I decided to remove the ENABLE_* bit because it felt to me like those
ENABLE_CRYPTO_$SOMETHING were "subdefines" of ENABLE_CRYPTO.

However, for consistency with the rest I also agree that it would be
better to keep the ENABLE_ prefix.

I'll send v2 of this patch only where I'll reintroduce the prefix.


Thanks!


>>      CRYPTO_CFLAGS="${OPENSSL_CFLAGS}"
>>      CRYPTO_LIBS="${OPENSSL_LIBS}"
>> -elif test "${enable_crypto}" = "yes" -a "${with_crypto_library}" = 
>> "mbedtls"; then
>> +elif test "${with_crypto_library}" = "mbedtls"; then
>>      AC_ARG_VAR([MBEDTLS_CFLAGS], [C compiler flags for mbedtls])
>>      AC_ARG_VAR([MBEDTLS_LIBS], [linker flags for mbedtls])
>>  
>> @@ -1041,11 +1033,10 @@ elif test "${enable_crypto}" = "yes" -a 
>> "${with_crypto_library}" = "mbedtls"; th
>>  
>>      CFLAGS="${saved_CFLAGS}"
>>      LIBS="${saved_LIBS}"
>> -    have_crypto="yes"
>> -    AC_DEFINE([ENABLE_CRYPTO_MBEDTLS], [1], [Use mbed TLS library])
>> +    AC_DEFINE([CRYPTO_MBEDTLS], [1], [Use mbed TLS library])
>>      CRYPTO_CFLAGS="${MBEDTLS_CFLAGS}"
>>      CRYPTO_LIBS="${MBEDTLS_LIBS}"
>> -elif test "${enable_crypto}" = "yes"; then
>> +else
>>      AC_MSG_ERROR([Invalid crypto library: ${with_crypto_library}])
>>  fi
>>  
>> @@ -1245,14 +1236,10 @@ test "${enable_def_auth}" = "yes" && 
>> AC_DEFINE([ENABLE_DEF_AUTH], [1], [Enable d
>>  test "${enable_pf}" = "yes" && AC_DEFINE([ENABLE_PF], [1], [Enable internal 
>> packet filter])
>>  test "${enable_strict_options}" = "yes" && 
>> AC_DEFINE([ENABLE_STRICT_OPTIONS_CHECK], [1], [Enable strict options check 
>> between peers])
>>  
>> -if test "${enable_crypto}" = "yes"; then
>> -    test "${have_crypto}" != "yes" && AC_MSG_ERROR([${with_crypto_library} 
>> crypto is required but missing])
>> -    test "${enable_crypto_ofb_cfb}" = "yes" && 
>> AC_DEFINE([ENABLE_OFB_CFB_MODE], [1], [Enable OFB and CFB cipher modes])
>> -    test "${have_crypto_aead_modes}" = "yes" && 
>> AC_DEFINE([HAVE_AEAD_CIPHER_MODES], [1], [Use crypto library])
>> -    OPTIONAL_CRYPTO_CFLAGS="${OPTIONAL_CRYPTO_CFLAGS} ${CRYPTO_CFLAGS}"
>> -    OPTIONAL_CRYPTO_LIBS="${OPTIONAL_CRYPTO_LIBS} ${CRYPTO_LIBS}"
>> -    AC_DEFINE([ENABLE_CRYPTO], [1], [Enable crypto library])
>> -fi
>> +test "${enable_crypto_ofb_cfb}" = "yes" && AC_DEFINE([ENABLE_OFB_CFB_MODE], 
>> [1], [Enable OFB and CFB cipher modes])
>> +test "${have_crypto_aead_modes}" = "yes" && 
>> AC_DEFINE([HAVE_AEAD_CIPHER_MODES], [1], [Use crypto library])
>> +OPTIONAL_CRYPTO_CFLAGS="${OPTIONAL_CRYPTO_CFLAGS} ${CRYPTO_CFLAGS}"
>> +OPTIONAL_CRYPTO_LIBS="${OPTIONAL_CRYPTO_LIBS} ${CRYPTO_LIBS}"
>>  
>>  if test "${enable_plugins}" = "yes"; then
>>      OPTIONAL_DL_LIBS="${DL_LIBS}"
>> @@ -1292,7 +1279,6 @@ fi
>>  
>>  if test "${enable_pkcs11}" = "yes"; then
>>      test "${have_pkcs11_helper}" != "yes" && AC_MSG_ERROR([PKCS11 enabled 
>> but libpkcs11-helper is missing])
>> -    test "${enable_crypto}" != "yes" && AC_MSG_ERROR([PKCS11 can be enabled 
>> only if crypto is enabled])
>>      OPTIONAL_PKCS11_HELPER_CFLAGS="${PKCS11_HELPER_CFLAGS}"
>>      OPTIONAL_PKCS11_HELPER_LIBS="${PKCS11_HELPER_LIBS}"
>>      AC_DEFINE([ENABLE_PKCS11], [1], [Enable PKCS11])
>> @@ -1372,7 +1358,6 @@ AM_CONDITIONAL([WIN32], [test "${WIN32}" = "yes"])
>>  AM_CONDITIONAL([GIT_CHECKOUT], [test "${GIT_CHECKOUT}" = "yes"])
>>  AM_CONDITIONAL([ENABLE_PLUGIN_AUTH_PAM], [test "${enable_plugin_auth_pam}" 
>> = "yes"])
>>  AM_CONDITIONAL([ENABLE_PLUGIN_DOWN_ROOT], [test 
>> "${enable_plugin_down_root}" = "yes"])
>> -AM_CONDITIONAL([ENABLE_CRYPTO], [test "${enable_crypto}" = "yes"])
>>  AM_CONDITIONAL([HAVE_LD_WRAP_SUPPORT], [test "${have_ld_wrap_support}" = 
>> "yes"])
>>  
>>  sampledir="\$(docdir)/sample"
>> diff --git a/doc/doxygen/openvpn.doxyfile.in 
>> b/doc/doxygen/openvpn.doxyfile.in
>> index bb56fff4..d9e9ed08 100644
>> --- a/doc/doxygen/openvpn.doxyfile.in
>> +++ b/doc/doxygen/openvpn.doxyfile.in
>> @@ -235,7 +235,7 @@ EXPAND_ONLY_PREDEF     = NO
>>  SEARCH_INCLUDES        = YES
>>  INCLUDE_PATH           =
>>  INCLUDE_FILE_PATTERNS  =
>> -PREDEFINED             = _WIN32 NTLM USE_LZO ENABLE_FRAGMENT P2MP 
>> P2MP_SERVER ENABLE_CRYPTO ENABLE_CRYPTO_OPENSSL ENABLE_PLUGIN 
>> ENABLE_MANAGEMENT ENABLE_OCC HAVE_GETTIMEOFDAY
>> +PREDEFINED             = _WIN32 NTLM USE_LZO ENABLE_FRAGMENT P2MP 
>> P2MP_SERVER ENABLE_CRYPTO_OPENSSL ENABLE_PLUGIN ENABLE_MANAGEMENT ENABLE_OCC 
>> HAVE_GETTIMEOFDAY
>>  EXPAND_AS_DEFINED      =
>>  SKIP_FUNCTION_MACROS   = YES
>>  #---------------------------------------------------------------------------
>> diff --git 
>> a/sample/sample-plugins/keying-material-exporter-demo/keyingmaterialexporter.c
>>  
>> b/sample/sample-plugins/keying-material-exporter-demo/keyingmaterialexporter.c
>> index c4839077..8ee78c53 100644
>> --- 
>> a/sample/sample-plugins/keying-material-exporter-demo/keyingmaterialexporter.c
>> +++ 
>> b/sample/sample-plugins/keying-material-exporter-demo/keyingmaterialexporter.c
>> @@ -27,8 +27,6 @@
>>   * See the README file for build instructions.
>>   */
>>  
>> -#define ENABLE_CRYPTO
>> -
>>  #include <stdio.h>
>>  #include <string.h>
>>  #include <stdlib.h>
>> diff --git a/sample/sample-plugins/log/log_v3.c 
>> b/sample/sample-plugins/log/log_v3.c
>> index 98d80d95..3ff80290 100644
>> --- a/sample/sample-plugins/log/log_v3.c
>> +++ b/sample/sample-plugins/log/log_v3.c
>> @@ -35,8 +35,6 @@
>>  #include <string.h>
>>  #include <stdlib.h>
>>  
>> -#define ENABLE_CRYPTO
>> -
>>  #include "openvpn-plugin.h"
>>  
>>  /*
>> diff --git a/tests/Makefile.am b/tests/Makefile.am
>> index 0795680c..0b32058b 100644
>> --- a/tests/Makefile.am
>> +++ b/tests/Makefile.am
>> @@ -15,9 +15,7 @@ MAINTAINERCLEANFILES = \
>>  SUBDIRS = unit_tests
>>  
>>  test_scripts = t_client.sh
>> -if ENABLE_CRYPTO
>> -test_scripts += t_lpback.sh t_cltsrv.sh
>> -endif
>> +#test_scripts += t_lpback.sh t_cltsrv.sh
>>  
>>  TESTS_ENVIRONMENT = top_srcdir="$(top_srcdir)"
>>  TESTS = $(test_scripts)
>> diff --git a/tests/unit_tests/openvpn/Makefile.am 
>> b/tests/unit_tests/openvpn/Makefile.am
>> index 7b44f42e..055aa49d 100644
>> --- a/tests/unit_tests/openvpn/Makefile.am
>> +++ b/tests/unit_tests/openvpn/Makefile.am
>> @@ -6,9 +6,7 @@ if HAVE_LD_WRAP_SUPPORT
>>  check_PROGRAMS += argv_testdriver buffer_testdriver
>>  endif
>>  
>> -if ENABLE_CRYPTO
>> -check_PROGRAMS += packet_id_testdriver tls_crypt_testdriver
>> -endif
>> +#check_PROGRAMS += packet_id_testdriver tls_crypt_testdriver
>>  
>>  TESTS = $(check_PROGRAMS)
>>  
>>
> 
> -Steffan
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Openvpn-devel mailing list
> Openvpn-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/openvpn-devel
> 

-- 
Antonio Quartulli

Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to