]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
dhcpcd: Don't report DUID or IAID in anonymous.
authorRoy Marples <roy@marples.name>
Wed, 15 Jan 2020 16:24:37 +0000 (16:24 +0000)
committerRoy Marples <roy@marples.name>
Wed, 15 Jan 2020 16:24:37 +0000 (16:24 +0000)
It just confuses things.

src/dhcpcd.c

index 6e00d5dfd3dafdd081e6f1c1ab8cb6d16516471d..1796e5c9662ce607d52a8ca3d73d2ae4a08927db 100644 (file)
@@ -792,6 +792,8 @@ warn_iaid_conflict(struct interface *ifp, uint16_t ia_type, uint8_t *iaid)
        TAILQ_FOREACH(ifn, ifp->ctx->ifaces, next) {
                if (ifn == ifp || !ifn->active)
                        continue;
+               if (ifn->options->options & DHCPCD_ANONYMOUS)
+                       continue;
                if (ia_type == 0 &&
                    memcmp(ifn->options->iaid, iaid,
                    sizeof(ifn->options->iaid)) == 0)
@@ -847,7 +849,14 @@ dhcpcd_startinterface(void *arg)
                }
        }
 
-       if (ifo->options & (DHCPCD_DUID | DHCPCD_IPV6)) {
+       if (ifo->options & (DHCPCD_DUID | DHCPCD_IPV6) &&
+           !(ifo->options & DHCPCD_ANONYMOUS))
+       {
+#ifdef INET6
+               size_t i;
+               struct if_ia *ia;
+#endif
+
                /* Report client DUID */
                if (ifp->ctx->duid == NULL) {
                        if (duid_init(ifp) == 0)
@@ -857,13 +866,6 @@ dhcpcd_startinterface(void *arg)
                            ifp->ctx->duid_len,
                            buf, sizeof(buf)));
                }
-       }
-
-       if (ifo->options & (DHCPCD_DUID | DHCPCD_IPV6)) {
-#ifdef INET6
-               size_t i;
-               struct if_ia *ia;
-#endif
 
                /* Report IAIDs */
                loginfox("%s: IAID %s", ifp->name,