Index: head/net/nss_ldap/files/patch-Makefile.am =================================================================== --- head/net/nss_ldap/files/patch-Makefile.am (revision 475175) +++ head/net/nss_ldap/files/patch-Makefile.am (revision 475176) @@ -1,37 +1,37 @@ ---- Makefile.am.orig 2009-11-06 05:28:08.000000000 -0500 -+++ Makefile.am 2010-01-12 23:24:17.000000000 -0500 +--- Makefile.am.orig ++++ Makefile.am @@ -9,8 +9,12 @@ if AIX INST_GID=system else +if FreeBSD +INST_GID=wheel +else INST_GID=root endif +endif EXTRA_DIST = CVSVersionInfo.txt ChangeLog \ AUTHORS ANNOUNCE NEWS INSTALL README LICENSE.OpenLDAP COPYING\ @@ -23,7 +27,7 @@ ldap-alias.c ldap-service.c ldap-schema.c ldap-ethers.c \ 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 + vers.c bsdnss.c nss_ldap_so_LDFLAGS = @nss_ldap_so_LDFLAGS@ @@ -103,11 +107,10 @@ $(mkinstalldirs) $(DESTDIR)$(dir $(NSS_LDAP_PATH_CONF)); \ $(INSTALL_DATA) -o $(INST_UID) -g $(INST_GID) $(srcdir)/ldap.conf $(DESTDIR)$(NSS_LDAP_PATH_CONF); \ fi - $(INSTALL_DATA) -o $(INST_UID) -g $(INST_GID) $(srcdir)/nsswitch.ldap $(DESTDIR)$(sysconfdir)/nsswitch.ldap; uninstall-local: @$(NORMAL_UNINSTALL) vers.c: $(top_srcdir)/CVSVersionInfo.txt - CVSVERSIONDIR=$(top_srcdir) vers_string -v + $(top_srcdir)/vers_string -v Index: head/net/nss_ldap/files/patch-ldap-ethers.c =================================================================== --- head/net/nss_ldap/files/patch-ldap-ethers.c (revision 475175) +++ head/net/nss_ldap/files/patch-ldap-ethers.c (revision 475176) @@ -1,32 +1,32 @@ ---- ldap-ethers.c.orig 2009-11-06 10:28:08.000000000 +0000 -+++ ldap-ethers.c 2009-12-23 17:01:14.000000000 +0000 +--- ldap-ethers.c.orig ++++ ldap-ethers.c @@ -217,9 +217,9 @@ } snprintf(fullmac, sizeof(fullmac), "%02x:%02x:%02x:%02x:%02x:%02x", - addr->ether_addr_octet[0], addr->ether_addr_octet[1], - addr->ether_addr_octet[2], addr->ether_addr_octet[3], - addr->ether_addr_octet[4], addr->ether_addr_octet[5]); + addr->octet[0], addr->octet[1], + addr->octet[2], addr->octet[3], + addr->octet[4], addr->octet[5]); LA_INIT(a); LA_STRING(a) = ether_ntoa(addr); @@ -343,14 +343,14 @@ if (i != 6) return NULL; for (i = 0; i < 6; i++) - ep.ether_addr_octet[i] = t[i]; + ep.octet[i] = t[i]; return &ep; } #endif /* !HAVE_ETHER_ATON */ #ifndef HAVE_ETHER_NTOA -#define EI(i) (unsigned int)(e->ether_addr_octet[(i)]) +#define EI(i) (unsigned int)(e->octet[(i)]) static char *ether_ntoa (const struct ether_addr *e) { static char s[18]; Index: head/net/nss_ldap/files/patch-ldap-ethers.h =================================================================== --- head/net/nss_ldap/files/patch-ldap-ethers.h (revision 475175) +++ head/net/nss_ldap/files/patch-ldap-ethers.h (revision 475176) @@ -1,11 +1,11 @@ ---- ldap-ethers.h.orig 2009-11-06 10:28:08.000000000 +0000 -+++ ldap-ethers.h 2009-12-23 17:02:06.000000000 +0000 +--- ldap-ethers.h.orig ++++ ldap-ethers.h @@ -32,7 +32,7 @@ #ifndef HAVE_STRUCT_ETHER_ADDR struct ether_addr { - u_char ether_addr_octet[6]; + u_char octet[6]; }; #endif Index: head/net/nss_ldap/files/patch-ldap-pwd.c =================================================================== --- head/net/nss_ldap/files/patch-ldap-pwd.c (revision 475175) +++ head/net/nss_ldap/files/patch-ldap-pwd.c (revision 475176) @@ -1,29 +1,29 @@ ---- ldap-pwd.c.orig 2008-10-30 21:50:15.000000000 +0100 -+++ ldap-pwd.c 2008-12-06 00:37:30.216966282 +0100 +--- ldap-pwd.c.orig ++++ ldap-pwd.c @@ -21,7 +21,10 @@ static char rcsId[] = "$Id: ldap-pwd.c,v 2.48 2008/10/30 20:49:47 lukeh Exp $"; +#include +#include #include "config.h" + #ifdef HAVE_PORT_BEFORE_H #include @@ -90,9 +93,13 @@ size_t tmplen; char *tmp; - if (_nss_ldap_oc_check (e, "shadowAccount") == NSS_SUCCESS) - { +/* if (_nss_ldap_oc_check (e, "shadowAccount") == NSS_SUCCESS) + * { + */ /* don't include password for shadowAccount */ + if (geteuid() != 0) + { + /* don't include password for non-root users */ if (buflen < 3) return NSS_TRYAGAIN; Index: head/net/nss_ldap/files/patch-login-classes =================================================================== --- head/net/nss_ldap/files/patch-login-classes (revision 475175) +++ head/net/nss_ldap/files/patch-login-classes (revision 475176) @@ -1,52 +1,52 @@ ---- ldap-pwd.c 2009-08-29 09:21:43.000000000 -0400 -+++ ldap-pwd.c 2009-08-29 08:17:12.000000000 -0400 +--- ldap-pwd.c.orig ++++ ldap-pwd.c @@ -170,6 +170,15 @@ } + +#ifdef HAVE_LOGIN_CLASSES + stat = + _nss_ldap_assign_attrval (e, AT (loginClass), &pw->pw_class, &buffer, + &buflen); + if (stat != NSS_SUCCESS) + (void) _nss_ldap_assign_emptystring (&pw->pw_class, &buffer, &buflen); +#endif + stat = _nss_ldap_assign_attrval (e, AT (homeDirectory), &pw->pw_dir, &buffer, &buflen); if (stat != NSS_SUCCESS) - ---- ldap-schema.c 2009-08-29 09:21:43.000000000 -0400 -+++ ldap-schema.c 2009-08-28 12:09:52.000000000 -0400 + +--- ldap-schema.c.orig ++++ ldap-schema.c @@ -334,6 +334,9 @@ #ifdef HAVE_PASSWD_PW_EXPIRE (*pwd_attrs)[i++] = AT (shadowExpire); #endif /* HAVE_PASSWD_PW_EXPIRE */ +#ifdef HAVE_LOGIN_CLASSES + (*pwd_attrs)[i++] = AT (loginClass); +#endif (*pwd_attrs)[i] = NULL; } ---- ldap-schema.h 2009-08-29 09:21:43.000000000 -0400 -+++ ldap-schema.h 2009-08-29 06:37:18.000000000 -0400 +--- ldap-schema.h.orig ++++ ldap-schema.h @@ -24,7 +24,7 @@ #define _LDAP_NSS_LDAP_LDAP_SCHEMA_H /* max number of attributes per object class */ -#define ATTRTAB_SIZE 15 +#define ATTRTAB_SIZE 16 /** * function to initialize global lookup filters. @@ -153,6 +153,10 @@ #define AT_gecos "gecos" #define AT_homeDirectory "homeDirectory" - + +#ifdef HAVE_LOGIN_CLASSES +/* FreeBSD extension -Jacob Myers */ +#define AT_loginClass "loginClass" +#endif /* * ( nisSchema.2.1 NAME 'shadowAccount' SUP top AUXILIARY * DESC 'Additional attributes for shadow passwords'