Index | Thread | Search

From:
Florian Obser <florian@openbsd.org>
Subject:
dig(1): remove a bunch of unused stuff from resolv.conf parser
To:
tech <tech@openbsd.org>
Date:
Sun, 11 Aug 2024 18:05:05 +0200

Download raw body.

Thread
  • Florian Obser:

    dig(1): remove a bunch of unused stuff from resolv.conf parser

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.