svn commit: r293801 - in head: . etc share/examples/ypldap usr.sbin/ypldap

Marcelo Araujo araujo at FreeBSD.org
Wed Jan 13 01:49:37 UTC 2016


Author: araujo
Date: Wed Jan 13 01:49:35 2016
New Revision: 293801
URL: https://svnweb.freebsd.org/changeset/base/293801

Log:
  ypldap(8) is a feature ready to be used to translate nis(8) database to ldap(3).
  
  This commit, fix a core dump on ypldap(8) related with memory allocation.
  Also an example of how to set the ypldap.conf(5) properly is added to
  examples files.
  
  A new user _ypldap is required to be able to run ypldap(8) as well as
  in a chroot mode.
  
  Reviewed by:	rodrigc (mentor), bjk
  Approved by:	bapt (mentor)
  Relnotes:	Yes
  Sponsored by:	gandi.net
  Differential Revision:	https://reviews.freebsd.org/D4744

Added:
  head/share/examples/ypldap/
  head/share/examples/ypldap/ypldap.conf   (contents, props changed)
Modified:
  head/UPDATING
  head/etc/master.passwd
  head/usr.sbin/ypldap/yp.c
  head/usr.sbin/ypldap/ypldap.conf.5

Modified: head/UPDATING
==============================================================================
--- head/UPDATING	Wed Jan 13 01:32:04 2016	(r293800)
+++ head/UPDATING	Wed Jan 13 01:49:35 2016	(r293801)
@@ -31,6 +31,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20160113:
+	With the addition of ypldap(8), a new _ypldap user is now required
+	during installworld. "mergemaster -p" can be used to add the user
+	prior to installworld, as documented in the handbook.
+
 20151216:
 	The tftp loader (pxeboot) now uses the option root-path directive. As a
 	consequence it no longer looks for a pxeboot.4th file on the tftp

Modified: head/etc/master.passwd
==============================================================================
--- head/etc/master.passwd	Wed Jan 13 01:32:04 2016	(r293800)
+++ head/etc/master.passwd	Wed Jan 13 01:49:35 2016	(r293801)
@@ -22,5 +22,6 @@ uucp:*:66:66::0:0:UUCP pseudo-user:/var/
 pop:*:68:6::0:0:Post Office Owner:/nonexistent:/usr/sbin/nologin
 auditdistd:*:78:77::0:0:Auditdistd unprivileged user:/var/empty:/usr/sbin/nologin
 www:*:80:80::0:0:World Wide Web Owner:/nonexistent:/usr/sbin/nologin
+_ypldap:*:93:93::0:0:YP Ldap unprivileged user:/var/empty:/usr/sbin/nologin
 hast:*:845:845::0:0:HAST unprivileged user:/var/empty:/usr/sbin/nologin
 nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/usr/sbin/nologin

Added: head/share/examples/ypldap/ypldap.conf
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/share/examples/ypldap/ypldap.conf	Wed Jan 13 01:49:35 2016	(r293801)
@@ -0,0 +1,40 @@
+$FreeBSD$
+domain		"freebsd.org"
+interval	60
+provide map	"passwd.byname"
+provide map	"passwd.byuid"
+provide map	"group.byname"
+provide map	"group.bygid"
+provide map	"netid.byname"
+
+directory "127.0.0.1" {
+	# directory options
+	binddn "cn=ldap,dc=freebsd,dc=org"
+	bindcred "secret"
+	basedn "dc=freebsd.,dc=org"
+	# starting point for groups directory search, default to basedn
+	groupdn "ou=Groups,dc=freebsd,dc=org"
+
+	# passwd maps configuration (RFC 2307 posixAccount object class)
+	passwd filter "(objectClass=posixAccount)"
+
+	attribute name maps to "uid"
+	fixed attribute passwd "*"
+	attribute uid maps to "uidNumber"
+	attribute gid maps to "gidNumber"
+	attribute gecos maps to "cn"
+	attribute home maps to "homeDirectory"
+	attribute shell maps to "loginShell"
+	fixed attribute change "0"
+	fixed attribute expire "0"
+	fixed attribute class ""
+
+	# group maps configuration (RFC 2307 posixGroup object class)
+	group filter "(objectClass=posixGroup)"
+
+	attribute groupname maps to "cn"
+	fixed attribute grouppasswd "*"
+	attribute groupgid maps to "gidNumber"
+	# memberUid returns multiple group members
+	list groupmembers maps to "memberUid"
+}

Modified: head/usr.sbin/ypldap/yp.c
==============================================================================
--- head/usr.sbin/ypldap/yp.c	Wed Jan 13 01:32:04 2016	(r293800)
+++ head/usr.sbin/ypldap/yp.c	Wed Jan 13 01:49:35 2016	(r293801)
@@ -83,10 +83,10 @@ void
 yp_enable_events(void)
 {
 	int i;
-	extern fd_set	svc_fdset;
+	extern fd_set svc_fdset;
 	struct yp_event	*ye;
 
-	for (i = 0; i < getdtablesize(); i++) {
+	for (i = 0; i < FD_SETSIZE; i++) {
 		if (FD_ISSET(i, &svc_fdset)) {
 			if ((ye = calloc(1, sizeof(*ye))) == NULL)
 				fatal(NULL);

Modified: head/usr.sbin/ypldap/ypldap.conf.5
==============================================================================
--- head/usr.sbin/ypldap/ypldap.conf.5	Wed Jan 13 01:32:04 2016	(r293800)
+++ head/usr.sbin/ypldap/ypldap.conf.5	Wed Jan 13 01:49:35 2016	(r293801)
@@ -15,7 +15,7 @@
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd $Mdocdate: April 30 2012 $
+.Dd $Mdocdate: January 13 2016 $
 .Dt YPLDAP.CONF 5
 .Os
 .Sh NAME
@@ -155,6 +155,9 @@ Use the supplied LDAP filter to retrieve
 .It Pa /etc/ypldap.conf
 .Xr ypldap 8
 configuration file.
+.It Pa /usr/share/example/ypldap/ypldap.conf
+.Xr ypldap 8
+configuration file example.
 .El
 .Sh SEE ALSO
 .Xr ypbind 8 ,


More information about the svn-src-head mailing list