Re: Curl feature idea, download hash checking

Ian Norton via curl-users <[email protected]> Thu, 18 Jun 2026 09:38:17 +0100
Newsgroups gmane.comp.web.curl.general
Message-ID <CAGUnuBFAOcbD4qE-d9Fss_U_0-dHGJVzJs9ygDTzYoYAV3SZ=w@mail.gmail.com>
PiBPbiBGcmksIDEyIEp1biAyMDI2LCBEYW5pZWwgU3RlbmJlcmcgdmlhIGN1cmwtdXNlcnMgd3Jv
dGU6Cj4gPiBPbiBGcmksIDEyIEp1biAyMDI2LCBJYW4gTm9ydG9uIHZpYSBjdXJsLXVzZXJzIHdy
b3RlOgo+ID4gPiBjdXJsIC1PIFVSTCDigJQtaGFzaCBzaGEyNTY6SEFTSF9WQUxVRQo+ID4KPiA+
IERvZXMgdGhpcyBzb3VuZCBsaWtlIGEgZ29vZCBpZGVhPwoKPiBJdCBpcyBhbiBpZGVhIHRoYXQg
aXMgb2Z0ZW4gYnJvdWdodCB1cCBidXQgaGFzIG5ldmVyIGJlZW4gbWF0ZXJpYWxpemVkLiBJcyBp
dCBnb29kPyBJIHRoaW5rIGl0IGRlcGVuZHMgb24gaG93IGl0IGlzIGRvbmUgc28gdGhhdCBpbiB0
aGUgZW5kIHBlb3BsZSB3b3VsZCB1c2UgaXQuCgo+IE9uZSBhZGRpdGlvbmFsIGlkZWEgaXMgYWRk
aW5nIHRoZSBoYXNoIGludG8gdGhlIFVSTCBpdHNlbGYgc29tZWhvdyBzbyB0aGF0IGNvcHkgYW5k
IHBhc3RpbmcgYSBzaW5nbGUgVVJMIGlzIGVub3VnaCBhbmQgeW91IGNhbid0IGZvcmdldCB0aGUg
aGFzaDoKPiAgY3VybCAtTyBVUkwgaHR0cHM6Ly9ob3N0LmNvbS9IQVNITUFSS0VSLUhBU0gvdGhl
L3BhdGgvZmlsZS50YXIuZ3oKPiBJdCBhbHNvIG1ha2VzIHRoZSBVUkwgbm90IHdvcmsgYXQgYWxs
IGlmIHRoZSBkb3dubG9hZCB0b29sIGRvZXNuJ3Qgc3VwcG9ydCB0aGUgaGFzaCwgd2hpY2ggSSB0
aGluayBpcyBhIGJvbnVzLiBEb2luZyB0aGUgaGFzaCBlbWJlZGRlZCBpbiB0aGUgVVJMIGlzIG9m
IGNvdXJzZSBhIHNpZGUtdHJhY2ssIGNhbiBiZSB3b3JrZWQgb24gaW5kZXBlbmRlbnRseSBhbmQg
aXMgZm9yIHN1cmUgaGFyZCB0byBkbyB3aXRoIGJ1eS1pbiBmcm9tIG90aGVycyBhcyB3ZWxsLgoK
SSdkIG5vdCB0aG91Z2h0IGFib3V0IHVybCBmb3IgY29udmV5aW5nIHRoZSBoYXNoLCBwZXJoYXBz
IHdlIGNvdWxkCmFidXNlIHRoZSBVUkwgc2NoZW1lIGZvciB0aGF0IGtpbmQgb2YgaWRlYSAoSSdk
IGluaXRpYWxseSB0aG91Z2h0IG9mClVSTCNkaWdlc3Q9aGFzdHlwZTpoYXNoIGJ1dCB0aGF0IHdv
dWxkIHRyaXAgdXAgYSBsb3Qgb2Ygc2hlbGwgc2NyaXB0Cmxhbmd1YWdlcykKYW5vdGhlciBmb3Jt
IG9mIHRoZSBhcmd1bWVudCBtaWdodCBiZToKCmN1cmwgc2hhMjU2OkhBU0g6aHR0cHM6Ly9ob3N0
LmNvbS93aGF0ZXZlcgoKSSBzdXBwb3NlIHRoZXNlIHBhcnRpY3VsYXIgYml0cyBhcmUganVzdCB2
YXJpYXRpb25zIGFyb3VuZCB3aGF0IHRoZQpjb21tYW5kIGxpbmUgc3R5bGUgd291bGQgYmUgZm9y
IHRoZXNlLiBJIHRoaW5rIGhhdmluZyB0aGUgZGlnZXN0CmNyaXRlcmlhIHNlcGFyYXRlIGFsbG93
cyBpdCB0byBiZSBhcHBsaWVkIHRvIGFueSByZXNvdXJjZS4KCj4gT3RoZXJzIGhhdmUgc3VnZ2Vz
dGVkIGEgc2ltaWxhciB0aGluZyBiZWZvcmUgYnV0IGluc3RlYWQgb2YganVzdCBkb2luZyBhIGhh
c2ggaXQgd291bGQgdmVyaWZ5IHRoZSAqc2lnbmF0dXJlKiBwcm92aWRlZC4KCkludGVyZXN0aW5n
ISBUaGF0IHByb2JhYmx5IHRpZXMgdG9vIGRlZXBseSBpbnRvIGhvdyB0aGUgc2lnbmF0dXJlIGdl
dHMKdmVyaWZpZWQgKGFuZCBvZnRlbiBzaWduYXR1cmVzIGFyZSBkZXRhY2hlZCBmaWxlcyBhdCBh
IGRpZmZlcmVudCBVUkwpCgo+IENoYWxsZW5nZXMgaW52b2x2ZWQgaW5jbHVkZToKCj4gV2hhdCBp
ZiB5b3UgZG93bmxvYWQgdG8gc3Rkb3V0IGFuZCB5ZXQgd2FudCBpdCB2ZXJpZmllZD8gTGlrZSBp
biB0aGUgY2xhc3NpYzoKPiAiY3VybCBodHRwczovL2luc3RhbGxlci5leGFtcGxlLmNvbSB8IHNo
IiBjYXNlLiBJdCBzZWVtcyBsaWtlIHRoYXQgY2FzZSBpcyBzdGlsbCBhIGRlY2VudCBhbW91bnQg
b2YgY3VycmVudCB1c2UgY2FzZXMgdGhpcyBjb3VsZCBoZWxwIHN0cmVuZ3RoZW4uCgpTbyBzbyBt
YW55IHBlb3BsZSBsaXZpbmcgZGFuZ2Vyb3VzbHkgd2l0aCB0aG9zZSA6RC4KCj4gVGhlbiBjdXJs
IG5lZWRzIHRvIGRvd25sb2FkIHRvIGEgdGVtcG9yYXJ5IGxvY2F0aW9uLCBjaGVjayB0aGUgaGFz
aCBhbmQgKnRoZW4qIHBhc3MgaXQgb24uIFRoaXMgY2FuIGxlYWQgdG8gY2hhbGxlbmdlcyBpZiB5
b3UgaW5zdGVhZCBmb3IgZXhhbXBsZSBwaXBlIGEKPiBwZXRhYnl0ZSBzdHJlYW06ICJjdXJsIGh0
dHBzOi8vbmV2ZXItZW5kaW5nLmV4YW1wbGUuY29tIHwgdmlkZW9wbGF5ZXIiCgpJJ2Qgbm90IGNv
bnNpZGVyZWQgbmV2ZXItZW5kaW5nIHN0cmVhbXMsIFRoZSBwaXBlIGNhc2Ugd2FzIHdoeSBJJ2QK
bGVhbnQgdG93YXJkcyBvbmx5IGFsbG93aW5nIGhhc2ggY2hlY2tpbmcgd2hlbiB0aGUgZGVzdGlu
YXRpb24gaXMgYQpkaXNrIGZpbGUgKC1vIG9yIC1PKS4gQnV0IHNpbmNlIHlvdSBjb3VsZCBuZXZl
ciBhY3R1YWxseSBkaWdlc3QgYQpuZXZlci1lbmRpbmcgdmlkZW8gc3RyZWFtIGFueXdheS4uPwoK
SSdtIGNvbWluZyBmcm9tIGEgcGxhY2Ugd2hlcmUgaW4gbXkgb3JnIEkndmUgYWxyZWFkeSAic29s
dmVkIiB0aGlzCnVzZS1jYXNlIHdpdGggYSBweXRob24gYXBwIHRoYXQgd2lsbCBleGl0IG5vbi16
ZXJvIGlmIGl0IGNhbid0CmRvd25sb2FkLCBvciBpZiB0aGUgdGhpbmcgaXQgZG93bmxvYWRlZCBk
aWRuJ3QgaGF2ZSBhIG1hdGNoaW5nIGRpZ2VzdC4KQnV0IG9mIGNvdXJzZSwgdGhpcyBpcyBhIHB5
dGhvbiB0b29sIGFuZCByZXF1aXJlcyBhbGwgdGhlIGFzc29jaWF0ZWQKZGVwcyAoYW5kIGlzbid0
IGVzcGVjaWFsbHkgZmFzdCkKCkknbGwgdHJ5IHRvIG1ha2UgYSBjdXJsIFBSIGFuZCBhbHNvIHRy
eSBvdXQgdGhlIGRpZmZlcmVudCBpbnB1dC9hcmcKdmFyaWF0aW9ucyBhbmQgc2VlIGlmIEkgY2Fu
IGZpbmQgb25lIHRoYXQgZmVlbHMgcmlnaHQuCgpJYW4KLS0KUFMgKGFwb2xvZ2llcyBmb3IgdGhl
IG1haWwgdGhyZWFkIGJyZWFraW5nLCBJJ3ZlIHN3aXRjaGVkIHRvIG15CnBlcnNvbmFsIGFjY291
bnQgYXMgSSByZWNvaWwgaW4gaG9ycm9yIGF0IHdoYXQgb3V0bG9vayBkb2VzIHRvIHBsYWluCnRl
eHQgZW1haWwpCi0tIApVbnN1YnNjcmliZTogaHR0cHM6Ly9saXN0cy5oYXh4LnNlL21haWxtYW4v
bGlzdGluZm8vY3VybC11c2VycwpFdGlxdWV0dGU6ICAgaHR0cHM6Ly9jdXJsLnNlL21haWwvZXRp
cXVldHRlLmh0bWwK