summaryrefslogtreecommitdiffstats
path: root/src/config/defaults
diff options
context:
space:
mode:
authorMichael Brown2015-08-17 14:16:26 +0200
committerMichael Brown2015-08-17 14:24:33 +0200
commit518a98eb56f073c4fd1f20c730e474a6f2c8c2e9 (patch)
tree68b8afa4064fe1c2b95a9a959f8808f881594d0f /src/config/defaults
parent[block] Add generic block device translator (diff)
downloadipxe-518a98eb56f073c4fd1f20c730e474a6f2c8c2e9.tar.gz
ipxe-518a98eb56f073c4fd1f20c730e474a6f2c8c2e9.tar.xz
ipxe-518a98eb56f073c4fd1f20c730e474a6f2c8c2e9.zip
[http] Rewrite HTTP core to support content encodings
Rewrite the HTTP core to allow for the addition of arbitrary content encoding mechanisms, such as PeerDist and gzip. The core now exposes http_open() which can be used to create requests with an explicitly selected HTTP method, an optional requested content range, and an optional request body. A simple wrapper provides the preexisting behaviour of creating either a GET request or an application/x-www-form-urlencoded POST request (if the URI includes parameters). The HTTP SAN interface is now implemented using the generic block device translator. Individual blocks are requested using http_open() to create a range request. Server connections are now managed via a connection pool; this allows for multiple requests to the same server (e.g. for SAN blocks) to be completely unaware of each other. Repeated HTTPS connections to the same server can reuse a pooled connection, avoiding the per-connection overhead of establishing a TLS session (which can take several seconds if using a client certificate). Support for HTTP SAN booting and for the Basic and Digest authentication schemes is now optional and can be controlled via the SANBOOT_PROTO_HTTP, HTTP_AUTH_BASIC, and HTTP_AUTH_DIGEST build configuration options in config/general.h. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/config/defaults')
-rw-r--r--src/config/defaults/pcbios.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/config/defaults/pcbios.h b/src/config/defaults/pcbios.h
index 4ad81210..3ed8343c 100644
--- a/src/config/defaults/pcbios.h
+++ b/src/config/defaults/pcbios.h
@@ -35,6 +35,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#define SANBOOT_PROTO_AOE /* AoE protocol */
#define SANBOOT_PROTO_IB_SRP /* Infiniband SCSI RDMA protocol */
#define SANBOOT_PROTO_FCP /* Fibre Channel protocol */
+#define SANBOOT_PROTO_HTTP /* HTTP SAN protocol */
#define USB_HCD_XHCI /* xHCI USB host controller */
#define USB_HCD_EHCI /* EHCI USB host controller */