From 08250c89fe9f55d0f347f0bd6f9723cf9f08766b Mon Sep 17 00:00:00 2001 From: Pasquale Boemio Date: Wed, 14 Jan 2015 11:49:47 +0100 Subject: [PATCH 1/5] Fix segfault --- pipework | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pipework b/pipework index 718491b..d266a88 100755 --- a/pipework +++ b/pipework @@ -190,6 +190,9 @@ else } fi +# This avoids segfault when pipework is called twice on the same container for the same interface +[ -L /sys/class/net/${IFNAME}/upper_ph${NSPID}${CONTAINER_IFNAME} ] && echo "A bridge to ${CONTAINER_IFNAME} already exists for container ${GUESTNAME}" && echo $(ls /sys/class/net/${IFNAME}/upper_ph${NSPID}* | sed "s/\/sys\/class\/net\/${IFNAME}\/upper_ph${NSPID}//g") && echo "are already taken" && exit 1 + # Check if an incompatible VLAN device already exists [ $IFTYPE = phys ] && [ "$VLAN" ] && [ -d /sys/class/net/$IFNAME.VLAN ] && { [ -z "$(ip -d link show $IFNAME.$VLAN | grep "vlan.*id $VLAN")" ] && { From 7186a0248e4a35332605c024c85cc115c62511ca Mon Sep 17 00:00:00 2001 From: Pasquale Boemio Date: Fri, 3 Apr 2015 15:21:33 +0200 Subject: [PATCH 2/5] forcing row length to 80 chars (more on less) --- pipework | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pipework b/pipework index d266a88..75ead42 100755 --- a/pipework +++ b/pipework @@ -190,8 +190,11 @@ else } fi -# This avoids segfault when pipework is called twice on the same container for the same interface -[ -L /sys/class/net/${IFNAME}/upper_ph${NSPID}${CONTAINER_IFNAME} ] && echo "A bridge to ${CONTAINER_IFNAME} already exists for container ${GUESTNAME}" && echo $(ls /sys/class/net/${IFNAME}/upper_ph${NSPID}* | sed "s/\/sys\/class\/net\/${IFNAME}\/upper_ph${NSPID}//g") && echo "are already taken" && exit 1 +# This avoids segfault when pipework is called twice on the same container +[ -L /sys/class/net/${IFNAME}/upper_ph${NSPID}${CONTAINER_IFNAME} ] && + echo "A bridge on ${CONTAINER_IFNAME} already exists for ${GUESTNAME}" && + echo "$(ls /sys/class/net/${IFNAME}/upper_ph${NSPID}* | sed 's/\/sys\/class\/net\/${IFNAME}\/upper_ph${NSPID}//g') are already taken" && + exit 1 # Check if an incompatible VLAN device already exists [ $IFTYPE = phys ] && [ "$VLAN" ] && [ -d /sys/class/net/$IFNAME.VLAN ] && { From 1866ae136589c3f7ccc4f1e7a2fdf6dd9f29d468 Mon Sep 17 00:00:00 2001 From: Pippol Date: Fri, 3 Apr 2015 13:31:13 +0000 Subject: [PATCH 3/5] multiline --- pipework | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pipework b/pipework index 75ead42..0547801 100755 --- a/pipework +++ b/pipework @@ -193,7 +193,8 @@ fi # This avoids segfault when pipework is called twice on the same container [ -L /sys/class/net/${IFNAME}/upper_ph${NSPID}${CONTAINER_IFNAME} ] && echo "A bridge on ${CONTAINER_IFNAME} already exists for ${GUESTNAME}" && - echo "$(ls /sys/class/net/${IFNAME}/upper_ph${NSPID}* | sed 's/\/sys\/class\/net\/${IFNAME}\/upper_ph${NSPID}//g') are already taken" && + IFS=$(ls /sys/class/net/${IFNAME}/upper_ph${NSPID}* | sed "s/\/sys\/class\/net\/${IFNAME}\/upper_ph${NSPID}//g") && + echo "$IFS\nare already taken" && exit 1 # Check if an incompatible VLAN device already exists From 50140c38869983aad8bd507bb042c7dc717d0622 Mon Sep 17 00:00:00 2001 From: Pasquale Boemio Date: Mon, 11 May 2015 10:00:32 +0200 Subject: [PATCH 4/5] Changing IFS to UIFS --- pipework | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pipework b/pipework index 0547801..4930c8d 100755 --- a/pipework +++ b/pipework @@ -193,8 +193,8 @@ fi # This avoids segfault when pipework is called twice on the same container [ -L /sys/class/net/${IFNAME}/upper_ph${NSPID}${CONTAINER_IFNAME} ] && echo "A bridge on ${CONTAINER_IFNAME} already exists for ${GUESTNAME}" && - IFS=$(ls /sys/class/net/${IFNAME}/upper_ph${NSPID}* | sed "s/\/sys\/class\/net\/${IFNAME}\/upper_ph${NSPID}//g") && - echo "$IFS\nare already taken" && + UIFS=$(ls /sys/class/net/${IFNAME}/upper_ph${NSPID}* | sed "s/\/sys\/class\/net\/${IFNAME}\/upper_ph${NSPID}//g") && + echo "$UIFS\nare already taken" && exit 1 # Check if an incompatible VLAN device already exists From 372ebf6ce1eb439f8f2a91432e74314006ce313c Mon Sep 17 00:00:00 2001 From: Pasquale Boemio Date: Fri, 19 Jun 2015 10:27:39 +0200 Subject: [PATCH 5/5] checking by using the petazzo way --- pipework | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipework b/pipework index 4930c8d..ad91d60 100755 --- a/pipework +++ b/pipework @@ -191,7 +191,7 @@ else fi # This avoids segfault when pipework is called twice on the same container -[ -L /sys/class/net/${IFNAME}/upper_ph${NSPID}${CONTAINER_IFNAME} ] && +ip netns exec $NSPID [ -d /sys/class/net/$CONTAINER_IFNAME ] && echo "A bridge on ${CONTAINER_IFNAME} already exists for ${GUESTNAME}" && UIFS=$(ls /sys/class/net/${IFNAME}/upper_ph${NSPID}* | sed "s/\/sys\/class\/net\/${IFNAME}\/upper_ph${NSPID}//g") && echo "$UIFS\nare already taken" &&