From: Roy Marples Date: Fri, 30 May 2014 22:08:30 +0000 (+0000) Subject: Wups, not ready for this code yet. X-Git-Tag: v6.4.0~35 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=decaba353a0eb82531431eda011a5a4f7ec6f30e;p=thirdparty%2Fdhcpcd.git Wups, not ready for this code yet. --- diff --git a/ipv6.c b/ipv6.c index e7ff9344..191e263b 100644 --- a/ipv6.c +++ b/ipv6.c @@ -379,56 +379,6 @@ ipv6_userprefix( return 0; } -int -ipv6_makestableprivate(struct in6_addr *addr, - const struct in6_addr *prefix, int prefix_len, - const unsigned char *netiface, size_t netiface_len, - const unsigned char *netid, size_t netid_len, - uint32_t dad_counter, - const char *secret, size_t secret_len) -{ - unsigned char buf[2048], digest[SHA256_DIGEST_STRING_LENGTH]; - size_t len, l; - SHA256_CTX ctx; - - if (prefix_len < 0 || prefix_len > 120) { - errno = EINVAL; - return -1; - } - - l = ROUNDUP8(prefix_len); - len = l + netiface_len + netid_len + sizeof(dad_counter) + secret_len; - if (len > sizeof(buf)) { - errno = ENOBUF; - return -1; - } - - /* Combine all parameters into one buffer */ - p = buf; - memcpy(p, prefix, l); - p += l; - memcpy(p, netiface, netiface_len); - p += netiface_len; - memcpy(p, netid, netid_len); - p += netid_len; - memcpy(p, dad_counter, sizeof(dad_counter)); - p += sizeof(dad_counter); - memcpy(p, secret, secret_len); - - /* Make an address using the prefix and the digest of the above. - * RFC7212 Section 5.1 states that we shouldn't use MD5. - * Pity as we use that for HMAC-MD5 which is still deemed OK. - * SHA-256 is recommended */ - SHA256_Init(&ctx); - SHA256_Update(&ctx, buf, len); - SHA256_Final(digest, &ctx); - - memcpy(addr->s6_addr, prefix, l); - l = 128 - l; - memcpy(addr->s6_addr + l, hash, 128 - l); - return 0; -} - #ifdef IPV6_POLLADDRFLAG void ipv6_checkaddrflags(void *arg)