From fba1237bcef6c75c6034594f557b2a6cbad35ce1 Mon Sep 17 00:00:00 2001 From: WangFengTu Date: Sat, 23 May 2020 10:37:25 +0800 Subject: [PATCH] Use https if ping https success Signed-off-by: WangFengTu --- src/image/oci/registry/registry.c | 1 - src/image/oci/registry/registry_apiv2.c | 11 ++++------- src/image/oci/registry/registry_type.h | 1 - 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/image/oci/registry/registry.c b/src/image/oci/registry/registry.c index ad04391..8553c56 100644 --- a/src/image/oci/registry/registry.c +++ b/src/image/oci/registry/registry.c @@ -2031,7 +2031,6 @@ void free_pull_desc(pull_descriptor *desc) free(desc->protocol); desc->protocol = NULL; desc->skip_tls_verify = false; - desc->already_ping = false; free(desc->scope); desc->scope = NULL; diff --git a/src/image/oci/registry/registry_apiv2.c b/src/image/oci/registry/registry_apiv2.c index 1f98f7f..5524ef1 100644 --- a/src/image/oci/registry/registry_apiv2.c +++ b/src/image/oci/registry/registry_apiv2.c @@ -34,7 +34,7 @@ #include "isula_libutils/registry_manifest_list.h" #include "auths.h" -#define DOCKER_API_VERSION_HEADER "Docker-Distribution-API-Version: registry/2.0" +#define DOCKER_API_VERSION_HEADER "Docker-Distribution-Api-Version: registry/2.0" #define MAX_ACCEPT_LEN 128 static int parse_http_header(char *resp_buf, size_t buf_size, struct parsed_http_message *message) @@ -361,12 +361,13 @@ static int registry_ping(pull_descriptor *desc) return -1; } - if (desc->already_ping && desc->protocol != NULL) { + if (desc->protocol != NULL) { return 0; } ret = registry_pingv2(desc, "https"); if (ret == 0) { + desc->protocol = util_strdup_s("https"); goto out; } @@ -378,17 +379,13 @@ static int registry_ping(pull_descriptor *desc) ERROR("ping %s with http failed", desc->host); goto out; } + desc->protocol = util_strdup_s("http"); } else { ERROR("ping %s with https failed", desc->host); } out: - if (ret == 0) { - desc->protocol = util_strdup_s("http"); - desc->already_ping = true; - } - return ret; } diff --git a/src/image/oci/registry/registry_type.h b/src/image/oci/registry/registry_type.h index 8d7c7f3..753bc67 100644 --- a/src/image/oci/registry/registry_type.h +++ b/src/image/oci/registry/registry_type.h @@ -90,7 +90,6 @@ typedef struct { char *protocol; bool skip_tls_verify; bool insecure_registry; - bool already_ping; char *scope; challenge challenges[CHALLENGE_MAX]; // This is temporary field. Once http request is performed, it is cleared -- GitLab