diff options
author | des <des@FreeBSD.org> | 2002-06-05 12:46:36 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2002-06-05 12:46:36 +0000 |
commit | ce6d4c4a6e426fbee036993034abddf7975be771 (patch) | |
tree | 9329a9d7ff9e99806101b26229c66f397ccc0f8c /lib/libfetch/http.c | |
parent | 12c36bfb94e95d0f9c4ebb1e1e407ca44b3f9c24 (diff) | |
download | FreeBSD-src-ce6d4c4a6e426fbee036993034abddf7975be771.zip FreeBSD-src-ce6d4c4a6e426fbee036993034abddf7975be771.tar.gz |
Add SSL support + slight cleanup.
Submitted by: Henry Whincup <henry@techiebod.com> (in principle)
Diffstat (limited to 'lib/libfetch/http.c')
-rw-r--r-- | lib/libfetch/http.c | 7 |
1 files changed, 6 insertions, 1 deletions
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); } |