Disabled filtering code

This commit is contained in:
Luca Deri 2020-11-10 23:47:55 +01:00
parent 0a0888f1f2
commit f0be328261
3 changed files with 12 additions and 3 deletions

View File

@ -400,6 +400,7 @@ typedef struct filter_rule
// for impl, see: network_traffic_filter.c
uint8_t process_traffic_filter_rule_str(const char* rule_str, filter_rule_t* rule_struct);
#ifdef FILTER_TRAFFIC
/*
* network traffic filter interface
*/
@ -417,6 +418,7 @@ typedef struct network_traffic_filter
n2n_verdict (*filter_packet_from_tap)(struct network_traffic_filter* filter, n2n_edge_t *eee, uint8_t *payload, uint16_t payload_size);
} network_traffic_filter_t;
#endif
/* *************************************************** */
@ -516,7 +518,9 @@ struct n2n_edge {
n2n_tuntap_priv_config_t tuntap_priv_conf; /**< Tuntap config */
#ifdef FILTER_TRAFFIC
network_traffic_filter_t *network_traffic_filter;
#endif
};

View File

@ -25,6 +25,7 @@
#include "n2n.h"
#ifdef FILTER_TRAFFIC
/*
* add feature to drop or accept specific packet transmit over edge network interface by rules.
*
@ -40,6 +41,6 @@ network_traffic_filter_t* create_network_traffic_filter();
void destroy_network_traffic_filter(network_traffic_filter_t* filter);
void network_traffic_filter_add_rule(network_traffic_filter_t* filter, filter_rule_t* rules);
#endif
#endif //N2N_NETWORK_TRAFFIC_FILTER_H

View File

@ -1180,12 +1180,14 @@ static int handle_PACKET(n2n_edge_t * eee,
}
}
if( eee->network_traffic_filter->filter_packet_from_peer( eee->network_traffic_filter, eee, orig_sender,
#ifdef FILTER_TRAFFIC
if(eee->network_traffic_filter->filter_packet_from_peer( eee->network_traffic_filter, eee, orig_sender,
eth_payload, eth_size ) == N2N_DROP){
traceEvent(TRACE_DEBUG, "Filtered packet %u", (unsigned int)eth_size);
return(0);
}
#endif
if(eee->cb.packet_from_peer) {
uint16_t tmp_eth_size = eth_size;
if(eee->cb.packet_from_peer(eee, orig_sender, eth_payload, &tmp_eth_size) == N2N_DROP) {
@ -1736,6 +1738,7 @@ void edge_read_from_tap(n2n_edge_t * eee) {
}
else
{
#ifdef FILTER_TRAFFIC
if(eee->network_traffic_filter) {
if( eee->network_traffic_filter->filter_packet_from_tap( eee->network_traffic_filter, eee, eth_pkt,
len) == N2N_DROP){
@ -1743,6 +1746,7 @@ void edge_read_from_tap(n2n_edge_t * eee) {
return;
}
}
#endif
if(eee->cb.packet_from_tap) {
uint16_t tmp_len = len;