K 10 svn:author V 6 kevans K 8 svn:date V 27 2019-10-24T04:00:49.638577Z K 7 svn:log V 1735 MFC EFI HTTP Support: r349349, r349395, r349404, r349564-r349566, r349613, r350444 r349349: loader: add HTTP support using UEFI Add support for an HTTP "network filesystem" using the UEFI's HTTP stack. This also supports HTTPS, but TianoCore EDK2 implementations currently crash while fetching loader files. Only IPv4 is supported at the moment. IPv6 support is planned for a follow-up changeset. Note that we include some headers from the TianoCore EDK II project in stand/efi/include/Protocol verbatim, including links to the license instead of including the full text because that's their preferred way of communicating it, despite not being normal FreeBSD project practice. r349395: Disconnect EFI HTTP support The EFI HTTP code has been causing boot failures for people, so disable it while a fix is being worked on. r349404: Re-enable loader efi http boot and fix dv_open bug if dv_init failed The code in efihttp.c was assuming that dv_open wouldn't be called if dv_init failed. But the dv_init return value is currently ignored. Add a new variable, `efihttp_init_done` and only proceed in dv_open if it's true. This fixes the loader on systems without efi http support. r349564: Clean efihttp pointer-sign warnings The Http protocol structure is using unsigned char strings, Use type casts where needed. r349565: efihttp: comparison of integers of different signs message.HeaderCount is UINTN (unsigned int), so should be i. r349566: efihttp: mark unused arguments with __unused we do have __unused, lets use it. r349613: efihttp: mac and err can be used uninitialized While there, also check if mac != NULL, and use pointer compare for ipv4 and dns. r350444: Fix EFI loader build when LOADER_NET_SUPPORT=no. END