Skip to content
Snippets Groups Projects
Commit 89b431f6 authored by Tatsuhiro Tsujikawa's avatar Tatsuhiro Tsujikawa Committed by Yang Tse
Browse files

curl: Added runtime version check for libmetalink

parent 4e3320a6
No related branches found
No related tags found
No related merge requests found
......@@ -824,7 +824,21 @@ ParameterError getparameter(char *flag, /* f or -long-flag */
case 'J': /* --metalink */
{
#ifdef USE_METALINK
config->use_metalink = toggle;
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 "
"built without the Metalink support.\n");
......
......@@ -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];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment