On Fri, Aug 26, 2022 at 01:48:55PM +0200, Theo Buehler wrote:
> It occurred to me right after committing the previous change that it is
> doing the same thing as valid_uri(). Calling it is simpler and the
> additional "/." check won't hurt.

This is indeed OK.  What worries me a bit is that the skiplist is a list
of FQDN nor URI. So using valid_uri() is a bit strange.
 
> Index: main.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/rpki-client/main.c,v
> retrieving revision 1.212
> diff -u -p -r1.212 main.c
> --- main.c    26 Aug 2022 11:04:13 -0000      1.212
> +++ main.c    26 Aug 2022 11:47:47 -0000
> @@ -674,7 +674,7 @@ load_skiplist(const char *slf)
>       struct skiplistentry    *sle;
>       FILE                    *fp;
>       char                    *line = NULL;
> -     size_t                   linesize = 0, linelen, s;
> +     size_t                   linesize = 0, linelen;
>  
>       if ((fp = fopen(slf, "r")) == NULL) {
>               if (errno == ENOENT && strcmp(slf, DEFAULT_SKIPLIST_FILE) == 0)
> @@ -697,10 +697,8 @@ load_skiplist(const char *slf)
>               linelen = strcspn(line, " #\r\n\t");
>               line[linelen] = '\0';
>  
> -             for (s = 0; s < linelen; s++)
> -                     if (!isalnum((unsigned char)line[s]) &&
> -                         !ispunct((unsigned char)line[s]))
> -                             errx(1, "invalid entry in skiplist: %s", line);
> +             if (!valid_uri(line, linelen, NULL))
> +                     errx(1, "invalid entry in skiplist: %s", line);
>  
>               if ((sle = malloc(sizeof(struct skiplistentry))) == NULL)
>                       err(1, NULL);
> 

-- 
:wq Claudio

Reply via email to