code review results in KNF, and moving local variables into lowest scope
authorderaadt <deraadt@openbsd.org>
Mon, 19 Apr 2021 17:04:35 +0000 (17:04 +0000)
committerderaadt <deraadt@openbsd.org>
Mon, 19 Apr 2021 17:04:35 +0000 (17:04 +0000)
ok claudio

usr.sbin/rpki-client/encoding.c
usr.sbin/rpki-client/http.c
usr.sbin/rpki-client/ip.c
usr.sbin/rpki-client/main.c
usr.sbin/rpki-client/output-bgpd.c
usr.sbin/rpki-client/output-bird.c
usr.sbin/rpki-client/output-csv.c
usr.sbin/rpki-client/repo.c
usr.sbin/rpki-client/rrdp.c
usr.sbin/rpki-client/rsync.c
usr.sbin/rpki-client/validate.c

index 4afe794..ab8416d 100644 (file)
@@ -1,4 +1,4 @@
-/*      $OpenBSD: encoding.c,v 1.1 2021/04/01 06:43:23 claudio Exp $  */
+/*     $OpenBSD: encoding.c,v 1.2 2021/04/19 17:04:35 deraadt Exp $  */
 /*
  * Copyright (c) 2020 Claudio Jeker <claudio@openbsd.org>
  *
index 17aabc4..d500012 100644 (file)
@@ -1,4 +1,4 @@
-/*      $OpenBSD: http.c,v 1.30 2021/04/15 16:07:21 claudio Exp $  */
+/*     $OpenBSD: http.c,v 1.31 2021/04/19 17:04:35 deraadt Exp $  */
 /*
  * Copyright (c) 2020 Nils Fisher <nils_fisher@hotmail.com>
  * Copyright (c) 2020 Claudio Jeker <claudio@openbsd.org>
@@ -1156,8 +1156,6 @@ proc_http(char *bind_addr, int fd)
 {
        struct http_connection *http_conns[MAX_CONNECTIONS];
        struct pollfd pfds[MAX_CONNECTIONS + 1];
-       size_t i;
-       int active_connections;
 
        if (bind_addr != NULL) {
                struct addrinfo hints, *res;
@@ -1184,7 +1182,9 @@ proc_http(char *bind_addr, int fd)
        msgq.fd = fd;
 
        for (;;) {
-               active_connections = 0;
+               int active_connections = 0;
+               size_t i;
+
                for (i = 0; i < MAX_CONNECTIONS; i++) {
                        struct http_connection *conn = http_conns[i];
 
index 447f56c..9a7cc75 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: ip.c,v 1.16 2021/03/29 06:15:29 deraadt Exp $ */
+/*     $OpenBSD: ip.c,v 1.17 2021/04/19 17:04:35 deraadt Exp $ */
 /*
  * Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
  *
@@ -110,7 +110,6 @@ ip_addr_check_overlap(const struct cert_ip *ip, const char *fn,
        size_t   i, sz = ip->afi == AFI_IPV4 ? 4 : 16;
        int      inherit_v4 = 0, inherit_v6 = 0;
        int      has_v4 = 0, has_v6 = 0, socktype;
-       char     buf[64];
 
        /*
         * FIXME: cache this by having a flag on the cert_ip, else we're
@@ -147,6 +146,8 @@ ip_addr_check_overlap(const struct cert_ip *ip, const char *fn,
        /* Check our ranges. */
 
        for (i = 0; i < ipsz; i++) {
+               char     buf[64];
+
                if (ips[i].afi != ip->afi)
                        continue;
                if (memcmp(ips[i].max, ip->min, sz) <= 0 ||
index 618cdfe..5c862a9 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: main.c,v 1.138 2021/04/15 14:22:05 claudio Exp $ */
+/*     $OpenBSD: main.c,v 1.139 2021/04/19 17:04:35 deraadt Exp $ */
 /*
  * Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
  *
@@ -145,13 +145,14 @@ entityq_flush(struct entityq *q, struct repo *rp)
        struct entity   *p, *np;
 
        TAILQ_FOREACH_SAFE(p, q, entries, np) {
+               char *file = p->file;
+
                /*
                 * XXX fixup path here since the repo may change
                 * during load because of fallback. In that case
                 * the file path changes as well since RRDP and RSYNC
                 * can not share a common repo.
                 */
-               char *file = p->file;
                p->file = repo_filename(rp, file);
                if (p->file == NULL)
                        err(1, "can't construct repo filename");
@@ -405,6 +406,7 @@ queue_add_tal(const char *file)
                        err(1, NULL);
        } else {
                char *tmp;
+
                if (asprintf(&tmp, "%s %s", stats.talnames, file) == -1)
                        err(1, NULL);
                free(stats.talnames);
index 8b72a09..4281ecf 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: output-bgpd.c,v 1.20 2021/03/29 03:39:14 deraadt Exp $ */
+/*     $OpenBSD: output-bgpd.c,v 1.21 2021/04/19 17:04:35 deraadt Exp $ */
 /*
  * Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
  *
@@ -22,7 +22,6 @@
 int
 output_bgpd(FILE *out, struct vrp_tree *vrps, struct stats *st)
 {
-       char             ipbuf[64], maxlenbuf[100];
        struct vrp      *v;
 
        if (outputheader(out, st) < 0)
@@ -32,6 +31,8 @@ output_bgpd(FILE *out, struct vrp_tree *vrps, struct stats *st)
                return -1;
 
        RB_FOREACH(v, vrp_tree, vrps) {
+               char ipbuf[64], maxlenbuf[100];
+
                ip_addr_print(&v->addr, v->afi, ipbuf, sizeof(ipbuf));
                if (v->maxlength > v->addr.prefixlen) {
                        int ret = snprintf(maxlenbuf, sizeof(maxlenbuf),
index 0d0ce3d..217f73e 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: output-bird.c,v 1.10 2020/09/12 15:46:48 claudio Exp $ */
+/*     $OpenBSD: output-bird.c,v 1.11 2021/04/19 17:04:35 deraadt Exp $ */
 /*
  * Copyright (c) 2019 Claudio Jeker <claudio@openbsd.org>
  * Copyright (c) 2020 Robert Scheck <robert@fedoraproject.org>
@@ -24,7 +24,6 @@ int
 output_bird1v4(FILE *out, struct vrp_tree *vrps, struct stats *st)
 {
        extern          const char *bird_tablename;
-       char             buf[64];
        struct vrp      *v;
 
        if (outputheader(out, st) < 0)
@@ -34,6 +33,8 @@ output_bird1v4(FILE *out, struct vrp_tree *vrps, struct stats *st)
                return -1;
 
        RB_FOREACH(v, vrp_tree, vrps) {
+               char buf[64];
+
                if (v->afi == AFI_IPV4) {
                        ip_addr_print(&v->addr, v->afi, buf, sizeof(buf));
                        if (fprintf(out, "\troa %s max %u as %u;\n", buf,
@@ -51,7 +52,6 @@ int
 output_bird1v6(FILE *out, struct vrp_tree *vrps, struct stats *st)
 {
        extern          const char *bird_tablename;
-       char             buf[64];
        struct vrp      *v;
 
        if (outputheader(out, st) < 0)
@@ -61,6 +61,8 @@ output_bird1v6(FILE *out, struct vrp_tree *vrps, struct stats *st)
                return -1;
 
        RB_FOREACH(v, vrp_tree, vrps) {
+               char buf[64];
+       
                if (v->afi == AFI_IPV6) {
                        ip_addr_print(&v->addr, v->afi, buf, sizeof(buf));
                        if (fprintf(out, "\troa %s max %u as %u;\n", buf,
@@ -78,7 +80,6 @@ int
 output_bird2(FILE *out, struct vrp_tree *vrps, struct stats *st)
 {
        extern          const char *bird_tablename;
-       char             buf[64];
        struct vrp      *v;
        time_t           now = time(NULL);
 
@@ -93,6 +94,8 @@ output_bird2(FILE *out, struct vrp_tree *vrps, struct stats *st)
                return -1;
 
        RB_FOREACH(v, vrp_tree, vrps) {
+               char buf[64];
+
                if (v->afi == AFI_IPV4) {
                        ip_addr_print(&v->addr, v->afi, buf, sizeof(buf));
                        if (fprintf(out, "\troute %s max %u as %u;\n", buf,
@@ -106,6 +109,8 @@ output_bird2(FILE *out, struct vrp_tree *vrps, struct stats *st)
                return -1;
 
        RB_FOREACH(v, vrp_tree, vrps) {
+               char buf[64];
+
                if (v->afi == AFI_IPV6) {
                        ip_addr_print(&v->addr, v->afi, buf, sizeof(buf));
                        if (fprintf(out, "\troute %s max %u as %u;\n", buf,
index be899a0..26033eb 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: output-csv.c,v 1.8 2020/09/12 15:46:48 claudio Exp $ */
+/*     $OpenBSD: output-csv.c,v 1.9 2021/04/19 17:04:35 deraadt Exp $ */
 /*
  * Copyright (c) 2019 Claudio Jeker <claudio@openbsd.org>
  *
 int
 output_csv(FILE *out, struct vrp_tree *vrps, struct stats *st)
 {
-       char             buf[64];
        struct vrp      *v;
 
        if (fprintf(out, "ASN,IP Prefix,Max Length,Trust Anchor\n") < 0)
                return -1;
 
        RB_FOREACH(v, vrp_tree, vrps) {
+               char buf[64];
+
                ip_addr_print(&v->addr, v->afi, buf, sizeof(buf));
                if (fprintf(out, "AS%u,%s,%u,%s\n", v->asid, buf, v->maxlength,
                    v->tal) < 0)
index 981dfab..8f40e49 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: repo.c,v 1.5 2021/04/13 13:35:59 claudio Exp $ */
+/*     $OpenBSD: repo.c,v 1.6 2021/04/19 17:04:35 deraadt Exp $ */
 /*
  * Copyright (c) 2021 Claudio Jeker <claudio@openbsd.org>
  * Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
@@ -326,8 +326,6 @@ rrdp_state_filename(const struct rrdprepo *rr, int temp)
 static void
 ta_fetch(struct tarepo *tr)
 {
-       int fd;
-
        logx("ta/%s: pulling from %s", tr->descr, tr->uri[tr->uriidx]);
 
        if (strncasecmp(tr->uri[tr->uriidx], "rsync://", 8) == 0) {
@@ -337,6 +335,8 @@ ta_fetch(struct tarepo *tr)
                 */
                rsync_fetch(tr->id, tr->uri[tr->uriidx], tr->basedir);
        } else {
+               int fd;
+
                tr->temp = ta_filename(tr, 1);
                fd = mkostemp(tr->temp, O_CLOEXEC);
                if (fd == -1) {
@@ -1151,14 +1151,10 @@ repo_cleanup(struct filepath_tree *tree)
 {
        size_t i, delsz = 0, dirsz = 0;
        char **del = NULL, **dir = NULL;
-       char *argv[4];
+       char *argv[4] = { "ta", "rsync", "rrdp", NULL };
        FTS *fts;
        FTSENT *e;
 
-       argv[0] = "ta";
-       argv[1] = "rsync";
-       argv[2] = "rrdp";
-       argv[3] = NULL;
        if ((fts = fts_open(argv, FTS_PHYSICAL | FTS_NOSTAT, NULL)) == NULL)
                err(1, "fts_open");
        errno = 0;
index 4ac925c..d6dacce 100644 (file)
@@ -1,4 +1,4 @@
-/*      $OpenBSD: rrdp.c,v 1.5 2021/04/15 13:31:30 claudio Exp $ */
+/*     $OpenBSD: rrdp.c,v 1.6 2021/04/19 17:04:35 deraadt Exp $ */
 /*
  * Copyright (c) 2020 Nils Fisher <nils_fisher@hotmail.com>
  * Copyright (c) 2021 Claudio Jeker <claudio@openbsd.org>
index 6bb1041..d2eb4c2 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: rsync.c,v 1.23 2021/04/01 11:04:30 job Exp $ */
+/*     $OpenBSD: rsync.c,v 1.24 2021/04/19 17:04:35 deraadt Exp $ */
 /*
  * Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
  *
@@ -116,17 +116,10 @@ proc_child(int signal)
 void
 proc_rsync(char *prog, char *bind_addr, int fd)
 {
-       size_t                   id, i, idsz = 0;
-       ssize_t                  ssz;
-       char                    *uri = NULL, *dst = NULL, *path, *save, *cmd;
-       const char              *pp;
-       pid_t                    pid;
-       char                    *args[32];
-       int                      st, rc = 0;
-       struct stat              stt;
+       size_t                   i, idsz = 0;
+       int                      rc = 0;
        struct pollfd            pfd;
        struct msgbuf            msgq;
-       struct ibuf             *b;
        sigset_t                 mask, oldmask;
        struct rsyncproc        *ids = NULL;
 
@@ -143,6 +136,10 @@ proc_rsync(char *prog, char *bind_addr, int fd)
         */
 
        if (strchr(prog, '/') == NULL) {
+               const char *pp;
+               char *save, *cmd, *path;
+               struct stat stt;
+
                if (getenv("PATH") == NULL)
                        errx(1, "PATH is unset");
                if ((path = strdup(getenv("PATH"))) == NULL)
@@ -180,6 +177,12 @@ proc_rsync(char *prog, char *bind_addr, int fd)
                err(1, NULL);
 
        for (;;) {
+               char *uri = NULL, *dst = NULL;
+               ssize_t ssz;
+               size_t id;
+               pid_t pid;
+               int st;
+
                pfd.events = POLLIN;
                if (msgq.queued)
                        pfd.events |= POLLOUT;
@@ -196,6 +199,7 @@ proc_rsync(char *prog, char *bind_addr, int fd)
                         */
 
                        while ((pid = waitpid(WAIT_ANY, &st, WNOHANG)) > 0) {
+                               struct ibuf *b;
                                int ok = 1;
 
                                for (i = 0; i < idsz; i++)
@@ -265,6 +269,8 @@ proc_rsync(char *prog, char *bind_addr, int fd)
                        err(1, "fork");
 
                if (pid == 0) {
+                       char *args[32];
+
                        if (pledge("stdio exec", NULL) == -1)
                                err(1, "pledge");
                        i = 0;
@@ -280,6 +286,7 @@ proc_rsync(char *prog, char *bind_addr, int fd)
                        args[i++] = uri;
                        args[i++] = dst;
                        args[i] = NULL;
+                       /* XXX args overflow not prevented */
                        execvp(args[0], args);
                        err(1, "%s: execvp", prog);
                }
index 3470884..8c3d280 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: validate.c,v 1.13 2021/03/05 17:15:19 claudio Exp $ */
+/*     $OpenBSD: validate.c,v 1.14 2021/04/19 17:04:35 deraadt Exp $ */
 /*
  * Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
  *
@@ -53,8 +53,7 @@ valid_as(struct auth *a, uint32_t min, uint32_t max)
 
        /* Does this certificate cover our AS number? */
        if (a->cert->asz) {
-               c = as_check_covered(min, max,
-                   a->cert->as, a->cert->asz);
+               c = as_check_covered(min, max, a->cert->as, a->cert->asz);
                if (c > 0)
                        return 1;
                else if (c < 0)
@@ -81,8 +80,7 @@ valid_ip(struct auth *a, enum afi afi,
                return 0;
 
        /* Does this certificate cover our IP prefix? */
-       c = ip_addr_check_covered(afi, min, max,
-           a->cert->ips, a->cert->ipsz);
+       c = ip_addr_check_covered(afi, min, max, a->cert->ips, a->cert->ipsz);
        if (c > 0)
                return 1;
        else if (c < 0)