diff options
Diffstat (limited to 'net-nds/gssproxy')
-rw-r--r-- | net-nds/gssproxy/Manifest | 2 | ||||
-rw-r--r-- | net-nds/gssproxy/files/gssproxy-0.9.2-c23.patch | 106 | ||||
-rw-r--r-- | net-nds/gssproxy/gssproxy-0.9.2-r1.ebuild | 117 |
3 files changed, 225 insertions, 0 deletions
diff --git a/net-nds/gssproxy/Manifest b/net-nds/gssproxy/Manifest index 0967e2040aba..c3350b12668c 100644 --- a/net-nds/gssproxy/Manifest +++ b/net-nds/gssproxy/Manifest @@ -1,6 +1,8 @@ AUX gssproxy 371 BLAKE2B d51ab4a06138dcc4af7b1706948534bd3b0b0fe1e715085eeb910bfacab9bb9d46af132901d9ed59feaab889409f917c72527377cf233ddce928e02a287bea99 SHA512 ec7b7e6684ed93ec6a71d5c4bfef7f6a6a61b22202607064e906165e1b5a14f283476d25ef19551040b462f173352ce330a3781b20d0865d4799f087cd707c28 +AUX gssproxy-0.9.2-c23.patch 3443 BLAKE2B ecb189ef76654c673663cb62a1c89916d7dcbb0dd793fc5e618f2f59f82ec29e994d4404b1d9b86ce1dc21bbb342f887de5118d2f3d1bce323e3204b51cbcb65 SHA512 29ee79ee56d97cc6456bb857f2f9ad5ec70f0cbf01a1f2152f080e9157ed25af846e9b385f7d30576ec444cf504916d589fe66ad37adeea129fca2741c3bbb09 AUX gssproxy-0.9.2-docbook-upgrade.patch 1773 BLAKE2B dab4cf17d5d14e1b48bec64cfb94af4e5c64022c5bc0ee4f7b8fee3eacc51fc88ccec45a874e3f163d737c6ceceed9a37fbe53a339a4f51135b02ad05cfb115b SHA512 e35da02cfe5c36abd275e4ad9aa258ced8c63ba7a1b10a3334db94f6bf62c5d7d8dd55600769b0bdee1e8a2a7f277af89a6e90da6a3b801365a99c6946d0885a AUX gssproxy-0.9.2-no-git-log.patch 508 BLAKE2B d819ad3b940439961473a747e293140c391c510f85d31cabf1e3d59e2863bd5b5c52087f64c140dbec3b2dbab5e53d8c4693d95c4597f71fb87a73585fadfd67 SHA512 3b156ce84aab59bbb823e6af5e6be36bd777b3524d91410cb8a47ce223a9fef38d8a9c014c61d6b65d894a9b4e4e1272ccf6346a4a49aa84774af47e687de7f3 DIST gssproxy-0.9.2.tar.gz 586240 BLAKE2B 4480070740ce77a9ed8714bbe8cb24684292317cc61e6c13e06b368bef6d722fdefb3c5230d15773050960851382435a15a0106e5d920c74b13afbbab9ff9194 SHA512 6de484c9c1715e8b845106e1b16e1c29805e4104db296eb44ea15e6b6973fd1df0b043d2cdc2798f04c7a0ce66279e356a285684bc3573ef847532ab2b87aca3 +EBUILD gssproxy-0.9.2-r1.ebuild 3393 BLAKE2B d5e4a4d3c6642f114648c1a116135c65b8e25a8a360bb347a511e74d71817eeed8dc8c7e7249011f0e213e24312e544e84d8fb0af614cd361a663f8a2dac5949 SHA512 5d01956bc139da32fa7fd3957a7f5fbc2dcf41c3da798780dba62b253b1eb85a0903e43135c0e117cae360100193ca8d545d6260c0371c5be602da8ac28fb55e EBUILD gssproxy-0.9.2.ebuild 3360 BLAKE2B 65588d21fa2f6e1582d7e6ff9fe30e4d2a8a996c6bbf9eb9fba84b3486b6335f9048c746dbb637bfd666dc59bc349b60d6fcd268362bd74301405cbaeef81ce1 SHA512 a75a369b7353567021e2a6d05c91ae7a24ff1f1a33c72f38641f3781c3d2a87c83c9b1e6036c33218df407bf23739e820a7b1addfd1ceb2849163f23bc4d96e5 MISC metadata.xml 304 BLAKE2B 62385ec2c869cf41a61f53284d3c345fe1f26b36741777d4b161d8a522a58942d13ea155e25af7b70f726d716e7c99d628f4cdf7fdbf4dcdf82439095e634475 SHA512 13382010642d9de241dbcc1bc880dc1b3daa3f266d8b75da6ec2db9aa92011ce203e96ad55f6d04a00f0df8ae40c83aa262ac26fd4b0d1bfb66d577b94c02c8d diff --git a/net-nds/gssproxy/files/gssproxy-0.9.2-c23.patch b/net-nds/gssproxy/files/gssproxy-0.9.2-c23.patch new file mode 100644 index 000000000000..12d81aff1638 --- /dev/null +++ b/net-nds/gssproxy/files/gssproxy-0.9.2-c23.patch @@ -0,0 +1,106 @@ +https://github.com/gssapi/gssproxy/commit/91c87d24bf844875701957f01552b674cced2ca8 + +From 91c87d24bf844875701957f01552b674cced2ca8 Mon Sep 17 00:00:00 2001 +From: Simo Sorce <simo@redhat.com> +Date: Mon, 10 Feb 2025 14:55:37 -0500 +Subject: [PATCH] Change declaration of function map + +Newer compilers complain if funciton is declared w/o arguments, +so we redeclare the xdrptoc_t as xdrfn and give it proper arguments + +Signed-off-by: Simo Sorce <simo@redhat.com> +--- + rpcgen/gp_xdr.h | 4 ++++ + src/client/gpm_common.c | 8 ++++++-- + src/gp_rpc_process.c | 8 ++++++-- + 3 files changed, 16 insertions(+), 4 deletions(-) + +diff --git a/rpcgen/gp_xdr.h b/rpcgen/gp_xdr.h +index bbd747d0a..e7a476f3d 100644 +--- a/rpcgen/gp_xdr.h ++++ b/rpcgen/gp_xdr.h +@@ -5,6 +5,10 @@ + + #include "gssrpc/rpc.h" + ++/* Equivalent to xdrptoc_t but with proper arguments so that modern ++ * compilers do not complain */ ++typedef int xdrfn(XDR *, void *); ++ + #define xdr_u_quad_t gp_xdr_uint64_t + + bool_t gp_xdr_uint64_t(XDR *xdrs, uint64_t *objp); +diff --git a/src/client/gpm_common.c b/src/client/gpm_common.c +index 22a74ab48..2c0925d05 100644 +--- a/src/client/gpm_common.c ++++ b/src/client/gpm_common.c +@@ -676,6 +676,8 @@ int gpm_make_call(int proc, union gp_rpc_arg *arg, union gp_rpc_res *res) + gp_rpc_msg msg; + XDR xdr_call_ctx = {0}; + XDR xdr_reply_ctx = {0}; ++ xdrfn *arg_fn; ++ xdrfn *res_fn; + char *send_buffer = NULL; + char *recv_buffer = NULL; + uint32_t send_length; +@@ -726,7 +728,8 @@ int gpm_make_call(int proc, union gp_rpc_arg *arg, union gp_rpc_res *res) + } + + /* encode data */ +- xdrok = gpm_xdr_set[proc].arg_fn(&xdr_call_ctx, (char *)arg); ++ arg_fn = gpm_xdr_set[proc].arg_fn; ++ xdrok = arg_fn(&xdr_call_ctx, arg); + if (!xdrok) { + ret = EINVAL; + goto done; +@@ -765,7 +768,8 @@ int gpm_make_call(int proc, union gp_rpc_arg *arg, union gp_rpc_res *res) + } + + /* decode answer */ +- xdrok = gpm_xdr_set[proc].res_fn(&xdr_reply_ctx, (char *)res); ++ res_fn = gpm_xdr_set[proc].res_fn; ++ xdrok = res_fn(&xdr_reply_ctx, res); + if (!xdrok) { + ret = EINVAL; + } +diff --git a/src/gp_rpc_process.c b/src/gp_rpc_process.c +index eaffc55eb..1ac7c167f 100644 +--- a/src/gp_rpc_process.c ++++ b/src/gp_rpc_process.c +@@ -196,6 +196,7 @@ static int gp_rpc_decode_call(XDR *xdr_call_ctx, + gp_rpc_accept_status *acc, + gp_rpc_reject_status *rej) + { ++ xdrfn *arg_fn; + bool xdrok; + int ret; + +@@ -204,7 +205,8 @@ static int gp_rpc_decode_call(XDR *xdr_call_ctx, + return ret; + } + +- xdrok = gp_xdr_set[*proc].arg_fn(xdr_call_ctx, (char *)arg); ++ arg_fn = gp_xdr_set[*proc].arg_fn; ++ xdrok = arg_fn(xdr_call_ctx, arg); + if (!xdrok) { + *acc = GP_RPC_GARBAGE_ARGS; + return EINVAL; +@@ -283,6 +285,7 @@ static int gp_rpc_encode_reply(XDR *xdr_reply_ctx, + gp_rpc_accept_status acc, + gp_rpc_reject_status rej) + { ++ xdrfn *res_fn; + bool xdrok; + int ret; + +@@ -291,7 +294,8 @@ static int gp_rpc_encode_reply(XDR *xdr_reply_ctx, + return ret; + } + +- xdrok = gp_xdr_set[proc].res_fn(xdr_reply_ctx, (char *)res); ++ res_fn = gp_xdr_set[proc].res_fn; ++ xdrok = res_fn(xdr_reply_ctx, res); + + if (!xdrok) { + return gp_rpc_encode_reply_header(xdr_reply_ctx, xid, EINVAL, + diff --git a/net-nds/gssproxy/gssproxy-0.9.2-r1.ebuild b/net-nds/gssproxy/gssproxy-0.9.2-r1.ebuild new file mode 100644 index 000000000000..5c938e4ca513 --- /dev/null +++ b/net-nds/gssproxy/gssproxy-0.9.2-r1.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Daemon to proxy GSSAPI context establishment and channel handling" +HOMEPAGE="https://github.com/gssapi/gssproxy" +SRC_URI="https://github.com/gssapi/${PN}/releases/download/v${PV}/${P}.tar.gz" + +LICENSE="BSD-1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="debug selinux systemd" + +DEPEND=" + >=dev-libs/libverto-0.2.2 + >=dev-libs/ding-libs-0.6.1 + virtual/krb5 + selinux? ( sys-libs/libselinux ) +" +RDEPEND=" + ${DEPEND} + selinux? ( sec-policy/selinux-gssproxy ) +" +# We need xml stuff to build the man pages, and people really want/need +# the man pages for this package :), bug #585200 +BDEPEND=" + app-text/docbook-xml-dtd:4.5 + dev-libs/libxslt + virtual/pkgconfig +" + +# Many requirements to run tests, including running slapd as root, hence +# unfeasible. +RESTRICT="test" + +PATCHES=( + "${FILESDIR}"/${PN}-0.9.2-no-git-log.patch + "${FILESDIR}"/${P}-docbook-upgrade.patch + "${FILESDIR}"/${P}-c23.patch +) + +# pkg_setup() { +# # Here instead of flag-logic in DEPEND, since virtual/krb5 does not +# # allow to specify the openldap use flag, which heimdal doesn't +# # support. +# # Using mit-krb5 explicitly because heimdal doesn't install kerberos +# # schemata required for the tests of gss-proxy. +# if use test && ! has_version "app-crypt/mit-krb5[openldap]"; then +# eerror "Tests of this package require the kerberos schemata installed from app-crypt/mit-krb5[openldap]." +# die "Tests enabled but no app-crypt/mit-krb5[openldap] being installed." +# fi +# } + +# Was required in 0.7.0 to fix the schema- and slapd-path. Reason for +# comment: see RESTRICT comment +# src_prepare() { +# default +# # The tests look for kerberos schemata in the documentation +# # directory of krb5, however these are installed in /etc/openldap +# # and only if the openldap useflag is supplied +# sed -i \ +# -e 's#/usr/share/doc/krb5-server-ldap*#/etc/openldap/schema#' \ +# -e "s#\(subprocess.Popen..\"\)slapd#\1/usr/$(get_libdir)/openldap/slapd#" \ +# "${S}/tests/testlib.py" || die +# } + +src_prepare() { + default + + # Just for gssproxy-0.9.2-no-git-log.patch + eautoreconf +} + +src_configure() { + local myeconfargs=( + # The build assumes localstatedir is /var and takes care of + # using all the right subdirs itself. + --localstatedir="${EPREFIX}"/var + + --with-os=gentoo + --with-initscript=$(usex systemd systemd none) + $(use_with selinux) + $(use_with debug gssidebug) + + # We already set FORTIFY_SOURCE by default along with the + # other bits. But setting it on each compile line interferes + # with efforts to try e.g. FORTIFY_SOURCE=3. So, disable it, + # but there's no actual difference to the safety of the binaries + # because of Gentoo's configuration/patches to the toolchain. + --without-hardening + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + # This is a plugin module, so no need for la file. + find "${ED}"/usr -name proxymech.la -delete || die + + doinitd "${FILESDIR}"/gssproxy + insinto /etc/gssproxy + doins examples/*.conf + + keepdir /var/lib/gssproxy + keepdir /var/lib/gssproxy/clients + keepdir /var/lib/gssproxy/rcache + fperms 0700 /var/lib/gssproxy/clients + fperms 0700 /var/lib/gssproxy/rcache + + # The build installs a bunch of empty dirs, so prune them. + find "${ED}" -depth -type d -empty -delete || die +} |