Page MenuHomeFreeBSD

pwd_mkdb: retire legacy v3 db support (-l option)
ClosedPublic

Authored by emaste on Apr 20 2018, 6:41 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Sep 17, 7:37 AM
Unknown Object (File)
Sep 10 2025, 12:37 AM
Unknown Object (File)
Aug 20 2025, 1:37 PM
Unknown Object (File)
Aug 19 2025, 7:20 AM
Unknown Object (File)
Aug 14 2025, 10:46 PM
Unknown Object (File)
Aug 3 2025, 9:55 AM
Unknown Object (File)
Jul 9 2025, 8:21 PM
Unknown Object (File)
Jul 5 2025, 6:34 AM
Subscribers

Details

Summary

pwd_mkdb has emitted v4 password database records since 2003 (rS113596) in addition to v3, and as of rS283981 by default it emitted only v4. As described in rS283981, retire the -l legacy option.

Additionally, set the db hash to be in network byte order (big-endian) as with other integers in the database. The db(3) functions work with a hash of either endianness. Using a fixed endianness allows us to create a password database that's reproducible regardless of host endianness.

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.

Mentioned on the FreeBSD-Current and FreeBSD-Stable lists
https://lists.freebsd.org/pipermail/freebsd-stable/2018-April/088782.html

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

usr.sbin/pwd_mkdb/pwd_mkdb.8
31 ↗(On Diff #41698)

Bump .Dd upon commit

usr.sbin/pwd_mkdb/pwd_mkdb.c
129 ↗(On Diff #41698)

Will add a deprecation warning in B and L cases.

This revision is now accepted and ready to land.Apr 21 2018, 5:57 AM

Thanks for review. My plan:

  • commit the change to default to BIG_ENDIAN hashes (rS332902)
  • merge deprecation notice in the program, in man page, and the rS332902 BIG_ENDIAN change to stable/11 in the next few of days (with Relnotes: yes)
  • commit this change (additionally with deprecation notice in -B / -L) to HEAD (with Relnotes: yes)
  • remove -B and -L in a few months (with Relnotes: yes)
This revision was automatically updated to reflect the committed changes.