svn commit: r333133 - head/usr.sbin/pwd_mkdb
Ed Maste
emaste at FreeBSD.org
Tue May 1 00:53:47 UTC 2018
Author: emaste
Date: Tue May 1 00:53:46 2018
New Revision: 333133
URL: https://svnweb.freebsd.org/changeset/base/333133
Log:
pwd_mkdb: retire legacy v3 db support (-l option)
pwd_mkdb has emitted v4 password database records since 2003 (r113596)
in addition to v3, and as of r283981 by default it emitted only v4.
As described in r283981, retire the -l legacy option.
The -B and -L options were originally added to set the endianness of v3
records emitted by pwd_mkdb, but they also set the db hash endiannes and
so have been retained temporarily.
Announced on the FreeBSD-Current and FreeBSD-Stable lists. In stable/11
the man page contains a deprecation notice, and pwd_mkdb will emit a
deprecation notice if the -l option is specified.
Reviewed by: delphij, lidl, rgrimes
Relnotes: Yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D15144
Modified:
head/usr.sbin/pwd_mkdb/pwd_mkdb.8
head/usr.sbin/pwd_mkdb/pwd_mkdb.c
Modified: head/usr.sbin/pwd_mkdb/pwd_mkdb.8
==============================================================================
--- head/usr.sbin/pwd_mkdb/pwd_mkdb.8 Tue May 1 00:36:56 2018 (r333132)
+++ head/usr.sbin/pwd_mkdb/pwd_mkdb.8 Tue May 1 00:53:46 2018 (r333133)
@@ -28,7 +28,7 @@
.\" @(#)pwd_mkdb.8 8.1 (Berkeley) 6/6/93
.\" $FreeBSD$
.\"
-.Dd April 22, 2018
+.Dd April 30, 2018
.Dt PWD_MKDB 8
.Os
.Sh NAME
@@ -36,7 +36,7 @@
.Nd "generate the password databases"
.Sh SYNOPSIS
.Nm
-.Op Fl BCilLNp
+.Op Fl BCiLNp
.Op Fl d Ar directory
.Op Fl s Ar cachesize
.Op Fl u Ar username
@@ -112,31 +112,8 @@ encrypted password and the insecure version has an ast
The databases are used by the C library password routines (see
.Xr getpwent 3 ) .
.Pp
-By default,
-the
-.Nm
-utility generates new,
-machine independent format
-.Pq v4
-entries only.
-For compatibility with
-.Fx 5.0
-and earlier releases,
-the
-.Fl l
-option may be specified,
-which enables generation of legacy format
-.Pq v3
-entries.
-The legacy format entries are endianness dependent.
-The
-.Fl l
-option is deprecated and is not present in
-.Fx 12.0
-and later.
-.Pp
-The following options may be specified and will affect the
-generation of legacy entries.
+The following options affected the generation of legacy entries,
+and are now deprecated.
.Bl -tag -width flag
.It Fl B
Store data in big-endian format.
Modified: head/usr.sbin/pwd_mkdb/pwd_mkdb.c
==============================================================================
--- head/usr.sbin/pwd_mkdb/pwd_mkdb.c Tue May 1 00:36:56 2018 (r333132)
+++ head/usr.sbin/pwd_mkdb/pwd_mkdb.c Tue May 1 00:53:46 2018 (r333133)
@@ -115,26 +115,25 @@ main(int argc, char *argv[])
char sbuf2[MAXPATHLEN];
char *username;
u_int method, methoduid;
- int Cflag, dflag, iflag, lflag;
+ int Cflag, dflag, iflag;
int nblock = 0;
- iflag = dflag = Cflag = lflag = 0;
+ iflag = dflag = Cflag = 0;
strcpy(prefix, _PATH_PWD);
makeold = 0;
username = NULL;
oldfp = NULL;
- while ((ch = getopt(argc, argv, "BCLlNd:ips:u:v")) != -1)
+ while ((ch = getopt(argc, argv, "BCLNd:ips:u:v")) != -1)
switch(ch) {
case 'B': /* big-endian output */
+ warnx("endiannes options (-B/-L) are deprecated");
openinfo.lorder = BIG_ENDIAN;
break;
case 'C': /* verify only */
Cflag = 1;
break;
- case 'l': /* generate legacy entries */
- lflag = 1;
- break;
case 'L': /* little-endian output */
+ warnx("endiannes options (-B/-L) are deprecated");
openinfo.lorder = LITTLE_ENDIAN;
break;
case 'N': /* do not wait for lock */
@@ -166,8 +165,6 @@ main(int argc, char *argv[])
if (argc != 1 || (username && (*username == '+' || *username == '-')))
usage();
- if (lflag)
- warnx("legacy (v3) database format support is deprecated");
/*
* This could be changed to allow the user to interrupt.
@@ -472,98 +469,6 @@ main(int argc, char *argv[])
if ((sdp->put)(sdp, &key, &sdata, method) == -1)
error("put");
}
-
- if (lflag) {
- /* Create insecure data. (legacy version) */
- p = buf;
- COMPACT(pwd.pw_name);
- COMPACT("*");
- LSCALAR(pwd.pw_uid);
- LSCALAR(pwd.pw_gid);
- LSCALAR(pwd.pw_change);
- COMPACT(pwd.pw_class);
- COMPACT(pwd.pw_gecos);
- COMPACT(pwd.pw_dir);
- COMPACT(pwd.pw_shell);
- LSCALAR(pwd.pw_expire);
- LSCALAR(pwd.pw_fields);
- data.size = p - buf;
-
- /* Create secure data. (legacy version) */
- p = sbuf;
- COMPACT(pwd.pw_name);
- COMPACT(pwd.pw_passwd);
- LSCALAR(pwd.pw_uid);
- LSCALAR(pwd.pw_gid);
- LSCALAR(pwd.pw_change);
- COMPACT(pwd.pw_class);
- COMPACT(pwd.pw_gecos);
- COMPACT(pwd.pw_dir);
- COMPACT(pwd.pw_shell);
- LSCALAR(pwd.pw_expire);
- LSCALAR(pwd.pw_fields);
- sdata.size = p - sbuf;
-
- /* Store insecure by name. */
- tbuf[0] = LEGACY_VERSION(_PW_KEYBYNAME);
- len = strlen(pwd.pw_name);
- memmove(tbuf + 1, pwd.pw_name, len);
- key.size = len + 1;
- if ((dp->put)(dp, &key, &data, method) == -1)
- error("put");
-
- /* Store insecure by number. */
- tbuf[0] = LEGACY_VERSION(_PW_KEYBYNUM);
- store = HTOL(cnt);
- memmove(tbuf + 1, &store, sizeof(store));
- key.size = sizeof(store) + 1;
- if ((dp->put)(dp, &key, &data, method) == -1)
- error("put");
-
- /* Store insecure by uid. */
- tbuf[0] = LEGACY_VERSION(_PW_KEYBYUID);
- store = HTOL(pwd.pw_uid);
- memmove(tbuf + 1, &store, sizeof(store));
- key.size = sizeof(store) + 1;
- if ((dp->put)(dp, &key, &data, methoduid) == -1)
- error("put");
-
- /* Store secure by name. */
- tbuf[0] = LEGACY_VERSION(_PW_KEYBYNAME);
- len = strlen(pwd.pw_name);
- memmove(tbuf + 1, pwd.pw_name, len);
- key.size = len + 1;
- if ((sdp->put)(sdp, &key, &sdata, method) == -1)
- error("put");
-
- /* Store secure by number. */
- tbuf[0] = LEGACY_VERSION(_PW_KEYBYNUM);
- store = HTOL(cnt);
- memmove(tbuf + 1, &store, sizeof(store));
- key.size = sizeof(store) + 1;
- if ((sdp->put)(sdp, &key, &sdata, method) == -1)
- error("put");
-
- /* Store secure by uid. */
- tbuf[0] = LEGACY_VERSION(_PW_KEYBYUID);
- store = HTOL(pwd.pw_uid);
- memmove(tbuf + 1, &store, sizeof(store));
- key.size = sizeof(store) + 1;
- if ((sdp->put)(sdp, &key, &sdata, methoduid) == -1)
- error("put");
-
- /* Store insecure and secure special plus and special minus */
- if (pwd.pw_name[0] == '+' || pwd.pw_name[0] == '-') {
- tbuf[0] = LEGACY_VERSION(_PW_KEYYPBYNUM);
- store = HTOL(ypcnt);
- memmove(tbuf + 1, &store, sizeof(store));
- key.size = sizeof(store) + 1;
- if ((dp->put)(dp, &key, &data, method) == -1)
- error("put");
- if ((sdp->put)(sdp, &key, &sdata, method) == -1)
- error("put");
- }
- }
}
/* Create original format password file entry */
if (is_comment && makeold){ /* copy comments */
@@ -593,14 +498,6 @@ main(int argc, char *argv[])
error("put");
if ((sdp->put)(sdp, &key, &data, method) == -1)
error("put");
- if (lflag) {
- tbuf[0] = LEGACY_VERSION(_PW_KEYYPENABLED);
- key.size = 1;
- if ((dp->put)(dp, &key, &data, method) == -1)
- error("put");
- if ((sdp->put)(sdp, &key, &data, method) == -1)
- error("put");
- }
}
if ((dp->close)(dp) == -1)
More information about the svn-src-all
mailing list