From f4e98c1a500a87c972194b8d7d09dc3b7e3e95b8 Mon Sep 17 00:00:00 2001 From: William Toohey Date: Fri, 5 May 2017 01:47:02 +1000 Subject: [PATCH] Remove deprecated WebUSB Allowed Origins header --- Firmware/Bootloader/Descriptors.c | 31 ++++---------------------- Firmware/Bootloader/Descriptors.h | 3 +-- Firmware/PocketVoltex/Descriptors.c | 34 ++++------------------------- Firmware/PocketVoltex/Descriptors.h | 3 +-- 4 files changed, 10 insertions(+), 61 deletions(-) diff --git a/Firmware/Bootloader/Descriptors.c b/Firmware/Bootloader/Descriptors.c index cb8836d..12d43ef 100644 --- a/Firmware/Bootloader/Descriptors.c +++ b/Firmware/Bootloader/Descriptors.c @@ -1,7 +1,6 @@ #include "Descriptors.h" const USB_Descriptor_URL_t ConfigURL = URL_STRING_DESCRIPTOR(URL_HTTPS, "mon.im"); -const USB_Descriptor_URL_t LocalhostURL = URL_STRING_DESCRIPTOR(URL_HTTP, "localhost"); const USB_Descriptor_String_t ProductString = USB_STRING_DESCRIPTOR(L"Voltex Boot"); const USB_Descriptor_String_t LanguageString = USB_STRING_DESCRIPTOR_ARRAY(LANGUAGE_ID_ENG); @@ -13,15 +12,6 @@ const uint8_t MS_OS_Descriptor[] = ) }; -const uint8_t WebUSBAllowedOrigins[] = { - WEBUSB_ALLOWED_ORIGINS_HEADER - ( - 0, // no config header - // Config interface accessible from the web, 2 valid URLs - URL_ID_Config, URL_ID_Localhost - ) -}; - const uint8_t BOSDescriptor[] = { BOS_DESCRIPTOR @@ -105,23 +95,10 @@ void USB_Process_BOS(void) { switch(USB_ControlRequest.bRequest) { case WEBUSB_ID: - switch(USB_ControlRequest.wIndex) { - case WEBUSB_REQUEST_GET_ALLOWED_ORIGINS: - Address = &WebUSBAllowedOrigins; - Size = sizeof(WebUSBAllowedOrigins); - break; - case WEBUSB_REQUEST_GET_URL: - switch(USB_ControlRequest.wValue) { - case URL_ID_Localhost: - Address = &LocalhostURL; - Size = LocalhostURL.Header.Size; - break; - case URL_ID_Config: - Address = &ConfigURL; - Size = ConfigURL.Header.Size; - break; - } - break; + if(USB_ControlRequest.wIndex == WEBUSB_REQUEST_GET_URL && + USB_ControlRequest.wValue == URL_ID_Config) { + Address = &ConfigURL; + Size = ConfigURL.Header.Size; } break; case MS_OS_ID: diff --git a/Firmware/Bootloader/Descriptors.h b/Firmware/Bootloader/Descriptors.h index 64e63b5..1f1e57d 100644 --- a/Firmware/Bootloader/Descriptors.h +++ b/Firmware/Bootloader/Descriptors.h @@ -56,8 +56,7 @@ enum URLDescriptors_t { - URL_ID_Localhost = 1, - URL_ID_Config = 2, + URL_ID_Config = 1, }; enum StringDescriptors_t diff --git a/Firmware/PocketVoltex/Descriptors.c b/Firmware/PocketVoltex/Descriptors.c index ce759ba..42146ca 100644 --- a/Firmware/PocketVoltex/Descriptors.c +++ b/Firmware/PocketVoltex/Descriptors.c @@ -149,19 +149,6 @@ const uint8_t PROGMEM MS_OS_Descriptor[] = ) }; -const uint8_t PROGMEM WebUSBAllowedOrigins[] = { - WEBUSB_ALLOWED_ORIGINS_HEADER - ( - 1, // 1 config header present - WEBUSB_CONFIG_SUBSET_HEADER - ( - 0x00, 1, // Config 0, 1 function header - // Config interface accessible from the web, 2 valid URLs - WEBUSB_FUNCTION_SUBSET_HEADER(INTERFACE_ID_Config, URL_ID_Config, URL_ID_Localhost) - ) - ) -}; - const uint8_t PROGMEM BOSDescriptor[] = { BOS_DESCRIPTOR @@ -380,23 +367,10 @@ void USB_Process_BOS(void) { } switch(USB_ControlRequest.bRequest) { case WEBUSB_ID: - switch(USB_ControlRequest.wIndex) { - case WEBUSB_REQUEST_GET_ALLOWED_ORIGINS: - Address = &WebUSBAllowedOrigins; - Size = sizeof(WebUSBAllowedOrigins); - break; - case WEBUSB_REQUEST_GET_URL: - switch(USB_ControlRequest.wValue) { - case URL_ID_Localhost: - Address = &LocalhostURL; - Size = pgm_read_byte(&LocalhostURL.Header.Size); - break; - case URL_ID_Config: - Address = &ConfigURL; - Size = pgm_read_byte(&ConfigURL.Header.Size); - break; - } - break; + if(USB_ControlRequest.wIndex == WEBUSB_REQUEST_GET_URL && + USB_ControlRequest.wValue == URL_ID_Config) { + Address = &ConfigURL; + Size = pgm_read_byte(&ConfigURL.Header.Size); } break; case MS_OS_ID: diff --git a/Firmware/PocketVoltex/Descriptors.h b/Firmware/PocketVoltex/Descriptors.h index e877767..0202f26 100644 --- a/Firmware/PocketVoltex/Descriptors.h +++ b/Firmware/PocketVoltex/Descriptors.h @@ -58,8 +58,7 @@ enum URLDescriptors_t { - URL_ID_Localhost = 1, - URL_ID_Config = 2, + URL_ID_Config = 1, }; /** Enum for the HID report IDs used in the device. */