summaryrefslogtreecommitdiff
path: root/net-nds
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-04-25 19:12:18 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-04-25 19:12:18 +0000
commit084f58a92a8c19bc67dc624bcef1059cf4ddaaef (patch)
tree8afc97e93b5181db451e014a54aafffdd1c537e6 /net-nds
parenta43502817a72a3c88571f94b178b64e1a21634da (diff)
downloadbaldeagleos-repo-084f58a92a8c19bc67dc624bcef1059cf4ddaaef.tar.gz
baldeagleos-repo-084f58a92a8c19bc67dc624bcef1059cf4ddaaef.tar.xz
baldeagleos-repo-084f58a92a8c19bc67dc624bcef1059cf4ddaaef.zip
Adding metadata
Diffstat (limited to 'net-nds')
-rw-r--r--net-nds/gssproxy/files/gssproxy-0.9.2-c23.patch106
-rw-r--r--net-nds/gssproxy/gssproxy-0.9.2-r1.ebuild117
2 files changed, 223 insertions, 0 deletions
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
+}