From 5cebfc42d4d68744d3f99fecffd934b69ab4b44c Mon Sep 17 00:00:00 2001 From: des Date: Thu, 13 Nov 2014 21:46:11 +0000 Subject: Add patches for a couple of issues I found while researching #190055: - Use GID_MAX instead of LONG_MAX, they are not the same on 64-bit. - Correctly restore the egid after reading the krb5 credential cache. MFH: 2014Q4 --- net/nss_ldap/Makefile | 2 +- net/nss_ldap/files/patch-ldap-grp.c | 11 +++++++++++ net/nss_ldap/files/patch-ldap-init-krb5-cache.c | 13 +++++++++++-- 3 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 net/nss_ldap/files/patch-ldap-grp.c diff --git a/net/nss_ldap/Makefile b/net/nss_ldap/Makefile index 670288d..a4e1425 100644 --- a/net/nss_ldap/Makefile +++ b/net/nss_ldap/Makefile @@ -3,7 +3,7 @@ PORTNAME= nss_ldap PORTVERSION= 1.${NSS_LDAP_VERSION} -PORTREVISION= 11 +PORTREVISION= 12 CATEGORIES= net MASTER_SITES= http://www.padl.com/download/ \ LOCAL/martymac diff --git a/net/nss_ldap/files/patch-ldap-grp.c b/net/nss_ldap/files/patch-ldap-grp.c new file mode 100644 index 0000000..5886498b --- /dev/null +++ b/net/nss_ldap/files/patch-ldap-grp.c @@ -0,0 +1,11 @@ +--- ldap-grp.c.orig ++++ ldap-grp.c +@@ -687,7 +687,7 @@ + gid = strtoul (values[0], (char **) NULL, 10); + ldap_value_free (values); + +- if (gid == LONG_MAX && errno == ERANGE) ++ if (gid == GID_MAX && errno == ERANGE) + { + /* invalid group, skip it */ + return NSS_NOTFOUND; diff --git a/net/nss_ldap/files/patch-ldap-init-krb5-cache.c b/net/nss_ldap/files/patch-ldap-init-krb5-cache.c index 7fc9aa4..9352aea 100644 --- a/net/nss_ldap/files/patch-ldap-init-krb5-cache.c +++ b/net/nss_ldap/files/patch-ldap-init-krb5-cache.c @@ -1,5 +1,5 @@ ---- ldap-init-krb5-cache.c.orig 2009-11-06 11:28:08.000000000 +0100 -+++ ldap-init-krb5-cache.c 2014-03-26 21:42:54.575385677 +0100 +--- ldap-init-krb5-cache.c.orig ++++ ldap-init-krb5-cache.c @@ -109,14 +109,14 @@ #include #include @@ -47,6 +47,15 @@ { debug ("==> krb5_cache_kt_is_accessible: kt type = FILE"); uid_t ruid = getuid (); +@@ -243,7 +254,7 @@ + { + setreuid (ruid, euid); + } +- if (rgid != rgid) ++ if (rgid != egid) + { + setregid (rgid, egid); + } @@ -542,7 +553,7 @@ } profile_release (profile); -- cgit v1.1