makeoptions selector FOO+=bar
"selector" may be anything used as a key in the selecttab, i.e. an option,
a "device" name, an "attach" name, a file system, etc.
Semantics: FOO+=bar when the selector is set. For example, if you have:
makeoptions pickle CPPFLAGS+=-I${S}/picklesrc
then "options PICKLE" will cause "CPPFLAGS+=-I${S}/picklesrc" to be
added to the Makefile.
Suggested by Matt Thomas.
makeoptions FOO+=bar
Multiple appending makeoptions are allowed. These are then emitted at
the %MAKEOPTIONSAPPEND token in the Makefile template.
Syntax suggested by Matt Thomas.
- Not enabled by default. Needs kernel option FFS_SNAPSHOT.
- Change parameters of ffs_blkfree.
- Let the copy-on-write functions return an error so spec_strategy
may fail if the copy-on-write fails.
- Change genfs_*lock*() to use vp->v_vnlock instead of &vp->v_lock.
- Add flag B_METAONLY to VOP_BALLOC to return indirect block buffer.
- Add a function ffs_checkfreefile needed for snapshot creation.
- Add special handling of snapshot files:
Snapshots may not be opened for writing and the attributes are read-only.
Use the mtime as the time this snapshot was taken.
Deny mtime updates for snapshot files.
- Add function transferlockers to transfer any waiting processes from
one lock to another.
- Add vfsop VFS_SNAPSHOT to take a snapshot and make it accessible through
a vnode.
- Add snapshot support to ls, fsck_ffs and dump.
Welcome to 2.0F.
Approved by: Jason R. Thorpe <thorpej@netbsd.org>
refer to DNSSec RFCs in SEE ALSO (since they are mentioned in the text;
XXX: text should be updated to refer to latest one only);
XXX: refers to BIND 8.
Reason: In routine make_passwd() in yppasswdd_mkpw.c, fgets() is used
to read master.passwd line-by-line. The lines are then parsed using
pw_scan(), without removing the trailing \n from the line. pw_scan()
fills in the shell name into pw.pw_shell, including the trailing \n.
Subsequently, rpc.yppasswdd calls pw_copy(), which copies master.passwd
to ptmp, updating the entry for pw.pw_name. pw_copy() terminates the
updated entry with an additonal \n, so that there is now an empty line
in ptmp.
Finally, rpc.yppasswdd calls pw_mkdb(3), which exec's /usr/sbin/pwd_mkdb
to install ptmp to master.passwd (and to create the pwd.db and spwd.db
data bases). pwd_mkdb chokes on the empty ptmp line.
Fix: remove the trailing \n from the buffer fgets() returns. As a side
effect, this gets us some additional error checking.
Reviewed by <tron>.