diff options
| author | David M. Syzdek <david@syzdek.net> | 2022-03-17 16:09:28 -0800 |
|---|---|---|
| committer | David M. Syzdek <david@syzdek.net> | 2022-03-17 16:09:28 -0800 |
| commit | cb7170200251a342d024a38e879e9a7496e79365 (patch) | |
| tree | c681326d51aee3ee32a0ae5cdcd4b7c18f05a6d1 | |
| parent | e61a0b72348d18330482b8da2ac6f01b07087aac (diff) | |
| download | tinyrad-cb7170200251a342d024a38e879e9a7496e79365.tar.gz tinyrad-cb7170200251a342d024a38e879e9a7496e79365.tar.bz2 tinyrad-cb7170200251a342d024a38e879e9a7496e79365.tar.xz tinyrad-cb7170200251a342d024a38e879e9a7496e79365.zip | |
libtinyrad: updating tinyrad_initialize() with default values
| -rw-r--r-- | lib/libtinyrad/lconf.c | 2 | ||||
| -rw-r--r-- | lib/libtinyrad/lmemory.c | 36 |
2 files changed, 24 insertions, 14 deletions
diff --git a/lib/libtinyrad/lconf.c b/lib/libtinyrad/lconf.c index 27b9496..799460b 100644 --- a/lib/libtinyrad/lconf.c +++ b/lib/libtinyrad/lconf.c | |||
| @@ -300,7 +300,7 @@ tinyrad_conf_opt( | |||
| 300 | 300 | ||
| 301 | if (!(strcasecmp(name, "timeout"))) | 301 | if (!(strcasecmp(name, "timeout"))) |
| 302 | { | 302 | { |
| 303 | if ( (!(tr)) || ((tr->timeout)) || (!(value)) ) | 303 | if ( (!(tr)) || (tr->timeout != -1) || (!(value)) ) |
| 304 | return(TRAD_SUCCESS); | 304 | return(TRAD_SUCCESS); |
| 305 | if ((i = (int)strtoll(value, &endptr, 10)) < 1) | 305 | if ((i = (int)strtoll(value, &endptr, 10)) < 1) |
| 306 | return(TRAD_SUCCESS); | 306 | return(TRAD_SUCCESS); |
diff --git a/lib/libtinyrad/lmemory.c b/lib/libtinyrad/lmemory.c index d160e91..c798c5c 100644 --- a/lib/libtinyrad/lmemory.c +++ b/lib/libtinyrad/lmemory.c | |||
| @@ -302,7 +302,7 @@ tinyrad_initialize( | |||
| 302 | return(TRAD_ENOMEM); | 302 | return(TRAD_ENOMEM); |
| 303 | tr->opts = (uint32_t)(opts & TRAD_OPTS_USER); | 303 | tr->opts = (uint32_t)(opts & TRAD_OPTS_USER); |
| 304 | tr->s = -1; | 304 | tr->s = -1; |
| 305 | tr->timeout = TRAD_DFLT_TIMEOUT; | 305 | tr->timeout = -1; |
| 306 | 306 | ||
| 307 | // parses and saves URL | 307 | // parses and saves URL |
| 308 | if ((rc = tinyrad_set_option(tr, TRAD_OPT_URI, url)) != TRAD_SUCCESS) | 308 | if ((rc = tinyrad_set_option(tr, TRAD_OPT_URI, url)) != TRAD_SUCCESS) |
| @@ -328,7 +328,7 @@ tinyrad_initialize( | |||
| 328 | return(rc); | 328 | return(rc); |
| 329 | }; | 329 | }; |
| 330 | 330 | ||
| 331 | // load default dictionary file and make read-only | 331 | // load builtin dictionary, load default dictionary file, and make read-only |
| 332 | if (!(dict)) | 332 | if (!(dict)) |
| 333 | { | 333 | { |
| 334 | if ((rc = tinyrad_dict_defaults(tr->dict, NULL, (TRAD_BUILTIN_DICT|opts))) != TRAD_SUCCESS) | 334 | if ((rc = tinyrad_dict_defaults(tr->dict, NULL, (TRAD_BUILTIN_DICT|opts))) != TRAD_SUCCESS) |
| @@ -340,22 +340,32 @@ tinyrad_initialize( | |||
| 340 | tinyrad_dict_set_option(tr->dict, TRAD_DICT_OPT_READONLY, &opt); | 340 | tinyrad_dict_set_option(tr->dict, TRAD_DICT_OPT_READONLY, &opt); |
| 341 | }; | 341 | }; |
| 342 | 342 | ||
| 343 | // sets bind addresses | 343 | // sets default bind addresses |
| 344 | if ((rc = tinyrad_set_option_socket_bind_addresses(tr, NULL)) != TRAD_SUCCESS) | 344 | if ( (!(tr->bind_sa)) || (!(tr->bind_sa6)) ) |
| 345 | { | 345 | { |
| 346 | tinyrad_tiyrad_free(tr); | 346 | if ((rc = tinyrad_set_option_socket_bind_addresses(tr, NULL)) != TRAD_SUCCESS) |
| 347 | return(rc); | 347 | { |
| 348 | tinyrad_tiyrad_free(tr); | ||
| 349 | return(rc); | ||
| 350 | }; | ||
| 348 | }; | 351 | }; |
| 349 | 352 | ||
| 350 | // sets network timeout | 353 | // sets default network timeout |
| 351 | if ((tr->net_timeout = malloc(sizeof(struct timeval))) == NULL) | 354 | if (!(tr->net_timeout)) |
| 352 | { | 355 | { |
| 353 | tinyrad_tiyrad_free(tr); | 356 | if ((tr->net_timeout = malloc(sizeof(struct timeval))) == NULL) |
| 354 | return(TRAD_ENOMEM); | 357 | { |
| 358 | tinyrad_tiyrad_free(tr); | ||
| 359 | return(TRAD_ENOMEM); | ||
| 360 | }; | ||
| 361 | memset(tr->net_timeout, 0, sizeof(struct timeval)); | ||
| 362 | tr->net_timeout->tv_sec = TRAD_DFLT_NET_TIMEOUT_SEC; | ||
| 363 | tr->net_timeout->tv_usec = TRAD_DFLT_NET_TIMEOUT_USEC; | ||
| 355 | }; | 364 | }; |
| 356 | memset(tr->net_timeout, 0, sizeof(struct timeval)); | 365 | |
| 357 | tr->net_timeout->tv_sec = TRAD_DFLT_NET_TIMEOUT_SEC; | 366 | // sets default timeout |
| 358 | tr->net_timeout->tv_usec = TRAD_DFLT_NET_TIMEOUT_USEC; | 367 | if (tr->timeout == -1) |
| 368 | tr->timeout = TRAD_DFLT_TIMEOUT; | ||
| 359 | 369 | ||
| 360 | // generates initial authenticator | 370 | // generates initial authenticator |
| 361 | if ((fd = open("/dev/urandom", O_RDONLY)) != -1) | 371 | if ((fd = open("/dev/urandom", O_RDONLY)) != -1) |
