- MITM -kalice/keyring.pub >mitm.out 2>mitm.err \
- peer:alice:$alicemitm:127.0.0.1:$(cat alice/port) \
- peer:bob:$bobmitm:127.0.0.1:$(cat bob/port) \
- filt:drop:5 filt:send& mitmpid=$!
- strace -omitm.trace -p$mitmpid& mitmtrace=$!
- trap 'kill $mitmpid $mitmtrace; exit 127' EXIT INT QUIT TERM HUP
+ mknod pipe-mitmpid p
+ WITH_STRACE([mitm],
+ [sh -c 'echo $$ >pipe-mitmpid; exec "$@"' - \
+ MITM -kalice/keyring.pub >mitm.out 2>mitm.err \
+ peer:alice:$alicemitm:127.0.0.1:$(cat alice/port) \
+ peer:bob:$bobmitm:127.0.0.1:$(cat bob/port) \
+ filt:drop:5 filt:send])&
+ read mitmpid <pipe-mitmpid
+ trap 'kill $mitmpid; exit 127' EXIT INT QUIT TERM HUP
+ exec 3>&-