aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/libtinyrad/lconf.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/libtinyrad/lconf.c b/lib/libtinyrad/lconf.c
index 728f84a..7bc05a6 100644
--- a/lib/libtinyrad/lconf.c
+++ b/lib/libtinyrad/lconf.c
@@ -76,6 +76,8 @@
76#define TRAD_CONF_TIMEOUT 9 76#define TRAD_CONF_TIMEOUT 9
77#define TRAD_CONF_URI 10 77#define TRAD_CONF_URI 10
78#define TRAD_CONF_RANDOM 11 78#define TRAD_CONF_RANDOM 11
79#define TRAD_CONF_IPV4 12
80#define TRAD_CONF_IPV6 13
79 81
80 82
81///////////////// 83/////////////////
@@ -91,6 +93,8 @@ static const TinyRadMap tinyrad_conf_options[] =
91 { "BIND_ADDRESS", TRAD_CONF_BIND_ADDRESS }, 93 { "BIND_ADDRESS", TRAD_CONF_BIND_ADDRESS },
92 { "BUILTIN_DICTIONARY", TRAD_CONF_BUILTIN_DICTIONARY }, 94 { "BUILTIN_DICTIONARY", TRAD_CONF_BUILTIN_DICTIONARY },
93 { "DICTIONARY", TRAD_CONF_DICTIONARY }, 95 { "DICTIONARY", TRAD_CONF_DICTIONARY },
96 { "IPV4", TRAD_CONF_IPV4 },
97 { "IPV6", TRAD_CONF_IPV6 },
94 { "NETWORK_TIMEOUT", TRAD_CONF_NETWORK_TIMEOUT }, 98 { "NETWORK_TIMEOUT", TRAD_CONF_NETWORK_TIMEOUT },
95 { "PATHS", TRAD_CONF_PATHS }, 99 { "PATHS", TRAD_CONF_PATHS },
96 { "RANDOM", TRAD_CONF_RANDOM }, 100 { "RANDOM", TRAD_CONF_RANDOM },
@@ -366,6 +370,28 @@ tinyrad_conf_opt(
366 return(TRAD_ENOMEM); 370 return(TRAD_ENOMEM);
367 return(TRAD_SUCCESS); 371 return(TRAD_SUCCESS);
368 372
373 case TRAD_CONF_IPV4:
374 TinyRadDebug(TRAD_DEBUG_ARGS, " == %s( tr, TRAD_CONF_IPV4, \"%s\" )", __func__, (((value)) ? value : "(null)"));
375 if ( (!(tr)) || ((tr->opts & TRAD_IPV4)) || ((tr->opts_neg & TRAD_IPV4)) )
376 return(TRAD_SUCCESS);
377 switch(i = ((value)) ? tinyrad_strtobool(value) : TRAD_YES)
378 { case TRAD_NO: tinyrad_set_option(tr, TRAD_IPV4, &i); break;
379 case TRAD_YES: tinyrad_set_option(tr, TRAD_IPV4, &i); break;
380 default: break;
381 };
382 return(TRAD_SUCCESS);
383
384 case TRAD_CONF_IPV6:
385 TinyRadDebug(TRAD_DEBUG_ARGS, " == %s( tr, TRAD_CONF_IPV6, \"%s\" )", __func__, (((value)) ? value : "(null)"));
386 if ( (!(tr)) || ((tr->opts & TRAD_IPV6)) || ((tr->opts_neg & TRAD_IPV6)) )
387 return(TRAD_SUCCESS);
388 switch(i = ((value)) ? tinyrad_strtobool(value) : TRAD_YES)
389 { case TRAD_NO: tinyrad_set_option(tr, TRAD_IPV6, &i); break;
390 case TRAD_YES: tinyrad_set_option(tr, TRAD_IPV6, &i); break;
391 default: break;
392 };
393 return(TRAD_SUCCESS);
394
369 case TRAD_CONF_NETWORK_TIMEOUT: 395 case TRAD_CONF_NETWORK_TIMEOUT:
370 TinyRadDebug(TRAD_DEBUG_ARGS, " == %s( tr, TRAD_CONF_NETWORK_TIMEOUT, \"%s\" )", __func__, (((value)) ? value : "(null)")); 396 TinyRadDebug(TRAD_DEBUG_ARGS, " == %s( tr, TRAD_CONF_NETWORK_TIMEOUT, \"%s\" )", __func__, (((value)) ? value : "(null)"));
371 if ( (!(tr)) || ((tr->net_timeout)) || (!(value)) ) 397 if ( (!(tr)) || ((tr->net_timeout)) || (!(value)) )