diff options
Diffstat (limited to 'plugins/check_curl.c')
-rw-r--r-- | plugins/check_curl.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/plugins/check_curl.c b/plugins/check_curl.c index c54be5e4..01e2770e 100644 --- a/plugins/check_curl.c +++ b/plugins/check_curl.c | |||
@@ -1285,10 +1285,12 @@ redir (curlhelp_write_curlbuf* header_buf) | |||
1285 | } | 1285 | } |
1286 | } | 1286 | } |
1287 | 1287 | ||
1288 | if (!uri_strcmp (uri.scheme, "https")) | 1288 | if (uri.scheme.first) { |
1289 | use_ssl = true; | 1289 | if (!uri_strcmp (uri.scheme, "https")) |
1290 | else | 1290 | use_ssl = true; |
1291 | use_ssl = false; | 1291 | else |
1292 | use_ssl = false; | ||
1293 | } | ||
1292 | 1294 | ||
1293 | /* we do a sloppy test here only, because uriparser would have failed | 1295 | /* we do a sloppy test here only, because uriparser would have failed |
1294 | * above, if the port would be invalid, we just check for MAX_PORT | 1296 | * above, if the port would be invalid, we just check for MAX_PORT |
@@ -1306,10 +1308,13 @@ redir (curlhelp_write_curlbuf* header_buf) | |||
1306 | MAX_PORT, location, display_html ? "</A>" : ""); | 1308 | MAX_PORT, location, display_html ? "</A>" : ""); |
1307 | 1309 | ||
1308 | /* by RFC 7231 relative URLs in Location should be taken relative to | 1310 | /* by RFC 7231 relative URLs in Location should be taken relative to |
1309 | * the original URL, so wy try to form a new absolute URL here | 1311 | * the original URL, so we try to form a new absolute URL here |
1310 | */ | 1312 | */ |
1311 | if (!uri.scheme.first && !uri.hostText.first) { | 1313 | if (!uri.scheme.first && !uri.hostText.first) { |
1312 | new_host = strdup (host_name ? host_name : server_address); | 1314 | new_host = strdup (host_name ? host_name : server_address); |
1315 | new_port = server_port; | ||
1316 | if(use_ssl) | ||
1317 | uri_string (uri.scheme, "https", DEFAULT_BUFFER_SIZE); | ||
1313 | } else { | 1318 | } else { |
1314 | new_host = strdup (uri_string (uri.hostText, buf, DEFAULT_BUFFER_SIZE)); | 1319 | new_host = strdup (uri_string (uri.hostText, buf, DEFAULT_BUFFER_SIZE)); |
1315 | } | 1320 | } |