diff options
Diffstat (limited to 'net-dialup/ppp')
-rw-r--r-- | net-dialup/ppp/Manifest | 2 | ||||
-rw-r--r-- | net-dialup/ppp/files/ppp-2.5.0-passwordfd-read-early.patch | 97 | ||||
-rw-r--r-- | net-dialup/ppp/ppp-2.5.0-r1.ebuild | 117 |
3 files changed, 216 insertions, 0 deletions
diff --git a/net-dialup/ppp/Manifest b/net-dialup/ppp/Manifest index 474b25a0327b..1c107e6920bd 100644 --- a/net-dialup/ppp/Manifest +++ b/net-dialup/ppp/Manifest @@ -4,11 +4,13 @@ AUX ppp-2.4.9-fix-MPPE-sstpc.patch 1008 BLAKE2B 255ac4374ef4845220c8c0709a0582fb AUX ppp-2.4.9-fix-clang-nested-functions.patch 2439 BLAKE2B 834d675ebcb4a3af7350d4206c546b89c92f914931db81e07e7997196d86dee6703260e9c603819d6fb72aec518dc5dbcc240f2a074043837d8d17356a483da3 SHA512 0d8faec40b0d3ea1a96a66bb4d96d129c7c0af14e76c222fc997c2eebeba80918a1681929a844d0d17713f124b862364ca1bf7cd70d2d7be46fb37458b3fb62d AUX ppp-2.4.9-fix-openssl-sysroot-clang.patch 377 BLAKE2B 9919669d6707394600c2b04f49dab212e220549395f34c52f641e6a87c2133eeaad00992fca5c3a9d84f60d7c17f1078aab78b8579906c93ee5cad4264a2569b SHA512 d816cbf65f1845851f8bd673fbe374987afbe6e3c0eb425455d0cc7269e96f5315caf1e38c320121650b088621c099c36f6b1c8d80ada0dbff07ab4e8151d42b AUX ppp-2.4.9-pppol2tp-ipv6.patch 1008 BLAKE2B 7c4ad1ce6ba6277c1d0fa8afa7491bdc3f0afba450c3d2ade39a9d0b555dd35e578abc5df24f7b0b011634bc020292ad6b2510ffbc8f03b1e3eabbf37cdb6e20 SHA512 071ef66e5ab9e08037100f2d6cdbdc452ea30d4a2241ef2abc2a7acc23ce21a5f90e5753a4790af5ed8e21baf976010a340ac4d4368adb8a9f5b42d52b519702 +AUX ppp-2.5.0-passwordfd-read-early.patch 2280 BLAKE2B cfc5ffd36cf521e9f7d764d896f65c04b6fe29199b7860cb12861fc5442d58fac2b38213a66b0cda98799035d3f5d68a6bfb06fad5ecb7e26423270345c7b9f9 SHA512 943194f24de3174751b220d21427d0ef78603857793a883ece79cb826ea8ff9437c395ced25d0cde794480ba7e7af200972eec07e03c6f8b0fd46a591827f64c DIST ppp-2.4.9-patches-03.tar.xz 18520 BLAKE2B b3da095672fa57727ba11a5dba761ea3f24ee330f27252f0379dab5761d5381809176faafed86d97a6b89cc8a4cb958baa07f4900e22fe6e76b6c852e0703f0c SHA512 9a035acf1915225340c12e6242f0c5db399b5f5970888d7f1799a5f125cf97b95d9fcb8c9aa2f6bd56c1544d2b10585f772d4fc1025002e3e8403011e3d2c029 DIST ppp-2.4.9.tar.gz 719904 BLAKE2B 7ba3eb8c98fec5599635dbd302399617e1075f3a1df090f1a94ce2bb8a5c7631e6eea82246adc33711aba5fe95e7ba7c982e2cbf1fb0d71e45f877d9b092ffb7 SHA512 c309f8f69f534c05547cd2f66dade0e0f198ea4c2928a7e899e660280786b3e965437a67b8c5bb81c59d0fa1818b4eb7b701d2dce015a420d380422d2bca4e1a DIST ppp-2.5.0.tar.gz 1170057 BLAKE2B 6a0e9efcbff3cb499705071cc7d0e3411cf4871fd53b2bfedbb1f2cf3ad80728eb436050cf33b78e36d473be64f15907a21da17f283337455f0af379bc18272d SHA512 094368ea2aa6c6e8dfba4443509857a7c1c7ff839bb6d6657743802477208c01e87db31593cef0932d3725c640e9c103179da6b742825034cda82bd31ddcc2ed DIST ppp-dhcpc.tgz 33497 BLAKE2B ca59130012f007cf45af6bcfa468c112b0d521c8b11f42d42c566dd9de55bd6d6f1b1ceb83cbae18cfe79cb5cb36ba6c6858a4718915acc6987295008aca53da SHA512 aeaf791b14f5a09c0e2079072a157e65132cbff46e608bc0724e6a5827a01da934f5006e2774eb7105f83e607a52cb4987238f4385cf6f5cc86cbe305a556738 DIST pppgetpass.8 450 BLAKE2B 4e9805cfecb4d07c302682c1ced42cc5d247d18fae904b909e126874af962cf48bb703cd75b0cefce4e19404f2e757602d3b57f187567fc23d4b93d9598d1486 SHA512 21f6dda908cf73ee27bfa39d2b50e7f76b371e50bd7d5a0586174b30129c119accbd260d7f9e0e6aa6aabfa5ba11a13ba560588a99672c9dd4e9f33254f88836 EBUILD ppp-2.4.9-r9.ebuild 7866 BLAKE2B e2f6012eb93f27271c775b75fa52e0d1307adee4afdcb09bf8ae78e1ddefe451bd7782c4f5412ef264366c8db4e20bb3621c4c032c1261166c70473a94552880 SHA512 a3931bedeac10a6facc0fe354eee0e26e6c237f21f9e4d69196d657d388d1624e4bf8054c670568c0ba689d859bca87a21410da08f35baf33fc12d39cfe2263e +EBUILD ppp-2.5.0-r1.ebuild 3609 BLAKE2B e82df99ebf6251ee7bb9c36742dd1af2dea33fc6c8c576957c90132cee50903bc455e717cf63b300b58a1b0cf1bb1bbd15560a698a0d70c32e73f3d3129f6770 SHA512 d70d31fb0a9de16c1056d28795e6099c14612c77ecb0854b45d70846b5d8331c66551e8a870291271f9f7114cbf920b8ec716ad7842965d4eacfdbc761e458a0 EBUILD ppp-2.5.0.ebuild 3543 BLAKE2B b91503648960cd9ab19883bf816a9bf9a635cdd92aad0c3fcf5e5cef91f3ef061a76e5bf3ccf685af051fa1ebf64615aeaa6b379200b24c94e6c0add4a82c7eb SHA512 6de778112d7924fde826cc95f5be6dbc7ff2dc3ff9326a59de83d84646fc01197c1542467e493556577f84334dc6af37a0f641d35854f99eabce2d3744adbc38 MISC metadata.xml 1002 BLAKE2B 9ce1dcb685ed4f0d6dfe2e6c885b8feca8d81fd1fea5bde44a40900d65b2f9e9a45bd03f3708d4969c51880bb7ffb791bfbc972d4ec06a3124c4215e2b66424b SHA512 cdfa0b69fab5a530b36093bc84c352da1f8acbdf3d31e2b9a4d58bde7dc7bbbce9c54000d9f874eac2ddcc803bafc89ea2a74b03cac23dca295815ece6cb2157 diff --git a/net-dialup/ppp/files/ppp-2.5.0-passwordfd-read-early.patch b/net-dialup/ppp/files/ppp-2.5.0-passwordfd-read-early.patch new file mode 100644 index 000000000000..f61e8227efe2 --- /dev/null +++ b/net-dialup/ppp/files/ppp-2.5.0-passwordfd-read-early.patch @@ -0,0 +1,97 @@ +From a198cd83dfba6a738a4df80abd2675b4e8ee193c Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Fri, 3 Jan 2020 17:19:09 +0100 +Subject: [PATCH] passwordfd: read early + +--- + pppd/plugins/passwordfd.c | 54 ++++++++++++++++++--------------------- + 1 file changed, 25 insertions(+), 29 deletions(-) + +diff --git a/pppd/plugins/passwordfd.c b/pppd/plugins/passwordfd.c +index c1f782e..13aec56 100644 +--- a/pppd/plugins/passwordfd.c ++++ b/pppd/plugins/passwordfd.c +@@ -24,11 +24,11 @@ + + char pppd_version[] = PPPD_VERSION; + +-static int passwdfd = -1; + static char save_passwd[MAXSECRETLEN]; + ++static int readpassword (char **); + static struct option options[] = { +- { "passwordfd", o_int, &passwdfd, ++ { "passwordfd", o_special, (void *)readpassword, + "Receive password on this file descriptor" }, + { NULL } + }; +@@ -38,43 +38,39 @@ static int pwfd_check (void) + return 1; + } + +-static int pwfd_passwd (char *user, char *passwd) ++static int readpassword(char **argv) + { +- int readgood, red; +- +- if (passwdfd == -1) +- return -1; ++ char *arg = *argv; ++ int passwdfd = -1; ++ int chunk, len; + +- if (passwd == NULL) +- return 1; +- +- if (passwdfd == -2) { +- strcpy (passwd, save_passwd); +- return 1; ++ if (sscanf(arg, "%d", &passwdfd) != 1 || passwdfd < 0) ++ { ++ error ("\"%s\" is not a valid file descriptor number", arg); ++ return 0; + } + +- readgood = 0; ++ len = 0; + do { +- red = read (passwdfd, passwd + readgood, MAXSECRETLEN - 1 - readgood); +- if (red == 0) +- break; +- if (red < 0) { +- error ("Can't read secret from fd\n"); +- readgood = -1; ++ chunk = read (passwdfd, save_passwd + len, MAXSECRETLEN - 1 - len); ++ if (chunk == 0) + break; ++ if (chunk < 0) { ++ error ("Can't read secret from fd %d", passwdfd); ++ return 0; + } +- readgood += red; +- } while (readgood < MAXSECRETLEN - 1); +- ++ len += chunk; ++ } while (len < MAXSECRETLEN - 1); ++ save_passwd[len] = 0; + close (passwdfd); + +- if (readgood < 0) +- return 0; +- +- passwd[readgood] = 0; +- strcpy (save_passwd, passwd); +- passwdfd = -2; ++ return 1; ++} + ++static int pwfd_passwd (char *user, char *passwd) ++{ ++ if (passwd != NULL) ++ strcpy (passwd, save_passwd); + return 1; + } + +-- +2.40.0 + diff --git a/net-dialup/ppp/ppp-2.5.0-r1.ebuild b/net-dialup/ppp/ppp-2.5.0-r1.ebuild new file mode 100644 index 000000000000..9e490709f159 --- /dev/null +++ b/net-dialup/ppp/ppp-2.5.0-r1.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit linux-info pam + +PATCH_TARBALL_NAME="${PN}-2.4.9-patches-03" +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 +) + +pkg_setup() { + # Avoid 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 + # Missing from upstream tarball + # https://github.com/ppp-project/ppp/pull/412 + #doman contrib/pppgetpass/pppgetpass.8 + doman "${DISTDIR}/pppgetpass.8" +} + +pkg_postinst() { + 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 + + echo + elog "pon, poff and plog scripts have been supplied for experienced users." + elog "Users needing particular scripts (ssh,rsh,etc.) should check out the" + elog "/usr/share/doc/${PF}/scripts directory." +} |