diff options
-rw-r--r-- | main/dhcpcd/APKBUILD | 21 | ||||
-rw-r--r-- | main/dhcpcd/describe_dhcp6_error_code.patch | 77 |
2 files changed, 9 insertions, 89 deletions
diff --git a/main/dhcpcd/APKBUILD b/main/dhcpcd/APKBUILD index a5cb0670b9..a5c90230d9 100644 --- a/main/dhcpcd/APKBUILD +++ b/main/dhcpcd/APKBUILD @@ -2,8 +2,8 @@ # Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=dhcpcd -pkgver=6.9.3 -pkgrel=2 +pkgver=6.9.4 +pkgrel=0 pkgdesc="RFC2131 compliant DHCP client" url="http://roy.marples.name/projects/dhcpcd/" arch="all" @@ -16,7 +16,7 @@ subpackages="$pkgname-doc" source="http://roy.marples.name/downloads/dhcpcd/$pkgname-$pkgver.tar.xz busybox-logger.patch dhcpcd.initd - describe_dhcp6_error_code.patch" + " prepare() { cd "$srcdir/$pkgname-$pkgver" @@ -47,15 +47,12 @@ package() { "$pkgdir"/etc/init.d/dhcpcd || return 1 } -md5sums="8357d023c4687d27bc6ea7964236b2a6 dhcpcd-6.9.3.tar.xz +md5sums="02f5043a415cd4b6d089631a0cd95f5b dhcpcd-6.9.4.tar.xz 231d2b03e7e93fa6cc7406889e9945e3 busybox-logger.patch -5cd5809d11b77b30f21df8418729d70b dhcpcd.initd -a748946c8d88610e696ba2706cffca6d describe_dhcp6_error_code.patch" -sha256sums="6089471ed695fa62ac8351466b96b4b6365fd14ec455a120a6524663808eae53 dhcpcd-6.9.3.tar.xz +5cd5809d11b77b30f21df8418729d70b dhcpcd.initd" +sha256sums="c3f3ff7473ef158a1e71db9aea7424df2c3477ad064e2b542f27948a5abc9ba0 dhcpcd-6.9.4.tar.xz aec6c5d7a41551ca7cd3849a53621692ee0a1a6d259892beaf448eb1f2d4af01 busybox-logger.patch -6bb9b8b0075e45e63e898ed043f3c5951dc3e95c1fa62d22cc6e0616c792ecd1 dhcpcd.initd -53b089720c73f1565e04e36be2360f91036664b0d0a4ddb702219b4df3e88bb2 describe_dhcp6_error_code.patch" -sha512sums="0a895f17fa093ac758224bfddad003ee25f81fe96331b1952264c3623018e00048603c9a3c5ba385a93441e987b1ce4cd02ec1f42e1caca2e646a6ac4781c3d9 dhcpcd-6.9.3.tar.xz +6bb9b8b0075e45e63e898ed043f3c5951dc3e95c1fa62d22cc6e0616c792ecd1 dhcpcd.initd" +sha512sums="27a185b990c8dec847c7c580aa8da11c88796877c963a3cd44d9ff60d84bad29cad4e60bf1d9487d8af0a556fe415b2f449fac9ae71b3e72991fb5d38a72151f dhcpcd-6.9.4.tar.xz 83dc7bfd36b6b416c931775bb35a0d2951ed04c421195c45bfed80a11a7adbed7c80ade1c1246847c2fb1bf15a7b6e83100f16605ee84f750440d7bc9f7f5ef3 busybox-logger.patch -6d3220155f2d9ed3e3a00afd378eeb70d435e19804201f8bb35498f1f7f3dfdaeaa2f4a01a18f5e96b457d9c173bc6a206b3e67ebf6d95da7e7b350dcd153fde dhcpcd.initd -9f108e9df6a673e618abe55d70769a43a59d97c172d4721527ced6bd549cf61995e559037f8ec05657cdf76c2dfe62ff4d050d46783cdf770a4e91831f53e50a describe_dhcp6_error_code.patch" +6d3220155f2d9ed3e3a00afd378eeb70d435e19804201f8bb35498f1f7f3dfdaeaa2f4a01a18f5e96b457d9c173bc6a206b3e67ebf6d95da7e7b350dcd153fde dhcpcd.initd" diff --git a/main/dhcpcd/describe_dhcp6_error_code.patch b/main/dhcpcd/describe_dhcp6_error_code.patch deleted file mode 100644 index cd72206c1a..0000000000 --- a/main/dhcpcd/describe_dhcp6_error_code.patch +++ /dev/null @@ -1,77 +0,0 @@ ---- ./dhcp6.c -+++ ./dhcp6.c -@@ -111,11 +111,12 @@ - "Success", - "Unspecified Failure", - "No Addresses Available", - "No Binding", - "Not On Link", -- "Use Multicast" -+ "Use Multicast", -+ "No Prefix Available" - }; - - struct dhcp6_ia_addr { - struct in6_addr addr; - uint32_t pltime; -@@ -1660,11 +1661,12 @@ - dhcp6_checkstatusok(const struct interface *ifp, - const struct dhcp6_message *m, const uint8_t *p, size_t len) - { - const struct dhcp6_option *o; - uint16_t code; -- char *status; -+ char buf[32], *sbuf; -+ const char *status; - - if (p) - o = dhcp6_findoption(D6_OPTION_STATUS_CODE, p, len); - else - o = dhcp6_getmoption(D6_OPTION_STATUS_CODE, m, len); -@@ -1686,28 +1688,29 @@ - return 1; - - len -= sizeof(code); - - if (len == 0) { -- if (code < sizeof(dhcp6_statuses) / sizeof(char *)) { -- p = (const uint8_t *)dhcp6_statuses[code]; -- len = strlen((const char *)p); -- } else -- p = NULL; -- } else -- p += sizeof(code); -+ sbuf = NULL; -+ if (code < sizeof(dhcp6_statuses) / sizeof(char *)) -+ status = dhcp6_statuses[code]; -+ else { -+ snprintf(buf, sizeof(buf), "Unknown Status (%d)", code); -+ status = buf; -+ } -+ } else { -+ if ((sbuf = malloc(len + 1)) == NULL) { -+ logger(ifp->ctx, LOG_ERR, "%s: %m", __func__); -+ return -1; -+ } -+ memcpy(sbuf, p + sizeof(code), len); -+ sbuf[len] = '\0'; -+ status = sbuf; -+ } - -- status = malloc(len + 1); -- if (status == NULL) { -- logger(ifp->ctx, LOG_ERR, "%s: %m", __func__); -- return -1; -- } -- if (p) -- memcpy(status, p, len); -- status[len] = '\0'; - logger(ifp->ctx, LOG_ERR, "%s: DHCPv6 REPLY: %s", ifp->name, status); -- free(status); -+ free(sbuf); - return -1; - } - - const struct ipv6_addr * - dhcp6_iffindaddr(const struct interface *ifp, const struct in6_addr *addr, - |