mirror of
https://github.com/ipxe/ipxe
synced 2026-02-06 05:14:13 +03:00
[http] Hide HTTP transport-layer filter implementation details
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -301,8 +301,7 @@ int http_connect ( struct interface *xfer, struct uri *uri ) {
|
||||
goto err_open;
|
||||
|
||||
/* Add filter, if any */
|
||||
if ( scheme->filter &&
|
||||
( ( rc = scheme->filter ( &conn->socket, uri->host ) ) != 0 ) )
|
||||
if ( scheme->filter && ( ( rc = scheme->filter ( conn ) ) != 0 ) )
|
||||
goto err_filter;
|
||||
|
||||
/* Attach to parent interface, mortalise self, and return */
|
||||
|
||||
@@ -31,12 +31,24 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
||||
*/
|
||||
|
||||
#include <ipxe/open.h>
|
||||
#include <ipxe/uri.h>
|
||||
#include <ipxe/tls.h>
|
||||
#include <ipxe/http.h>
|
||||
#include <ipxe/features.h>
|
||||
|
||||
FEATURE ( FEATURE_PROTOCOL, "HTTPS", DHCP_EB_FEATURE_HTTPS, 1 );
|
||||
|
||||
/**
|
||||
* Add HTTPS filter
|
||||
*
|
||||
* @v conn HTTP connection
|
||||
* @ret rc Return status code
|
||||
*/
|
||||
static int https_filter ( struct http_connection *conn ) {
|
||||
|
||||
return add_tls ( &conn->socket, conn->uri->host );
|
||||
}
|
||||
|
||||
/** HTTPS URI opener */
|
||||
struct uri_opener https_uri_opener __uri_opener = {
|
||||
.scheme = "https",
|
||||
@@ -47,5 +59,5 @@ struct uri_opener https_uri_opener __uri_opener = {
|
||||
struct http_scheme https_scheme __http_scheme = {
|
||||
.name = "https",
|
||||
.port = HTTPS_PORT,
|
||||
.filter = add_tls,
|
||||
.filter = https_filter,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user