diff options
author | Sam James <sam@gentoo.org> | 2023-06-12 11:50:40 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-06-12 12:15:49 +0100 |
commit | 81e2e7dd402b7cae4e2591bd07b958948b7e335b (patch) | |
tree | 4a6c6991a23dd53ff77129fae14cf7c28d66d59b /net-dialup | |
parent | dev-python/jellyfish: Backport a maturin build fix (diff) | |
download | gentoo-81e2e7dd402b7cae4e2591bd07b958948b7e335b.tar.gz gentoo-81e2e7dd402b7cae4e2591bd07b958948b7e335b.tar.bz2 gentoo-81e2e7dd402b7cae4e2591bd07b958948b7e335b.zip |
net-dialup/ppp: backport radiusclient.conf parsing fix
Closes: https://bugs.gentoo.org/908396
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-dialup')
-rw-r--r-- | net-dialup/ppp/files/ppp-2.5.0-radiusclient.conf-parsing.patch | 48 | ||||
-rw-r--r-- | net-dialup/ppp/ppp-2.5.0-r4.ebuild | 119 |
2 files changed, 167 insertions, 0 deletions
diff --git a/net-dialup/ppp/files/ppp-2.5.0-radiusclient.conf-parsing.patch b/net-dialup/ppp/files/ppp-2.5.0-radiusclient.conf-parsing.patch new file mode 100644 index 000000000000..9916f766c7af --- /dev/null +++ b/net-dialup/ppp/files/ppp-2.5.0-radiusclient.conf-parsing.patch @@ -0,0 +1,48 @@ +https://github.com/ppp-project/ppp/issues/411 +https://github.com/ppp-project/ppp/commit/7f89208b860ea0c41636410bfdb6a609b2772f47 +https://bugs.gentoo.org/908396 + +From 7f89208b860ea0c41636410bfdb6a609b2772f47 Mon Sep 17 00:00:00 2001 +From: Eivind Naess <eivnaes@yahoo.com> +Date: Sun, 23 Apr 2023 11:37:01 -0700 +Subject: [PATCH] Closes #411, Fixing up parsing in radiusclient.conf + +Adding curly braces to fix the code. + +Signed-off-by: Eivind Naess <eivnaes@yahoo.com> +--- a/pppd/plugins/radius/config.c ++++ b/pppd/plugins/radius/config.c +@@ -235,24 +235,28 @@ int rc_read_config(char *filename) + + switch (option->type) { + case OT_STR: +- if (set_option_str(filename, line, option, p) < 0) ++ if (set_option_str(filename, line, option, p) < 0) { + fclose(configfd); + return (-1); ++ } + break; + case OT_INT: +- if (set_option_int(filename, line, option, p) < 0) ++ if (set_option_int(filename, line, option, p) < 0) { + fclose(configfd); + return (-1); ++ } + break; + case OT_SRV: +- if (set_option_srv(filename, line, option, p) < 0) ++ if (set_option_srv(filename, line, option, p) < 0) { + fclose(configfd); + return (-1); ++ } + break; + case OT_AUO: +- if (set_option_auo(filename, line, option, p) < 0) ++ if (set_option_auo(filename, line, option, p) < 0) { + fclose(configfd); + return (-1); ++ } + break; + default: + fatal("rc_read_config: impossible case branch!"); + diff --git a/net-dialup/ppp/ppp-2.5.0-r4.ebuild b/net-dialup/ppp/ppp-2.5.0-r4.ebuild new file mode 100644 index 000000000000..70a453504c7b --- /dev/null +++ b/net-dialup/ppp/ppp-2.5.0-r4.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit linux-info pam tmpfiles + +DESCRIPTION="Point-to-Point Protocol (PPP)" +HOMEPAGE="https://ppp.samba.org/" +SRC_URI=" + https://download.samba.org/pub/ppp/${P}.tar.gz + https://raw.githubusercontent.com/ppp-project/ppp/${P}/contrib/pppgetpass/pppgetpass.8 +" + +LICENSE="BSD GPL-2" +SLOT="0/${PV}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="activefilter atm gtk pam systemd" + +DEPEND=" + dev-libs/openssl:0= + virtual/libcrypt:= + activefilter? ( net-libs/libpcap ) + atm? ( net-dialup/linux-atm ) + gtk? ( x11-libs/gtk+:2 ) + pam? ( sys-libs/pam ) + systemd? ( sys-apps/systemd ) +" +RDEPEND=" + ${DEPEND} + !<net-misc/netifrc-0.7.1-r2 +" +BDEPEND="virtual/pkgconfig" +PDEPEND="net-dialup/ppp-scripts" + +PATCHES=( + "${FILESDIR}"/ppp-2.5.0-passwordfd-read-early.patch + "${FILESDIR}"/ppp-2.5.0-pidfile.patch + "${FILESDIR}"/${P}-radiusclient.conf-parsing.patch +) + +pkg_setup() { + local CONFIG_CHECK="~PPP ~PPP_ASYNC ~PPP_SYNC_TTY" + local ERROR_PPP="CONFIG_PPP:\t missing PPP support (REQUIRED)" + local ERROR_PPP_ASYNC="CONFIG_PPP_ASYNC:\t missing asynchronous serial line discipline" + ERROR_PPP_ASYNC+=" (optional, but highly recommended)" + local WARNING_PPP_SYNC_TTY="CONFIG_PPP_SYNC_TTY:\t missing synchronous serial line discipline" + WARNING_PPP_SYNC_TTY+=" (optional; used by 'sync' pppd option)" + if use activefilter ; then + CONFIG_CHECK+=" ~PPP_FILTER" + local ERROR_PPP_FILTER="CONFIG_PPP_FILTER:\t missing PPP filtering support (REQUIRED)" + fi + CONFIG_CHECK+=" ~PPP_DEFLATE ~PPP_BSDCOMP ~PPP_MPPE" + local ERROR_PPP_DEFLATE="CONFIG_PPP_DEFLATE:\t missing Deflate compression (optional, but highly recommended)" + local ERROR_PPP_BSDCOMP="CONFIG_PPP_BSDCOMP:\t missing BSD-Compress compression (optional, but highly recommended)" + local WARNING_PPP_MPPE="CONFIG_PPP_MPPE:\t missing MPPE encryption (optional, mostly used by PPTP links)" + CONFIG_CHECK+=" ~PPPOE ~PACKET" + local WARNING_PPPOE="CONFIG_PPPOE:\t missing PPPoE support (optional, needed by pppoe plugin)" + local WARNING_PACKET="CONFIG_PACKET:\t missing AF_PACKET support (optional, used by pppoe plugin)" + if use atm ; then + CONFIG_CHECK+=" ~PPPOATM" + local WARNING_PPPOATM="CONFIG_PPPOATM:\t missing PPPoA support (optional, needed by pppoatm plugin)" + fi + + linux-info_pkg_setup +} + +src_configure() { + local args=( + --localstatedir="${EPREFIX}"/var + --runstatedir="${EPREFIX}"/run + $(use_enable systemd) + $(use_with atm) + $(use_with pam) + $(use_with activefilter pcap) + $(use_with gtk) + --enable-cbcp + ) + econf "${args[@]}" +} + +src_install() { + default + + find "${ED}" -name '*.la' -type f -delete || die + + if use pam; then + pamd_mimic_system ppp auth account session + fi + + insinto /etc/modprobe.d + newins "${FILESDIR}/modules.ppp" ppp.conf + + dosbin scripts/p{on,off,log} + doman scripts/pon.1 + dosym pon.1 /usr/share/man/man1/poff.1 + dosym pon.1 /usr/share/man/man1/plog.1 + + # Adding misc. specialized scripts to doc dir + dodoc -r scripts + + if use gtk ; then + dosbin contrib/pppgetpass/pppgetpass.{gtk,vt} + newsbin contrib/pppgetpass/pppgetpass.sh pppgetpass + else + newsbin contrib/pppgetpass/pppgetpass.vt pppgetpass + fi + + newtmpfiles "${FILESDIR}/pppd.tmpfiles" pppd.conf + + # Missing from upstream tarball + # https://github.com/ppp-project/ppp/pull/412 + #doman contrib/pppgetpass/pppgetpass.8 + doman "${DISTDIR}/pppgetpass.8" +} + +pkg_postinst() { + tmpfiles_process pppd.conf +} |