kbara
kbara
Optimization breaks matching on these filters: `2147483648 >> 11 = 1048576 and 1
Logically, this filter is 'false or true and true', and it should match all packets. With optimization enabled, it matches no packets, although variants where 4294967295 (0xffffffff) is replaced with...
Some filters with out-of-bounds packet access behave differently depending on if optimizations are enabled or not. In a two-clause expression with an out of bounds packet access in the first...
The following are libpcap pflang expressions which pflua doesn't allow, and their pflua equivalents. The root issue is that libpcap-pflang automatically uses the previous keyword if it's elided. `port 3...
On the good side: pflua appears to have fairly good libpcap compatibility on this point. The only incompatible detail that has appeared is that pflua does not treat hexadecimal arguments...
Add the ability to dump the AST, ANF, and SSA IRs to pflua-compile, with and without optimization. Obsolete pflua-expand. Update other tools/internals to reflect convert_anf and convert_ssa requiring an optimize...
Pflang, as implemented by both pflua and libpcap, compiles pflang expressions to checks against fixed offsets, before looking at any packets. The consequence of their current implementations is that in...
Performance can vary by around a factor of two on externally-identical runs of the same tools with the same options. What are the detailed reasons, and how can this be...
Expected behavior: the behavior of tcpdump and pflua should match. The fix: change the pflua parser. Details: % tcpdump -d "len < 2 \* -5" (000) ld #pktlen (001) jge...
``` % ./env tools/pipe-lua-libpcap-match -O0 tests/data/wingolog.pcap '1 * 1 >= 1' 1 luajit: /home/me/igalia/pflua/src/pf/bpf.lua:65: attempt to compare string with number stack traceback: ~/igalia/pflua/src/pf/bpf.lua:65: in function 'runtime_u32' ~/igalia/pflua/src/pf/bpf.lua:98: in function 'is_power_of_2'...