Mercurial > hg > dhcpcd
changeset 2576:c8af3fcd5905 draft
We should use NBBY rather than a magic 8.
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Sat, 05 Jul 2014 19:47:22 +0000 |
| parents | 8221eeb2d306 |
| children | 87aeca01a829 |
| files | dhcp.c dhcp6.c if-options.h ipv4.c |
| diffstat | 4 files changed, 19 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/dhcp.c Sat Jul 05 15:40:01 2014 +0000 +++ b/dhcp.c Sat Jul 05 19:47:22 2014 +0000 @@ -294,7 +294,7 @@ errno = EINVAL; return -1; } - ocets = (cidr + 7) / 8; + ocets = (cidr + 7) / NBBY; if (!out) { p += 4 + ocets; bytes += ((4 * 4) * 2) + 4; @@ -365,7 +365,7 @@ } TAILQ_INSERT_TAIL(routes, rt, next); - ocets = (cidr + 7) / 8; + ocets = (cidr + 7) / NBBY; /* If we have ocets then we have a destination and netmask */ if (ocets > 0) { memcpy(&rt->dest.s_addr, p, ocets);
--- a/dhcp6.c Sat Jul 05 15:40:01 2014 +0000 +++ b/dhcp6.c Sat Jul 05 19:47:22 2014 +0000 @@ -546,8 +546,8 @@ if (sla) len += sizeof(*o) + 1 + ((sla->prefix_len - - ap->prefix_len - 1) / 8) + - 1; + ap->prefix_len - 1) / NBBY) + + 1; } } else if (!(ifo->options & DHCPCD_PFXDLGONLY)) @@ -713,16 +713,16 @@ uint8_t *pp; el = ((sla->prefix_len - - ap->prefix_len - 1) / 8) + 1; + ap->prefix_len - 1) / NBBY) + 1; eo = D6_NEXT_OPTION(so); eo->code = htons(D6_OPTION_PD_EXCLUDE); eo->len = el + 1; p = D6_OPTION_DATA(eo); *p++ = (uint8_t)sla->prefix_len; pp = addr.s6_addr; - pp += (ap->prefix_len - 1) / 8; - u8 = ap->prefix_len % 8; - if (u8 % 8 == 0) + pp += (ap->prefix_len - 1) / NBBY; + u8 = ap->prefix_len % NBBY; + if (u8 % NBBY == 0) pp++; else { *p = (uint8_t)(*pp++ << u8); @@ -1752,7 +1752,7 @@ if (ex) { off = ntohs(ex->len); if (off < 2) { - syslog(LOG_ERR, "%s: trunaced PD Exclude", + syslog(LOG_ERR, "%s: truncated PD Exclude", ifp->name); ex = NULL; }
--- a/if-options.h Sat Jul 05 15:40:01 2014 +0000 +++ b/if-options.h Sat Jul 05 19:47:22 2014 +0000 @@ -28,6 +28,7 @@ #ifndef IF_OPTIONS_H #define IF_OPTIONS_H +#include <sys/param.h> #include <sys/socket.h> #include <net/if.h> #include <netinet/in.h> @@ -134,13 +135,13 @@ struct if_options { uint8_t iaid[4]; int metric; - uint8_t requestmask[256 / 8]; - uint8_t requiremask[256 / 8]; - uint8_t nomask[256 / 8]; - uint8_t requestmask6[(UINT16_MAX + 1) / 8]; - uint8_t requiremask6[(UINT16_MAX + 1) / 8]; - uint8_t nomask6[(UINT16_MAX + 1) / 8]; - uint8_t dstmask[256 / 8]; + uint8_t requestmask[256 / NBBY]; + uint8_t requiremask[256 / NBBY]; + uint8_t nomask[256 / NBBY]; + uint8_t requestmask6[(UINT16_MAX + 1) / NBBY]; + uint8_t requiremask6[(UINT16_MAX + 1) / NBBY]; + uint8_t nomask6[(UINT16_MAX + 1) / NBBY]; + uint8_t dstmask[256 / NBBY]; uint32_t leasetime; time_t timeout; time_t reboot;
--- a/ipv4.c Sat Jul 05 15:40:01 2014 +0000 +++ b/ipv4.c Sat Jul 05 19:47:22 2014 +0000 @@ -82,13 +82,13 @@ errno = EINVAL; return -1; } - ocets = (cidr + 7) / 8; + ocets = (cidr + 7) / NBBY; addr->s_addr = 0; if (ocets > 0) { memset(&addr->s_addr, 255, (size_t)ocets - 1); memset((unsigned char *)&addr->s_addr + (ocets - 1), - (256 - (1 << (32 - cidr) % 8)), 1); + (256 - (1 << (32 - cidr) % NBBY)), 1); } return 0;
