提交 7b98b219 编写于 作者: W WangFengTu 提交者: lifeng68

ignore case when compare manifest's platform

Signed-off-by: NWangFengTu <wangfengtu@huawei.com>
上级 8915c87f
......@@ -86,7 +86,7 @@ static void update_option_skip_tls_verify(registry_pull_options *options, char *
}
}
static int pull_image(const im_pull_request *request)
static int pull_image(const im_pull_request *request, char **name)
{
int ret = -1;
registry_pull_options *options = NULL;
......@@ -145,6 +145,8 @@ static int pull_image(const im_pull_request *request)
}
}
*name = util_strdup_s(options->dest_image_name);
out:
free(host);
host = NULL;
......@@ -162,19 +164,20 @@ int oci_do_pull_image(const im_pull_request *request, im_pull_response **respons
{
int ret = 0;
imagetool_image *image = NULL;
char *dest_image_name = NULL;
if (request == NULL || request->image == NULL || response == NULL) {
ERROR("Invalid NULL param");
return -1;
}
ret = pull_image(request);
ret = pull_image(request, &dest_image_name);
if (ret != 0) {
ERROR("pull image %s failed", request->image);
goto err_out;
}
image = storage_img_get(request->image);
image = storage_img_get(dest_image_name);
if (image == NULL) {
ERROR("get image %s failed after pulling", request->image);
goto err_out;
......@@ -195,5 +198,7 @@ err_out:
out:
free_imagetool_image(image);
image = NULL;
free(dest_image_name);
dest_image_name = NULL;
return ret;
}
......@@ -789,7 +789,7 @@ static bool is_variant_same(char *variant1, char *variant2)
if (variant1 == NULL || variant2 == NULL) {
return false;
}
return !strcmp(variant1, variant2);
return !strcasecmp(variant1, variant2);
}
static int select_oci_manifest(oci_image_index *index, char **content_type, char **digest)
......@@ -818,7 +818,7 @@ static int select_oci_manifest(oci_image_index *index, char **content_type, char
if (platform == NULL || platform->architecture == NULL || platform->os == NULL) {
continue;
}
if (!strcmp(platform->architecture, host_arch) && !strcmp(platform->os, host_os) &&
if (!strcasecmp(platform->architecture, host_arch) && !strcasecmp(platform->os, host_os) &&
is_variant_same(host_variant, platform->variant)) {
free(*content_type);
*content_type = util_strdup_s(index->manifests[i]->media_type);
......@@ -835,7 +835,7 @@ static int select_oci_manifest(oci_image_index *index, char **content_type, char
if (platform == NULL || platform->architecture == NULL || platform->os == NULL) {
continue;
}
if (!strcmp(platform->architecture, host_arch) && !strcmp(platform->os, host_os)) {
if (!strcasecmp(platform->architecture, host_arch) && !strcasecmp(platform->os, host_os)) {
free(*content_type);
*content_type = util_strdup_s(index->manifests[i]->media_type);
free(*digest);
......@@ -890,7 +890,7 @@ static int select_docker_manifest(registry_manifest_list *manifests, char **cont
if (platform == NULL || platform->architecture == NULL || platform->os == NULL) {
continue;
}
if (!strcmp(platform->architecture, host_arch) && !strcmp(platform->os, host_os) &&
if (!strcasecmp(platform->architecture, host_arch) && !strcasecmp(platform->os, host_os) &&
is_variant_same(host_variant, platform->variant)) {
free(*content_type);
*content_type = util_strdup_s(manifests->manifests[i]->media_type);
......@@ -907,7 +907,7 @@ static int select_docker_manifest(registry_manifest_list *manifests, char **cont
if (platform == NULL || platform->architecture == NULL || platform->os == NULL) {
continue;
}
if (!strcmp(platform->architecture, host_arch) && !strcmp(platform->os, host_os)) {
if (!strcasecmp(platform->architecture, host_arch) && !strcasecmp(platform->os, host_os)) {
free(*content_type);
*content_type = util_strdup_s(manifests->manifests[i]->media_type);
free(*digest);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册