aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/lib/libtinytac
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libtinytac')
-rw-r--r--lib/libtinytac/lmemory.c24
1 files changed, 16 insertions, 8 deletions
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(
374 if ((opts & TTAC_RND_METHODS)) 374 if ((opts & TTAC_RND_METHODS))
375 tt->opts &= ~TTAC_RND_METHODS; 375 tt->opts &= ~TTAC_RND_METHODS;
376 tt->opts |= opts; 376 tt->opts |= opts;
377 if (!(tt->opts & TTAC_RND_METHODS))
378 tt->opts |= TTAC_RND_METHODS & tinytac_dflt.opts;
377 if (!(tt->opts & TTAC_IP_UNSPEC)) 379 if (!(tt->opts & TTAC_IP_UNSPEC))
378 if (!(tt->opts |= TTAC_IP_UNSPEC & tinytac_dflt.opts)) 380 {
379 tt->opts |= TTAC_DFLT_IP & ~tinytac_dflt.opts_neg; 381 if ((TTAC_IP_UNSPEC & tinytac_dflt.opts))
382 tt->opts |= tinytac_dflt.opts & TTAC_IP_UNSPEC;
383 else
384 tt->opts |= (TTAC_DFLT_OPTS & TTAC_IP_UNSPEC) & ~tinytac_dflt.opts_neg;
385 tt->opts |= TTAC_IP_UNSPEC & tinytac_dflt.opts;
386 };
380 if (!(tt->opts & TTAC_AUTHEN_TYPES)) 387 if (!(tt->opts & TTAC_AUTHEN_TYPES))
381 if (!(tt->opts |= TTAC_AUTHEN_TYPES & tinytac_dflt.opts)) 388 {
382 tt->opts |= TTAC_DFLT_AUTHEN & ~tinytac_dflt.opts_neg; 389 if ((TTAC_AUTHEN_TYPES & tinytac_dflt.opts))
383 if (!(tt->opts & TTAC_RND_METHODS)) 390 tt->opts |= tinytac_dflt.opts & TTAC_AUTHEN_TYPES;
384 if (!(tt->opts |= TTAC_RND_METHODS & tinytac_dflt.opts)) 391 else
385 tt->opts |= TTAC_DFLT_RANDOM; 392 tt->opts |= (TTAC_DFLT_OPTS & TTAC_AUTHEN_TYPES) & ~tinytac_dflt.opts_neg;
393 };
386 394
387 // apply user options 395 // apply user options
388 if ((rc = tinytac_set_option(tt, TTAC_OPT_HOSTS, hosts)) != TTAC_SUCCESS) 396 if ((rc = tinytac_set_option(tt, TTAC_OPT_HOSTS, hosts)) != TTAC_SUCCESS)
@@ -506,7 +514,7 @@ tinytac_set_option(
506 514
507 case TTAC_OPT_RANDOM: 515 case TTAC_OPT_RANDOM:
508 TinyTacDebug( TTAC_DEBUG_ARGS, " == %s( %s, TTAC_OPT_RANDOM, invalue )", __func__, (((tt)) ? "tt" : "NULL") ); 516 TinyTacDebug( TTAC_DEBUG_ARGS, " == %s( %s, TTAC_OPT_RANDOM, invalue )", __func__, (((tt)) ? "tt" : "NULL") );
509 idflt = ((tt)) ? tinytac_dflt.opts : TTAC_DFLT_RANDOM; 517 idflt = ((tt)) ? tinytac_dflt.opts : TTAC_DFLT_OPTS;
510 ival = ((invalue)) ? *((const int *)invalue) : (idflt & TTAC_RND_METHODS); 518 ival = ((invalue)) ? *((const int *)invalue) : (idflt & TTAC_RND_METHODS);
511 switch(ival) 519 switch(ival)
512 { case TTAC_RAND: TinyTacDebug(TTAC_DEBUG_ARGS, " <= invalue: %s", "TTAC_RAND"); break; 520 { case TTAC_RAND: TinyTacDebug(TTAC_DEBUG_ARGS, " <= invalue: %s", "TTAC_RAND"); break;