diff options
| author | Louis Burda <quent.burda@gmail.com> | 2021-05-19 13:48:31 +0200 |
|---|---|---|
| committer | Louis Burda <quent.burda@gmail.com> | 2021-05-19 13:48:31 +0200 |
| commit | 16b3dff93e5d1096174749e1b809728f585d95fb (patch) | |
| tree | bf0882e08c1834774ff1297f81752305ac7aaec3 /service | |
| parent | 64e9b2ad130c0cf28797c3530683fc1cc6b0e9d3 (diff) | |
| download | enowars5-service-stldoctor-16b3dff93e5d1096174749e1b809728f585d95fb.tar.gz enowars5-service-stldoctor-16b3dff93e5d1096174749e1b809728f585d95fb.zip | |
refactored service structure and added do.sh for automation
Diffstat (limited to 'service')
| -rw-r--r-- | service/.dockerignore | 1 | ||||
| -rw-r--r-- | service/.gitignore | 1 | ||||
| -rw-r--r-- | service/container/.gitignore | 1 | ||||
| -rw-r--r-- | service/container/Dockerfile (renamed from service/Dockerfile) | 0 | ||||
| -rw-r--r-- | service/container/cleaner.sh (renamed from service/cleaner.sh) | 0 | ||||
| -rw-r--r-- | service/container/data/lastclean | 0 | ||||
| -rw-r--r-- | service/container/docker-compose.yml (renamed from service/docker-compose.yml) | 0 | ||||
| -rwxr-xr-x | service/container/entrypoint.sh (renamed from service/entrypoint.sh) | 0 | ||||
| -rw-r--r-- | service/do.sh | 46 | ||||
| -rw-r--r-- | service/patches/flagstore1.diff | 15 | ||||
| -rw-r--r-- | service/src/util.c | 3 | ||||
| -rw-r--r-- | service/tests/data/evil1.stl (renamed from service/src/tests/evil1.stl) | 0 | ||||
| -rw-r--r-- | service/tests/data/flag1.stl (renamed from service/src/tests/flag1.stl) | 0 | ||||
| -rw-r--r-- | service/tests/data/sample-ascii.stl (renamed from service/src/tests/sample-ascii.stl) | 0 | ||||
| -rw-r--r-- | service/tests/data/sample-binary.stl (renamed from service/src/tests/sample-binary.stl) | bin | 134 -> 134 bytes | |||
| -rw-r--r-- | service/tests/test.sh (renamed from service/src/test.sh) | 0 |
16 files changed, 65 insertions, 2 deletions
diff --git a/service/.dockerignore b/service/.dockerignore new file mode 100644 index 0000000..4baccb8 --- /dev/null +++ b/service/.dockerignore @@ -0,0 +1 @@ +patches diff --git a/service/.gitignore b/service/.gitignore index 2421b49..648ea81 100644 --- a/service/.gitignore +++ b/service/.gitignore @@ -1,2 +1,3 @@ data/* !data/.keep +.cleansrc diff --git a/service/container/.gitignore b/service/container/.gitignore new file mode 100644 index 0000000..8eba6c8 --- /dev/null +++ b/service/container/.gitignore @@ -0,0 +1 @@ +src/ diff --git a/service/Dockerfile b/service/container/Dockerfile index e987831..e987831 100644 --- a/service/Dockerfile +++ b/service/container/Dockerfile diff --git a/service/cleaner.sh b/service/container/cleaner.sh index 2882608..2882608 100644 --- a/service/cleaner.sh +++ b/service/container/cleaner.sh diff --git a/service/container/data/lastclean b/service/container/data/lastclean new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/service/container/data/lastclean diff --git a/service/docker-compose.yml b/service/container/docker-compose.yml index 56ecc9f..56ecc9f 100644 --- a/service/docker-compose.yml +++ b/service/container/docker-compose.yml diff --git a/service/entrypoint.sh b/service/container/entrypoint.sh index 956c747..956c747 100755 --- a/service/entrypoint.sh +++ b/service/container/entrypoint.sh diff --git a/service/do.sh b/service/do.sh new file mode 100644 index 0000000..2dfd82c --- /dev/null +++ b/service/do.sh @@ -0,0 +1,46 @@ +#!/bin/sh + +SCRIPTPATH="$(dirname $(readlink -f "$0"))" +cd "$SCRIPTPATH" + +makefile=" +all: .cleansrc + +.cleansrc: src/* + bash do.sh cleansrc src container/src + touch .cleansrc +" + +shopt -s expand_aliases +alias pushd="pushd &>/dev/null" +alias popd="popd &>/dev/null" + +if [ "$1" == "compose" ]; then + # ensure container files are up to date + make --file <(echo "$makefile") + + # forward commands to compose + pushd container + docker-compose ${@:2} + popd +elif [ "$1" == "cleansrc" ]; then + # copy files + src="$2" + dst="$3" + [ -e "$dst" ] && rm -rf "$dst" + cp -r "$src" "$dst" + + # strip comments + find "$dst" | while read path; do + if [ -f "$path" ]; then + sed -i -e 's/^\s*\/\*.*\*\/\s*$//g' "$path" # remove /* */ style comments + sed -i -e 's/\s*\/\*.*\*\/\s*/ /g' "$path" # remove /* */ style comments + sed -i -e 's/\/\/.*//g' "$path" # remove // style comments + sed -i -e ':a;N;$!ba;s/\n{2,}/\n/g' "$path" # collapse multiple newlines + fi + done +else + echo "USAGE: do.sh (compose) [args..]" + echo "EXAMPLES:" + echo " do.sh compose up --build # starts the docker container" +fi diff --git a/service/patches/flagstore1.diff b/service/patches/flagstore1.diff new file mode 100644 index 0000000..c307b3e --- /dev/null +++ b/service/patches/flagstore1.diff @@ -0,0 +1,15 @@ +diff --git a/service/src/util.c b/service/src/util.c +--- 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)); 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)); diff --git a/service/src/tests/evil1.stl b/service/tests/data/evil1.stl index 706e9e2..706e9e2 100644 --- a/service/src/tests/evil1.stl +++ b/service/tests/data/evil1.stl diff --git a/service/src/tests/flag1.stl b/service/tests/data/flag1.stl index f2a3854..f2a3854 100644 --- a/service/src/tests/flag1.stl +++ b/service/tests/data/flag1.stl diff --git a/service/src/tests/sample-ascii.stl b/service/tests/data/sample-ascii.stl index e3c89ef..e3c89ef 100644 --- a/service/src/tests/sample-ascii.stl +++ b/service/tests/data/sample-ascii.stl diff --git a/service/src/tests/sample-binary.stl b/service/tests/data/sample-binary.stl Binary files differindex 13c02e4..13c02e4 100644 --- a/service/src/tests/sample-binary.stl +++ b/service/tests/data/sample-binary.stl diff --git a/service/src/test.sh b/service/tests/test.sh index 69e3ea1..69e3ea1 100644 --- a/service/src/test.sh +++ b/service/tests/test.sh |
