Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 1 Sep 2012 17:37:51 +0400
From:      Alexander Pyhalov <apyhalov@gmail.com>
To:        bug-followup@freebsd.org, pepper@reppep.com, freebsd-bugs@freebsd.org
Subject:   Re: bin/170278: [request] Add --check option to md5(1)
Message-ID:  <CALOYryGDZabFd5Caq5dKyiBb=LPniS5hbcT1p3cLUgWPuraYXA@mail.gmail.com>
In-Reply-To: <CALOYryGUpEhVDawef0bL5XGzukhBqgcCzk7eURvMNZMTMLvdqg@mail.gmail.com>
References:  <CALOYryGUpEhVDawef0bL5XGzukhBqgcCzk7eURvMNZMTMLvdqg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--047d7b603f74d6feeb04c8a403cb
Content-Type: text/plain; charset=ISO-8859-1

Hello.
I''ve modified patch for md5.c, so now md5/sha256/etc handles input files
containing checksums in two formats:
ALGORITHM(path_to_file) = checksum
and
checksum path_to_file.

It seems, this patch (which at least applies to md5.c in 8.3) needs testing.
--
Best regards,
Alexander Pyhalov

--047d7b603f74d6feeb04c8a403cb
Content-Type: text/plain; charset=US-ASCII; name="patch.txt"
Content-Disposition: attachment; filename="patch.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h6kr99d31

LS0tIC91c3Ivc3JjL3NiaW4vbWQ1L21kNS5jCTIwMTItMDYtMDYgMjE6NDI6MTAuOTAxMjA4MTAx
ICswNDAwCisrKyBtZDUuYwkyMDEyLTA5LTAxIDE3OjI3OjQ5Ljk1NzY1NTIyNSArMDQwMApAQCAt
MjAsMTAgKzIwLDEzIEBACiAjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CiBfX0ZCU0RJRCgiJEZyZWVC
U0QkIik7CiAKKyNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4K
ICNpbmNsdWRlIDxzeXMvdGltZS5oPgogI2luY2x1ZGUgPHN5cy9yZXNvdXJjZS5oPgorI2luY2x1
ZGUgPGN0eXBlLmg+CiAjaW5jbHVkZSA8ZXJyLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CiAjaW5j
bHVkZSA8bWQ1Lmg+CiAjaW5jbHVkZSA8cmlwZW1kLmg+CiAjaW5jbHVkZSA8c2hhLmg+CkBAIC00
MSw2ICs0NCw3IEBACiAjZGVmaW5lIFRFU1RfQkxPQ0tfQ09VTlQgMTAwMDAwCiAjZGVmaW5lIE1E
VEVTVENPVU5UIDgKIAoraW50IGZmbGFnOwogaW50IHFmbGFnOwogaW50IHJmbGFnOwogaW50IHNm
bGFnOwpAQCAtNzMsNiArNzcsOCBAQAogc3RhdGljIHZvaWQgTURUZXN0U3VpdGUoQWxnb3JpdGht
X3QgKik7CiBzdGF0aWMgdm9pZCBNREZpbHRlcihBbGdvcml0aG1fdCAqLCBpbnQpOwogc3RhdGlj
IHZvaWQgdXNhZ2UoQWxnb3JpdGhtX3QgKik7CitzdGF0aWMgdm9pZCBQcm9jZXNzQ2hlY2tBZ2Fp
bnN0RmlsZShjaGFyICpmaWxlbmFtZSwgaW50ICpmYWlsZWQsIGludCBkaWdlc3QpOworc3RhdGlj
IHZvaWQgc3RydG91cHBlcihjaGFyICpzKTsKIAogdHlwZWRlZiB1bmlvbiB7CiAJTUQ1X0NUWCBt
ZDU7CkBAIC04NSw2ICs5MSwxMyBAQAogCVNIQTI1Nl9ESUdFU1RfTEVOR1RILCBSSVBFTUQxNjBf
RElHRVNUX0xFTkdUSCkqMisxICovCiAjZGVmaW5lIEhFWF9ESUdFU1RfTEVOR1RIIDY1CiAKKy8q
IG1heGltdW0gbGVuZ3RoIG9mIHN0cmluZyBpbiBjb250cm9sc3VtIGZpbGUgLSBkaWdlc3QgcGx1
cyBmaWxlIHBhdGgKKwlwbHVzIHNvbWUgZGlsaW1pdGVycyAqLworI2RlZmluZSBNQVhfU1RSSU5H
X0xFTkdUSCAoSEVYX0RJR0VTVF9MRU5HVEgrTUFYUEFUSExFTis2NCkKKworLyogbWF4aW11bSBs
ZW5ndGggb2YgYWxnb3JpdGhtIG5hbWUgKi8KKyNkZWZpbmUgTUFYX0FMR19MRU5HVEggMTAKKwog
LyogYWxnb3JpdGhtIGZ1bmN0aW9uIHRhYmxlICovCiAKIHN0cnVjdCBBbGdvcml0aG1fdCBBbGdv
cml0aG1bXSA9IHsKQEAgLTEyNiw2ICsxMzksOSBAQAogCWludAlmYWlsZWQ7CiAgCXVuc2lnbmVk
CWRpZ2VzdDsKICAJY29uc3QgY2hhcioJcHJvZ25hbWU7CisJc3RydWN0IG9wdGlvbiBsb25nb3B0
c1tdID0geyAKKwkJeyAiY2hlY2siLG5vX2FyZ3VtZW50LE5VTEwsJ2YnfQorICAgICAgICB9Owog
CiAgCWlmICgocHJvZ25hbWUgPSBzdHJyY2hyKGFyZ3ZbMF0sICcvJykpID09IE5VTEwpCiAgCQlw
cm9nbmFtZSA9IGFyZ3ZbMF07CkBAIC0xNDIsMTEgKzE1OCwxNCBAQAogCWZhaWxlZCA9IDA7CiAJ
Y2hlY2tBZ2FpbnN0ID0gTlVMTDsKIAljaGVja3NGYWlsZWQgPSAwOwotCXdoaWxlICgoY2ggPSBn
ZXRvcHQoYXJnYywgYXJndiwgImM6cHFyczp0eCIpKSAhPSAtMSkKKwl3aGlsZSAoKGNoID0gZ2V0
b3B0X2xvbmcoYXJnYywgYXJndiwgImM6cGZxcnM6dHgiLGxvbmdvcHRzLE5VTEwpKSAhPSAtMSkK
IAkJc3dpdGNoIChjaCkgewogCQljYXNlICdjJzoKIAkJCWNoZWNrQWdhaW5zdCA9IG9wdGFyZzsK
IAkJCWJyZWFrOworCQljYXNlICdmJzoKKwkJCWZmbGFnID0gMTsKKwkJCWJyZWFrOwogCQljYXNl
ICdwJzoKIAkJCU1ERmlsdGVyKCZBbGdvcml0aG1bZGlnZXN0XSwgMSk7CiAJCQlicmVhazsKQEAg
LTE3NCwyOSArMTkzLDM1IEBACiAKIAlpZiAoKmFyZ3YpIHsKIAkJZG8gewotCQkJcCA9IEFsZ29y
aXRobVtkaWdlc3RdLkZpbGUoKmFyZ3YsIGJ1Zik7Ci0JCQlpZiAoIXApIHsKLQkJCQl3YXJuKCIl
cyIsICphcmd2KTsKLQkJCQlmYWlsZWQrKzsKKyAJCQlpZiAoZmZsYWcpeworCQkJCVByb2Nlc3ND
aGVja0FnYWluc3RGaWxlKCphcmd2LCZmYWlsZWQsZGlnZXN0KTsKIAkJCX0gZWxzZSB7Ci0JCQkJ
aWYgKHFmbGFnKQotCQkJCQlwcmludGYoIiVzIiwgcCk7Ci0JCQkJZWxzZSBpZiAocmZsYWcpCi0J
CQkJCXByaW50ZigiJXMgJXMiLCBwLCAqYXJndik7Ci0JCQkJZWxzZQotCQkJCQlwcmludGYoIiVz
ICglcykgPSAlcyIsCi0JCQkJCSAgICBBbGdvcml0aG1bZGlnZXN0XS5uYW1lLCAqYXJndiwgcCk7
Ci0JCQkJaWYgKGNoZWNrQWdhaW5zdCAmJiBzdHJjbXAoY2hlY2tBZ2FpbnN0LHApKQotCQkJCXsK
LQkJCQkJY2hlY2tzRmFpbGVkKys7Ci0JCQkJCWlmICghcWZsYWcpCi0JCQkJCQlwcmludGYoIiBb
IEZhaWxlZCBdIik7CisJCQkJcCA9IEFsZ29yaXRobVtkaWdlc3RdLkZpbGUoKmFyZ3YsIGJ1Zik7
CisJCQkJaWYgKCFwKSB7CisJCQkJCXdhcm4oIiVzIiwgKmFyZ3YpOworCQkJCQlmYWlsZWQrKzsK
KwkJCQl9IGVsc2UgeworCQkJCQlpZiAocWZsYWcpCisJCQkJCQlwcmludGYoIiVzIiwgcCk7CisJ
CQkJCWVsc2UgaWYgKHJmbGFnKQorCQkJCQkJcHJpbnRmKCIlcyAlcyIsIHAsICphcmd2KTsKKwkJ
CQkJZWxzZQorCQkJCQkJcHJpbnRmKCIlcyAoJXMpID0gJXMiLAorCQkJCQkJCUFsZ29yaXRobVtk
aWdlc3RdLm5hbWUsICphcmd2LCBwKTsKKwkJCQkJaWYgKGNoZWNrQWdhaW5zdCAmJiBzdHJjbXAo
Y2hlY2tBZ2FpbnN0LHApKQorCQkJCQl7CisJCQkJCQljaGVja3NGYWlsZWQrKzsKKwkJCQkJCWlm
ICghcWZsYWcpCisJCQkJCQkJcHJpbnRmKCIgWyBGYWlsZWQgXSIpOworCQkJCQl9CisJCQkJCXBy
aW50ZigiXG4iKTsKIAkJCQl9Ci0JCQkJcHJpbnRmKCJcbiIpOwogCQkJfQogCQl9IHdoaWxlICgq
Kythcmd2KTsKLQl9IGVsc2UgaWYgKCFzZmxhZyAmJiAob3B0aW5kID09IDEgfHwgcWZsYWcgfHwg
cmZsYWcpKQorCX0gZWxzZSBpZiAoIWZmbGFnICYmICFzZmxhZyAmJiAob3B0aW5kID09IDEgfHwg
cWZsYWcgfHwgcmZsYWcpKQogCQlNREZpbHRlcigmQWxnb3JpdGhtW2RpZ2VzdF0sIDApOworCWVs
c2UgaWYgKGZmbGFnKQorCQlQcm9jZXNzQ2hlY2tBZ2FpbnN0RmlsZShOVUxMLCZmYWlsZWQsZGln
ZXN0KTsKIAogCWlmIChmYWlsZWQgIT0gMCkKIAkJcmV0dXJuICgxKTsKQEAgLTIwNSw2ICsyMzAs
MTM1IEBACiAKIAlyZXR1cm4gKDApOwogfQorCisvKgorICogUmVhZHMgYSBmaWxlIHdpdGggY29u
dHJvbCBzdW1zIGFuZCBmaWxlbmFtZXMgYW5kIGNoZWNrcyB0aGVtCisgKi8KK3N0YXRpYyB2b2lk
CitQcm9jZXNzQ2hlY2tBZ2FpbnN0RmlsZShjaGFyICpmaWxlbmFtZSwgaW50ICpmYWlsZWQsIGlu
dCBkaWdlc3QpeworCWNoYXIgICAgYnVmW0hFWF9ESUdFU1RfTEVOR1RIXTsKKwljaGFyICAgIGNo
ZWNrQWdhaW5zdEN1cltIRVhfRElHRVNUX0xFTkdUSF07CisgIAljaGFyIAlzdHJhcltNQVhfU1RS
SU5HX0xFTkdUSCsxXTsKKwljaGFyCSpjdXI7CisJY2hhcgkqc3RyOworCWNoYXIJY3VyZm5hbWVb
TUFYUEFUSExFTisxXTsKKwljaGFyCWFsZ1tNQVhfQUxHX0xFTkdUSCsxXTsKKwljaGFyIAkqcDsK
KwlGSUxFIAkqZmw7CisJaW50IGZpcnN0LG5leHQsZXEsbGVuLHBhcnNlZDsKKworCWlmKGZpbGVu
YW1lKQorCQlmbD1mb3BlbihmaWxlbmFtZSwiciIpOworCWVsc2UgeworCQlmbD1zdGRpbjsKKwl9
CisJaWYoZmwpeworCQlzdHI9JnN0cmFyWzBdOworCQliemVybyhzdHIsTUFYX1NUUklOR19MRU5H
VEgpOworCQl3aGlsZShmZ2V0cyhzdHIsTUFYX1NUUklOR19MRU5HVEgsZmwpKXsKKwkJCXBhcnNl
ZD0wOworCQkJYnplcm8oY2hlY2tBZ2FpbnN0Q3VyLEhFWF9ESUdFU1RfTEVOR1RIKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGJ6ZXJvKGN1cmZuYW1lLE1BWFBBVEhMRU4pOworCQkJYnplcm8o
YWxnLE1BWF9BTEdfTEVOR1RIKTsKKworCQkJd2hpbGUoaXNzcGFjZSgqc3RyKSYmICpzdHIhPSdc
MCcpCisJCQkJc3RyKys7CisJCQlmaXJzdD1zdHJjc3BuKHN0ciwiKCIpOworCQkJaWYoZmlyc3Qp
IHsKKwkJCQljdXI9JnN0cltmaXJzdF07CisKKwkJCQluZXh0PXN0cmxlbihzdHIpOworCQkJCXdo
aWxlKG5leHQ+Zmlyc3QgJiYgc3RyW25leHRdIT0nKScpCisJCQkJICBuZXh0LS07CisJCQkJCisJ
CQkJaWYoZmlyc3QmJm5leHQgJiYgbmV4dD5maXJzdCAmJiBuZXh0LWZpcnN0PD1NQVhQQVRITEVO
KXsKKwkJCQkgIHN0cm5jcHkoY3VyZm5hbWUsJnN0cltmaXJzdCsxXSxuZXh0LWZpcnN0KTsKKwkJ
CQkgIGN1cmZuYW1lW25leHQtZmlyc3QtMV09J1wwJzsKKwkJCQkgIHdoaWxlKGZpcnN0PjAgJiYg
aXNzcGFjZShzdHJbZmlyc3QtMV0pKQorCQkJCQlmaXJzdC0tOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmKGZpcnN0PD1NQVhfQUxHX0xFTkdUSCl7CisJCQkJCXN0cm5jcHko
YWxnLHN0cixmaXJzdCk7CisJCQkJCXN0cnRvdXBwZXIoYWxnKTsKKwkJCQkJZXE9c3RyY3Nwbigm
c3RyW25leHRdLCI9Iik7CisJCQkJCWVxKys7CisJCQkJCXdoaWxlKGlzc3BhY2Uoc3RyW2VxK25l
eHRdKSAmJiBzdHJbZXErbmV4dF0hPSdcMCcpCisJCQkJCQllcSsrOworCQkJCQlsZW49c3RybGVu
KHN0cik7CisJCQkJCXdoaWxlKGlzc3BhY2Uoc3RyW2xlbl0pJiYgbGVuPm5leHQpCisJCQkJCQls
ZW4tLTsKKwkJCQkJaWYobGVuLW5leHQtZXE8PUhFWF9ESUdFU1RfTEVOR1RIKXsKKwkJCQkJCXN0
cm5jcHkoY2hlY2tBZ2FpbnN0Q3VyLCZzdHJbZXErbmV4dF0sbGVuLWVxLW5leHQpOworCQkJCQkJ
Y2hlY2tBZ2FpbnN0Q3VyW2xlbi1lcS1uZXh0LTFdPSdcMCc7CisJCQkJCQlwYXJzZWQ9MTsKKwkJ
CQkJfQorCQkJCQkKKwkJCQkJIAorIAkJCQkgIH0KKworCQkJCX0gCisJCQkJCQorCQkJfSAKKwkJ
CWlmKCFwYXJzZWQpIHsKKwkJCQlmaXJzdD1zdHJjc3BuKHN0ciwiXHQgIik7CisJCQkJaWYoZmly
c3QgJiYgZmlyc3Q8PUhFWF9ESUdFU1RfTEVOR1RIKXsKKwkJCQkJc3RybmNweShjaGVja0FnYWlu
c3RDdXIsc3RyLGZpcnN0KTsKKwkJCQkJY2hlY2tBZ2FpbnN0Q3VyW2ZpcnN0XT0nXDAnOworCisJ
CQkJCXN0cj0mKHN0cltmaXJzdF0pOworCQkJCQl3aGlsZShpc3NwYWNlKCpzdHIpJiYqc3RyIT0n
XDAnKQorICAgICAgICAJCSAgICAgICAJICAgICAgICAgCXN0cisrOworCQkJCQlsZW49c3RybGVu
KHN0cik7CisJCQkJCWlmKGxlbj5NQVhQQVRITEVOKQorCQkJCQkJbGVuPU1BWFBBVEhMRU47CisJ
CQkJCXN0cm5jcHkoY3VyZm5hbWUsc3RyLGxlbik7CisJCQkJCWN1cmZuYW1lW2xlbi0xXT0nXDAn
OworCQkJCQlzdHJuY3B5KGFsZyxBbGdvcml0aG1bZGlnZXN0XS5uYW1lLE1BWF9BTEdfTEVOR1RI
KTsKKwkJCQkJcGFyc2VkPTE7CisJCQkJfQorCQkJfQorCQkJaWYocGFyc2VkICYmICFzdHJuY21w
KGFsZyxBbGdvcml0aG1bZGlnZXN0XS5uYW1lLE1BWF9BTEdfTEVOR1RIKSkgeworCQkJCXAgPSBB
bGdvcml0aG1bZGlnZXN0XS5GaWxlKGN1cmZuYW1lLCBidWYpOworCQkJCWlmICghcCkgewkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuKCIlcyIsIGN1cmZuYW1l
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAlmYWlsZWQrKzsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKwkJCQkJaWYgKHFmbGFnKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludGYoIiVz
IiwgcCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAo
cmZsYWcpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
cmludGYoIiVzICVzIiwgcCwgY3VyZm5hbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHByaW50ZigiJXMgKCVzKSA9ICVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWxnb3JpdGhtW2RpZ2VzdF0ubmFtZSwg
Y3VyZm5hbWUsIHApOworCQkJCQlpZiAoc3RyY21wKGNoZWNrQWdhaW5zdEN1cixwKSkgeworIAkJ
ICAgICAgIAkgICAgICAgICAgICAgICAgICAgY2hlY2tzRmFpbGVkKys7CisgICAgICAgICAgICAg
ICAgCQkgICAgICAgICAgIGlmICghcWZsYWcpCisgICAgICAgICAgICAgICAgICAgICAgICAJCSAg
ICAgICBwcmludGYoIiBbIEZhaWxlZCBdIik7CisgICAgICAgICAgICAgICAgICAgICAgICAJCX0K
KwkJCQkJcHV0Y2hhcignXG4nKTsKKwkJCQl9CisJCQl9IGVsc2UgeworCQkJCSgqZmFpbGVkKSsr
OworCQkJfQorCQkJYnplcm8oc3RyLE1BWF9TVFJJTkdfTEVOR1RIKTsKKyAgICAgICAgICAgICAg
ICB9CisJCWZjbG9zZShmbCk7CisJfSBlbHNlIHsKKwkJKCpmYWlsZWQpKys7CisJfQorfQorCisv
KgorICogIENvbnZlcnQgc3RyaW5ncyB0byB1cHBlciBjYXNlIAorICovCitzdGF0aWMgdm9pZAor
c3RydG91cHBlcihjaGFyICpzKXsKKwlpbnQgaTsKKwkJCisJaWYocyl7CisJCWZvcihpPTA7c1tp
XSE9J1wwJztpKyspCisJCQlzW2ldPXRvdXBwZXIoc1tpXSk7CisJfQorfQogLyoKICAqIERpZ2Vz
dHMgYSBzdHJpbmcgYW5kIHByaW50cyB0aGUgcmVzdWx0LgogICovCg==
--047d7b603f74d6feeb04c8a403cb--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALOYryGDZabFd5Caq5dKyiBb=LPniS5hbcT1p3cLUgWPuraYXA>