correctly (specified wrong fields to awk). Note that the files in question
are noe the local /etc/master.passwd and /etc/passwd files: this Makefile
expects there to be a seperate master.passwd file under /var/yp for NIS
database creation.
Submitted by: wolf (Wolfgang Stanglmeier)
Most PCI specific files moved from sys/i386/pci to sys/pci.
One PC specific file (pcibus.c) new in sys/i386/isa.
Submitted by: wolf (Wolfgang Stanglmeier)
Obtained from:
Most PCI specific files moved from sys/i386/pci to sys/pci.
One PC specific file (pcibus.c) new in sys/i386/isa.
of hard links: since passwd is installed immutable, an attempt to make
a hard link to it during a 'make install' would fail. I didn't notice
this conflict because my /usr directory is an NFS filesystem mounted from a
SunOS server, so the special file mode flags had no effecti when I tested
everything on my machine. Live and learn.
one line long.
Fixed a bug in the input field with cursor positioning at the end of
the field.
Make the print_status function available to apps so they can print
status messages.
Updated the example for the new fib parser.
executes after it finishes updating the raw master.passwd file. The script
is just there to invoke /var/yp/Makefile to build new maps and yppush them.
We could have yppasswdd run /var/yp/Makefile directly, but this allws a bit
more flexibility: the user may decide to run some other commands too.
- FreeBSD's NIS server can supply a master.passwd map, which has
more fields in it than a standard passwd map, so we need a
_master_pw_breakout() fuction.
- When doing passwd map lookups, look for master.passwd.* by attempting
a _yp_first() on master.passwd.byname. If it exists, we're being served
by a FreeBSD NIS server and we should use this map.
- If we aren't the superuser, retrieve only the standard passwd maps.
If we're being served by a FreeBSD system, then the passwd map has
no passwords in it, and it won't serve us the master.passwd map unless
we're superuser anyway.
There's a small speed hit for the superuser inherent in the check for
the master.passwd map, but this lets us dynamically decide what to do
rather than rely on a non-standard config file somewhere. Since all
of this is bypassed for normal users, they shouldn't notice the
difference.
This is a ported/modified version of the yppush program from the
yps-0.21 package from the NYS project. This program is used to propagate
updated NIS maps from an NIS master to an NIS slave. It's normally invoked
by /var/yp/Makefile.
This version of yppush has been modified in the following ways:
- Cleared up several Linux/BSD incompatibilities, largely involving
header files.
- converted from GDBM to DB with extreme predjudice. (well, not really...)
- removed lots of ugly debugging code that really didn't do anyone any good.
- Fixed a couple of inaccurate/badly formatted error messages.
- Renamed some functions to avoid collisions with certain YP routines
hidden inside libc.
- Small signal handling kludge: Linux has different struct sigaction
that us.
- Incorporated some functions from the yps-0.21 library that yppush was
dependent on.
Like ypxfr, this works, but could use come cleaning up.
This is a ported/modified version of the ypxfr program from the yps-0.21
package from the NYS project. This program is normally invoked by ypserv
when it receives a yppush command from an NIS master. It can also be
run from the command line to grab copies of maps when initializing a
slave server.
This program has been hacked in the following ways:
- rpcgen'ed new yp_xdr.c, yp_svc.c and yp_clnt.c files. The old ones were
rather grody.
- Changed certain function names (prefended a _ to them) to avoid conflicts
with certain functions lurking within libc. One major problem here is
that ypxfr needs to bind to a YP master in order to work correctly,
but it can't use the _yp_bind function inside libc because that
function only lets you bind to a domain, not a specific host. Lots
of head scratching here.
- Converted from GDBM to DB at gunpoint.
- Removed lots of really nasty looking DEBUG code to try to reduce clutter.
- Incorporated some of the library code supplied with yps-0.21 on which
ypxfr was dependent.
This program still needs to be cleaned up just as a matter of principle:
I get all icky just looking at it sometimes.
This is a ported/modified version of yppasswd from the NYS yppasswd-0.5
package. This package has code in it from both Olaf Kirch and Theo
de Raadt. There are GPL references and BSD-style copyright all over the
place... hopefully I won't get flamed into oblivion for commiting this.
This program has been modified from the original in the following ways:
- Changed the ALLOW_CHFN and ALLOW_CHSH compile-time options into
run-time options.
- Demolished the password update functions and replaced them with
routines to handle FreeBSD-style passwordd databases. It is expected
that a seperate master.passwd file will be maintained for use with
the NIS maps. yppasswd will have to be told where it is:
% yppasswdd -m /var/yp/master.passwd
A /var/yp/passwd file will be generated from /var/yp/master.passwd by
/var/yp/Makefile. When yppasswdd has finished modifying the master.passwd
file, it will invoke /usr/libexec/yppwupdate, which is a script that
will run /var/yp/Makefile to generate new maps and push them.
Note that there are copies if pw_util.c and pw_copy.c here. This is
deliberate: they are *not* identical to the originals. Very similar, yes,
but not identical. *sigh*