<p>Max <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/13253">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Harald Welte: Looks good to me, approved
  osmith: Looks good to me, but someone else must approve
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Use dumpcap for ttcn3-tcpdump-*.sh if available<br><br>Check if dumpcap is installed (either as suid or with appropriate<br>capabilities) and use it for packet capture instead of<br>'sudo tcpdump' if available. This makes it easier to use TTCN-3<br>testsuite as regular user without altering sudoers.<br><br>Change-Id: I77df04d51a469c924cf727f0596cc33565909746<br>---<br>M ttcn3-tcpdump-start.sh<br>M ttcn3-tcpdump-stop.sh<br>2 files changed, 18 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/ttcn3-tcpdump-start.sh b/ttcn3-tcpdump-start.sh</span><br><span>index b8ad01a..9bf3c0a 100755</span><br><span>--- a/ttcn3-tcpdump-start.sh</span><br><span>+++ b/ttcn3-tcpdump-start.sh</span><br><span>@@ -2,6 +2,7 @@</span><br><span> </span><br><span> PIDFILE=/tmp/dumper.pid</span><br><span> TCPDUMP=/usr/sbin/tcpdump</span><br><span style="color: hsl(120, 100%, 40%);">+DUMPCAP=/usr/bin/dumpcap</span><br><span> TESTCASE=$1</span><br><span> </span><br><span> echo "------ $TESTCASE ------"</span><br><span>@@ -23,6 +24,21 @@</span><br><span> # "laforge ALL=NOPASSWD: /usr/sbin/tcpdump, /bin/kill" in your sudoers file</span><br><span>      CMD="sudo $TCPDUMP -U"</span><br><span> fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+if [ -x $DUMPCAP ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+    CAP_ERR="1"</span><br><span style="color: hsl(120, 100%, 40%);">+    if [ -x /sbin/setcap ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+       # N. B: this check requires libcap2-bin package</span><br><span style="color: hsl(120, 100%, 40%);">+       setcap -q -v 'cap_net_admin,cap_net_raw=pie' $DUMPCAP</span><br><span style="color: hsl(120, 100%, 40%);">+ CAP_ERR="$?"</span><br><span style="color: hsl(120, 100%, 40%);">+    fi</span><br><span style="color: hsl(120, 100%, 40%);">+    if [ -u $DUMPCAP -o "$CAP_ERR" = "0" ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+  CMD="$DUMPCAP -q"</span><br><span style="color: hsl(120, 100%, 40%);">+    else</span><br><span style="color: hsl(120, 100%, 40%);">+         echo "NOTE: unable to use dumpcap due to missing capabilities or suid bit"</span><br><span style="color: hsl(120, 100%, 40%);">+    fi</span><br><span style="color: hsl(120, 100%, 40%);">+fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> $CMD -s 1500 -n -i any -w "$TTCN3_PCAP_PATH/$TESTCASE.pcap" >$TTCN3_PCAP_PATH/$TESTCASE.pcap.stdout 2>&1 &</span><br><span> PID=$!</span><br><span> echo $PID > $PIDFILE</span><br><span>diff --git a/ttcn3-tcpdump-stop.sh b/ttcn3-tcpdump-stop.sh</span><br><span>index f53cf5d..c1ab9d0 100755</span><br><span>--- a/ttcn3-tcpdump-stop.sh</span><br><span>+++ b/ttcn3-tcpdump-stop.sh</span><br><span>@@ -32,7 +32,8 @@</span><br><span> done</span><br><span> </span><br><span> if [ -e $PIDFILE ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-      if [ "$(id -u)" = "0" ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+        DUMPER="$(ps -q "$(cat "$PIDFILE")" -o comm=)"</span><br><span style="color: hsl(120, 100%, 40%);">+       if [ "$DUMPER" != "sudo" ]; then</span><br><span>                 kill "$(cat "$PIDFILE")"</span><br><span>         else</span><br><span>         # NOTE: This requires you to be root or something like</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13253">change 13253</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/13253"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I77df04d51a469c924cf727f0596cc33565909746 </div>
<div style="display:none"> Gerrit-Change-Number: 13253 </div>
<div style="display:none"> Gerrit-PatchSet: 6 </div>
<div style="display:none"> Gerrit-Owner: Max <msuraev@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Daniel Willmann <dwillmann@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder (1000002) </div>
<div style="display:none"> Gerrit-Reviewer: Max <msuraev@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: tnt <tnt@246tNt.com> </div>