From c0783e4ec404657f97f173a488b583e3cc477e17 Mon Sep 17 00:00:00 2001 From: John Safranek Date: Fri, 13 Apr 2012 09:39:19 -0700 Subject: [PATCH 1/2] added configure option and a stub source file for OCSP --- configure.ac | 15 +++++++++++++++ src/include.am | 4 ++++ src/ocsp.c | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 src/ocsp.c diff --git a/configure.ac b/configure.ac index cc9cad36a..045eefb4f 100644 --- a/configure.ac +++ b/configure.ac @@ -470,6 +470,21 @@ then fi +# OCSP +AC_ARG_ENABLE(ocsp, + [ --enable-ocsp Enable OCSP (default: disabled)], + [ ENABLED_OCSP=$enableval ], + [ ENABLED_OCSP=no ], + ) + +if test "$ENABLED_OCSP" = "yes" +then + AM_CFLAGS="$AM_CFLAGS -DHAVE_OCSP" +fi + +AM_CONDITIONAL([BUILD_OCSP], [test "x$ENABLED_OCSP" = "xyes"]) + + # NTRU ntruHome=`pwd`/NTRU_algorithm ntruInclude=$ntruHome/cryptolib diff --git a/src/include.am b/src/include.am index 49f610a8f..e4fab5f52 100644 --- a/src/include.am +++ b/src/include.am @@ -66,3 +66,7 @@ if BUILD_ECC src_libcyassl_la_SOURCES += ctaocrypt/src/ecc.c endif +if BUILD_OCSP +src_libcyassl_la_SOURCES += src/ocsp.c +endif + diff --git a/src/ocsp.c b/src/ocsp.c new file mode 100644 index 000000000..a7407efea --- /dev/null +++ b/src/ocsp.c @@ -0,0 +1,35 @@ +/* ocsp.c + * + * Copyright (C) 2006-2012 Sawtooth Consulting Ltd. + * + * This file is part of CyaSSL. + * + * CyaSSL is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * CyaSSL is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#ifdef HAVE_CONFIG_H + #include +#endif + +#include +#include + + +#ifdef HAVE_OCSP + +void ocsp_stub(void) {} + +#endif /* HAVE_OCSP */ + From 6b1644c6b92e5856c6b020e30b98e9f1561d917b Mon Sep 17 00:00:00 2001 From: John Safranek Date: Tue, 17 Apr 2012 11:03:39 -0700 Subject: [PATCH 2/2] added checks to the api test for NO_FILESYSTEM and exclude tests that load files --- tests/api.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/api.c b/tests/api.c index 8cb651407..c0067b9f5 100644 --- a/tests/api.c +++ b/tests/api.c @@ -32,16 +32,19 @@ static int test_CyaSSL_Init(void); static int test_CyaSSL_Cleanup(void); static int test_CyaSSL_Method_Allocators(void); static int test_CyaSSL_CTX_new(CYASSL_METHOD *method); +#ifndef NO_FILESYSTEM static int test_CyaSSL_CTX_use_certificate_file(void); static int test_CyaSSL_CTX_use_PrivateKey_file(void); static int test_CyaSSL_CTX_load_verify_locations(void); static int test_server_CyaSSL_new(void); static int test_client_CyaSSL_new(void); static int test_CyaSSL_read_write(void); +#endif /* test function helpers */ static int test_method(CYASSL_METHOD *method, const char *name); static int test_method2(CYASSL_METHOD *method, const char *name); +#ifndef NO_FILESYSTEM static int test_ucf(CYASSL_CTX *ctx, const char* file, int type, int cond, const char* name); static int test_upkf(CYASSL_CTX *ctx, const char* file, int type, @@ -52,6 +55,7 @@ static int test_lvl(CYASSL_CTX *ctx, const char* file, const char* path, THREAD_RETURN CYASSL_THREAD test_server_nofail(void*); void test_client_nofail(void*); void wait_tcp_ready(func_args*); +#endif static const char* bogusFile = "/dev/null"; static const char* testingFmt = " %s:"; @@ -69,12 +73,14 @@ int ApiTest(void) test_CyaSSL_Init(); test_CyaSSL_Method_Allocators(); test_CyaSSL_CTX_new(CyaSSLv23_server_method()); +#ifndef NO_FILESYSTEM test_CyaSSL_CTX_use_certificate_file(); test_CyaSSL_CTX_use_PrivateKey_file(); test_CyaSSL_CTX_load_verify_locations(); test_server_CyaSSL_new(); test_client_CyaSSL_new(); test_CyaSSL_read_write(); +#endif test_CyaSSL_Cleanup(); printf(" End API Tests\n"); @@ -191,6 +197,7 @@ int test_CyaSSL_CTX_new(CYASSL_METHOD *method) return TEST_SUCCESS; } +#ifndef NO_FILESYSTEM /* Helper for testing CyaSSL_CTX_use_certificate_file() */ int test_ucf(CYASSL_CTX *ctx, const char* file, int type, int cond, const char* name) @@ -771,6 +778,6 @@ void FreeTcpReady(tcp_ready* ready) pthread_cond_destroy(&ready->cond); #endif } - +#endif /* NO_FILESYSTEM */