History log of /freebsd-current/sbin/md5/md5.1
Revision Date Author Comments
# f3343fe4 12-Mar-2024 Gordon Bergling <gbe@FreeBSD.org>

md5.1: Fix the GNU mode example when using a digest file

The last example in the manpage md5(1) wants to demonstrate
GNU mode (md5sum), but uses BSD mode (md5) instead.

In GNU mode, the -c option does not compare against a hash string
passed as parameter. Instead, it expects a digest file,
as created under the name digest for /boot/loader.conf in
the example above.

PR: 276560
Reviewed by: mhorne, des
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D44098


# a4465828 06-Mar-2024 Gordon Bergling <gbe@FreeBSD.org>

Revert "md5.1: Fix an example"

This reverts commit 865baeaf1abeb14327ad6a4a1f8ce722e242ff73.


# 865baeaf 28-Feb-2024 Stefan Schlosser <bsdcode@disroot.org>

md5.1: Fix an example

The last example in the manpage md5(1) wants to demonstrate
GNU mode (md5sum), but uses BSD mode (md5) instead:

In GNU mode, the -c option does not compare against a hash string
passed as parameter. Instead, it expects a digest file,
as created under the name digest for /boot/loader.conf in
the example above.

PR: 276560
Reviewed by: mhorne
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D44098


# 5b44edb4 16-Feb-2024 Dag-Erling Smørgrav <des@FreeBSD.org>

md5: Ignore files in string and passthrough mode.

MFC after: 1 week
Reviewed by: allanjude, markj
Differential Revision: https://reviews.freebsd.org/D43871


# 72ee91fe 16-Feb-2024 Dag-Erling Smørgrav <des@FreeBSD.org>

md5: Accept "-" as alias for stdin.

(based on a patch by jhb)

MFC after: 1 week
PR: 276915
Reported by: Hannes Hauswedell <h2+fbsdports@fsfe.org>
Reviewed by: allanjude, markj, jhb, emaste
Differential Revision: https://reviews.freebsd.org/D43870


# b2c76c41 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line nroff pattern

Remove /^\.\\"\s*\$FreeBSD\$$\n/


# 00de65aa 10-May-2023 Dag-Erling Smørgrav <des@FreeBSD.org>

md5: Add missing references to sha384.

Fixes: 4849767cb16a
Sponsored by: Klara, Inc.
Reviewed by: allanjude
Differential Revision: https://reviews.freebsd.org/D40032


# 4849767c 08-May-2023 Dag-Erling Smørgrav <des@FreeBSD.org>

md5: Improve compatibility.

* Overhaul the GNU compatibility mode to more closely emulate what the GNU tools do.

* Add a Perl compatibility mode which emulates the shasum tool that ships with Perl. This is currently not installed.

* Overhaul the tests.

Sponsored by: Klara, Inc.
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D39446


# 2768d705 06-Feb-2023 Dag-Erling Smørgrav <des@FreeBSD.org>

libmd / md5: Add SHA-512/224.

While there, remove .Tn from man pages.

Also remove an obsolete comment about the 80386.

MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: kevans, allanjude
Differential Revision: https://reviews.freebsd.org/D38373


# 9f3aa538 26-Jul-2022 Stefan Eßer <se@FreeBSD.org>

sbin/md5.c: fix -q -c for BSD style versions

The BSD style commands (with names not ending in "sum") ignored the -c
options and the passed digest value when invoked with -q.

The man page stated that -q causes only the calculated digest to be
printed, but did not consider the case of both the -q and -c being
used in combination.

Since there is no warning that -c will be ignored when the -q option
is used, users night (and did) expect that the exit code would reflect
the matching of the calculated digest and the argument passed with -c.

This update implements and documents this expected behavior.

PR: 265461
Reported by: Dmitrij <bugs.freebsd@1fff.net>
MFC after: 2 weeks


# 6981ec8b 05-Feb-2022 Wolfram Schneider <wosch@FreeBSD.org>

update external URLs


# 0d71cea8 14-Aug-2021 Gordon Bergling <gbe@FreeBSD.org>

md5(1): Fix a typo in the manual page

- s/compatibilty/compatibility/

MFC after: 5 days


# b33d1898 29-Jun-2021 Stefan Eßer <se@FreeBSD.org>

md5: Improve compatibility with coreutils and format fix

The previous changes that added support for the coreutils -c option
modified the output generated by passing -r to match that of the
coreutils versions. The difference is that coreutils separates the
hash from the file name by two blanks " " (or a blank followed by
an asterisk " *" with the -b option denoting).

While most scripts or users will not notice the difference, it might
be considered a violation of POLA and this commit reverts the change
for the non-sum programs. These will print a single blank " " as the
separator, as they die before the previous commit.

In order to still generate output that is identical to that of the
coreutils programs, this commit generates the " " or " *" separator
used by them for the -sum versions, depending on the presence of the
-b option.

MFC after: 3 days


# c2870e57 25-Jun-2021 Stefan Eßer <se@FreeBSD.org>

sbin/md5: improve compatibility with coreutils -c option

The -c option expects a digest file in either BSD or coreutils format.

The output for matched and mismatched files is identical to that
of the coreutils version.

The review of these changes included test cases that have already
been committed for the functionality that existed before.
Another test script is added to cover the coreutils compatible
extension implemented by this patch.

This commit contains a tests/Makefile that has been cleaned up
compared to the review version, using an implicit rule to apply the
TESTBASE path at build time (and the scripts have been renamed to
have an extension of .SH instead of .sh to trigger this rule).

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D30812


# 84f35b6f 19-Jun-2021 Stefan Eßer <se@FreeBSD.org>

sbin/md5: add md5sum to synopsis in the man-page

When invoked with "sum" following the hash name, the -c option takes a
file argument, not a string argument.


# 086feed8 19-May-2021 Warner Losh <imp@FreeBSD.org>

md5: Create md5sum, etc compatible programs

On Linux, there's a similar set of programs to ours, but that end in the
letters 'sum'. These act basically like FreeBSD versions run with the -r
option. Add code so that when the program ends in 'sum' you get the
linux -r behavior. This is enough to make most things that use sha*sum
work correctly (the -c / --check options, as well as the long args are
not implemented). When running with the -sum programs, ignore -t instead
of running internal speed tests and make -c an error.

Reviewed by: sef, and kp and allanjude (earlier version)
Relnotes: yes
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D30309


# 83d742d6 19-Jun-2020 Fernando Apesteguía <fernape@FreeBSD.org>

md5(1): Add EXAMPLES section

Add EXAMLES covering -c, -s and -r

Approved by: bcr@, 0mp@
Differential Revision: https://reviews.freebsd.org/D25278


# 7d40dd24 15-Jun-2020 Fernando Apesteguía <fernape@FreeBSD.org>

md5(1): fix style in man page

Fix a bunch of style problems reported by mandoc(1) and igor:

mandoc: ./md5.1:19:71: STYLE: no blank before trailing delimiter: Nm ... rmd160,
mandoc: ./md5.1:20:23: STYLE: no blank before trailing delimiter: Nm ... skein512,
mandoc: ./md5.1:33:2: STYLE: useless macro: Tn
mandoc: ./md5.1:33:2: STYLE: useless macro: Tn
mandoc: ./md5.1:33:2: STYLE: useless macro: Tn
mandoc: ./md5.1:33:2: STYLE: useless macro: Tn
mandoc: ./md5.1:35:2: STYLE: useless macro: Tn
mandoc: ./md5.1:42:2: STYLE: useless macro: Tn
mandoc: ./md5.1:45:2: STYLE: useless macro: Tn
mandoc: ./md5.1:47:2: STYLE: useless macro: Tn
mandoc: ./md5.1:56:2: STYLE: useless macro: Tn
mandoc: ./md5.1:58:2: STYLE: useless macro: Tn
mandoc: ./md5.1:61:2: STYLE: useless macro: Tn
mandoc: ./md5.1:66:2: STYLE: useless macro: Tn
mandoc: ./md5.1:68:2: STYLE: useless macro: Tn
mandoc: ./md5.1:104:24: STYLE: no blank before trailing delimiter: Nm skein512,
mandoc: ./md5.1:117:6: STYLE: referenced manual not found: Xr sha224 3

igor:
md5.1:46:no comma after "i.e.":either algorithm, [i.e.] to find an input that produces a specific

Approved by: bcr@
Differential Revision: https://reviews.freebsd.org/D25277


# 8ff3cdd1 09-Jul-2018 Conrad Meyer <cem@FreeBSD.org>

Integrate SHA2-224 with userspace components

The double compilation of the kernel sources in libmd and libcrypt is
baffling, but add yet another define hack to prevent duplicate symbols.

Add documentation and SHA2-224 test cases to libmd.

Integrate with the md5(1) command, document, and add more test cases;
self-tests pass.


# 8d26f08e 02-Mar-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Fix date.

Reported by: delphij, mckay
MFC with: r314528


# c74cccf0 01-Mar-2017 Dag-Erling Smørgrav <des@FreeBSD.org>

Update to reflect that SHA-1 has now been broken.

Submitted by: ak
MFC after: 1 week


# 40d3e536 07-Jan-2017 Allan Jude <allanjude@FreeBSD.org>

Add skein(3) front ends to the md5 manpage

Reported by: emaste


# 1780e407 28-May-2016 Allan Jude <allanjude@FreeBSD.org>

Implement SHA-512 truncated (224 and 256 bits)

This implements SHA-512/256, which generates a 256 bit hash by
calculating the SHA-512 then truncating the result. A different initial
value is used, making the result different from the first 256 bits of
the SHA-512 of the same input. SHA-512 is ~50% faster than SHA-256 on
64bit platforms, so the result is a faster 256 bit hash.

The main goal of this implementation is to enable support for this
faster hashing algorithm in ZFS. The feature was introduced into ZFS
in r289422, but is disconnected because SHA-512/256 support was missing.
A further commit will enable it in ZFS.

This is the follow on to r292782

Reviewed by: cem
Sponsored by: ScaleEngine Inc.
Differential Revision: https://reviews.freebsd.org/D6061


# 7a3f5d11 27-Dec-2015 Allan Jude <allanjude@FreeBSD.org>

Replace sys/crypto/sha2/sha2.c with lib/libmd/sha512c.c

cperciva's libmd implementation is 5-30% faster

The same was done for SHA256 previously in r263218

cperciva's implementation was lacking SHA-384 which I implemented, validated against OpenSSL and the NIST documentation

Extend sbin/md5 to create sha384(1)

Chase dependancies on sys/crypto/sha2/sha2.{c,h} and replace them with sha512{c.c,.h}

Reviewed by: cperciva, des, delphij
Approved by: secteam, bapt (mentor)
MFC after: 2 weeks
Sponsored by: ScaleEngine Inc.
Differential Revision: https://reviews.freebsd.org/D3929


# bd0891ce 20-Jun-2014 Baptiste Daroussin <bapt@FreeBSD.org>

use .Mt to mark up email addresses consistently (part1)

PR: 191174
Submitted by: Franco Fichtner <franco@lastsummer.de>


# 0e2e260e 18-May-2014 Benjamin Kaduk <bjk@FreeBSD.org>

Assorted updates to md5.1

Note that the -c argument's parameter is compared against the digest of
the file, not the file. [1]

Update the "current time" parentheticals for notes about reversing
and colliding the hash functions. [1]

Some general mdoc updates.

PR: docs/188043 [1]
Submitted by: Jamie Landeg-Jones [1]
Approved by: hrs (mentor)
MFC after: 1 week


# edd4c16f 31-Jul-2012 Xin LI <delphij@FreeBSD.org>

Teach md5(1) about sha512.

MFC after: 1 month


# 2fccbf04 09-May-2012 Glen Barber <gjb@FreeBSD.org>

General mdoc(7) and typo fixes.

PR: 167696
Submitted by: Nobuyuki Koganemaru (kogane!jp.freebsd.org)
MFC after: 3 days


# c7200687 13-Nov-2011 Eitan Adler <eadler@FreeBSD.org>

- new sentence should start on new line.

PR: bin/146541
Submitted by: bjk
Approved by: bjk


# 74525359 13-Nov-2011 Eitan Adler <eadler@FreeBSD.org>

- add "check" option to MD5 and friends to compare files against known hash.

PR: bin/146541
Submitted by: eadler
Reviewed by: jhell@dataix.net
Approved by: secteam (cperciva)
Approved by: cperciva
MFC after: 3 weeks


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# 0211d3b6 06-Jan-2009 Simon L. B. Nielsen <simon@FreeBSD.org>

Minor markup fix for the r186836 update.


# 4c55b9e0 06-Jan-2009 Colin Percival <cperciva@FreeBSD.org>

Strengthen some of the language concerning attacks on MD5, in light of the
recent demonstration of a forged SSL certificate. Add text pointing out
that SHA-1 is at least theoretically broken. Add a recommendation that
new applications use SHA-256.

MFC after: 1 month


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 8156052b 07-Sep-2008 Tom Rhodes <trhodes@FreeBSD.org>

Bring a paragraph in this manual page a bit closer to the present date.

Discussed with: des


# 2fc230e2 10-Mar-2005 Colin Percival <cperciva@FreeBSD.org>

Belatedly update the md5(1) man page to reflect the addition of sha256.


# a866e170 17-Jan-2005 Ruslan Ermilov <ru@FreeBSD.org>

Added the EXIT STATUS section where appropriate.


# 2410103c 07-Jul-2004 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) fixes.


# cb49d42b 11-Jun-2004 Oliver Eikemeier <eik@FreeBSD.org>

Add sha1 and rmd160 checksum tools.

Since the algorithms are already supported in libmd,
the size increase is small when a dynamic root is used.

Approved by: joerg, ru
MFC after: 2 weeks


# d04b5dfe 17-May-2004 Ruslan Ermilov <ru@FreeBSD.org>

Assorted markup, grammar, and spelling fixes.


# 5758d949 02-Nov-2003 Stefan Eßer <se@FreeBSD.org>

Set exit code to 1 in case at least one of the input files
could not be opened.


# 92b425d0 19-Apr-2002 Philippe Charnier <charnier@FreeBSD.org>

Use `The .Nm utility'


# ee355dcb 04-Sep-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: removed hard sentence breaks.


# cc2a5b08 03-Sep-2001 Murray Stokely <murray@FreeBSD.org>

Mention collision attacks on MD5. From the md5(3) man page.

PR: docs/14158
Reviewed by: kris
Submitted by: Eric Frias <efrias@sg505.net>


# c4d9468e 07-Aug-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police:

Avoid using parenthesis enclosure macros (.Pq and .Po/.Pc) with plain text.
Not only this slows down the mdoc(7) processing significantly, but it also
has an undesired (in this case) effect of disabling hyphenation within the
entire enclosed block.


# 7ebcc426 15-Jul-2001 Dima Dorfman <dd@FreeBSD.org>

Remove whitespace at EOL.


# 042b6e86 18-Jun-2001 Dima Dorfman <dd@FreeBSD.org>

This command has more than four options.


# 47dec781 13-Feb-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: use the default ``file ...'' feature of the .Ar macro.


# 7c7fb079 20-Nov-2000 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: use the new features of the Nm macro.


# 2963da13 03-Dec-1999 David E. O'Brien <obrien@FreeBSD.org>

Add -q quite mode.


# 73fd2717 11-Nov-1999 David E. O'Brien <obrien@FreeBSD.org>

Make `-r -s' also match the BSDI output.


# 9e18a3bd 06-Nov-1999 David E. O'Brien <obrien@FreeBSD.org>

Add a new "-r" (right) option that reverses the order a filename and the
hash is printed. This aids visual diffs.


# 23b5892f 06-Jul-1998 Philippe Charnier <charnier@FreeBSD.org>

Correct use of .Nm. Spelling. Add rcsid, remove unused #includes, use err(3).


# 716847a6 28-Dec-1997 Steve Price <steve@FreeBSD.org>

Get md5(1) to use getopt(3). Also some minor -Wall cleaning
while here.

PR: 5387
Submitted by: Matthew Hunt <mph@pobox.com>


# 46657c7e 29-Aug-1997 John-Mark Gurney <jmg@FreeBSD.org>

fix a few spelling changes

Submitted by: Josh Gilliam

Closes PR's: 4429, 4431-4438

PS: He has agreed to submit all contrib fixes back to the original author.


# f22592e7 02-Mar-1997 John-Mark Gurney <jmg@FreeBSD.org>

mdoc'ify man page


# 23b406e1 25-Feb-1995 Poul-Henning Kamp <phk@FreeBSD.org>

Add a '-p' option to md5. This will save some time in generation of the
ctm deltas.


# a8fcd7af 11-Dec-1994 Andreas Schulz <ats@FreeBSD.org>

Changed a sum(1) to a cksum(1).


# e1645093 29-Oct-1994 Paul Traina <pst@FreeBSD.org>

Incorproate version of md5 placed into public domain by RSA.