diff options
| -rw-r--r-- | net/portmapper/upnp_test.go | 172 |
1 files changed, 172 insertions, 0 deletions
diff --git a/net/portmapper/upnp_test.go b/net/portmapper/upnp_test.go index 8748cf427..cba480295 100644 --- a/net/portmapper/upnp_test.go +++ b/net/portmapper/upnp_test.go @@ -166,6 +166,171 @@ const ( <disabledForTestURLBase>http://10.0.0.1:2828</disabledForTestURLBase> </root> ` + + huaweiRootDescXML = `<?xml version="1.0"?> +<root xmlns="urn:schemas-upnp-org:device-1-0"> + <specVersion> + <major>1</major> + <minor>0</minor> + </specVersion> + <device> + <deviceType>urn:dslforum-org:device:InternetGatewayDevice:1</deviceType> + <friendlyName>HG531 V1</friendlyName> + <manufacturer>Huawei Technologies Co., Ltd.</manufacturer> + <manufacturerURL>http://www.huawei.com</manufacturerURL> + <modelDescription>Huawei Home Gateway</modelDescription> + <modelName>HG531 V1</modelName> + <modelNumber>Huawei Model</modelNumber> + <modelURL>http://www.huawei.com</modelURL> + <serialNumber>G6J8W15326003974</serialNumber> + <UDN>uuid:00e0fc37-2626-2828-2600-587f668bdd9a</UDN> + <UPC>000000000001</UPC> + <serviceList> + <service> + <serviceType>urn:www-huawei-com:service:DeviceConfig:1</serviceType> + <serviceId>urn:www-huawei-com:serviceId:DeviceConfig1</serviceId> + <SCPDURL>/desc/DevCfg.xml</SCPDURL> + <controlURL>/ctrlt/DeviceConfig_1</controlURL> + <eventSubURL>/evt/DeviceConfig_1</eventSubURL> + </service> + <service> + <serviceType>urn:dslforum-org:service:LANConfigSecurity:1</serviceType> + <serviceId>urn:dslforum-org:serviceId:LANConfigSecurity1</serviceId> + <SCPDURL>/desc/LANSec.xml</SCPDURL> + <controlURL>/ctrlt/LANConfigSecurity_1</controlURL> + <eventSubURL>/evt/LANConfigSecurity_1</eventSubURL> + </service> + <service> + <serviceType>urn:dslforum-org:service:Layer3Forwarding:1</serviceType> + <serviceId>urn:dslforum-org:serviceId:Layer3Forwarding1</serviceId> + <SCPDURL>/desc/L3Fwd.xml</SCPDURL> + <controlURL>/ctrlt/Layer3Forwarding_1</controlURL> + <eventSubURL>/evt/Layer3Forwarding_1</eventSubURL> + </service> + </serviceList> + <deviceList> + <device> + <deviceType>urn:dslforum-org:device:WANDevice:1</deviceType> + <friendlyName>WANDevice</friendlyName> + <manufacturer>Huawei Technologies Co., Ltd.</manufacturer> + <manufacturerURL>http://www.huawei.com</manufacturerURL> + <modelDescription>Huawei Home Gateway</modelDescription> + <modelName>HG531 V1</modelName> + <modelNumber>Huawei Model</modelNumber> + <modelURL>http://www.huawei.com</modelURL> + <serialNumber>G6J8W15326003974</serialNumber> + <UDN>uuid:00e0fc37-2626-2828-2601-587f668bdd9a</UDN> + <UPC>000000000001</UPC> + <serviceList> + <service> + <serviceType>urn:dslforum-org:service:WANDSLInterfaceConfig:1</serviceType> + <serviceId>urn:dslforum-org:serviceId:WANDSLInterfaceConfig1</serviceId> + <SCPDURL>/desc/WanDslIfCfg.xml</SCPDURL> + <controlURL>/ctrlt/WANDSLInterfaceConfig_1</controlURL> + <eventSubURL>/evt/WANDSLInterfaceConfig_1</eventSubURL> + </service> + <service> + <serviceType>urn:dslforum-org:service:WANCommonInterfaceConfig:1</serviceType> + <serviceId>urn:dslforum-org:serviceId:WANCommonInterfaceConfig1</serviceId> + <SCPDURL>/desc/WanCommonIfc1.xml</SCPDURL> + <controlURL>/ctrlt/WANCommonInterfaceConfig_1</controlURL> + <eventSubURL>/evt/WANCommonInterfaceConfig_1</eventSubURL> + </service> + </serviceList> + <deviceList> + <device> + <deviceType>urn:dslforum-org:device:WANConnectionDevice:1</deviceType> + <friendlyName>WANConnectionDevice</friendlyName> + <manufacturer>Huawei Technologies Co., Ltd.</manufacturer> + <manufacturerURL>http://www.huawei.com</manufacturerURL> + <modelDescription>Huawei Home Gateway</modelDescription> + <modelName>HG531 V1</modelName> + <modelNumber>Huawei Model</modelNumber> + <modelURL>http://www.huawei.com</modelURL> + <serialNumber>G6J8W15326003974</serialNumber> + <UDN>uuid:00e0fc37-2626-2828-2603-587f668bdd9a</UDN> + <UPC>000000000001</UPC> + <serviceList> + <service> + <serviceType>urn:dslforum-org:service:WANPPPConnection:1</serviceType> + <serviceId>urn:dslforum-org:serviceId:WANPPPConnection1</serviceId> + <SCPDURL>/desc/WanPppConn.xml</SCPDURL> + <controlURL>/ctrlt/WANPPPConnection_1</controlURL> + <eventSubURL>/evt/WANPPPConnection_1</eventSubURL> + </service> + <service> + <serviceType>urn:dslforum-org:service:WANEthernetConnectionManagement:1</serviceType> + <serviceId>urn:dslforum-org:serviceId:WANEthernetConnectionManagement1</serviceId> + <SCPDURL>/desc/WanEthConnMgt.xml</SCPDURL> + <controlURL>/ctrlt/WANEthernetConnectionManagement_1</controlURL> + <eventSubURL>/evt/WANEthernetConnectionManagement_1</eventSubURL> + </service> + <service> + <serviceType>urn:dslforum-org:service:WANDSLLinkConfig:1</serviceType> + <serviceId>urn:dslforum-org:serviceId:WANDSLLinkConfig1</serviceId> + <SCPDURL>/desc/WanDslLink.xml</SCPDURL> + <controlURL>/ctrlt/WANDSLLinkConfig_1</controlURL> + <eventSubURL>/evt/WANDSLLinkConfig_1</eventSubURL> + </service> + </serviceList> + </device> + </deviceList> + </device> + <device> + <deviceType>urn:dslforum-org:device:LANDevice:1</deviceType> + <friendlyName>LANDevice</friendlyName> + <manufacturer>Huawei Technologies Co., Ltd.</manufacturer> + <manufacturerURL>http://www.huawei.com</manufacturerURL> + <modelDescription>Huawei Home Gateway</modelDescription> + <modelName>HG531 V1</modelName> + <modelNumber>Huawei Model</modelNumber> + <modelURL>http://www.huawei.com</modelURL> + <serialNumber>G6J8W15326003974</serialNumber> + <UDN>uuid:00e0fc37-2626-2828-2602-587f668bdd9a</UDN> + <UPC>000000000001</UPC> + <serviceList> + <service> + <serviceType>urn:dslforum-org:service:WLANConfiguration:1</serviceType> + <serviceId>urn:dslforum-org:serviceId:WLANConfiguration4</serviceId> + <SCPDURL>/desc/WLANCfg.xml</SCPDURL> + <controlURL>/ctrlt/WLANConfiguration_4</controlURL> + <eventSubURL>/evt/WLANConfiguration_4</eventSubURL> + </service> + <service> + <serviceType>urn:dslforum-org:service:WLANConfiguration:1</serviceType> + <serviceId>urn:dslforum-org:serviceId:WLANConfiguration3</serviceId> + <SCPDURL>/desc/WLANCfg.xml</SCPDURL> + <controlURL>/ctrlt/WLANConfiguration_3</controlURL> + <eventSubURL>/evt/WLANConfiguration_3</eventSubURL> + </service> + <service> + <serviceType>urn:dslforum-org:service:WLANConfiguration:1</serviceType> + <serviceId>urn:dslforum-org:serviceId:WLANConfiguration2</serviceId> + <SCPDURL>/desc/WLANCfg.xml</SCPDURL> + <controlURL>/ctrlt/WLANConfiguration_2</controlURL> + <eventSubURL>/evt/WLANConfiguration_2</eventSubURL> + </service> + <service> + <serviceType>urn:dslforum-org:service:WLANConfiguration:1</serviceType> + <serviceId>urn:dslforum-org:serviceId:WLANConfiguration1</serviceId> + <SCPDURL>/desc/WLANCfg.xml</SCPDURL> + <controlURL>/ctrlt/WLANConfiguration_1</controlURL> + <eventSubURL>/evt/WLANConfiguration_1</eventSubURL> + </service> + <service> + <serviceType>urn:dslforum-org:service:LANHostConfigManagement:1</serviceType> + <serviceId>urn:dslforum-org:serviceId:LANHostConfigManagement1</serviceId> + <SCPDURL>/desc/LanHostCfgMgmt.xml</SCPDURL> + <controlURL>/ctrlt/LANHostConfigManagement_1</controlURL> + <eventSubURL>/evt/LANHostConfigManagement_1</eventSubURL> + </service> + </serviceList> + </device> + </deviceList> + <presentationURL>http://127.0.0.1</presentationURL> + </device> +</root> +` ) func TestParseUPnPDiscoResponse(t *testing.T) { @@ -233,6 +398,13 @@ func TestGetUPnPClient(t *testing.T) { "*internetgateway2.WANIPConnection1", "saw UPnP type WANIPConnection1 at http://127.0.0.1:NNN/rootDesc.xml; MikroTik Router (MikroTik), method=none\n", }, + { + "huawei", + huaweiRootDescXML, + "*internetgateway2.WANIPConnection1", + "saw UPnP type WANIPConnection1 at http://127.0.0.1:NNN/rootDesc.xml; Huawei Router (Huawei), method=none\n", + }, + // TODO(bradfitz): find a PPP one in the wild } for _, tt := range tests { |
