mirror of
https://github.com/ntop/n2n.git
synced 2024-09-20 00:51:10 +02:00
fixed multicast decode error message (#648)
This commit is contained in:
parent
64b8136301
commit
db4b927b8e
|
@ -2114,6 +2114,7 @@ void process_udp (n2n_edge_t *eee, const struct sockaddr_in *sender_sock, const
|
||||||
size_t idx;
|
size_t idx;
|
||||||
size_t msg_type;
|
size_t msg_type;
|
||||||
uint8_t from_supernode;
|
uint8_t from_supernode;
|
||||||
|
uint8_t via_multicast;
|
||||||
peer_info_t *sn = NULL;
|
peer_info_t *sn = NULL;
|
||||||
n2n_sock_t sender;
|
n2n_sock_t sender;
|
||||||
n2n_sock_t * orig_sender = NULL;
|
n2n_sock_t * orig_sender = NULL;
|
||||||
|
@ -2137,6 +2138,8 @@ void process_udp (n2n_edge_t *eee, const struct sockaddr_in *sender_sock, const
|
||||||
* hop as sender. */
|
* hop as sender. */
|
||||||
orig_sender = &sender;
|
orig_sender = &sender;
|
||||||
|
|
||||||
|
via_multicast = (in_sock == eee->udp_multicast_sock);
|
||||||
|
|
||||||
traceEvent(TRACE_DEBUG, "### Rx N2N UDP (%d) from %s",
|
traceEvent(TRACE_DEBUG, "### Rx N2N UDP (%d) from %s",
|
||||||
(signed int)udp_size, sock_to_cstr(sockbuf1, &sender));
|
(signed int)udp_size, sock_to_cstr(sockbuf1, &sender));
|
||||||
|
|
||||||
|
@ -2157,8 +2160,13 @@ void process_udp (n2n_edge_t *eee, const struct sockaddr_in *sender_sock, const
|
||||||
rem = udp_size; /* Counts down bytes of packet to protect against buffer overruns. */
|
rem = udp_size; /* Counts down bytes of packet to protect against buffer overruns. */
|
||||||
idx = 0; /* marches through packet header as parts are decoded. */
|
idx = 0; /* marches through packet header as parts are decoded. */
|
||||||
if(decode_common(&cmn, udp_buf, &rem, &idx) < 0) {
|
if(decode_common(&cmn, udp_buf, &rem, &idx) < 0) {
|
||||||
traceEvent(TRACE_ERROR, "Failed to decode common section in N2N_UDP");
|
if(via_multicast) {
|
||||||
return; /* failed to decode packet */
|
// from some other edge on local network, possibly header encrypted
|
||||||
|
traceEvent(TRACE_DEBUG, "dropped packet arriving via multicast due to error while decoding N2N_UDP");
|
||||||
|
} else {
|
||||||
|
traceEvent(TRACE_WARNING, "failed to decode common section in N2N_UDP");
|
||||||
|
}
|
||||||
|
return; /* failed to decode packet */
|
||||||
}
|
}
|
||||||
|
|
||||||
msg_type = cmn.pc; /* packet code */
|
msg_type = cmn.pc; /* packet code */
|
||||||
|
@ -2225,11 +2233,10 @@ void process_udp (n2n_edge_t *eee, const struct sockaddr_in *sender_sock, const
|
||||||
case MSG_TYPE_REGISTER: {
|
case MSG_TYPE_REGISTER: {
|
||||||
/* Another edge is registering with us */
|
/* Another edge is registering with us */
|
||||||
n2n_REGISTER_t reg;
|
n2n_REGISTER_t reg;
|
||||||
int via_multicast;
|
|
||||||
|
|
||||||
decode_REGISTER(®, &cmn, udp_buf, &rem, &idx);
|
decode_REGISTER(®, &cmn, udp_buf, &rem, &idx);
|
||||||
|
|
||||||
via_multicast = is_null_mac(reg.dstMac);
|
via_multicast &= is_null_mac(reg.dstMac);
|
||||||
|
|
||||||
if(eee->conf.header_encryption == HEADER_ENCRYPTION_ENABLED) {
|
if(eee->conf.header_encryption == HEADER_ENCRYPTION_ENABLED) {
|
||||||
if(!find_peer_time_stamp_and_verify (eee, sn, reg.srcMac, stamp,
|
if(!find_peer_time_stamp_and_verify (eee, sn, reg.srcMac, stamp,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user