diff --git a/common/http.c b/common/http.c index d2f13e498..d95a2fba9 100644 --- a/common/http.c +++ b/common/http.c @@ -781,6 +781,7 @@ do_parse_uri (parsed_uri_t uri, int only_local_part, int no_scheme_check) uri->use_tls = 0; uri->is_http = 0; uri->opaque = 0; + uri->v6lit = 0; /* A quick validity check. */ if (strspn (p, VALID_URI_CHARS) != n) @@ -841,6 +842,7 @@ do_parse_uri (parsed_uri_t uri, int only_local_part, int no_scheme_check) *p3++ = '\0'; /* worst case, uri->host should have length 0, points to \0 */ uri->host = p + 1; + uri->v6lit = 1; p = p3; } else diff --git a/common/http.h b/common/http.h index 75d64d146..bea9f07f1 100644 --- a/common/http.h +++ b/common/http.h @@ -51,6 +51,7 @@ struct parsed_uri_s unsigned int is_http:1; /* This is a HTTP style URI. */ unsigned int use_tls:1; /* Whether TLS should be used. */ unsigned int opaque:1;/* Unknown scheme; PATH has the rest. */ + unsigned int v6lit:1; /* Host was given as a literal v6 address. */ char *auth; /* username/password for basic auth. */ char *host; /* Host (converted to lowercase). */ unsigned short port; /* Port (always set if the host is set). */