aboutgitcodebugslistschat
diff options
context:
space:
mode:
-rwxr-xr-xslirp4netns.sh7
1 files changed, 6 insertions, 1 deletions
diff --git a/slirp4netns.sh b/slirp4netns.sh
index de74281..e6a6049 100755
--- a/slirp4netns.sh
+++ b/slirp4netns.sh
@@ -17,7 +17,10 @@
PASTA_PID="$(mktemp)"
PASTA_OPTS="-q --ipv4-only -a 10.0.2.0 -n 24 -g 10.0.2.2 -m 1500 --no-ndp --no-dhcpv6 --no-dhcp -P ${PASTA_PID}"
+PASTA="$(command -v ./pasta || command -v pasta || :)"
+
USAGE_RET=1
+NOTFOUND_RET=127
# add() - Add single option to $PASTA_OPTS
# $1: Option name, with or without argument
@@ -161,6 +164,8 @@ no_map_gw=0
EFD=0
RFD=0
+[ -z "${PASTA}" ] && echo "pasta command not found" && exit ${NOTFOUND_RET}
+
while getopts ce:r:m:6a:hv-: OPT 2>/dev/null; do
if [ "${OPT}" = "-" ]; then
OPT="${OPTARG%%[= ]*}"
@@ -198,7 +203,7 @@ if [ ${v6} -eq 1 ]; then
add "-a $(gen_addr6) -g fd00::2 -D fd00::3"
fi
-./pasta ${PASTA_OPTS} ${ns_spec} 2>/dev/null && \
+${PASTA} ${PASTA_OPTS} ${ns_spec} && \
[ ${RFD} -ne 0 ] && echo "1" >&${RFD}
trap "kill $(cat ${PASTA_PID}); rm ${PASTA_PID}" INT TERM