aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRavi Kerur <ravi.kerur@viasat.com>2019-10-02 20:03:18 -0700
committerRavi Kerur <ravi.kerur@viasat.com>2019-10-02 20:03:18 -0700
commit8897aa6acbac707b3b08cd523a497f85e5c29238 (patch)
treec7410b1749fea8bb0a745f1b2887067dba57bb17 /src
parentc247a9d1919d84ba6f781e656e837baaa9cfc386 (diff)
Move Hulu and Disney+ to category match.
Signed-off-by: Ravi Kerur <ravi.kerur@viasat.com>
Diffstat (limited to 'src')
-rw-r--r--src/lib/ndpi_content_match.c.inc41
-rw-r--r--src/lib/ndpi_main.c18
2 files changed, 44 insertions, 15 deletions
diff --git a/src/lib/ndpi_content_match.c.inc b/src/lib/ndpi_content_match.c.inc
index 85cc60b58..0eed29d26 100644
--- a/src/lib/ndpi_content_match.c.inc
+++ b/src/lib/ndpi_content_match.c.inc
@@ -8307,15 +8307,6 @@ static ndpi_network host_protocol_list[] = {
{ 0xA7CEDA82 /* 167.206.218.130/32*/, 32, NDPI_PROTOCOL_PS_VUE },
{ 0xA7CEDA8A /* 167.206.218.138/32*/, 32, NDPI_PROTOCOL_PS_VUE },
- /* AS23286 Hulu, LLC. */
- { 0x081C7C00 /* 8.28.124.0/24 */, 24, NDPI_PROTOCOL_HULU },
- { 0x081C7D00 /* 8.28.125.0/24 */, 24, NDPI_PROTOCOL_HULU },
- { 0xC7C83200 /* 199.200.50.0/23 */, 23, NDPI_PROTOCOL_HULU },
- { 0xC7C83300 /* 199.200.51.0/24 */, 24, NDPI_PROTOCOL_HULU },
- { 0xC73C7400 /* 199.60.116.0/24 */, 24, NDPI_PROTOCOL_HULU },
- { 0xD05B9E00 /* 208.91.158.0/23 */, 23, NDPI_PROTOCOL_HULU },
- { 0xD1F9BA00 /* 209.249.186.0/24 */, 24, NDPI_PROTOCOL_HULU },
-
{ 0x0, 0, 0 }
};
@@ -8822,6 +8813,38 @@ static ndpi_category_match category_match[] = {
{ ".playercdn.net", "\\.playercdn" TLD, NDPI_PROTOCOL_CATEGORY_STREAMING },
{ "showmax.com", "showmax" TLD, NDPI_PROTOCOL_CATEGORY_STREAMING },
{ "showmax.akamaized.net", "showmax\\.akamaized" TLD, NDPI_PROTOCOL_CATEGORY_STREAMING },
+
+ /* Hulu Streaming services AS23286 */
+ { "8.28.124.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "8.28.125.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "199.200.50.0/23", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "199.200.51.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "199.60.116.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "208.91.158.0/23", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "209.249.186.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+
+ /* Disney Streaming services AS11251 */
+ { "8.4.4.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "8.5.5.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "8.33.30.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "63.116.222.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "63.116.223.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "139.104.192.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "139.104.193.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "139.104.200.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "139.104.201.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "139.104.202.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "139.104.203.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "139.104.204.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "139.104.205.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "139.104.206.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "139.104.207.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "139.104.208.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "139.104.209.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "139.104.212.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "139.104.216.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+ { "139.104.217.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING },
+
{ NULL, NULL, 0 }
};
diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c
index fa2192472..d346ce549 100644
--- a/src/lib/ndpi_main.c
+++ b/src/lib/ndpi_main.c
@@ -4234,7 +4234,6 @@ void ndpi_load_ip_category(struct ndpi_detection_module_struct *ndpi_str,
char *ptr = strrchr(ip_address_and_mask, '/');
if(ptr) {
- ptr[0] = '\0';
ptr++;
if(atoi(ptr)>=0 && atoi(ptr)<=32)
bits = atoi(ptr);
@@ -4304,13 +4303,20 @@ int ndpi_load_hostname_category(struct ndpi_detection_module_struct *ndpi_str,
/* ********************************************************************************* */
int ndpi_enable_loaded_categories(struct ndpi_detection_module_struct *ndpi_str) {
- int i;
+ int i, ip_addr[4];
/* First add the nDPI known categories matches */
- for(i=0; category_match[i].string_to_match != NULL; i++)
- ndpi_load_hostname_category(ndpi_str,
- category_match[i].string_to_match,
- category_match[i].protocol_category);
+ for(i=0; category_match[i].string_to_match != NULL; i++) {
+ if(sscanf(category_match[i].string_to_match, "%d.%d.%d.%d", &ip_addr[0], &ip_addr[1], &ip_addr[2], &ip_addr[3]) == 4){
+ ndpi_load_ip_category(ndpi_str,
+ category_match[i].string_to_match,
+ category_match[i].protocol_category);
+ } else{
+ ndpi_load_hostname_category(ndpi_str,
+ category_match[i].string_to_match,
+ category_match[i].protocol_category);
+ }
+ }
#ifdef HAVE_HYPERSCAN
if(ndpi_str->custom_categories.num_to_load > 0) {