Add --enable-fticks to configure.
authorLinus Nordberg <linus@nordu.net>
Tue, 27 Sep 2011 15:04:49 +0000 (17:04 +0200)
committerLinus Nordberg <linus@nordu.net>
Tue, 27 Sep 2011 15:04:49 +0000 (17:04 +0200)
Makefile.am
configure.ac
radsecproxy.c

index a38d7ec..70f9284 100644 (file)
@@ -22,8 +22,11 @@ librsp_a_SOURCES = \
        udp.c \
        tcp.c \
        tls.c \
-       dtls.c \
-       fticks.c
+       dtls.c
+
+if WANT_FTICKS
+librsp_a_SOURCES += fticks.c
+endif
 
 catgconf_SOURCES = \
        debug.c \
index 24cbf05..3ff1cc3 100644 (file)
@@ -48,9 +48,25 @@ AC_ARG_ENABLE(dtls,
     fi
   ])
 
+AC_ARG_ENABLE(fticks,
+AC_HELP_STRING([--enable-fticks],[build with F-Ticks support [default=no]]),
+[case $enableval in
+yes|no) ;;
+*) AC_MSG_ERROR([bad value $enableval for --enable-fticks, need yes or no]) ;;
+esac],
+[enable_fticks=no])
+
+if test "$enable_fticks" = "yes"; then
 AC_CHECK_LIB([nettle], [nettle_sha256_init],,
-    AC_MSG_ERROR([required library nettle not found]))
+    [AC_MSG_WARN([required library nettle not found, fticks support disabled])
+     enable_fticks=no])
+fi
+
+if test "$enable_fticks" = "yes"; then
+AC_DEFINE([WANT_FTICKS], [1])
+fi
+AM_CONDITIONAL(WANT_FTICKS, test "$enable_fticks" = "yes")
+
 dnl Check if we're on Solaris and set CFLAGS accordingly
 AC_CANONICAL_SYSTEM
 case "${target_os}" in
index e459cae..6554e8d 100644 (file)
@@ -77,7 +77,9 @@
 #include "tcp.h"
 #include "tls.h"
 #include "dtls.h"
+#if defined(WANT_FTICKS)
 #include "fticks.h"
+#endif
 
 static struct options options;
 static struct list *clconfs, *srvconfs;
@@ -1665,9 +1667,11 @@ void replyh(struct server *server, unsigned char *buf) {
        }
     }
 
+#if defined(WANT_FTICKS)
     if (msg->code == RAD_Access_Accept || msg->code == RAD_Access_Reject)
        if (options.fticks_reporting && from->conf->fticks_viscountry != NULL)
            fticks_log(&options, from, msg, rqout);
+#endif
 
     msg->id = (char)rqout->rq->rqid;
     memcpy(msg->auth, rqout->rq->rqauth, 16);
@@ -2678,7 +2682,9 @@ int confclient_cb(struct gconffile **cf, void *arg, char *block, char *opt, char
            "rewriteIn", CONF_STR, &conf->confrewritein,
            "rewriteOut", CONF_STR, &conf->confrewriteout,
            "rewriteattribute", CONF_STR, &conf->confrewriteusername,
+#if defined(WANT_FTICKS)
            "fticksVISCOUNTRY", CONF_STR, &conf->fticks_viscountry,
+#endif
            NULL
            ))
        debugx(1, DBG_ERR, "configuration error");
@@ -3011,9 +3017,11 @@ void getmainconfig(const char *configfile) {
     struct gconffile *cfs;
     char **listenargs[RAD_PROTOCOUNT];
     char *sourcearg[RAD_PROTOCOUNT];
+#if defined(WANT_FTICKS)
     uint8_t *fticks_reporting_str = NULL;
     uint8_t *fticks_mac_str = NULL;
     uint8_t *fticks_key_str = NULL;
+#endif
     int i;
 
     cfs = openconfigfile(configfile);
@@ -3067,9 +3075,11 @@ void getmainconfig(const char *configfile) {
            "TLS", CONF_CBK, conftls_cb, NULL,
 #endif
            "Rewrite", CONF_CBK, confrewrite_cb, NULL,
+#if defined(WANT_FTICKS)
            "FTicksReporting", CONF_STR, &fticks_reporting_str,
            "FTicksMAC", CONF_STR, &fticks_mac_str,
            "FTicksKey", CONF_STR, &fticks_key_str,
+#endif
            NULL
            ))
        debugx(1, DBG_ERR, "configuration error");
@@ -3087,8 +3097,10 @@ void getmainconfig(const char *configfile) {
     if (!setttlattr(&options, DEFAULT_TTL_ATTR))
        debugx(1, DBG_ERR, "Failed to set TTLAttribute, exiting");
 
+#if defined(WANT_FTICKS)
     fticks_configure(&options, &fticks_reporting_str, &fticks_mac_str,
                     &fticks_key_str);
+#endif
 
     for (i = 0; i < RAD_PROTOCOUNT; i++)
        if (listenargs[i] || sourcearg[i])