From ce6d4c4a6e426fbee036993034abddf7975be771 Mon Sep 17 00:00:00 2001 From: des Date: Wed, 5 Jun 2002 12:46:36 +0000 Subject: Add SSL support + slight cleanup. Submitted by: Henry Whincup (in principle) --- lib/libfetch/http.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'lib/libfetch/http.c') diff --git a/lib/libfetch/http.c b/lib/libfetch/http.c index 8639e00..7b897a8 100644 --- a/lib/libfetch/http.c +++ b/lib/libfetch/http.c @@ -669,7 +669,7 @@ _http_connect(struct url *URL, struct url *purl, const char *flags) af = AF_INET6; #endif - if (purl) { + if (purl && strcasecmp(URL->scheme, SCHEME_HTTPS) != 0) { URL = purl; } else if (strcasecmp(URL->scheme, SCHEME_FTP) == 0) { /* can't talk http to an ftp server */ @@ -680,6 +680,11 @@ _http_connect(struct url *URL, struct url *purl, const char *flags) if ((conn = _fetch_connect(URL->host, URL->port, af, verbose)) == NULL) /* _fetch_connect() has already set an error code */ return (NULL); + if (strcasecmp(URL->scheme, SCHEME_HTTPS) == 0 && + _fetch_ssl(conn, verbose) == -1) { + _fetch_close(conn); + return (NULL); + } return (conn); } -- cgit v1.1