* Noteworthy changes in release ?.? (????-??-??) [?]
+** Bug fixes
+
+** New features
+
+ md5sum --check now also accepts openssl-style checksums.
+ So do sha1sum, sha224sum, sha384sum and sha512sum.
+
* Noteworthy changes in release 8.0 (2009-10-06) [beta]
split_3 (char *s, size_t s_len,
unsigned char **hex_digest, int *binary, char **file_name)
{
- size_t i;
bool escaped_filename = false;
size_t algo_name_len;
- i = 0;
+ size_t i = 0;
while (ISWHITE (s[i]))
++i;
algo_name_len = strlen (DIGEST_TYPE_STRING);
if (strncmp (s + i, DIGEST_TYPE_STRING, algo_name_len) == 0)
{
- if (strncmp (s + i + algo_name_len, " (", 2) == 0)
+ if (s[i + algo_name_len] == ' ')
+ ++i;
+ if (s[i + algo_name_len] == '(')
{
*binary = 0;
- return bsd_split_3 (s + i + algo_name_len + 2,
- s_len - (i + algo_name_len + 2),
+ return bsd_split_3 (s + i + algo_name_len + 1,
+ s_len - (i + algo_name_len + 1),
hex_digest, file_name);
}
}
['check-bsd3', '--check', '--status',
{IN=> {'f.md5' => "MD5 (f) = $degenerate\n"}},
{AUX=> {f=> 'bar'}}, {EXIT=> 1}],
+ ['check-openssl', '--check', {IN=> {'f.sha1' => "SHA1(f)= $degenerate\n"}},
+ {AUX=> {f=> ''}},
+ {ERR=>"md5sum: f.sha1: no properly formatted "
+ . "MD5 checksum lines found\n"},
+ {EXIT=> 1}],
+ ['check-openssl2', '--check', {IN=> {'f.md5' => "MD5(f)= $degenerate\n"}},
+ {AUX=> {f=> ''}}, {OUT=>"f: OK\n"}],
+ ['check-openssl3', '--check', '--status',
+ {IN=> {'f.md5' => "MD5(f)= $degenerate\n"}},
+ {AUX=> {f=> 'bar'}}, {EXIT=> 1}],
['bsd-segv', '--check', {IN=> {'z' => "MD5 ("}}, {EXIT=> 1},
{ERR=> "$prog: z: no properly formatted MD5 checksum lines found\n"}],
['check-bsd3', '--check', '--status',
{IN=> {'f.sha1' => "SHA1 (f) = $sha_degenerate\n"}},
{AUX=> {f=> 'bar'}}, {EXIT=> 1}],
+ ['check-openssl', '--check', {IN=> {'f.md5' => "MD5(f)= $sha_degenerate\n"}},
+ {AUX=> {f=> ''}},
+ {ERR=>"sha1sum: f.md5: no properly formatted "
+ . "SHA1 checksum lines found\n"},
+ {EXIT=> 1}],
+ ['check-openssl2', '--check',
+ {IN=> {'f.sha1' => "SHA1(f)= $sha_degenerate\n"}},
+ {AUX=> {f=> ''}}, {OUT=>"f: OK\n"}],
+ ['check-openssl3', '--check', '--status',
+ {IN=> {'f.sha1' => "SHA1(f)= $sha_degenerate\n"}},
+ {AUX=> {f=> 'bar'}}, {EXIT=> 1}],
['bsd-segv', '--check', {IN=> {'z' => "SHA1 ("}}, {EXIT=> 1},
{ERR=> "$prog: z: no properly formatted SHA1 checksum lines found\n"}],
);