mirror of
https://github.com/moparisthebest/curl
synced 2024-11-12 04:25:08 -05:00
curl: Added runtime version check for libmetalink
This commit is contained in:
parent
4e3320a679
commit
89b431f60f
@ -824,6 +824,20 @@ ParameterError getparameter(char *flag, /* f or -long-flag */
|
||||
case 'J': /* --metalink */
|
||||
{
|
||||
#ifdef USE_METALINK
|
||||
int major, minor, patch;
|
||||
metalink_get_version(&major, &minor, &patch);
|
||||
if((major*10000)+(minor*100)+patch < CURL_REQ_LIBMETALINK_VERS) {
|
||||
warnf(config,
|
||||
"--metalink option cannot be used because the version of "
|
||||
"the linked libmetalink library is too old. "
|
||||
"Required: %d.%d.%d, found %d.%d.%d\n",
|
||||
CURL_REQ_LIBMETALINK_MAJOR,
|
||||
CURL_REQ_LIBMETALINK_MINOR,
|
||||
CURL_REQ_LIBMETALINK_PATCH,
|
||||
major, minor, patch);
|
||||
return PARAM_BAD_USE;
|
||||
}
|
||||
else
|
||||
config->use_metalink = toggle;
|
||||
#else
|
||||
warnf(config, "--metalink option is ignored because the binary is "
|
||||
|
@ -78,6 +78,17 @@ typedef struct metalinkfile {
|
||||
|
||||
#ifdef USE_METALINK
|
||||
|
||||
/*
|
||||
* curl requires libmetalink 0.1.0 or newer
|
||||
*/
|
||||
#define CURL_REQ_LIBMETALINK_MAJOR 0
|
||||
#define CURL_REQ_LIBMETALINK_MINOR 1
|
||||
#define CURL_REQ_LIBMETALINK_PATCH 0
|
||||
|
||||
#define CURL_REQ_LIBMETALINK_VERS ((CURL_REQ_LIBMETALINK_MAJOR * 10000) + \
|
||||
(CURL_REQ_LIBMETALINK_MINOR * 100) + \
|
||||
CURL_REQ_LIBMETALINK_PATCH)
|
||||
|
||||
extern const digest_params MD5_DIGEST_PARAMS[1];
|
||||
extern const digest_params SHA1_DIGEST_PARAMS[1];
|
||||
extern const digest_params SHA256_DIGEST_PARAMS[1];
|
||||
|
Loading…
Reference in New Issue
Block a user