diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/libtinytac/lmemory.c | 24 |
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; |
