Control for no metadata
[anna.git] / example / diameter / pcapDecoder / tsharkDecoder.sh
index b713b49..816dea7 100755 (executable)
@@ -321,6 +321,10 @@ segments=( $(echo $to_delete) )
 echo "Deleting superfluous buffers & metadata (${segments[*]}) ..."
 for s in ${segments[@]}; do rm -f $RESULTS_DIR/${s}.* ; done
 
+# Basic checking:
+ls $RESULTS_DIR/*.metadata >/dev/null 2>/dev/null
+[ $? -ne 0 ] && { echo "No metadata generated !" ; exit 1 ; }
+
 # Detecting Session-Id values:
 grep ^sessionid= $RESULTS_DIR/*.metadata 2>/dev/null | cut -d= -f2- | sort -u > $RESULTS_DIR/session-ids
 if [ -s $RESULTS_DIR/session-ids ]
@@ -354,5 +358,13 @@ then
   rm $RESULTS_DIR/.wanted $RESULTS_DIR/.all
 fi
 
+# Purge frames with invalid metadata:
+invalid=( $(grep -lw "^code=$" $RESULTS_DIR/*metadata) )
+for file in ${invalid[@]}
+do
+  frm=$(basename $file | cut -d\. -f1)
+  rm $RESULTS_DIR/${frm}.*
+done
+
 _exit "Done!" 0