diff --git a/app-misc/tmuxservice/Manifest b/app-misc/tmuxservice/Manifest index 100c00a..7a44445 100644 --- a/app-misc/tmuxservice/Manifest +++ b/app-misc/tmuxservice/Manifest @@ -2,4 +2,4 @@ AUX tmux-confd 149 BLAKE2B a330772d67df5f2ee1938588c277faf7252466c6d14b65abf5f3c AUX tmux-initd 971 BLAKE2B 4b206e0b544e169cb04f9cdfcf717c47c2e56765838227c829b71eee0bc055db717a0e7e240ea8a31069b5cf1ba5a67d4e61e18561c2849839a3e4f0a97704a7 SHA512 cb2e9ecb7bfa2a49b6d30040b03a172a59cf6880ddc306de476b81b75af4d1cd0eac4a1a5fbb88b3f9e391d6a163305af414743135d6add320e815ff00365c64 AUX tmux.service 258 BLAKE2B 9b2520515c84e8fed625e00d13a26cccdbe0b7e25bd50e9464b4b024e02e63e6fc81e2cf5331c62ca7add0aa15c069333905d1d35e9e09dd9bf70d83be9e4945 SHA512 819332d56f43d2f0b6e7818d34b6e0589a27ef658bff489783538536f743cfbf7434b0e1ce4de42bf1bc280ea202d2535a29859e54c8331c3deec066d4a06a5a AUX tmux.service.conf 152 BLAKE2B d5bb66310c2d4338bea3ad9034014dc391361ef28e6f4f4282aeceab208955a5108e9f5fdf99771cdaa04322b841465f6335d66ee8e495e6c330ebcbdd5acff4 SHA512 9bfaf1c1c9f60f7a76685e75f779e34be00c1a1fc65f10713f3f8bf8fbe3e265c0c7b1b10f787b2ccfefc5a46eca0a667611f65e622995384ba0931504c25cdc -EBUILD tmuxservice-1.0.ebuild 684 BLAKE2B 98d5dde894bc3dab71bcf5a1236c8b9a9967f3221c03ad742175463deb7b343957c009271245dd73a1ded0fa75b664534cfaa833ce84b2adc739f501cdecdf37 SHA512 c0604e491224662d066d005f8c84badbea417ba7c7a50831632584de19d115ebf97aa378532ac566857ffb2ab0fb1568c0f76e536953cef95bcb3711f8e19e22 +EBUILD tmuxservice-1.0.ebuild 684 BLAKE2B 56e12b1555f17b6c80e07f2d6fa6b60d748d836239462810fab372a247fe5bf9fb934e0aa172aeda687e850dd1f133306879a04491a1cfa42df7409f3df4062f SHA512 22a6d35949cd7bbf2d97c91052d0fc7a19f50922c022d6cb07e5200c8f1c878119a43e5cd62f9015ffbc49662db0f3077f7465b25d955c140d701393750240e6 diff --git a/app-misc/tmuxservice/tmuxservice-1.0.ebuild b/app-misc/tmuxservice/tmuxservice-1.0.ebuild index 66e9f34..8e8604d 100644 --- a/app-misc/tmuxservice/tmuxservice-1.0.ebuild +++ b/app-misc/tmuxservice/tmuxservice-1.0.ebuild @@ -1,4 +1,4 @@ -EAPI="6" +EAPI="8" inherit systemd diff --git a/sys-auth/pam_ssh_agent_auth/Manifest b/sys-auth/pam_ssh_agent_auth/Manifest new file mode 100644 index 0000000..6a1ec71 --- /dev/null +++ b/sys-auth/pam_ssh_agent_auth/Manifest @@ -0,0 +1,7 @@ +AUX pam_ssh_agent_auth-0.10.4-0001-Fix-function-prototypes-in-configure.patch 1524 BLAKE2B 404fc791503e497db68b26380c2f3f00be5ef2f85853336e71743351fb5b3927fe3d1226a6eea8076b683cf48dd7ac16ce75a459f57a208deaefcd81b9560c97 SHA512 42b0047704da6cd57c0bfa2295b9a204ba61b42da6a14cbc0478cd116d0fecb7e853f3bb0cbbe08eea614456ab08d2c33127084a5bb18499eebdabf752dd400b +AUX pam_ssh_agent_auth-0.10.4-0002-Add-missing-includes-implicit-function-declarations.patch 6688 BLAKE2B a97e67fbaa7a29cfdd90d806ed81c7d16fc9adc7abc50a32a665e2aa23e7b6bffdbe028e05014b4f1fbb227275348546bec0b29ce0467727cd1ba71614b6d2e2 SHA512 a21a5f2fe0df9f732101c540f94a1738cf21b54e3a785139241413fd2b474afec9e4b081105bedb834e1faf2abbede6626dd5b76746c9100d0ae277c1fcd39d8 +AUX pam_ssh_agent_auth-0.10.4-0003-gcc-14.patch 1685 BLAKE2B 2d2c9b46a4616f2f665306bd059694c705296f42d1664c3faecb4c8f69220f547717213d0aff2636028ead484298f1040e2e6527e120eeacc27f355839e39e43 SHA512 42cd73ae1e4553ba9fa60b4df35ae01a270dc591c81c3f9bb8120f7faf042947fbb2fdd6207b15d249bdacff5e69192cea224b67c2f9ce48e6c42a7ef6b2d657 +DIST pam_ssh_agent_auth-0.10.4.tar.gz 307110 BLAKE2B dad39724db4c35ff42e28492c23ab1073baf859ecf797003509b8aa3d29c71e7fae9601d193af1def58c64f149ced07e4e050fac89ae7f42fcbce5241b99df7b SHA512 caccf72174d15e43f4c86a459ac6448682e62116557cf1e1e828955f3d1731595b238df42adec57860e7f341e92daf5d8285020bcb5018f3b8a5145aa32ee1c2 +DIST pam_ssh_agent_auth-ed25519-donna.tar.gz 1169972 BLAKE2B f44fa6c00dbb5cdfe51661cb559428bf24c9886e166366d1700d479f033b8b61621d7821d39a9949a7ef7cd6f5be16be575790a8f6fee03276c2c142f65a792a SHA512 5e8b838bc66bdb1983e62b0ae969449741a3fb223198bce26fe3a8996e324728e8ba0e5259f9ef3db613fd484db21459e98c39367f7240940bc537210c6d7f63 +EBUILD pam_ssh_agent_auth-0.10.4-r2.ebuild 1783 BLAKE2B 355236aee9ac51b57cfdd7e0117ccbd0e85b5ba856d792de3aa78ca7755c2ba0cc7772c5118f66c954664359d82ebc49b2745c6a326b76521e91fbd00ef05601 SHA512 e40b877c2f76cec448f67d4966d61706a7ca045cf0db1b32a4425cbbc5710fb0d7149651f0eaf2b2df7d385260c46c24855588f5791d7acfa22f1d5e4ebea97e +MISC metadata.xml 320 BLAKE2B 72cc0874f37540256fa619149ba61ce800f7c70f72a21fbd71fbf7ce3b3d8197a0ae41ff6dd4258e00fe7b769082ddc4506554cf4225b237720f16fbea053475 SHA512 9a9ef1797edd6aa4c647f389dfb8d94b240c4bd01c4c409086b33ba7e80eae570e84035721a8989118e58fc76f048eb84b078d2237b05b6bb33ec5ea3a3b3e62 diff --git a/sys-auth/pam_ssh_agent_auth/files/pam_ssh_agent_auth-0.10.4-0001-Fix-function-prototypes-in-configure.patch b/sys-auth/pam_ssh_agent_auth/files/pam_ssh_agent_auth-0.10.4-0001-Fix-function-prototypes-in-configure.patch new file mode 100644 index 0000000..32b7688 --- /dev/null +++ b/sys-auth/pam_ssh_agent_auth/files/pam_ssh_agent_auth-0.10.4-0001-Fix-function-prototypes-in-configure.patch @@ -0,0 +1,49 @@ +https://github.com/jbeverly/pam_ssh_agent_auth/pull/41 + +From 023579b11aa2eecfaa203dca40b2a38d69fea0f2 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Fri, 30 Sep 2022 20:51:17 +0100 +Subject: [PATCH 1/2] Fix function prototypes in configure + +This fixes building with Clang 16. + +Bug: https://bugs.gentoo.org/870721 +Signed-off-by: Sam James +--- a/configure.ac ++++ b/configure.ac +@@ -500,7 +500,7 @@ int main(void) { exit(0); } + AC_DEFINE(HAVE_BUNDLE, 1, [Define if your system uses bundles instead of ELF shared objects]) + AC_MSG_CHECKING(if we have working getaddrinfo) + AC_TRY_RUN([#include +-main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) ++int main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) + exit(0); + else + exit(1); +@@ -1467,7 +1467,7 @@ AC_MSG_CHECKING([for (overly) strict mkstemp]) + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ + #include +-main() { char template[]="conftest.mkstemp-test"; ++int main() { char template[]="conftest.mkstemp-test"; + if (mkstemp(template) == -1) + exit(1); + unlink(template); exit(0); +@@ -2598,7 +2598,7 @@ dnl test snprintf (broken on SCO w/gcc) + #include + #include + #ifdef HAVE_SNPRINTF +-main() ++int main(void) + { + char buf[50]; + char expected_out[50]; +@@ -2615,7 +2615,7 @@ main() + exit(0); + } + #else +-main() { exit(0); } ++int main(void) { exit(0); } + #endif + ]])], [ true ], [ AC_DEFINE(BROKEN_SNPRINTF) ], + AC_MSG_WARN([cross compiling: Assuming working snprintf()]) diff --git a/sys-auth/pam_ssh_agent_auth/files/pam_ssh_agent_auth-0.10.4-0002-Add-missing-includes-implicit-function-declarations.patch b/sys-auth/pam_ssh_agent_auth/files/pam_ssh_agent_auth-0.10.4-0002-Add-missing-includes-implicit-function-declarations.patch new file mode 100644 index 0000000..e5b255f --- /dev/null +++ b/sys-auth/pam_ssh_agent_auth/files/pam_ssh_agent_auth-0.10.4-0002-Add-missing-includes-implicit-function-declarations.patch @@ -0,0 +1,222 @@ +https://github.com/jbeverly/pam_ssh_agent_auth/pull/41 + +From 634711a191c1b8be6ea6eb9251ab60a8cb73c6ad Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Fri, 30 Sep 2022 20:54:45 +0100 +Subject: [PATCH 2/2] Add missing includes (implicit function declarations) + +This fixes building with Clang 16. + +Bug: https://bugs.gentoo.org/870721 +Closes: https://github.com/jbeverly/pam_ssh_agent_auth/pull/36 +Signed-off-by: Sam James +--- a/configure.ac ++++ b/configure.ac +@@ -388,6 +388,7 @@ case "$host" in + [AC_LANG_SOURCE([[ + #define testmacro foo + #define testmacro bar ++#include + int main(void) { exit(0); } + ]])], + [ AC_MSG_RESULT(yes) ], +@@ -500,6 +501,7 @@ int main(void) { exit(0); } + AC_DEFINE(HAVE_BUNDLE, 1, [Define if your system uses bundles instead of ELF shared objects]) + AC_MSG_CHECKING(if we have working getaddrinfo) + AC_TRY_RUN([#include ++#include + int main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) + exit(0); + else +@@ -918,6 +920,7 @@ AC_MSG_CHECKING(compiler and flags for sanity) + AC_RUN_IFELSE( + [AC_LANG_SOURCE([ + #include ++#include + int main(){exit(0);} + ])], + [ AC_MSG_RESULT(yes) ], +@@ -944,6 +947,7 @@ AC_CHECK_FUNCS(dirname, [AC_CHECK_HEADERS(libgen.h)] ,[ + [AC_LANG_SOURCE([[ + #include + #include ++#include + + int main(int argc, char **argv) { + char *s, buf[32]; +@@ -1102,6 +1106,7 @@ AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ + #include + #include ++#include + int main(void){struct dirent d;exit(sizeof(d.d_name)<=sizeof(char));} + ]])], + [AC_MSG_RESULT(yes)], +@@ -1384,6 +1389,7 @@ if test "x$ac_cv_func_snprintf" = "xyes" ; then + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ + #include ++#include + int main(void){char b[5];snprintf(b,5,"123456789");exit(b[4]!='\0');} + ]])], + [AC_MSG_RESULT(yes)], +@@ -1406,8 +1412,10 @@ if test "x$ac_cv_func_asprintf" != "xyes" && \ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ + #include ++#include + #include + #include ++#include + + int x_snprintf(char *str,size_t count,const char *fmt,...) + { +@@ -1435,7 +1443,8 @@ fi + # check that the fmt argument is const char * or just char *. + # This is only useful for when BROKEN_SNPRINTF + AC_MSG_CHECKING([whether snprintf can declare const char *fmt]) +-AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include ++AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include ++ #include + int snprintf(char *a, size_t b, const char *c, ...) { return 0; } + int main(void) { snprintf(0, 0, 0); } + ]])], +@@ -1496,6 +1505,7 @@ if test ! -z "$check_for_openpty_ctty_bug"; then + #include + #include + #include ++#include + + int + main() +@@ -1543,6 +1553,7 @@ if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ + #include ++#include + #include + #include + #include +@@ -1615,6 +1626,7 @@ if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ + #include ++#include + #include + #include + #include +@@ -1677,6 +1689,7 @@ if test "x$check_for_conflicting_getspnam" = "x1"; then + AC_COMPILE_IFELSE([AC_LANG_SOURCE( + [ + #include ++#include + int main(void) {exit(0);} + ])], + [ +@@ -1750,6 +1763,7 @@ AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ + #include + #include ++#include + #include + #define DATA "conftest.sslincver" + int main(void) { +@@ -1785,6 +1799,7 @@ AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ + #include + #include ++#include + #include + #include + #define DATA "conftest.ssllibver" +@@ -1828,7 +1843,9 @@ AC_MSG_CHECKING([whether OpenSSL's headers match the library]) + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ + #include ++#include + #include ++#include + int main(void) { exit(SSLeay() == OPENSSL_VERSION_NUMBER ? 0 : 1); } + ]])], + [ +@@ -1907,6 +1924,7 @@ AC_MSG_CHECKING([whether OpenSSL has crippled AES support]) + AC_LINK_IFELSE( + [AC_LANG_SOURCE([[ + #include ++#include + #include + int main(void) { exit(EVP_aes_192_cbc() == NULL || EVP_aes_256_cbc() == NULL);} + ]])], +@@ -1952,6 +1970,7 @@ AC_MSG_CHECKING([whether OpenSSL's PRNG is internally seeded]) + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ + #include ++#include + #include + int main(void) { exit(RAND_status() == 1 ? 0 : 1); } + ]])], +@@ -2123,6 +2142,7 @@ if test -z "$have_llong_max"; then + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ + #include ++#include + /* Why is this so damn hard? */ + #ifdef __GNUC__ + # undef __GNUC__ +@@ -2597,6 +2617,7 @@ dnl test snprintf (broken on SCO w/gcc) + [AC_LANG_SOURCE([[ + #include + #include ++#include + #ifdef HAVE_SNPRINTF + int main(void) + { +@@ -2740,6 +2761,7 @@ AC_CACHE_CHECK([for msg_accrights field in struct msghdr], + ac_cv_have_accrights_in_msghdr, [ + AC_COMPILE_IFELSE([AC_LANG_SOURCE( + [ ++#include + #include + #include + #include +@@ -2767,6 +2789,7 @@ AC_CACHE_CHECK([for msg_control field in struct msghdr], + ac_cv_have_control_in_msghdr, [ + AC_COMPILE_IFELSE([AC_LANG_SOURCE( + [ ++#include + #include + #include + #include +@@ -2791,7 +2814,9 @@ if test "x$ac_cv_have_control_in_msghdr" = "xyes" ; then + fi + + AC_CACHE_CHECK([if libc defines __progname], ac_cv_libc_defines___progname, [ +- AC_TRY_LINK([], ++ AC_TRY_LINK([ ++#include ++], + [ extern char *__progname; printf("%s", __progname); ], + [ ac_cv_libc_defines___progname="yes" ], + [ ac_cv_libc_defines___progname="no" ] +@@ -2871,7 +2896,9 @@ if test "x$ac_cv_have_getopt_optreset" = "xyes" ; then + fi + + AC_CACHE_CHECK([if libc defines sys_errlist], ac_cv_libc_defines_sys_errlist, [ +- AC_TRY_LINK([], ++ AC_TRY_LINK([ ++#include ++], + [ extern const char *const sys_errlist[]; printf("%s", sys_errlist[0]);], + [ ac_cv_libc_defines_sys_errlist="yes" ], + [ ac_cv_libc_defines_sys_errlist="no" ] +@@ -2884,7 +2911,9 @@ fi + + + AC_CACHE_CHECK([if libc defines sys_nerr], ac_cv_libc_defines_sys_nerr, [ +- AC_TRY_LINK([], ++ AC_TRY_LINK([ ++#include ++], + [ extern int sys_nerr; printf("%i", sys_nerr);], + [ ac_cv_libc_defines_sys_nerr="yes" ], + [ ac_cv_libc_defines_sys_nerr="no" ] diff --git a/sys-auth/pam_ssh_agent_auth/files/pam_ssh_agent_auth-0.10.4-0003-gcc-14.patch b/sys-auth/pam_ssh_agent_auth/files/pam_ssh_agent_auth-0.10.4-0003-gcc-14.patch new file mode 100644 index 0000000..3c6d13c --- /dev/null +++ b/sys-auth/pam_ssh_agent_auth/files/pam_ssh_agent_auth-0.10.4-0003-gcc-14.patch @@ -0,0 +1,37 @@ +diff -Naur pam-ssh-agent-auth-0.10.4.orig/ssh-ecdsa.c pam-ssh-agent-auth-0.10.4/ssh-ecdsa.c +--- pam-ssh-agent-auth-0.10.4.orig/ssh-ecdsa.c 2019-07-08 18:36:13.000000000 +0200 ++++ pam-ssh-agent-auth-0.10.4/ssh-ecdsa.c 2024-11-23 17:37:57.809050767 +0100 +@@ -73,7 +73,7 @@ + if (pamsshagentauth_buffer_get_bignum2_ret(&bb, sig->r) == -1 || + pamsshagentauth_buffer_get_bignum2_ret(&bb, sig->s) == -1) { + #else +- DSA_SIG_get0(sig, &r, &s); ++ DSA_SIG_get0((const DSA_SIG*)sig, (const BIGNUM **)&r, (const BIGNUM **)&s); + if (pamsshagentauth_buffer_get_bignum2_ret(&bb, r) == -1 || + pamsshagentauth_buffer_get_bignum2_ret(&bb, s) == -1) { + #endif +@@ -145,7 +145,7 @@ + if ((pamsshagentauth_buffer_get_bignum2_ret(&b, sig->r) == -1) || + (pamsshagentauth_buffer_get_bignum2_ret(&b, sig->s) == -1)) + #else +- DSA_SIG_get0(sig, &r, &s); ++ DSA_SIG_get0((const DSA_SIG*)sig, (const BIGNUM **)&r, (const BIGNUM **)&s); + if ((pamsshagentauth_buffer_get_bignum2_ret(&b, r) == -1) || + (pamsshagentauth_buffer_get_bignum2_ret(&b, s) == -1)) + #endif +diff -Naur pam-ssh-agent-auth-0.10.4.orig/ssh-rsa.c pam-ssh-agent-auth-0.10.4/ssh-rsa.c +--- pam-ssh-agent-auth-0.10.4.orig/ssh-rsa.c 2019-07-08 18:36:13.000000000 +0200 ++++ pam-ssh-agent-auth-0.10.4/ssh-rsa.c 2024-11-23 17:36:32.237044010 +0100 +@@ -56,9 +56,9 @@ + return -1; + } + md = EVP_MD_CTX_create(); +- EVP_DigestInit(&md, evp_md); +- EVP_DigestUpdate(&md, data, datalen); +- EVP_DigestFinal(&md, digest, &dlen); ++ EVP_DigestInit(md, evp_md); ++ EVP_DigestUpdate(md, data, datalen); ++ EVP_DigestFinal(md, digest, &dlen); + + slen = RSA_size(key->rsa); + sig = pamsshagentauth_xmalloc(slen); diff --git a/sys-auth/pam_ssh_agent_auth/metadata.xml b/sys-auth/pam_ssh_agent_auth/metadata.xml new file mode 100644 index 0000000..cffa2f6 --- /dev/null +++ b/sys-auth/pam_ssh_agent_auth/metadata.xml @@ -0,0 +1,9 @@ + + + + + + pamsshagentauth + jbeverly/pam_ssh_agent_auth + + diff --git a/sys-auth/pam_ssh_agent_auth/pam_ssh_agent_auth-0.10.4-r2.ebuild b/sys-auth/pam_ssh_agent_auth/pam_ssh_agent_auth-0.10.4-r2.ebuild new file mode 100644 index 0000000..52d2db2 --- /dev/null +++ b/sys-auth/pam_ssh_agent_auth/pam_ssh_agent_auth-0.10.4-r2.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools toolchain-funcs pam flag-o-matic + +DESCRIPTION="Simple module to authenticate users against their ssh-agent keys" +HOMEPAGE="http://pamsshagentauth.sourceforge.net" + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/jbeverly/${PN}.git" + inherit git-r3 +else + ED25519_DONNA_COMMIT="8757bd4cd209cb032853ece0ce413f122eef212c" + SRC_URI="https://github.com/jbeverly/pam_ssh_agent_auth/archive/refs/tags/${P}.tar.gz" + SRC_URI+=" https://github.com/floodyberry/ed25519-donna/archive/${ED25519_DONNA_COMMIT}.tar.gz -> ${PN}-ed25519-donna.tar.gz" + S="${WORKDIR}"/${PN}-${P} + KEYWORDS="~amd64 ~arm ~x86" +fi + +LICENSE="MIT" +SLOT="0" + +DEPEND=" + dev-libs/openssl:= + sys-libs/pam +" +RDEPEND=" + ${DEPEND} + virtual/ssh +" +# Needed for pod2man +BDEPEND="dev-lang/perl" + +PATCHES=( + "${FILESDIR}"/${PN}-0.10.4-0001-Fix-function-prototypes-in-configure.patch + "${FILESDIR}"/${PN}-0.10.4-0002-Add-missing-includes-implicit-function-declarations.patch + "${FILESDIR}"/${PN}-0.10.4-0003-gcc-14.patch +) + +src_prepare() { + default + + # Missing from tag + rm -r ed25519-donna || die + ln -s "${WORKDIR}"/ed25519-donna-${ED25519_DONNA_COMMIT} "${S}"/ed25519-donna || die + + # For configure patches + eautoreconf +} + +src_configure() { + pammod_hide_symbols + + # bug #874843, use POSIX type names + use elibc_musl && append-cppflags -Du_char=uint8_t -Du_int=uint32_t + + # bug #725720 + export AR="$(type -P $(tc-getAR))" + + econf \ + --without-openssl-header-check \ + --libexecdir="$(getpam_mod_dir)" +} + +src_install() { + # Don't use emake install as it makes it harder to have proper + # install paths. + dopammod pam_ssh_agent_auth.so + doman pam_ssh_agent_auth.8 + + dodoc CONTRIBUTORS +}