From 24566ef6af29fa260275e1c82999a7add83e105a Mon Sep 17 00:00:00 2001 From: "David M. Syzdek" Date: Thu, 2 Jun 2022 13:38:55 -0800 Subject: libtinytac: updating default options --- include/tinytac.h | 3 +-- lib/libtinytac/lmemory.c | 24 ++++++++++++++++-------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/include/tinytac.h b/include/tinytac.h index 532890b..5e1293a 100644 --- a/include/tinytac.h +++ b/include/tinytac.h @@ -174,13 +174,12 @@ #define TTAC_DFLT_DEBUG_SYSLOG TTAC_NO #define TTAC_DFLT_HOSTS "localhost" #define TTAC_DFLT_SECRETS NULL -#define TTAC_DFLT_OPTS ( TTAC_URANDOM | TTAC_IP_UNSPEC | TTAC_AUTHEN_TYPES ) +#define TTAC_DFLT_OPTS ( TTAC_URANDOM | TTAC_AUTHEN_TYPES) #define TTAC_DFLT_OPTS_NEG 0 #define TTAC_DFLT_PORT 49 #define TTAC_DFLT_TIMEOUT 10 #define TTAC_DFLT_NET_TIMEOUT_SEC 10 #define TTAC_DFLT_NET_TIMEOUT_USEC 0 -#define TTAC_DFLT_RANDOM TTAC_URANDOM ////////////////// diff --git a/lib/libtinytac/lmemory.c b/lib/libtinytac/lmemory.c index c02edbd..1e186ab 100644 --- a/lib/libtinytac/lmemory.c +++ b/lib/libtinytac/lmemory.c @@ -374,15 +374,23 @@ tinytac_initialize( if ((opts & TTAC_RND_METHODS)) tt->opts &= ~TTAC_RND_METHODS; tt->opts |= opts; + if (!(tt->opts & TTAC_RND_METHODS)) + tt->opts |= TTAC_RND_METHODS & tinytac_dflt.opts; if (!(tt->opts & TTAC_IP_UNSPEC)) - if (!(tt->opts |= TTAC_IP_UNSPEC & tinytac_dflt.opts)) - tt->opts |= TTAC_DFLT_IP & ~tinytac_dflt.opts_neg; + { + if ((TTAC_IP_UNSPEC & tinytac_dflt.opts)) + tt->opts |= tinytac_dflt.opts & TTAC_IP_UNSPEC; + else + tt->opts |= (TTAC_DFLT_OPTS & TTAC_IP_UNSPEC) & ~tinytac_dflt.opts_neg; + tt->opts |= TTAC_IP_UNSPEC & tinytac_dflt.opts; + }; if (!(tt->opts & TTAC_AUTHEN_TYPES)) - if (!(tt->opts |= TTAC_AUTHEN_TYPES & tinytac_dflt.opts)) - tt->opts |= TTAC_DFLT_AUTHEN & ~tinytac_dflt.opts_neg; - if (!(tt->opts & TTAC_RND_METHODS)) - if (!(tt->opts |= TTAC_RND_METHODS & tinytac_dflt.opts)) - tt->opts |= TTAC_DFLT_RANDOM; + { + if ((TTAC_AUTHEN_TYPES & tinytac_dflt.opts)) + tt->opts |= tinytac_dflt.opts & TTAC_AUTHEN_TYPES; + else + tt->opts |= (TTAC_DFLT_OPTS & TTAC_AUTHEN_TYPES) & ~tinytac_dflt.opts_neg; + }; // apply user options if ((rc = tinytac_set_option(tt, TTAC_OPT_HOSTS, hosts)) != TTAC_SUCCESS) @@ -506,7 +514,7 @@ tinytac_set_option( case TTAC_OPT_RANDOM: TinyTacDebug( TTAC_DEBUG_ARGS, " == %s( %s, TTAC_OPT_RANDOM, invalue )", __func__, (((tt)) ? "tt" : "NULL") ); - idflt = ((tt)) ? tinytac_dflt.opts : TTAC_DFLT_RANDOM; + idflt = ((tt)) ? tinytac_dflt.opts : TTAC_DFLT_OPTS; ival = ((invalue)) ? *((const int *)invalue) : (idflt & TTAC_RND_METHODS); switch(ival) { case TTAC_RAND: TinyTacDebug(TTAC_DEBUG_ARGS, " <= invalue: %s", "TTAC_RAND"); break; -- cgit v1.2.3