From: Florian Obser Subject: dig(1): remove a bunch of unused stuff from resolv.conf parser To: tech Date: Sun, 11 Aug 2024 18:05:05 +0200 OK? diff --git lib/lwres/include/lwres/lwres.h lib/lwres/include/lwres/lwres.h index 74e49211662..c4757a5d605 100644 --- lib/lwres/include/lwres/lwres.h +++ lib/lwres/include/lwres/lwres.h @@ -101,34 +101,20 @@ struct lwres_addr { */ #define LWRES_CONFMAXNAMESERVERS 3 /*%< max 3 "nameserver" entries */ -#define LWRES_CONFMAXLWSERVERS 1 /*%< max 1 "lwserver" entry */ #define LWRES_CONFMAXSEARCH 8 /*%< max 8 domains in "search" entry */ #define LWRES_CONFMAXLINELEN 256 /*%< max size of a line */ -#define LWRES_CONFMAXSORTLIST 10 /*%< max 10 */ /*% lwres_conf_t */ typedef struct { lwres_addr_t nameservers[LWRES_CONFMAXNAMESERVERS]; uint8_t nsnext; /*%< index for next free slot */ - lwres_addr_t lwservers[LWRES_CONFMAXLWSERVERS]; - uint8_t lwnext; /*%< index for next free slot */ - char *domainname; char *search[LWRES_CONFMAXSEARCH]; uint8_t searchnxt; /*%< index for next free slot */ - struct { - lwres_addr_t addr; - /*% mask has a non-zero 'family' and 'length' if set */ - lwres_addr_t mask; - } sortlist[LWRES_CONFMAXSORTLIST]; - uint8_t sortlistnxt; - - uint8_t resdebug; /*%< non-zero if 'options debug' set */ uint8_t ndots; /*%< set to n in 'options ndots:n' */ - uint8_t no_tld_query; /*%< non-zero if 'options no_tld_query' */ int flags; } lwres_conf_t; diff --git lib/lwres/lwconfig.c lib/lwres/lwconfig.c index d94be248674..8bc130ca099 100644 --- lib/lwres/lwconfig.c +++ lib/lwres/lwconfig.c @@ -56,18 +56,12 @@ static lwres_result_t lwres_conf_parsenameserver(lwres_conf_t *confdata, FILE *fp); -static lwres_result_t -lwres_conf_parselwserver(lwres_conf_t *confdata, FILE *fp); - static lwres_result_t lwres_conf_parsedomain(lwres_conf_t *confdata, FILE *fp); static lwres_result_t lwres_conf_parsesearch(lwres_conf_t *confdata, FILE *fp); -static lwres_result_t -lwres_conf_parsesortlist(lwres_conf_t *confdata, FILE *fp); - static lwres_result_t lwres_conf_parseoption(lwres_conf_t *confdata, FILE *fp); @@ -159,13 +153,9 @@ lwres_conf_init(lwres_conf_t *confdata, int lwresflags) { int i; confdata->nsnext = 0; - confdata->lwnext = 0; confdata->domainname = NULL; confdata->searchnxt = 0; - confdata->sortlistnxt = 0; - confdata->resdebug = 0; confdata->ndots = 1; - confdata->no_tld_query = 0; confdata->flags = lwresflags; for (i = 0; i < LWRES_CONFMAXNAMESERVERS; i++) @@ -174,10 +164,6 @@ lwres_conf_init(lwres_conf_t *confdata, int lwresflags) { for (i = 0; i < LWRES_CONFMAXSEARCH; i++) confdata->search[i] = NULL; - for (i = 0; i < LWRES_CONFMAXSORTLIST; i++) { - lwres_resetaddr(&confdata->sortlist[i].addr); - lwres_resetaddr(&confdata->sortlist[i].mask); - } } /*% Frees up all the internal memory used by the config data structure, returning it to the lwres_context_t. */ @@ -196,19 +182,10 @@ lwres_conf_clear(lwres_conf_t *confdata) { confdata->search[i] = NULL; } - for (i = 0; i < LWRES_CONFMAXSORTLIST; i++) { - lwres_resetaddr(&confdata->sortlist[i].addr); - lwres_resetaddr(&confdata->sortlist[i].mask); - } - confdata->nsnext = 0; - confdata->lwnext = 0; confdata->domainname = NULL; confdata->searchnxt = 0; - confdata->sortlistnxt = 0; - confdata->resdebug = 0; confdata->ndots = 1; - confdata->no_tld_query = 0; } static lwres_result_t @@ -241,31 +218,6 @@ lwres_conf_parsenameserver(lwres_conf_t *confdata, FILE *fp) { return (LWRES_R_SUCCESS); } -static lwres_result_t -lwres_conf_parselwserver(lwres_conf_t *confdata, FILE *fp) { - char word[LWRES_CONFMAXLINELEN]; - int res; - - if (confdata->lwnext == LWRES_CONFMAXLWSERVERS) - return (LWRES_R_SUCCESS); - - res = getword(fp, word, sizeof(word)); - if (strlen(word) == 0U) - return (LWRES_R_FAILURE); /* Nothing on line. */ - else if (res == ' ' || res == '\t') - res = eatwhite(fp); - - if (res != EOF && res != '\n') - return (LWRES_R_FAILURE); /* Extra junk on line. */ - - res = lwres_create_addr(word, - &confdata->lwservers[confdata->lwnext++], 1); - if (res != LWRES_R_SUCCESS) - return (res); - - return (LWRES_R_SUCCESS); -} - static lwres_result_t lwres_conf_parsedomain(lwres_conf_t *confdata, FILE *fp) { char word[LWRES_CONFMAXLINELEN]; @@ -398,57 +350,6 @@ lwres_create_addr(const char *buffer, lwres_addr_t *addr, int convert_zero) { return (LWRES_R_SUCCESS); } -static lwres_result_t -lwres_conf_parsesortlist(lwres_conf_t *confdata, FILE *fp) { - int delim, res, idx; - char word[LWRES_CONFMAXLINELEN]; - char *p; - - delim = getword(fp, word, sizeof(word)); - if (strlen(word) == 0U) - return (LWRES_R_FAILURE); /* Empty line after keyword. */ - - while (strlen(word) > 0U) { - if (confdata->sortlistnxt == LWRES_CONFMAXSORTLIST) - return (LWRES_R_FAILURE); /* Too many values. */ - - p = strchr(word, '/'); - if (p != NULL) - *p++ = '\0'; - - idx = confdata->sortlistnxt; - res = lwres_create_addr(word, &confdata->sortlist[idx].addr, 1); - if (res != LWRES_R_SUCCESS) - return (res); - - if (p != NULL) { - res = lwres_create_addr(p, - &confdata->sortlist[idx].mask, - 0); - if (res != LWRES_R_SUCCESS) - return (res); - } else { - /* - * Make up a mask. - */ - confdata->sortlist[idx].mask = - confdata->sortlist[idx].addr; - - memset(&confdata->sortlist[idx].mask.address, 0xff, - confdata->sortlist[idx].addr.length); - } - - confdata->sortlistnxt++; - - if (delim == EOF || delim == '\n') - break; - else - delim = getword(fp, word, sizeof(word)); - } - - return (LWRES_R_SUCCESS); -} - static lwres_result_t lwres_conf_parseoption(lwres_conf_t *confdata, FILE *fp) { int delim; @@ -461,11 +362,7 @@ lwres_conf_parseoption(lwres_conf_t *confdata, FILE *fp) { return (LWRES_R_FAILURE); /* Empty line after keyword. */ while (strlen(word) > 0U) { - if (strcmp("debug", word) == 0) { - confdata->resdebug = 1; - } else if (strcmp("no_tld_query", word) == 0) { - confdata->no_tld_query = 1; - } else if (strncmp("ndots:", word, 6) == 0) { + if (strncmp("ndots:", word, 6) == 0) { ndots = strtol(word + 6, &p, 10); if (*p != '\0') /* Bad string. */ return (LWRES_R_FAILURE); @@ -509,14 +406,10 @@ lwres_conf_parse(lwres_conf_t *confdata, const char *filename) { rval = LWRES_R_SUCCESS; else if (strcmp(word, "nameserver") == 0) rval = lwres_conf_parsenameserver(confdata, fp); - else if (strcmp(word, "lwserver") == 0) - rval = lwres_conf_parselwserver(confdata, fp); else if (strcmp(word, "domain") == 0) rval = lwres_conf_parsedomain(confdata, fp); else if (strcmp(word, "search") == 0) rval = lwres_conf_parsesearch(confdata, fp); - else if (strcmp(word, "sortlist") == 0) - rval = lwres_conf_parsesortlist(confdata, fp); else if (strcmp(word, "options") == 0) rval = lwres_conf_parseoption(confdata, fp); else { -- In my defence, I have been left unsupervised.