From 5e428810893515156023f647251a0d094562480c Mon Sep 17 00:00:00 2001 From: Linus Nordberg Date: Thu, 11 Nov 2010 11:02:14 +0100 Subject: [PATCH] Build even when not configured with `--enable-tls'. --- lib/Makefile.am | 10 +++++++--- lib/configure.ac | 22 ++++++++++------------ lib/packet.c | 6 +++++- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/lib/Makefile.am b/lib/Makefile.am index ca7de1f..fb1f0ae 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -14,15 +14,19 @@ libradsec_la_SOURCES = \ err.c \ packet.c \ radsec.c \ - request.c \ - tls.c + request.c libradsec_la_SOURCES += \ rsp_debug.c \ rsp_hash.c \ rsp_list.c \ - rsp_tlscommon.c \ rsp_util.c +if RS_ENABLE_TLS +libradsec_la_SOURCES += \ + tls.c \ + rsp_tlscommon.c +endif + libradsec_la_LDFLAGS = -version-info 0:0:0 libradsec_la_CFLAGS = $(CFLAGS) -DDEBUG -DDEBUG_LEVENT diff --git a/lib/configure.ac b/lib/configure.ac index 2039233..de02a4e 100644 --- a/lib/configure.ac +++ b/lib/configure.ac @@ -11,13 +11,6 @@ AC_PROG_LIBTOOL # Checks for programs. AC_PROG_CC -# Enable-knobs. -AH_TEMPLATE([RS_ENABLE_TLS], [TLS (RadSec) enabled]) -AH_TEMPLATE([RADPROT_TLS], []) -AC_ARG_ENABLE([tls], AS_HELP_STRING([--enable-tls], [enable TLS (RadSec)]), - [AC_DEFINE([RS_ENABLE_TLS]) - AC_DEFINE([RADPROT_TLS])]) - # Checks for libraries. AC_CHECK_LIB([confuse], [cfg_init],, AC_MSG_ERROR([required library libconfuse not found])) @@ -25,11 +18,16 @@ AC_CHECK_LIB([event_core], [event_get_version],, AC_MSG_ERROR([required library libevent_core not found])) AC_CHECK_LIB([freeradius-radius], [rad_alloc],, AC_MSG_ERROR([required library libfreeradius-radius not found])) -dnl TODO: Only do this if --enable-tls or --enable-dtls. -#AC_CHECK_LIB([ssl], [SSL_new],, -# AC_MSG_ERROR([required library libssl not found])) -AC_CHECK_LIB([event_openssl], [bufferevent_openssl_socket_new],, - AC_MSG_ERROR([required library event_openssl not found])) + +# Enable-knobs. +AH_TEMPLATE([RS_ENABLE_TLS], [TLS (RadSec) enabled]) +AH_TEMPLATE([RADPROT_TLS], []) +AC_ARG_ENABLE([tls], AS_HELP_STRING([--enable-tls], [enable TLS (RadSec)]), + [AC_CHECK_LIB([event_openssl], [bufferevent_openssl_socket_new],, + AC_MSG_ERROR([required library event_openssl not found])) + AC_DEFINE([RS_ENABLE_TLS]) + AC_DEFINE([RADPROT_TLS])]) +AM_CONDITIONAL([RS_ENABLE_TLS], [test "${enable_tls+set}" = set]) # Checks for header files. AC_CHECK_HEADERS( diff --git a/lib/packet.c b/lib/packet.c index 154abc8..f0593dc 100644 --- a/lib/packet.c +++ b/lib/packet.c @@ -99,7 +99,9 @@ _event_cb (struct bufferevent *bev, short events, void *ctx) struct rs_packet *pkt = (struct rs_packet *)ctx; struct rs_connection *conn; struct rs_peer *p; +#if defined RS_ENABLE_TLS unsigned long err; +#endif assert (pkt); assert (pkt->conn); @@ -137,7 +139,7 @@ _event_cb (struct bufferevent *bev, short events, void *ctx) "%d", err); } } -#endif +#endif /* RS_ENABLE_TLS */ rs_err_conn_push_fl (pkt->conn, RSE_CONNERR, __FILE__, __LINE__, NULL); fprintf (stderr, "%s: BEV_EVENT_ERROR\n", __func__); /* DEBUG, until verified that pushed errors will actually be handled */ } @@ -339,6 +341,7 @@ _init_bev (struct rs_connection *conn, struct rs_peer *peer) return rs_err_conn_push_fl (conn, RSE_EVENT, __FILE__, __LINE__, "bufferevent_socket_new"); break; +#if defined RS_ENABLE_TLS case RS_CONN_TYPE_TLS: if (rs_tls_init (conn)) return -1; @@ -356,6 +359,7 @@ _init_bev (struct rs_connection *conn, struct rs_peer *peer) case RS_CONN_TYPE_DTLS: return rs_err_conn_push_fl (conn, RSE_NOSYS, __FILE__, __LINE__, "%s: NYI", __func__); +#endif /* RS_ENABLE_TLS */ default: return rs_err_conn_push_fl (conn, RSE_INTERNAL, __FILE__, __LINE__, "%s: invalid connection type: %d", __func__, -- 2.1.4