mirror of
https://github.com/vel21ripn/nDPI.git
synced 2026-05-05 19:15:12 +00:00
Code rework
This commit is contained in:
parent
d6f7dd9c08
commit
1a4e57e736
5 changed files with 28 additions and 20 deletions
|
|
@ -67,7 +67,7 @@ static void ndpi_add_connection_as_bittorrent(struct ndpi_detection_module_struc
|
|||
} else
|
||||
bt_hash = (const char*)&flow->packet.payload[28];
|
||||
|
||||
if(bt_hash) memcpy(flow->bittorent_hash, bt_hash, 20);
|
||||
if(bt_hash) memcpy(flow->protos.bittorrent.hash, bt_hash, 20);
|
||||
}
|
||||
|
||||
ndpi_int_change_protocol(ndpi_struct, flow, NDPI_PROTOCOL_BITTORRENT, NDPI_PROTOCOL_UNKNOWN);
|
||||
|
|
@ -479,7 +479,7 @@ void ndpi_search_bittorrent(struct ndpi_detection_module_struct *ndpi_struct, st
|
|||
) {
|
||||
bittorrent_found:
|
||||
if(bt_proto && (packet->payload_packet_len > 47))
|
||||
memcpy(flow->bittorent_hash, &bt_proto[27], 20);
|
||||
memcpy(flow->protos.bittorrent.hash, &bt_proto[27], 20);
|
||||
|
||||
NDPI_LOG(NDPI_PROTOCOL_BITTORRENT,
|
||||
ndpi_struct, NDPI_LOG_TRACE, "BT: plain BitTorrent protocol detected\n");
|
||||
|
|
|
|||
|
|
@ -96,11 +96,11 @@ void ndpi_search_dhcp_udp(struct ndpi_detection_module_struct *ndpi_struct, stru
|
|||
if(msg_type <= 8) foundValidMsgType = 1;
|
||||
} else if(id == 55 /* Parameter Request List / Fingerprint */) {
|
||||
u_int idx, offset = 0,
|
||||
hex_len = ndpi_min(len * 2, sizeof(flow->dhcp_fingerprint));
|
||||
hex_len = ndpi_min(len * 2, sizeof(flow->protos.dhcp.fingerprint));
|
||||
|
||||
for(idx=0; idx<len; idx++) {
|
||||
snprintf((char*)&flow->dhcp_fingerprint[offset],
|
||||
sizeof(flow->dhcp_fingerprint)-offset-1,
|
||||
snprintf((char*)&flow->protos.dhcp.fingerprint[offset],
|
||||
sizeof(flow->protos.dhcp.fingerprint)-offset-1,
|
||||
"%02X", dhcp->options[i+2+idx] & 0xFF);
|
||||
offset += 2;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -167,7 +167,7 @@ static void setHttpUserAgent(struct ndpi_flow_struct *flow, char *ua) {
|
|||
* https://github.com/ua-parser/uap-core/blob/master/regexes.yaml */
|
||||
|
||||
//printf("==> %s\n", ua);
|
||||
snprintf((char*)flow->detected_os, sizeof(flow->detected_os), "%s", ua);
|
||||
snprintf((char*)flow->protos.http.detected_os, sizeof(flow->protos.http.detected_os), "%s", ua);
|
||||
}
|
||||
|
||||
static void parseHttpSubprotocol(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow) {
|
||||
|
|
@ -360,9 +360,9 @@ static void check_content_type_and_change_protocol(struct ndpi_detection_module_
|
|||
strncpy((char*)flow->host_server_name, (char*)packet->host_line.ptr, len);
|
||||
flow->host_server_name[len] = '\0', flow->server_id = flow->dst;
|
||||
|
||||
len = ndpi_min(packet->forwarded_line.len, sizeof(flow->nat_ip)-1);
|
||||
strncpy((char*)flow->nat_ip, (char*)packet->forwarded_line.ptr, len);
|
||||
flow->nat_ip[len] = '\0';
|
||||
len = ndpi_min(packet->forwarded_line.len, sizeof(flow->protos.http.nat_ip)-1);
|
||||
strncpy((char*)flow->protos.http.nat_ip, (char*)packet->forwarded_line.ptr, len);
|
||||
flow->protos.http.nat_ip[len] = '\0';
|
||||
|
||||
if(ndpi_struct->http_dont_dissect_response)
|
||||
parseHttpSubprotocol(ndpi_struct, flow);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue