wlan-ap-Telecominfraproject/feeds/wlan-ap/opensync/patches/30-fix-ipv4-string-to-bytes-conversion
Yashvardhan 97632b83d6 wifi-1514 Fix IpEvent IP address reporting
Added missing reporting of IP Address in protobuf

Signed-off-by: Yashvardhan <yashvardhan@netexperience.com>
2021-03-25 08:56:01 -04:00

34 lines
1.2 KiB
Plaintext

--- a/src/lib/datapipeline/src/dppline.c
+++ b/src/lib/datapipeline/src/dppline.c
@@ -2147,9 +2147,11 @@ static void dppline_add_stat_events(Sts_
ipe->timestamp_ms = cs_rec->ip_event->timestamp;
if (cs_rec->ip_event->ip_addr) {
- ipe->ip_addr.data = malloc(16);
- memcpy(ipe->ip_addr.data, cs_rec->ip_event->ip_addr,16);
- ipe->ip_addr.len = 16;
+ uint8_t ip[IPV4_BYTES_LEN] = {0};
+ sscanf(cs_rec->ip_event->ip_addr, "%hhu.%hhu.%hhu.%hhu", &ip[0], &ip[1], &ip[2], &ip[3]);
+ ipe->ip_addr.data = malloc(IPV4_BYTES_LEN);
+ memcpy(ipe->ip_addr.data, ip, IPV4_BYTES_LEN);
+ ipe->ip_addr.len = IPV4_BYTES_LEN;
ipe->has_ip_addr = true;
}
}
@@ -2224,10 +2226,11 @@ static void dppline_add_stat_events(Sts_
}
if (cs_rec->connect_event->ip_addr) {
- coe->ip_addr.data = malloc(16);
- memcpy(coe->ip_addr.data, cs_rec->connect_event->ip_addr,
- 16);
- coe->ip_addr.len = 16;
+ uint8_t ip[IPV4_BYTES_LEN] = {0};
+ sscanf(cs_rec->connect_event->ip_addr, "%hhu.%hhu.%hhu.%hhu", &ip[0], &ip[1], &ip[2], &ip[3]);
+ coe->ip_addr.data = malloc(IPV4_BYTES_LEN);
+ memcpy(coe->ip_addr.data, ip, IPV4_BYTES_LEN);
+ coe->ip_addr.len = IPV4_BYTES_LEN;
coe->has_ip_addr = true;
}