diff options
Diffstat (limited to 'src/lib/protocols')
-rw-r--r-- | src/lib/protocols/rtp.c | 46 | ||||
-rw-r--r-- | src/lib/protocols/stun.c | 2 | ||||
-rw-r--r-- | src/lib/protocols/zoom.c | 10 |
3 files changed, 29 insertions, 29 deletions
diff --git a/src/lib/protocols/rtp.c b/src/lib/protocols/rtp.c index db041f76b..5a27d887b 100644 --- a/src/lib/protocols/rtp.c +++ b/src/lib/protocols/rtp.c @@ -40,7 +40,7 @@ int is_valid_rtp_payload_type(uint8_t type) return 1; } -u_int8_t rtp_get_stream_type(u_int8_t payloadType, ndpi_multimedia_flow_type *s_type, u_int16_t sub_proto) +u_int8_t rtp_get_stream_type(u_int8_t payloadType, u_int8_t *s_type, u_int16_t sub_proto) { /* General, from IANA */ switch(payloadType) { @@ -61,7 +61,7 @@ u_int8_t rtp_get_stream_type(u_int8_t payloadType, ndpi_multimedia_flow_type *s_ case 16: /* DVI4 */ case 17: /* DVI4 */ case 18: /* G729 */ - *s_type = ndpi_multimedia_audio_flow; + *s_type |= ndpi_multimedia_audio_flow; return(1); case 25: /* CelB */ @@ -70,7 +70,7 @@ u_int8_t rtp_get_stream_type(u_int8_t payloadType, ndpi_multimedia_flow_type *s_ case 31: /* H261 */ case 32: /* MPV */ case 34: /* H263 */ - *s_type = ndpi_multimedia_video_flow; + *s_type |= ndpi_multimedia_video_flow; return(1); } @@ -87,18 +87,18 @@ u_int8_t rtp_get_stream_type(u_int8_t payloadType, ndpi_multimedia_flow_type *s_ case 116: /* G.726 */ case 117: /* G.722 */ case 118: /* Comfort Noise Wideband */ - *s_type = ndpi_multimedia_audio_flow; + *s_type |= ndpi_multimedia_audio_flow; return(1); case 34: /* H.263 [MS-H26XPF] */ case 121: /* RT Video */ case 122: /* H.264 [MS-H264PF] */ case 123: /* H.264 FEC [MS-H264PF] */ - *s_type = ndpi_multimedia_video_flow; + *s_type |= ndpi_multimedia_video_flow; return(1); default: - *s_type = ndpi_multimedia_unknown_flow; + *s_type |= ndpi_multimedia_unknown_flow; return(0); } } @@ -114,16 +114,16 @@ u_int8_t rtp_get_stream_type(u_int8_t payloadType, ndpi_multimedia_flow_type *s_ if(sub_proto == NDPI_PROTOCOL_GOOGLE_CALL) { switch(payloadType) { case 111: - *s_type = ndpi_multimedia_audio_flow; + *s_type |= ndpi_multimedia_audio_flow; return(1); case 96: case 100: - *s_type = ndpi_multimedia_video_flow; + *s_type |= ndpi_multimedia_video_flow; return(1); default: - *s_type = ndpi_multimedia_unknown_flow; + *s_type |= ndpi_multimedia_unknown_flow; return(0); } } @@ -131,16 +131,16 @@ u_int8_t rtp_get_stream_type(u_int8_t payloadType, ndpi_multimedia_flow_type *s_ if(sub_proto == NDPI_PROTOCOL_WHATSAPP_CALL) { switch(payloadType) { case 120: - *s_type = ndpi_multimedia_audio_flow; + *s_type |= ndpi_multimedia_audio_flow; return(1); case 97: case 102: - *s_type = ndpi_multimedia_video_flow; + *s_type |= ndpi_multimedia_video_flow; return(1); default: - *s_type = ndpi_multimedia_unknown_flow; + *s_type |= ndpi_multimedia_unknown_flow; return(0); } } @@ -151,15 +151,15 @@ u_int8_t rtp_get_stream_type(u_int8_t payloadType, ndpi_multimedia_flow_type *s_ case 97: case 101: case 109: - *s_type = ndpi_multimedia_audio_flow; + *s_type |= ndpi_multimedia_audio_flow; return(1); case 127: - *s_type = ndpi_multimedia_video_flow; + *s_type |= ndpi_multimedia_video_flow; return(1); default: - *s_type = ndpi_multimedia_unknown_flow; + *s_type |= ndpi_multimedia_unknown_flow; return(0); } } @@ -167,15 +167,15 @@ u_int8_t rtp_get_stream_type(u_int8_t payloadType, ndpi_multimedia_flow_type *s_ if(sub_proto == NDPI_PROTOCOL_TELEGRAM_VOIP) { switch(payloadType) { case 111: - *s_type = ndpi_multimedia_audio_flow; + *s_type |= ndpi_multimedia_audio_flow; return(1); case 106: - *s_type = ndpi_multimedia_video_flow; + *s_type |= ndpi_multimedia_video_flow; return(1); default: - *s_type = ndpi_multimedia_unknown_flow; + *s_type |= ndpi_multimedia_unknown_flow; return(0); } } @@ -183,20 +183,20 @@ u_int8_t rtp_get_stream_type(u_int8_t payloadType, ndpi_multimedia_flow_type *s_ if(sub_proto == NDPI_PROTOCOL_SIGNAL_VOIP) { switch(payloadType) { case 102: - *s_type = ndpi_multimedia_audio_flow; + *s_type |= ndpi_multimedia_audio_flow; return(1); case 120: - *s_type = ndpi_multimedia_video_flow; + *s_type |= ndpi_multimedia_video_flow; return(1); default: - *s_type = ndpi_multimedia_unknown_flow; + *s_type |= ndpi_multimedia_unknown_flow; return(0); } } - *s_type = ndpi_multimedia_unknown_flow; + *s_type |= ndpi_multimedia_unknown_flow; return(0); } @@ -324,7 +324,7 @@ static void ndpi_rtp_search(struct ndpi_detection_module_struct *ndpi_struct, NDPI_EXCLUDE_PROTO(ndpi_struct, flow); NDPI_EXCLUDE_PROTO_EXT(ndpi_struct, flow, NDPI_PROTOCOL_RTCP); } else { - rtp_get_stream_type(payload[1] & 0x7F, &flow->flow_multimedia_type, NDPI_PROTOCOL_UNKNOWN); + rtp_get_stream_type(payload[1] & 0x7F, &flow->flow_multimedia_types, NDPI_PROTOCOL_UNKNOWN); NDPI_LOG_INFO(ndpi_struct, "Found RTP\n"); ndpi_int_rtp_add_connection(ndpi_struct, flow, NDPI_PROTOCOL_RTP); diff --git a/src/lib/protocols/stun.c b/src/lib/protocols/stun.c index 9a5b122a2..3b80a4767 100644 --- a/src/lib/protocols/stun.c +++ b/src/lib/protocols/stun.c @@ -877,7 +877,7 @@ static int stun_search_again(struct ndpi_detection_module_struct *ndpi_struct, NDPI_LOG_DBG(ndpi_struct, "RTP (dir %d)\n", packet->packet_direction); NDPI_LOG_INFO(ndpi_struct, "Found RTP over STUN\n"); - rtp_get_stream_type(packet->payload[1] & 0x7F, &flow->flow_multimedia_type, flow->detected_protocol_stack[0]); + rtp_get_stream_type(packet->payload[1] & 0x7F, &flow->flow_multimedia_types, flow->detected_protocol_stack[0]); if(flow->detected_protocol_stack[0] != NDPI_PROTOCOL_RTP && flow->detected_protocol_stack[0] != NDPI_PROTOCOL_RTCP && diff --git a/src/lib/protocols/zoom.c b/src/lib/protocols/zoom.c index 5b65dab69..a115fe37b 100644 --- a/src/lib/protocols/zoom.c +++ b/src/lib/protocols/zoom.c @@ -53,7 +53,7 @@ static void ndpi_int_zoom_add_connection(struct ndpi_detection_module_struct *nd struct ndpi_flow_struct *flow) { u_int16_t master; - if(flow->flow_multimedia_type != ndpi_multimedia_unknown_flow) + if(flow->flow_multimedia_types != ndpi_multimedia_unknown_flow) master = NDPI_PROTOCOL_SRTP; else master = NDPI_PROTOCOL_UNKNOWN; @@ -91,7 +91,7 @@ static int is_zme(struct ndpi_detection_module_struct *ndpi_struct, case 13: /* Screen Share: RTP is not always there, expecially at the beginning of the flow */ if(payload_len > 27) { if(is_rtp_or_rtcp(ndpi_struct, payload + 27, payload_len - 27, NULL) == IS_RTP) { - flow->flow_multimedia_type = ndpi_multimedia_screen_sharing_flow; + flow->flow_multimedia_types |= ndpi_multimedia_screen_sharing_flow; } return 1; } @@ -100,7 +100,7 @@ static int is_zme(struct ndpi_detection_module_struct *ndpi_struct, case 30: /* P2P Screen Share: it seems RTP is always present */ if(payload_len > 20 && is_rtp_or_rtcp(ndpi_struct, payload + 20, payload_len - 20, NULL) == IS_RTP) { - flow->flow_multimedia_type = ndpi_multimedia_screen_sharing_flow; + flow->flow_multimedia_types |= ndpi_multimedia_screen_sharing_flow; return 1; } break; @@ -108,7 +108,7 @@ static int is_zme(struct ndpi_detection_module_struct *ndpi_struct, case 15: /* RTP Audio */ if(payload_len > 19 && is_rtp_or_rtcp(ndpi_struct, payload + 19, payload_len - 19, NULL) == IS_RTP) { - flow->flow_multimedia_type = ndpi_multimedia_audio_flow; + flow->flow_multimedia_types |= ndpi_multimedia_audio_flow; return 1; } break; @@ -116,7 +116,7 @@ static int is_zme(struct ndpi_detection_module_struct *ndpi_struct, case 16: /* RTP Video */ if(payload_len > 24 && is_rtp_or_rtcp(ndpi_struct, payload + 24, payload_len - 24, NULL) == IS_RTP) { - flow->flow_multimedia_type = ndpi_multimedia_video_flow; + flow->flow_multimedia_types |= ndpi_multimedia_video_flow; return 1; } break; |