Home | History | Annotate | only in /src/usr.sbin/ypserv/ypinit
History log of /src/usr.sbin/ypserv/ypinit
RevisionDateAuthorComments
 1.6 15-Oct-1997  lukem - major cleanup of Makefile.yp to use modern make(1) variables, and
follow our formatting convetions.
- add support for aliases, amd.home, master.passwd and netgroup maps
[initially from openbsd, reworked as above]
- if INSECURE != "yes" then the passwd.by* maps will not contain the
encrypted version of the passwd - privileged clients will request
info from the master.passwd.by* maps.
FreeBSD originally implemented this, and & OpenBSD supports it too.
[from openbsd].

By default, passwd maps are INSECURE, but in a *BSD-only environment,
this could be disabled to allow for a [slightly] higher degree of
security from non-root users...
 1.5 24-Mar-1997  christos Makefile cleanups
 1.4 27-Jan-1997  cjs Format and install ypinit manual page. (PR 3139 from
Andrew Wheadon <andrew@wipux2.wifo.uni-mannheim.de>.)
 1.3 18-Oct-1996  thorpej Use ${INSTALL}.
 1.2 09-Aug-1996  thorpej Install the Makefiles with mode 0644, not ${BINMODE}
 1.1 09-Aug-1996  thorpej branches: 1.1.1;
Initial revision
 1.1.1.1 09-Aug-1996  thorpej A ypserv implementation, originally written by Mats O Jansson, with
some changes by me, including misc. cleanup, minor bug fixes, and
brand-new access control list code.
 1.5 30-Jul-2000  itojun generate ipnodes.{byname,byaddr} for IPv4/v6 lookups.
hosts.{byname,byaddr} is still an IPv4 only mapping.
obeys solaris8 practice. see comments in ypinit/Makefile.yp for details.

TODO: interop test with solaris8 (any takers?)
 1.4 25-Apr-1999  lukem split line
 1.3 15-Oct-1997  lukem - major cleanup of Makefile.yp to use modern make(1) variables, and
follow our formatting convetions.
- add support for aliases, amd.home, master.passwd and netgroup maps
[initially from openbsd, reworked as above]
- if INSECURE != "yes" then the passwd.by* maps will not contain the
encrypted version of the passwd - privileged clients will request
info from the master.passwd.by* maps.
FreeBSD originally implemented this, and & OpenBSD supports it too.
[from openbsd].

By default, passwd maps are INSECURE, but in a *BSD-only environment,
this could be disabled to allow for a [slightly] higher degree of
security from non-root users...
 1.2 12-Oct-1997  mycroft Make this work again, and add ethers to the list of recursive targets.
 1.1 09-Aug-1996  thorpej branches: 1.1.1;
Initial revision
 1.1.1.1 09-Aug-1996  thorpej A ypserv implementation, originally written by Mats O Jansson, with
some changes by me, including misc. cleanup, minor bug fixes, and
brand-new access control list code.
 1.23 18-Mar-2014  riastradh Merge riastradh-drm2 to HEAD.
 1.22 19-Jul-2013  hauke Commit the patches in Wolfgang Stukenbrock's PR bin/41896.

(1) Do not serve UIDs below MINUID in master.passwd.* maps,
just like in passwd.* maps.

(2) Since stdethers(8) and stdhosts(8) strip comments, we do
not have to do it here, much less inconsistently.
 1.21 07-Oct-2006  elad branches: 1.21.40; 1.21.46; 1.21.52;
PR/31956: Andrew Daugherity: Makefile.yp: shadow.byname map should respect
MINUID

Patch applied and verified by francisg@#NetBSD-code, thanks!
 1.20 29-Dec-2004  grant when generating maps, use -n argument to stdhosts(1) so ipv6 addresses
are allowed.
 1.19 20-Apr-2003  christos PR/5999: Todd Vierling: minor nits about Makefile.yp
Provide MINUID and MINGID variables to specify the minimum uid and gid to
be included in the password and group maps.
 1.18 06-Aug-2001  christos - Filter out the YP_ keys from mail.aliases. How did this ever work?
- Don't be verbose when creating the amd maps.
 1.17 05-Aug-2001  hubertf * Allow generating more than one amd map, by storing the maps to create
in a variable that can be added other maps than amd.home. Patch submitted
in PR 11826 by Anthony Mallet <anthony.mallet@ficus.yi.org>
* Slightly optimize calculation of DOMAIN
 1.16 03-Jul-2001  christos Fix bogus awk + sed combination to handle continuations and empty lines.
It broke a sequence of:

key1 \
value1 \
value2 \
value3 \


key2 \
value4 \


etc.

Handle both the netgroup rule and the amd.home rule using a .USEBEFORE
macro rule, since they contain the same code.
XXX: Needs new make(1)
 1.15 19-Jun-2001  wiz `accessible' only has one `a'.
 1.14 16-Jan-2001  scottr Fix the sorting introduced in rev 1.9 for the netgroup map:
handle entries that span multiple lines correctly.
 1.13 11-Oct-2000  itojun /etc/mail/aliases, not /etc/aliases. PR 10167.
 1.12 19-Sep-2000  christos oops, use MAKEDBM_S
 1.11 19-Sep-2000  christos add a non-enabled rule to build solaris and linux shadow files.
 1.10 30-Jul-2000  itojun generate ipnodes.{byname,byaddr} for IPv4/v6 lookups.
hosts.{byname,byaddr} is still an IPv4 only mapping.
obeys solaris8 practice. see comments in ypinit/Makefile.yp for details.

TODO: interop test with solaris8 (any takers?)
 1.9 19-Nov-1999  abs branches: 1.9.4;
Our db btree(3) implementation is tuned for ordered insertion, so pipe
through sort before makedbm.
This drops Erik Rungi's <rungus@openface.ca> passwd.byname generation for
3000 entries from 25-30 seconds down to 0.75 seconds.
 1.8 08-Jun-1998  lukem branches: 1.8.2; 1.8.6;
disable INSECURE=yes now that libc support master.passwd YP maps
 1.7 18-Nov-1997  lukem note that INSECURE=no isn't yet supported for netbsd clients
 1.6 01-Nov-1997  lukem * rewrite read_line(), partially based on get_line in netgroup_mkdb.c:
- use fgetln() instead of fgets()
- store info in internal buffer
- fix \\ support
- count line numbers internally, so \\ lines don't mess up count
* ypdb_store():
- ensure that the length of key or val doesn't exceed YPMAXRECORD
* makedbm, mknetid, revnetgroup, stdethers, stdhosts:
- improve error handling
- take advantage of rewritten read_line(), and cleanup line parsing
- don't print trailing ` ' for key/val pairs with an empty val
* Makefile.yp:
- fix up building of ypservers (from Chuck Cranor)
* ypinit.sh:
- remove leading spaces in variable assignment (from Chuck Cranor)
 1.5 15-Oct-1997  lukem branches: 1.5.2;
- major cleanup of Makefile.yp to use modern make(1) variables, and
follow our formatting convetions.
- add support for aliases, amd.home, master.passwd and netgroup maps
[initially from openbsd, reworked as above]
- if INSECURE != "yes" then the passwd.by* maps will not contain the
encrypted version of the passwd - privileged clients will request
info from the master.passwd.by* maps.
FreeBSD originally implemented this, and & OpenBSD supports it too.
[from openbsd].

By default, passwd maps are INSECURE, but in a *BSD-only environment,
this could be disabled to allow for a [slightly] higher degree of
security from non-root users...
 1.4 29-Jul-1997  mikel pushed ethers, not hosts
 1.3 09-Aug-1996  thorpej Alter the ypservers rule a bit to always make sure that this map
exists.
 1.2 09-Aug-1996  thorpej Add a rule for the `ypservers' map (the map containing a list of
slaves for the YP domain). This map is not built by default, but the
rule exists to make adding slave servers a bit easier.
 1.1 09-Aug-1996  thorpej branches: 1.1.1;
Initial revision
 1.1.1.1 09-Aug-1996  thorpej A ypserv implementation, originally written by Mats O Jansson, with
some changes by me, including misc. cleanup, minor bug fixes, and
brand-new access control list code.
 1.5.2.1 28-Nov-1997  mellon Pull rev 1.6 and 1.7 up from trunk (lukem)
 1.8.6.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.8.2.2 30-Jan-2001  he Pull up revision 1.14 (requested by sr):
Handle multi-line netgroup entries correctly.
 1.8.2.1 20-Nov-1999  he Pull up revision 1.9 (requested by abs):
Sort maps before makedbm. Can speed up large maps over tenfold.
 1.9.4.2 03-Feb-2001  he Pull up revision 1.14 (requested by scottr):
Handle multiple-line netgroup entries correctly.
 1.9.4.1 16-Oct-2000  tv Pullup 1.13 [itojun]:
/etc/mail/aliases, not /etc/aliases. PR 10167.
 1.21.52.1 23-Jul-2013  riastradh sync with HEAD
 1.21.46.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.40.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.19 25-Sep-2018  wiz New sentence, new line. Use An/Mt.
 1.18 23-Sep-2018  kre Switch from getopt to getopts - and as part of that, update the usage,
and the man page, to reflect modern usage rather than some ancient style
that getopt[s] does not support (options, and their args when they exist)
always come before non-option agrs.

While here, update uses of test(1) to avoid obsolescent forms (and
even when still defined, prefer sh structures over test when possible).
 1.17 03-Jul-2017  wiz branches: 1.17.4; 1.17.6;
Remove workaround for ancient HTML generation code.
 1.16 30-Apr-2008  martin Convert TNF licenses to new 2 clause variant
 1.15 26-Feb-2005  thorpej branches: 1.15.24;
YP -> NIS
 1.14 12-Nov-2003  grant s/netbsd.org/NetBSD.org/i
 1.13 25-Feb-2003  wiz .Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.
 1.12 21-Dec-2002  wiz Foundation has only one a, from Adrian Mrva.
 1.11 06-Jul-2002  wiz Use .Aq instead of \*[Lt]...\*[Gt] in two places. End sentence with a dot.
 1.10 08-Feb-2002  ross Generate <>& symbolically. I'm avoiding .../dist/... directories for now.
 1.9 02-Feb-2002  wiz Sort SEE ALSO, use standard headers.
 1.8 01-Aug-2001  garbled Add a -l argument to ypinit that allows adding servers in the format
server1,server2,server3 on the command line. This allows the user to
optionally avoid the interactive mode of ypinit. If the -l flag is not
supplied, the old behavior is retained.

This allows users to do things like rsh out creation of YP clients, and
sushi to generate yp clients/servers/slaves.
 1.7 07-Mar-1999  mycroft Clean up SYNOPSIS formatting.
 1.6 08-Jun-1998  lukem add ypinit -c (setup yp client)
 1.5 08-Nov-1997  lukem use ".Tn YP" instead of "YP", fix up some .Nd entries, use .Pa for mapnames
 1.4 07-Oct-1997  lukem branches: 1.4.2;
cleanup typos, grammaros, thinkos, and misuse of mdoc macros
 1.3 02-Oct-1997  lukem - build common/* once, into a library, rather than recompiling each of
the files multiple times in the other subdirectories (saves about
10% on compilation time)
- clean up the manual pages
 1.2 30-Jul-1997  jtc Fix files using old TNF copyright notice
 1.1 05-Jan-1997  cjs New manual page for ypinit(8).
 1.4.2.1 28-Nov-1997  mellon Pull rev 1.5 up from trunk (lukem()
 1.15.24.1 18-May-2008  yamt sync with head.
 1.17.6.1 10-Jun-2019  christos Sync with HEAD
 1.17.4.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.15 17-Aug-2021  andvar fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.14 23-Sep-2018  kre Switch from getopt to getopts - and as part of that, update the usage,
and the man page, to reflect modern usage rather than some ancient style
that getopt[s] does not support (options, and their args when they exist)
always come before non-option agrs.

While here, update uses of test(1) to avoid obsolescent forms (and
even when still defined, prefer sh structures over test when possible).
 1.13 20-Jul-2018  kre PR bin/53458

Bring this script a little up to date - make it work with modern /bin/sh
(avoid HOSTNAME as a random variable) clean up trailing spaces on lines,
use $( ) instead of `` ...
 1.12 05-Oct-2004  tron branches: 1.12.82; 1.12.88; 1.12.90;
Fix bug which caused "ypinit" to die with a strange error message if
"/var/yp/binding" doesn't exist.
 1.11 12-Nov-2003  grant branches: 1.11.4;
s/netbsd.org/NetBSD.org/i
 1.10 01-Aug-2001  garbled Add a -l argument to ypinit that allows adding servers in the format
server1,server2,server3 on the command line. This allows the user to
optionally avoid the interactive mode of ypinit. If the -l flag is not
supplied, the old behavior is retained.

This allows users to do things like rsh out creation of YP clients, and
sushi to generate yp clients/servers/slaves.
 1.9 18-Jun-2001  lukem use mktemp(1) as appropriate
 1.8 08-Jun-1998  lukem add ypinit -c (setup yp client)
 1.7 18-Nov-1997  lukem overhaul code, provide saner error messages, etc
 1.6 01-Nov-1997  lukem * rewrite read_line(), partially based on get_line in netgroup_mkdb.c:
- use fgetln() instead of fgets()
- store info in internal buffer
- fix \\ support
- count line numbers internally, so \\ lines don't mess up count
* ypdb_store():
- ensure that the length of key or val doesn't exceed YPMAXRECORD
* makedbm, mknetid, revnetgroup, stdethers, stdhosts:
- improve error handling
- take advantage of rewritten read_line(), and cleanup line parsing
- don't print trailing ` ' for key/val pairs with an empty val
* Makefile.yp:
- fix up building of ypservers (from Chuck Cranor)
* ypinit.sh:
- remove leading spaces in variable assignment (from Chuck Cranor)
 1.5 25-Oct-1997  lukem fix spellos and incorrect man page references
 1.4 08-Oct-1997  lukem branches: 1.4.2;
- set the umask to 077, to protect the created directory
- clean up a couple of the messages
 1.3 09-Aug-1996  thorpej Remove hard-coded a /var/yp.
 1.2 09-Aug-1996  thorpej Make this script a little more sane.
 1.1 09-Aug-1996  thorpej branches: 1.1.1;
Initial revision
 1.1.1.1 09-Aug-1996  thorpej A ypserv implementation, originally written by Mats O Jansson, with
some changes by me, including misc. cleanup, minor bug fixes, and
brand-new access control list code.
 1.4.2.3 28-Nov-1997  mellon Pull rev 1.7 up from trunk (lulkm)
 1.4.2.2 06-Nov-1997  mellon Pull rev 1.6 up from trunk (lukem)
 1.4.2.1 26-Oct-1997  mellon Pull rev 1.5 up from trunk (lukem)
 1.11.4.1 12-Jan-2005  he Pull up evision 1.12 (requested by tron in ticket #893):
Fix a bug which caused "ypinit" to die with a strange error message
if "/var/yp/binding" does not exist.
 1.12.90.1 10-Jun-2019  christos Sync with HEAD
 1.12.88.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.12.88.1 28-Jul-2018  pgoyette Sync with HEAD
 1.12.82.1 27-Jul-2018  martin Pull up following revision(s) (requested by kre in ticket #943):

usr.sbin/ypserv/ypinit/ypinit.sh: revision 1.13

PR bin/53458

Bring this script a little up to date - make it work with modern /bin/sh
(avoid HOSTNAME as a random variable) clean up trailing spaces on lines,
use $( ) instead of `` ...

RSS XML Feed