Import of pkgsrc-2015Q1

This commit is contained in:
2016-01-21 23:40:00 +01:00
committed by sambuc
parent 9a8c06dafb
commit 4af1cdf7a9
25114 changed files with 870539 additions and 795424 deletions
+15 -3
View File
@@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.28 2014/02/12 23:17:39 tron Exp $
# $NetBSD: Makefile,v 1.29 2014/06/01 19:38:10 asau Exp $
DISTNAME= nss_ldap-265
PKGREVISION= 5
@@ -11,7 +11,7 @@ COMMENT= LDAP client for nsswitch
LICENSE= gnu-lgpl-v2
# needs nsswitch
ONLY_FOR_PLATFORM= NetBSD-[3-9]*-*
ONLY_FOR_PLATFORM= NetBSD-[3-9]*-* FreeBSD-*-*
USE_TOOLS+= gmake
GNU_CONFIGURE= yes
@@ -21,6 +21,8 @@ CONFIGURE_ARGS+= --with-ldap-lib=openldap
CONFIGURE_ARGS+= --with-ldap-dir=${BUILDLINK_PREFIX.openldap-client}
CONFIGURE_ARGS+= --with-ldap-conf-file=${PKG_SYSCONFDIR}/ldap.conf
CONFIGURE_ARGS+= --with-ldap-secret-file=${PKG_SYSCONFDIR}/ldap.secret
CFLAGS.FreeBSD+= -DUID_NOBODY=65534 -DGID_NOBODY=65534 # see <sys/conf.h>
CONFIGURE_ENV+= ac_cv_header_nsswitch_h=no
MAKE_FLAGS+= INST_UID=${BINOWN} INST_GID=${BINGRP}
# shared with security/pam-ldap
@@ -29,9 +31,19 @@ CONF_FILES= ${EGDIR}/ldap.conf ${PKG_SYSCONFDIR}/ldap.conf
INSTALL_MAKE_FLAGS= ${MAKE_FLAGS} sysconfdir=${EGDIR}
SUBST_CLASSES+= fix-opsys
SUBST_STAGE.fix-opsys= pre-configure
SUBST_MESSAGE.fix-opsys= Fixing system name.
SUBST_FILES.fix-opsys= Makefile.in
SUBST_SED.fix-opsys= -e 's,@OPSYS@,${OPSYS:tl},g'
.include "../../mk/bsd.prefs.mk"
pre-build:
${CP} ${FILESDIR}/netbsd.c ${FILESDIR}/netbsd.h ${WRKSRC}
${CP} ${FILESDIR}/netbsd.c ${FILESDIR}/netbsd.h ${FILESDIR}/freebsd.c ${WRKSRC}
.if ${OPSYS} == "NetBSD"
${LN} -fs /usr/include/nsswitch.h ${BUILDLINK_DIR}/include/nss.h
.endif
.include "options.mk"
+5 -3
View File
@@ -1,8 +1,10 @@
$NetBSD: distinfo,v 1.7 2010/11/03 11:39:07 adam Exp $
$NetBSD: distinfo,v 1.8 2014/06/01 19:38:10 asau Exp $
SHA1 (nss_ldap-265.tar.gz) = 743581914fc8c9b4d33955c2cc7acd0c3c44a430
RMD160 (nss_ldap-265.tar.gz) = 0513f1b62aface531145f739ec8e9867c77eb3ce
Size (nss_ldap-265.tar.gz) = 280976 bytes
SHA1 (patch-ab) = 418fca750b9b6f40dd3a904af84fababf8c55022
SHA1 (patch-af) = 27fa5ff0bbff4340ce92e109b35d900369e31a53
SHA1 (patch-ag) = 880b8867b610b9602fc428beebdeb85dee215816
SHA1 (patch-af) = 7a09ee93a903dc7df256a50d9e904b74e6e5747f
SHA1 (patch-ag) = 4fa04f6b577b7c5a6977403dae3e91a3faab4152
SHA1 (patch-ldap-ethers.c) = 0e4e27e4f03e7e8a821aaddabb91c443f5d1db22
SHA1 (patch-ldap-pwd.c) = 5d4720aaa88e2e7b46d1c1cde9648466b82598e1
+219
View File
@@ -0,0 +1,219 @@
#include <errno.h>
#include <stdlib.h>
#include <sys/param.h>
#include <netinet/in.h>
#include <pwd.h>
#include <grp.h>
#include <nss.h>
#include <nsswitch.h>
#include <netdb.h>
extern enum nss_status _nss_ldap_getgrent_r(struct group *, char *, size_t,
int *);
extern enum nss_status _nss_ldap_getgrnam_r(const char *, struct group *,
char *, size_t, int *);
extern enum nss_status _nss_ldap_getgrgid_r(gid_t gid, struct group *, char *,
size_t, int *);
extern enum nss_status _nss_ldap_setgrent(void);
extern enum nss_status _nss_ldap_endgrent(void);
extern enum nss_status _nss_ldap_initgroups_dyn(const char *, gid_t, long int *,
long int *, gid_t **, long int, int *);
extern enum nss_status _nss_ldap_getpwent_r(struct passwd *, char *, size_t,
int *);
extern enum nss_status _nss_ldap_getpwnam_r(const char *, struct passwd *,
char *, size_t, int *);
extern enum nss_status _nss_ldap_getpwuid_r(gid_t gid, struct passwd *, char *,
size_t, int *);
extern enum nss_status _nss_ldap_setpwent(void);
extern enum nss_status _nss_ldap_endpwent(void);
extern enum nss_status _nss_ldap_gethostbyname_r (const char *name, struct hostent * result,
char *buffer, size_t buflen, int *errnop,
int *h_errnop);
extern enum nss_status _nss_ldap_gethostbyname2_r (const char *name, int af, struct hostent * result,
char *buffer, size_t buflen, int *errnop,
int *h_errnop);
extern enum nss_status _nss_ldap_gethostbyaddr_r (struct in_addr * addr, int len, int type,
struct hostent * result, char *buffer,
size_t buflen, int *errnop, int *h_errnop);
NSS_METHOD_PROTOTYPE(__nss_compat_getgrnam_r);
NSS_METHOD_PROTOTYPE(__nss_compat_getgrgid_r);
NSS_METHOD_PROTOTYPE(__nss_compat_getgrent_r);
NSS_METHOD_PROTOTYPE(__nss_compat_setgrent);
NSS_METHOD_PROTOTYPE(__nss_compat_endgrent);
static NSS_METHOD_PROTOTYPE(__freebsd_getgroupmembership);
NSS_METHOD_PROTOTYPE(__nss_compat_getpwnam_r);
NSS_METHOD_PROTOTYPE(__nss_compat_getpwuid_r);
NSS_METHOD_PROTOTYPE(__nss_compat_getpwent_r);
NSS_METHOD_PROTOTYPE(__nss_compat_setpwent);
NSS_METHOD_PROTOTYPE(__nss_compat_endpwent);
NSS_METHOD_PROTOTYPE(__nss_compat_gethostbyname);
NSS_METHOD_PROTOTYPE(__nss_compat_gethostbyname2);
NSS_METHOD_PROTOTYPE(__nss_compat_gethostbyaddr);
static ns_mtab methods[] = {
{ NSDB_GROUP, "getgrnam_r", __nss_compat_getgrnam_r, _nss_ldap_getgrnam_r },
{ NSDB_GROUP, "getgrgid_r", __nss_compat_getgrgid_r, _nss_ldap_getgrgid_r },
{ NSDB_GROUP, "getgrent_r", __nss_compat_getgrent_r, _nss_ldap_getgrent_r },
{ NSDB_GROUP, "setgrent", __nss_compat_setgrent, _nss_ldap_setgrent },
{ NSDB_GROUP, "endgrent", __nss_compat_endgrent, _nss_ldap_endgrent },
{ NSDB_GROUP, "getgroupmembership", __freebsd_getgroupmembership, NULL },
{ NSDB_PASSWD, "getpwnam_r", __nss_compat_getpwnam_r, _nss_ldap_getpwnam_r },
{ NSDB_PASSWD, "getpwuid_r", __nss_compat_getpwuid_r, _nss_ldap_getpwuid_r },
{ NSDB_PASSWD, "getpwent_r", __nss_compat_getpwent_r, _nss_ldap_getpwent_r },
{ NSDB_PASSWD, "setpwent", __nss_compat_setpwent, _nss_ldap_setpwent },
{ NSDB_PASSWD, "endpwent", __nss_compat_endpwent, _nss_ldap_endpwent },
{ NSDB_HOSTS, "gethostbyname", __nss_compat_gethostbyname, _nss_ldap_gethostbyname_r },
{ NSDB_HOSTS, "gethostbyaddr", __nss_compat_gethostbyaddr, _nss_ldap_gethostbyaddr_r },
{ NSDB_HOSTS, "gethostbyname2", __nss_compat_gethostbyname2, _nss_ldap_gethostbyname2_r },
{ NSDB_GROUP_COMPAT, "getgrnam_r", __nss_compat_getgrnam_r, _nss_ldap_getgrnam_r },
{ NSDB_GROUP_COMPAT, "getgrgid_r", __nss_compat_getgrgid_r, _nss_ldap_getgrgid_r },
{ NSDB_GROUP_COMPAT, "getgrent_r", __nss_compat_getgrent_r, _nss_ldap_getgrent_r },
{ NSDB_GROUP_COMPAT, "setgrent", __nss_compat_setgrent, _nss_ldap_setgrent },
{ NSDB_GROUP_COMPAT, "endgrent", __nss_compat_endgrent, _nss_ldap_endgrent },
{ NSDB_PASSWD_COMPAT, "getpwnam_r", __nss_compat_getpwnam_r, _nss_ldap_getpwnam_r },
{ NSDB_PASSWD_COMPAT, "getpwuid_r", __nss_compat_getpwuid_r, _nss_ldap_getpwuid_r },
{ NSDB_PASSWD_COMPAT, "getpwent_r", __nss_compat_getpwent_r, _nss_ldap_getpwent_r },
{ NSDB_PASSWD_COMPAT, "setpwent", __nss_compat_setpwent, _nss_ldap_setpwent },
{ NSDB_PASSWD_COMPAT, "endpwent", __nss_compat_endpwent, _nss_ldap_endpwent },
};
ns_mtab *
nss_module_register(const char *source, unsigned int *mtabsize,
nss_module_unregister_fn *unreg)
{
*mtabsize = sizeof(methods)/sizeof(methods[0]);
*unreg = NULL;
return (methods);
}
int __nss_compat_gethostbyname(void *retval, void *mdata, va_list ap)
{
enum nss_status (*fn)(const char *, struct hostent *, char *, size_t, int *, int *);
const char *name;
struct hostent *result;
char buffer[1024];
size_t buflen = 1024;
int errnop;
int h_errnop;
int af;
enum nss_status status;
fn = mdata;
name = va_arg(ap, const char*);
af = va_arg(ap,int);
result = va_arg(ap,struct hostent *);
status = fn(name, result, buffer, buflen, &errnop, &h_errnop);
status = __nss_compat_result(status,errnop);
h_errno = h_errnop;
return (status);
}
int __nss_compat_gethostbyname2(void *retval, void *mdata, va_list ap)
{
enum nss_status (*fn)(const char *, struct hostent *, char *, size_t, int *, int *);
const char *name;
struct hostent *result;
char buffer[1024];
size_t buflen = 1024;
int errnop;
int h_errnop;
int af;
enum nss_status status;
fn = mdata;
name = va_arg(ap, const char*);
af = va_arg(ap,int);
result = va_arg(ap,struct hostent *);
status = fn(name, result, buffer, buflen, &errnop, &h_errnop);
status = __nss_compat_result(status,errnop);
h_errno = h_errnop;
return (status);
}
int __nss_compat_gethostbyaddr(void *retval, void *mdata, va_list ap)
{
struct in_addr *addr;
int len;
int type;
struct hostent *result;
char buffer[1024];
size_t buflen = 1024;
int errnop;
int h_errnop;
enum nss_status (*fn)(struct in_addr *, int, int, struct hostent *, char *, size_t, int *, int *);
enum nss_status status;
fn = mdata;
addr = va_arg(ap, struct in_addr*);
len = va_arg(ap,int);
type = va_arg(ap,int);
result = va_arg(ap, struct hostent*);
status = fn(addr, len, type, result, buffer, buflen, &errnop, &h_errnop);
status = __nss_compat_result(status,errnop);
h_errno = h_errnop;
return (status);
}
static int
__gr_addgid(gid_t gid, gid_t *groups, int maxgrp, int *groupc)
{
int ret, dupc;
/* skip duplicates */
for (dupc = 0; dupc < MIN(maxgrp, *groupc); dupc++) {
if (groups[dupc] == gid)
return 1;
}
ret = 1;
if (*groupc < maxgrp) /* add this gid */
groups[*groupc] = gid;
else
ret = 0;
(*groupc)++;
return ret;
}
static int __freebsd_getgroupmembership(void *retval, void *mdata, va_list ap)
{
int err;
enum nss_status s;
const char *user = va_arg(ap, const char *);
gid_t group = va_arg(ap, gid_t);
gid_t *groups = va_arg(ap, gid_t *);
int limit = va_arg(ap, int);
int *size = va_arg(ap, int*);
gid_t *tmpgroups;
long int lstart, lsize;
int i;
tmpgroups = malloc(limit * sizeof(gid_t));
if (tmpgroups == NULL)
return NS_TRYAGAIN;
/* insert primary membership */
__gr_addgid(group, groups, limit, size);
lstart = 0;
lsize = limit;
s = _nss_ldap_initgroups_dyn(user, group, &lstart, &lsize,
&tmpgroups, 0, &err);
if (s == NSS_STATUS_SUCCESS) {
for (i = 0; i < lstart; i++)
__gr_addgid(tmpgroups[i], groups, limit, size);
s = NSS_STATUS_NOTFOUND;
}
free(tmpgroups);
return __nss_compat_result(s, err);
}
+6 -6
View File
@@ -1,4 +1,4 @@
$NetBSD: patch-af,v 1.6 2010/11/03 11:39:08 adam Exp $
$NetBSD: patch-af,v 1.7 2014/06/01 19:38:10 asau Exp $
--- Makefile.in.orig 2009-11-06 10:28:08.000000000 +0000
+++ Makefile.in
@@ -7,7 +7,7 @@ $NetBSD: patch-af,v 1.6 2010/11/03 11:39:08 adam Exp $
resolve.$(OBJEXT) dnsconfig.$(OBJEXT) irs-nss.$(OBJEXT) \
pagectrl.$(OBJEXT) aix_authmeth.$(OBJEXT) \
- ldap-init-krb5-cache.$(OBJEXT) vers.$(OBJEXT)
+ ldap-init-krb5-cache.$(OBJEXT) netbsd.$(OBJEXT)
+ ldap-init-krb5-cache.$(OBJEXT) @OPSYS@.$(OBJEXT)
NSS_LDAP_OBJECTS = $(am_NSS_LDAP_OBJECTS)
NSS_LDAP_LDADD = $(LDADD)
am_nss_ldap_so_OBJECTS = ldap-nss.$(OBJEXT) ldap-pwd.$(OBJEXT) \
@@ -16,7 +16,7 @@ $NetBSD: patch-af,v 1.6 2010/11/03 11:39:08 adam Exp $
snprintf.$(OBJEXT) resolve.$(OBJEXT) dnsconfig.$(OBJEXT) \
irs-nss.$(OBJEXT) pagectrl.$(OBJEXT) ldap-sldap.$(OBJEXT) \
- ldap-init-krb5-cache.$(OBJEXT) vers.$(OBJEXT)
+ ldap-init-krb5-cache.$(OBJEXT) netbsd.$(OBJEXT)
+ ldap-init-krb5-cache.$(OBJEXT) @OPSYS@.$(OBJEXT)
nss_ldap_so_OBJECTS = $(am_nss_ldap_so_OBJECTS)
nss_ldap_so_LDADD = $(LDADD)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
@@ -34,12 +34,12 @@ $NetBSD: patch-af,v 1.6 2010/11/03 11:39:08 adam Exp $
ldap-bp.c ldap-automount.c util.c ltf.c snprintf.c resolve.c \
dnsconfig.c irs-nss.c pagectrl.c ldap-sldap.c ldap-init-krb5-cache.c \
- vers.c
+ netbsd.c
+ @OPSYS@.c
NSS_LDAP_SOURCES = ldap-nss.c ldap-grp.c ldap-pwd.c ldap-netgrp.c ldap-schema.c \
util.c ltf.c snprintf.c resolve.c dnsconfig.c \
- irs-nss.c pagectrl.c aix_authmeth.c ldap-init-krb5-cache.c vers.c
+ irs-nss.c pagectrl.c aix_authmeth.c ldap-init-krb5-cache.c netbsd.c
+ irs-nss.c pagectrl.c aix_authmeth.c ldap-init-krb5-cache.c @OPSYS@.c
@GCC_FALSE@MULTI_OS_DIRECTORY = .
#INCLUDES = -I$(top_builddir) -I$(srcdir)
@@ -48,7 +48,7 @@ $NetBSD: patch-af,v 1.6 2010/11/03 11:39:08 adam Exp $
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snprintf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vers.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netbsd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/@OPSYS@.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+5 -2
View File
@@ -1,8 +1,8 @@
$NetBSD: patch-ag,v 1.2 2010/10/29 13:47:12 adam Exp $
$NetBSD: patch-ag,v 1.3 2014/06/01 19:38:10 asau Exp $
--- config.h.in.orig 2009-11-06 10:28:08.000000000 +0000
+++ config.h.in
@@ -345,3 +345,7 @@
@@ -345,3 +345,10 @@
/* Version number of package */
#undef VERSION
@@ -10,3 +10,6 @@ $NetBSD: patch-ag,v 1.2 2010/10/29 13:47:12 adam Exp $
+#ifdef __NetBSD__
+#include "netbsd.h"
+#endif
+#ifdef __FreeBSD__
+#include "nss.h"
+#endif
@@ -0,0 +1,15 @@
$NetBSD: patch-ldap-ethers.c,v 1.1 2014/06/01 19:38:10 asau Exp $
--- ldap-ethers.c.orig 2009-11-06 10:28:08.000000000 +0000
+++ ldap-ethers.c
@@ -96,6 +96,10 @@ static char *ether_ntoa (const struct et
static ent_context_t *ether_context = NULL;
#endif
+#ifdef __FreeBSD__
+#define ether_addr_octet octet
+#endif
+
static NSS_STATUS
_nss_ldap_parse_ether (LDAPMessage * e,
ldap_state_t * pvt,
@@ -0,0 +1,11 @@
$NetBSD: patch-ldap-pwd.c,v 1.1 2014/06/01 19:38:10 asau Exp $
--- ldap-pwd.c.orig 2009-11-06 10:28:08.000000000 +0000
+++ ldap-pwd.c
@@ -23,2 +23,6 @@ static char rcsId[] =
+#if defined(__FreeBSD__)
+#include <sys/types.h>
+#include <unistd.h>
+#endif
#include "config.h"