summaryrefslogtreecommitdiff
path: root/net-misc/dhcpcd
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-12-28 07:37:55 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-12-28 07:37:55 +0000
commitd46d1d3a5897cade51811b3848c7bf27969da625 (patch)
tree0dabb04db53e3fe66abe43df0a3cdff5d3b664db /net-misc/dhcpcd
parente67d5b4ba05349b3bf4229d0cf7d069809c4420e (diff)
gentoo auto-resync : 28:12:2023 - 07:37:55
Diffstat (limited to 'net-misc/dhcpcd')
-rw-r--r--net-misc/dhcpcd/Manifest5
-rw-r--r--net-misc/dhcpcd/dhcpcd-10.0.5.ebuild154
-rw-r--r--net-misc/dhcpcd/dhcpcd-10.0.6-r1.ebuild (renamed from net-misc/dhcpcd/dhcpcd-10.0.4.ebuild)15
-rw-r--r--net-misc/dhcpcd/files/dhcpcd-10.0.6-rebinding.patch46
4 files changed, 63 insertions, 157 deletions
diff --git a/net-misc/dhcpcd/Manifest b/net-misc/dhcpcd/Manifest
index db8aaabd5924..23afba8fb284 100644
--- a/net-misc/dhcpcd/Manifest
+++ b/net-misc/dhcpcd/Manifest
@@ -4,17 +4,16 @@ AUX 10.0.5/0003-control-abort-control-recv-path-hangup.patch 2592 BLAKE2B 483219
AUX 10.0.5/0004-dhcpcd-remove-stdio-callback-detach-daemonize.patch 8772 BLAKE2B ec0c000fe60582dc9d7f2b7d2686dd84eb740d92bd44d1da3af4bca67b0db3f0dd548f4b8a1f3ad5dd4413276267084e7d0da1c181b7fda39dd667e3cd3df2c5 SHA512 e76e37c08a854d4d99bfcbb468aa8b9e83a220812c937e32dca5e6ba66d3aa147bc3f3da25d64b8bafdf1fdbf7fc5c9a46ad336a812e0bac65165bf3435e7471
AUX 10.0.5/0005-fix-privsep-builds-for-prior.patch 589 BLAKE2B 951aa4e4ad7f441c958a4ebe9341616a5041b99cd68f669a6e4bfab6882de7f55a7fafa9a7c75295e77ef38fd823ba44ee8385bc0920e383b515ac7bc89562da SHA512 275337e99543eadeeb8804e1a8f5ec8ccbef9e922a3a25536c3cd69ca0a60cacdda26bbf8103adab46fafd0e2f6e9a6b75dcbec3b6146823ad611b6c9614914c
AUX 10.0.5/0006-fix-unused-var-warning.patch 1148 BLAKE2B 2f4a800e55aec46d834777649357a0e4137261d0b7ca342d53b08fdfde69ffe7654478978145c6400feb82f9d1a05598319ccb6e5421da94155829512315fcba SHA512 e8a0874f5a216e101a3adb9f56c12b798263a300f13a9b34ff3ce9b6276f43dc50f39d59977f38ea9abcaa24c49753add19add10589fe185f85dde8451820287
+AUX dhcpcd-10.0.6-rebinding.patch 1351 BLAKE2B 5bf20cc11f82082b9aed01279c2071d948cb4308e935289b2ff7022cd146b4e600cd35dfe63d08006311769b1816cbadb0fcfe7cecaecec64d25fc1f0ddc450f SHA512 c657af1001ea7dbfcd3a6c502667cda3eb164ee532e2083976ab5a46cdc4ab0a0812fd828f0bb98dd6bf326ecdaa3ef16f4d545580c59c63f8aad0e893651427
AUX dhcpcd.initd-r1 339 BLAKE2B f5c8574545d211918cba49b0e0caf22b6dd0630d3e8627e8fc4c40dc4415fd70c83889b631606085ecf87f925a7a199cd5712178a2c90186c6b8ac4f792b0789 SHA512 cd186e4c0733fcd9c333bf7c813a879c38c962bcf6a3288577f6b1632312b10f69ac68ca413c32106559d9e53fa05de78410cba677247b52bcbcf3b35024974f
AUX dhcpcd.service-r1 308 BLAKE2B 558789adc2b67ee9d13b8213c9729f23dc691d3da8e96d93283c6c1fcf3733b17036df2a736166414a4a4738ca2a41f11b498326f18dace02e3b77945f7d8f23 SHA512 992b6f3c69b982f1dc01098dbecdee1ee2dc12e59646d13648f378a2e628cc612b65ee15a1373e3cacf7e712c6a6708c6824a9396b53e8ed8b0b3179f5267041
DIST dhcpcd-10.0.3.tar.xz 268872 BLAKE2B c063fbb44b4a6928ffd84c109c1ed8ae0345c81b732fc75ce1c1aebc51c190fa512de9822c1c6865794db126f4ad2aceef97c4da28d6922cca082b1aeedb4760 SHA512 f4437e9aa094ab38f077c455b012f46cc84a39f97a19eae896a0954f24f2064e91407dc7f7be7fae00faf3455a8e50695e94c406f476f88a61b980169a778560
-DIST dhcpcd-10.0.4.tar.xz 269212 BLAKE2B 770ee398eccff20cd4a37f89b841f8d580d9a42b456d93673ab3bf6ddf1ed0e49feda47ea8c1206a8a8582bccde80f45c3efbf2e1d0e493b06f04e2c6df876af SHA512 8af26c4a42ce63e9cae72de68774807b8739aabd19cc2a0260148f3baa25c587bf34a5a0b80239b54d8ab9b79661744e61b0e316d2c510c4da65615268d3e8cf
DIST dhcpcd-10.0.5.tar.xz 269696 BLAKE2B 52435e2afa4fa5563b629af3f69b149b87de75097d20819423429741e8f2d16df136409180c509ff08b28fd060ad74da4d73057556349b8041c716dbeb7dbcc3 SHA512 f8213eee93e83c174ce5d2487364400fe07b39bb0f052d072518e12f7189136704f65e1f4467432b477f195d64eebe6ca167aec160aed1575ea9ef551b43eb43
DIST dhcpcd-10.0.6.tar.xz 269392 BLAKE2B 4afd08cf7377b2262d33bf3f7ac503e081572a7c1ffd53b285842a92d99d88fae44e7e6384134bbe1eb839001f822fa7fb43718c42f9e8e6d11a05ec66fa2fc6 SHA512 403d612080c6f1397003dc6a16f59bb5d1d3d3479e3656c598acde4c4aafe1cfa374725c5ae3dddb4972c0f23ffd55d04c3703b97bed5b7060855b61b7738004
DIST dhcpcd-9.5.1.tar.xz 258280 BLAKE2B 355a98d415253608e8f586809d41e7654c1973d956cb3951218e1ff8c928ee414aa1b9854180c78e975898d9eb0f4cb9cc0fe64eefd5690b371989093e1bcb5a SHA512 979c180743d3e01d1996033d42c5606792e3acaef4e600f0ea51c362643a5b2743c6dc2792314c3b66edfa99c3b98d17f46cf3421e2088b37804e6e2167037ee
EBUILD dhcpcd-10.0.3.ebuild 4649 BLAKE2B e00e857c44168096c3530004d32bb62250681d686b17954b46bd6993f32ca963d4369ae79ee9d15afc90c53b9e1d7c3f71b2a819278c44e12b59d1cb08a8affb SHA512 3596770f90d6b49b1c677538cbe1b34b482a886a322050f664d90ec6851b839b3294a57144d8e7c1f93530db3e4120b95d11ded5c568162c6ac0510ec9dcbfdf
-EBUILD dhcpcd-10.0.4.ebuild 4657 BLAKE2B d4ff3321b12fef8beb4242a119134c77e073bf380e65b61e632fb271844fce0a3dd693977c2f5798adadbb78c6c8c0cd1743f44214fec51f3908e033f7926cab SHA512 b279bd58bcf9ddd41c208354a62a53b75f8a95d5978db85d4ef03a09bd9b2e98261a7b16cb37883df8536ff05c2a205a8459dcce7f8fe82dc148c539b2cd1093
EBUILD dhcpcd-10.0.5-r1.ebuild 4684 BLAKE2B a9f60400d1d3be191f47de793f49413d4d24fbeedd8e637d2a3beedfeaed5a123740323ba438319369845ca78b2771fe366e9f4edaa576716262d68064b76d99 SHA512 166a9f1999e7611a3bf39085a2499c9596e33d9cd35d09c1d1a94fbd5cf0770f994814e315ae2417e7469dd91b8a5c13abde2f12b03d77c909491b653fc95b13
-EBUILD dhcpcd-10.0.5.ebuild 4657 BLAKE2B d4ff3321b12fef8beb4242a119134c77e073bf380e65b61e632fb271844fce0a3dd693977c2f5798adadbb78c6c8c0cd1743f44214fec51f3908e033f7926cab SHA512 b279bd58bcf9ddd41c208354a62a53b75f8a95d5978db85d4ef03a09bd9b2e98261a7b16cb37883df8536ff05c2a205a8459dcce7f8fe82dc148c539b2cd1093
+EBUILD dhcpcd-10.0.6-r1.ebuild 4882 BLAKE2B 36127251e8a47210c44ff05bf9d235f32bf827d3263c3dd9744cd73b84f014ce2378c27a54e04774a173910834e569a75bbc3033109ff5a86fc47d0987e11379 SHA512 0ab02a06d2ac50cd79071ce1ad1c0c0f76e3e3abb5a57ded03dc8a1b8a5e7fb6122aa989ef0643937fed8ecb25c2d722ed2d1a04c2eb11765a79aa6ba9e0a216
EBUILD dhcpcd-10.0.6.ebuild 4825 BLAKE2B 770a30abb6aa31c7c980f9ae97f53ee6390e9aa2f147c2290daf1e3b0202e7ad9c366fbf389e464b0766e8d1a42ecfc643c0e11ad55490d587f039c0def60f56 SHA512 ea7aaa97d18efecb1abbb2ad4b969138e5b4c0b46b772d1c2b5ecc9a8ae844fd320831b9a7eadd03178daa70324a23e3e6f73a3cb36929364776a5f62ee75939
EBUILD dhcpcd-9.5.1.ebuild 4610 BLAKE2B e74ed2bcac66ce60354b6a1d5fe606b91c87057db2e23dd31fd1035aa5ab05042053c62d04b406c5ff9c1b96a2e196a60a8df699c7755319ca50a58f627e684e SHA512 88976827203f49c28d45cb0dfd65b1f71e881e53c617e3cc131f6886197cfcc50dfaa6d0d1a2e6e678e12f9964aa50f70d102475bcbcc9431e6d5f4c98c5120b
EBUILD dhcpcd-9999.ebuild 4825 BLAKE2B 770a30abb6aa31c7c980f9ae97f53ee6390e9aa2f147c2290daf1e3b0202e7ad9c366fbf389e464b0766e8d1a42ecfc643c0e11ad55490d587f039c0def60f56 SHA512 ea7aaa97d18efecb1abbb2ad4b969138e5b4c0b46b772d1c2b5ecc9a8ae844fd320831b9a7eadd03178daa70324a23e3e6f73a3cb36929364776a5f62ee75939
diff --git a/net-misc/dhcpcd/dhcpcd-10.0.5.ebuild b/net-misc/dhcpcd/dhcpcd-10.0.5.ebuild
deleted file mode 100644
index a320e843768a..000000000000
--- a/net-misc/dhcpcd/dhcpcd-10.0.5.ebuild
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit systemd toolchain-funcs
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/NetworkConfiguration/dhcpcd.git"
-else
- MY_P="${P/_alpha/-alpha}"
- MY_P="${MY_P/_beta/-beta}"
- MY_P="${MY_P/_rc/-rc}"
- SRC_URI="https://github.com/NetworkConfiguration/dhcpcd/releases/download/v${PV}/${MY_P}.tar.xz"
- S="${WORKDIR}/${MY_P}"
-
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-fi
-
-DESCRIPTION="A fully featured, yet light weight RFC2131 compliant DHCP client"
-HOMEPAGE="https://github.com/NetworkConfiguration/dhcpcd/ https://roy.marples.name/projects/dhcpcd/"
-
-LICENSE="BSD-2 BSD ISC MIT"
-SLOT="0"
-IUSE="debug +embedded ipv6 privsep +udev"
-
-DEPEND="udev? ( virtual/udev )"
-RDEPEND="
- ${DEPEND}
- privsep? (
- acct-group/dhcpcd
- acct-user/dhcpcd
- )
-"
-
-src_configure() {
- local myeconfargs=(
- --dbdir="${EPREFIX}/var/lib/dhcpcd"
- --libexecdir="${EPREFIX}/lib/dhcpcd"
- --localstatedir="${EPREFIX}/var"
- --prefix="${EPREFIX}"
- --with-hook=ntp.conf
- $(use_enable debug)
- $(use_enable embedded)
- $(use_enable ipv6)
- $(use_enable privsep)
- $(usex elibc_glibc '--with-hook=yp.conf' '')
- --rundir=$(usex kernel_linux "${EPREFIX}/run/dhcpcd" "${EPREFIX}/var/run/dhcpcd")
- $(usex privsep '--privsepuser=dhcpcd' '')
- $(usex udev '' '--without-dev --without-udev')
- CC="$(tc-getCC)"
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- keepdir /var/lib/dhcpcd
- newinitd "${FILESDIR}"/dhcpcd.initd-r1 dhcpcd
- systemd_newunit "${FILESDIR}"/dhcpcd.service-r1 dhcpcd.service
-}
-
-pkg_postinst() {
- local dbdir="${EROOT}"/var/lib/dhcpcd old_files=()
-
- local old_old_duid="${EROOT}"/var/lib/dhcpcd/dhcpcd.duid
- local old_duid="${EROOT}"/etc/dhcpcd.duid
- local new_duid="${dbdir}"/duid
- if [[ -e "${old_old_duid}" ]] ; then
- # Upgrade the duid file to the new format if needed
- if ! grep -q '..:..:..:..:..:..' "${old_old_duid}"; then
- sed -i -e 's/\(..\)/\1:/g; s/:$//g' "${old_old_duid}"
- fi
-
- # Move the duid to /etc, a more sensible location
- if [[ ! -e "${old_duid}" ]] ; then
- cp -p "${old_old_duid}" "${new_duid}"
- fi
- old_files+=( "${old_old_duid}" )
- fi
-
- # dhcpcd-7 moves the files out of /etc
- if [[ -e "${old_duid}" ]] ; then
- if [[ ! -e "${new_duid}" ]] ; then
- cp -p "${old_duid}" "${new_duid}"
- fi
- old_files+=( "${old_duid}" )
- fi
- local old_secret="${EROOT}"/etc/dhcpcd.secret
- local new_secret="${dbdir}"/secret
- if [[ -e "${old_secret}" ]] ; then
- if [[ ! -e "${new_secret}" ]] ; then
- cp -p "${old_secret}" "${new_secret}"
- fi
- old_files+=( "${old_secret}" )
- fi
-
- # dhcpcd-7 renames some files in /var/lib/dhcpcd
- local old_rdm="${dbdir}"/dhcpcd-rdm.monotonic
- local new_rdm="${dbdir}"/rdm_monotonic
- if [[ -e "${old_rdm}" ]] ; then
- if [[ ! -e "${new_rdm}" ]] ; then
- cp -p "${old_rdm}" "${new_rdm}"
- fi
- old_files+=( "${old_rdm}" )
- fi
- local lease=
- for lease in "${dbdir}"/dhcpcd-*.lease*; do
- [[ -f "${lease}" ]] || continue
- old_files+=( "${lease}" )
- local new_lease=$(basename "${lease}" | sed -e "s/dhcpcd-//")
- [[ -e "${dbdir}/${new_lease}" ]] && continue
- cp "${lease}" "${dbdir}/${new_lease}"
- done
-
- # Warn about removing stale files
- if [[ -n "${old_files[@]}" ]] ; then
- elog
- elog "dhcpcd-7 has copied dhcpcd.duid and dhcpcd.secret from"
- elog "${EROOT}/etc to ${dbdir}"
- elog "and copied leases in ${dbdir} to new files with the dhcpcd-"
- elog "prefix dropped."
- elog
- elog "You should remove these files if you don't plan on reverting"
- elog "to an older version:"
- local old_file=
- for old_file in ${old_files[@]}; do
- elog " ${old_file}"
- done
- fi
-
- if [ -z "${REPLACING_VERSIONS}" ]; then
- elog
- elog "dhcpcd has zeroconf support active by default."
- elog "This means it will always obtain an IP address even if no"
- elog "DHCP server can be contacted, which will break any existing"
- elog "failover support you may have configured in your net configuration."
- elog "This behaviour can be controlled with the noipv4ll configuration"
- elog "file option or the -L command line switch."
- elog "See the dhcpcd and dhcpcd.conf man pages for more details."
-
- elog
- elog "Dhcpcd has duid enabled by default, and this may cause issues"
- elog "with some dhcp servers. For more information, see"
- elog "https://bugs.gentoo.org/show_bug.cgi?id=477356"
- fi
-
- if ! has_version net-dns/bind-tools; then
- elog
- elog "If you activate the lookup-hostname hook to look up your hostname"
- elog "using the dns, you need to install net-dns/bind-tools."
- fi
-}
diff --git a/net-misc/dhcpcd/dhcpcd-10.0.4.ebuild b/net-misc/dhcpcd/dhcpcd-10.0.6-r1.ebuild
index a320e843768a..b0cf48a7b84b 100644
--- a/net-misc/dhcpcd/dhcpcd-10.0.4.ebuild
+++ b/net-misc/dhcpcd/dhcpcd-10.0.6-r1.ebuild
@@ -34,6 +34,21 @@ RDEPEND="
)
"
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # These don't exist on Linux/glibc (bug #900264)
+ memset_explicit
+ memset_s
+ setproctitle
+ strtoi
+ consttime_memequal
+ SHA256_Init
+ hmac
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-10.0.6-rebinding.patch
+)
+
src_configure() {
local myeconfargs=(
--dbdir="${EPREFIX}/var/lib/dhcpcd"
diff --git a/net-misc/dhcpcd/files/dhcpcd-10.0.6-rebinding.patch b/net-misc/dhcpcd/files/dhcpcd-10.0.6-rebinding.patch
new file mode 100644
index 000000000000..6457368f1150
--- /dev/null
+++ b/net-misc/dhcpcd/files/dhcpcd-10.0.6-rebinding.patch
@@ -0,0 +1,46 @@
+https://bugs.gentoo.org/920652#c2
+https://github.com/NetworkConfiguration/dhcpcd/commit/8ab7ca1eb4e9bb797d6e6d955c83d8a82f69a663
+
+From 8ab7ca1eb4e9bb797d6e6d955c83d8a82f69a663 Mon Sep 17 00:00:00 2001
+From: Roy Marples <roy@marples.name>
+Date: Sun, 24 Dec 2023 12:07:25 +0000
+Subject: [PATCH] DHCP: DECLINE address on ARP defend failure
+
+Also, drop the lease.
+This should get us a new address from the DHCP server when we
+re-enter DISCOVER to avoid looping on the same address and fail
+again.
+---
+ src/dhcp.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/dhcp.c b/src/dhcp.c
+index 014ce6cf..a58e1db2 100644
+--- a/src/dhcp.c
++++ b/src/dhcp.c
+@@ -1944,7 +1944,11 @@ dhcp_expire(void *arg)
+ static void
+ dhcp_decline(struct interface *ifp)
+ {
++ struct dhcp_state *state = D_STATE(ifp);
+
++ // Set the expired state so we send over BPF as this could be
++ // an address defence failure.
++ state->added |= STATE_EXPIRED;
+ send_message(ifp, DHCP_DECLINE, NULL);
+ }
+ #endif
+@@ -2098,8 +2102,12 @@ static void
+ dhcp_arp_defend_failed(struct arp_state *astate)
+ {
+ struct interface *ifp = astate->iface;
++ struct dhcp_state *state = D_STATE(ifp);
+
++ if (!(ifp->options->options & (DHCPCD_INFORM | DHCPCD_STATIC)))
++ dhcp_decline(ifp);
+ dhcp_drop(ifp, "EXPIRED");
++ dhcp_unlink(ifp->ctx, state->leasefile);
+ dhcp_start1(ifp);
+ }
+ #endif
+