Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 May 2010 15:11:07 -0400
From:      jhell <jhell@dataix.net>
To:        Eitan Adler <lists@eitanadler.com>
Cc:        hackers@freebsd.org
Subject:   Re: adding "check option to md5(1) [was: md5(1) and cal(1) on -questions]
Message-ID:  <4BF194CB.5060807@dataix.net>
In-Reply-To: <AANLkTilye8lHWXnVh8T5SaifpkDTPBFhIKvOtOx7F09g@mail.gmail.com>
References:  <AANLkTilye8lHWXnVh8T5SaifpkDTPBFhIKvOtOx7F09g@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------090009070704060703050008
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05/12/2010 04:01, Eitan Adler wrote:
>> D> 2. Why doesn't md5(1) have a "check" option?  Seems to me requiring a
>> D> manual inspection is error-prone at best, and makes scripting
>> D> unecessarily complicated.
> 
> Would something like the attached patch be good?
> It adds a -c option for a string to check against. It prints
> "[failed]" if the string does not match the files md5 unless in -q
> mode.
> It also returns 2 to indicate md5 match failure for use in scripts.
> 

I have reviewed this patch for functionality and my final conclusion is
commit it.

Though I would like to see the same functionality that the GNU GPL'd
version of md5 has with the '-c' option and being able to check every
sum that is listed in a file against a file on disk(c), this version
brings the availability to doing the checking right from md5 and utils
from a script.

I have also edited the manual page portion of the patch to include the
'[-c string]' option in the SYNOPSIS section of the man pages. This
newly generated patch was generated from the root of the source tree.

# cd /path/to/src
# patch </path/to/patch-file
# cd /path/to/src/sbin/md5
# make obj && make depend && make && make install

Additionally. Thanks for your work on this.

Regards,

-- 

 jhell

--------------090009070704060703050008
Content-Type: text/plain;
 name="md5-checksum.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="md5-checksum.patch"

SW5kZXg6IHNiaW4vbWQ1L21kNS4xCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHNiaW4vbWQ1L21kNS4x
CShyZXZpc2lvbiAyMDgxOTQpCisrKyBzYmluL21kNS9tZDUuMQkod29ya2luZyBjb3B5KQpA
QCAtOCwxOCArOCwyMiBAQAogLlNoIFNZTk9QU0lTCiAuTm0gbWQ1CiAuT3AgRmwgcHFydHgK
Ky5PcCBGbCBjIEFyIHN0cmluZwogLk9wIEZsIHMgQXIgc3RyaW5nCiAuT3AgQXIKIC5ObSBz
aGExCiAuT3AgRmwgcHFydHgKKy5PcCBGbCBjIEFyIHN0cmluZwogLk9wIEZsIHMgQXIgc3Ry
aW5nCiAuT3AgQXIKIC5ObSBzaGEyNTYKIC5PcCBGbCBwcXJ0eAorLk9wIEZsIGMgQXIgc3Ry
aW5nCiAuT3AgRmwgcyBBciBzdHJpbmcKIC5PcCBBcgogLk5tIHJtZDE2MAogLk9wIEZsIHBx
cnR4CisuT3AgRmwgYyBBciBzdHJpbmcKIC5PcCBGbCBzIEFyIHN0cmluZwogLk9wIEFyCiAu
U2ggREVTQ1JJUFRJT04KQEAgLTczLDYgKzc3LDggQEAKIFRoZSBoZXhhZGVjaW1hbCBjaGVj
a3N1bSBvZiBlYWNoIGZpbGUgbGlzdGVkIG9uIHRoZSBjb21tYW5kIGxpbmUgaXMgcHJpbnRl
ZAogYWZ0ZXIgdGhlIG9wdGlvbnMgYXJlIHByb2Nlc3NlZC4KIC5CbCAtdGFnIC13aWR0aCBp
bmRlbnQKKy5JdCBGbCBjIEFyIHN0cmluZworQ29tcGFyZSBmaWxlcyB0byB0aGlzIG1kNSBz
dHJpbmcKIC5JdCBGbCBzIEFyIHN0cmluZwogUHJpbnQgYSBjaGVja3N1bSBvZiB0aGUgZ2l2
ZW4KIC5BciBzdHJpbmcgLgpAQCAtMTAxLDcgKzEwNyw4IEBACiBhbmQKIC5ObSBybWQxNjAK
IHV0aWxpdGllcyBleGl0IDAgb24gc3VjY2VzcywKLWFuZCAxIGlmIGF0IGxlYXN0IG9uZSBv
ZiB0aGUgaW5wdXQgZmlsZXMgY291bGQgbm90IGJlIHJlYWQuCisxIGlmIGF0IGxlYXN0IG9u
ZSBvZiB0aGUgaW5wdXQgZmlsZXMgY291bGQgbm90IGJlIHJlYWQsCithbmQgMiBpZiBhdCBs
ZWFzdCBvbmUgZmlsZSBkb2VzIG5vdCBoYXZlIHRoZSBzYW1lIGhhc2ggYXMgdGhlIC1jIG9w
dGlvbi4KIC5TaCBTRUUgQUxTTwogLlhyIGNrc3VtIDEgLAogLlhyIG1kNSAzICwKSW5kZXg6
IHNiaW4vbWQ1L21kNS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHNiaW4vbWQ1L21kNS5jCShyZXZp
c2lvbiAyMDgxOTQpCisrKyBzYmluL21kNS9tZDUuYwkod29ya2luZyBjb3B5KQpAQCAtNDQs
NiArNDQsOCBAQAogaW50IHFmbGFnOwogaW50IHJmbGFnOwogaW50IHNmbGFnOwordW5zaWdu
ZWQgY2hhciogY2hlY2tBZ2FpbnN0OworaW50CWNoZWNrc0ZhaWxlZDsKIAogdHlwZWRlZiB2
b2lkIChESUdFU1RfSW5pdCkodm9pZCAqKTsKIHR5cGVkZWYgdm9pZCAoRElHRVNUX1VwZGF0
ZSkodm9pZCAqLCBjb25zdCB1bnNpZ25lZCBjaGFyICosIHNpemVfdCk7CkBAIC0xMzgsOCAr
MTQwLDEzIEBACiAgCQlkaWdlc3QgPSAwOwogCiAJZmFpbGVkID0gMDsKLQl3aGlsZSAoKGNo
ID0gZ2V0b3B0KGFyZ2MsIGFyZ3YsICJwcXJzOnR4IikpICE9IC0xKQorCWNoZWNrQWdhaW5z
dCA9IE5VTEw7CisJY2hlY2tzRmFpbGVkID0gMDsKKwl3aGlsZSAoKGNoID0gZ2V0b3B0KGFy
Z2MsIGFyZ3YsICJjOnBxcnM6dHgiKSkgIT0gLTEpCiAJCXN3aXRjaCAoY2gpIHsKKwkJY2Fz
ZSAnYyc6CisJCQljaGVja0FnYWluc3QgPSBvcHRhcmc7CisJCQlicmVhazsKIAkJY2FzZSAn
cCc6CiAJCQlNREZpbHRlcigmQWxnb3JpdGhtW2RpZ2VzdF0sIDEpOwogCQkJYnJlYWs7CkBA
IC0xNzMsMTIgKzE4MCwxOSBAQAogCQkJCWZhaWxlZCsrOwogCQkJfSBlbHNlIHsKIAkJCQlp
ZiAocWZsYWcpCi0JCQkJCXByaW50ZigiJXNcbiIsIHApOworCQkJCQlwcmludGYoIiVzIiwg
cCk7CiAJCQkJZWxzZSBpZiAocmZsYWcpCi0JCQkJCXByaW50ZigiJXMgJXNcbiIsIHAsICph
cmd2KTsKKwkJCQkJcHJpbnRmKCIlcyAlcyIsIHAsICphcmd2KTsKIAkJCQllbHNlCi0JCQkJ
CXByaW50ZigiJXMgKCVzKSA9ICVzXG4iLAorCQkJCQlwcmludGYoIiVzICglcykgPSAlcyIs
CiAJCQkJCSAgICBBbGdvcml0aG1bZGlnZXN0XS5uYW1lLCAqYXJndiwgcCk7CisJCQkJaWYg
KGNoZWNrQWdhaW5zdCAmJiBzdHJjbXAoY2hlY2tBZ2FpbnN0LHApKQorCQkJCXsKKwkJCQkJ
Y2hlY2tzRmFpbGVkKys7CisJCQkJCWlmICghcWZsYWcpCisJCQkJCQlwcmludGYoIiVzIiwi
WyBGYWlsZWQgXSIpOworCQkJCX0KKwkJCQlwcmludGYoIlxuIik7CiAJCQl9CiAJCX0gd2hp
bGUgKCorK2FyZ3YpOwogCX0gZWxzZSBpZiAoIXNmbGFnICYmIChvcHRpbmQgPT0gMSB8fCBx
ZmxhZyB8fCByZmxhZykpCkBAIC0xODYsNiArMjAwLDggQEAKIAogCWlmIChmYWlsZWQgIT0g
MCkKIAkJcmV0dXJuICgxKTsKKwlpZiAoY2hlY2tzRmFpbGVkICE9IDApCisJCXJldHVybiAo
Mik7CiAKIAlyZXR1cm4gKDApOwogfQpAQCAtMTk4LDEyICsyMTQsMjAgQEAKIAlzaXplX3Qg
bGVuID0gc3RybGVuKHN0cmluZyk7CiAJY2hhciBidWZbSEVYX0RJR0VTVF9MRU5HVEhdOwog
CisJYWxnLT5EYXRhKHN0cmluZyxsZW4sYnVmKTsKIAlpZiAocWZsYWcpCi0JCXByaW50Zigi
JXNcbiIsIGFsZy0+RGF0YShzdHJpbmcsIGxlbiwgYnVmKSk7CisJCXByaW50ZigiJXMiLCBi
dWYpOwogCWVsc2UgaWYgKHJmbGFnKQotCQlwcmludGYoIiVzIFwiJXNcIlxuIiwgYWxnLT5E
YXRhKHN0cmluZywgbGVuLCBidWYpLCBzdHJpbmcpOworCQlwcmludGYoIiVzIFwiJXNcIiIs
IGJ1Ziwgc3RyaW5nKTsKIAllbHNlCi0JCXByaW50ZigiJXMgKFwiJXNcIikgPSAlc1xuIiwg
YWxnLT5uYW1lLCBzdHJpbmcsIGFsZy0+RGF0YShzdHJpbmcsIGxlbiwgYnVmKSk7CisJCXBy
aW50ZigiJXMgKFwiJXNcIikgPSAlcyIsIGFsZy0+bmFtZSwgc3RyaW5nLCBidWYpOworCWlm
IChjaGVja0FnYWluc3QgJiYgc3RyY21wKGJ1ZixjaGVja0FnYWluc3QpKQorCXsKKwkJY2hl
Y2tzRmFpbGVkKys7CisJCWlmICghcWZsYWcpCisJCQlwcmludGYoIiVzIiwiIFsgZmFpbGVk
IF0iKTsKKwl9CisJcHJpbnRmKCJcbiIpOwogfQogLyoKICAqIE1lYXN1cmVzIHRoZSB0aW1l
IHRvIGRpZ2VzdCBURVNUX0JMT0NLX0NPVU5UIFRFU1RfQkxPQ0tfTEVOLWJ5dGUgYmxvY2tz
Lgo=
--------------090009070704060703050008--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4BF194CB.5060807>