|  |  |  | @ -395,6 +395,11 @@ func printPacket(pkt *nfqueue.NFQPacket, hostname string, pinfo *procsnitch.Info | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | func (fw *Firewall) filterPacket(pkt *nfqueue.NFQPacket) { | 
			
		
	
		
			
				
					|  |  |  |  | 	if basicAllowPacket(pkt) { | 
			
		
	
		
			
				
					|  |  |  |  | 		pkt.Accept() | 
			
		
	
		
			
				
					|  |  |  |  | 		return | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	isudp := pkt.Packet.Layer(layers.LayerTypeUDP) != nil | 
			
		
	
		
			
				
					|  |  |  |  | 	if isudp { | 
			
		
	
		
			
				
					|  |  |  |  | 		srcport, _ := getPacketUDPPorts(pkt) | 
			
		
	
	
		
			
				
					|  |  |  | @ -422,7 +427,6 @@ func (fw *Firewall) filterPacket(pkt *nfqueue.NFQPacket) { | 
			
		
	
		
			
				
					|  |  |  |  | 		return | 
			
		
	
		
			
				
					|  |  |  |  | 	} */ | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	ppath := "*" | 
			
		
	
		
			
				
					|  |  |  |  | 	strictness := procsnitch.MATCH_STRICT | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -451,11 +455,11 @@ func (fw *Firewall) filterPacket(pkt *nfqueue.NFQPacket) { | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	log.Debugf("filterPacket [%s] %s", ppath, printPacket(pkt, fw.dns.Lookup(dstip, pinfo.Pid), nil)) | 
			
		
	
		
			
				
					|  |  |  |  | 	if basicAllowPacket(pkt) { | 
			
		
	
		
			
				
					|  |  |  |  | /*	if basicAllowPacket(pkt) { | 
			
		
	
		
			
				
					|  |  |  |  | 		pkt.Accept() | 
			
		
	
		
			
				
					|  |  |  |  | //log.Notice("XXX: passed basicallowpacket")
 | 
			
		
	
		
			
				
					|  |  |  |  | 		return | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | */ | 
			
		
	
		
			
				
					|  |  |  |  | 	policy := fw.PolicyForPath(ppath) | 
			
		
	
		
			
				
					|  |  |  |  | //log.Notice("XXX: flunked basicallowpacket; policy = ", policy)
 | 
			
		
	
		
			
				
					|  |  |  |  | 	policy.processPacket(pkt, pinfo, optstring) | 
			
		
	
	
		
			
				
					|  |  |  | @ -662,7 +666,8 @@ func basicAllowPacket(pkt *nfqueue.NFQPacket) bool { | 
			
		
	
		
			
				
					|  |  |  |  | 		dstip.IsLinkLocalMulticast() || | 
			
		
	
		
			
				
					|  |  |  |  | 		(pkt.Packet.Layer(layers.LayerTypeTCP) == nil && | 
			
		
	
		
			
				
					|  |  |  |  | 		 pkt.Packet.Layer(layers.LayerTypeUDP) == nil && | 
			
		
	
		
			
				
					|  |  |  |  | 		 pkt.Packet.Layer(layers.LayerTypeICMPv4) == nil) | 
			
		
	
		
			
				
					|  |  |  |  | 		 pkt.Packet.Layer(layers.LayerTypeICMPv4) == nil && | 
			
		
	
		
			
				
					|  |  |  |  | 		 pkt.Packet.Layer(layers.LayerTypeICMPv6) == nil) | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | func getPacketIPAddrs(pkt *nfqueue.NFQPacket) (net.IP, net.IP) { | 
			
		
	
	
		
			
				
					|  |  |  | 
 |