diff --git a/packages/fizzbuzz/fizzbuzz-client.sh b/packages/fizzbuzz/fizzbuzz-client.sh new file mode 100755 index 0000000..d6caa5e --- /dev/null +++ b/packages/fizzbuzz/fizzbuzz-client.sh @@ -0,0 +1,13 @@ +#! /bin/sh + +for i in $(seq 100); do + if [ $(expr $i % 15) = 0 ]; then + echo 'FizzBuzz' + elif [ $(expr $i % 3) = 0 ]; then + echo 'Fizz' + elif [ $(expr $i % 5) = 0 ]; then + echo 'Buzz' + else + echo $i + fi +done diff --git a/packages/fizzbuzz/fizzbuzz.mk b/packages/fizzbuzz/fizzbuzz.mk new file mode 100644 index 0000000..10dcac7 --- /dev/null +++ b/packages/fizzbuzz/fizzbuzz.mk @@ -0,0 +1,29 @@ +FIZZBUZZ_PKGDIR = $(TARGET)/fizzbuzz +FIZZBUZZ_BUILDDIR = $(BUILD)/fizzbuzz + +$(FIZZBUZZ_BUILDDIR)/token.enc: packages/fizzbuzz/tokens.txt +$(FIZZBUZZ_BUILDDIR)/token.enc: packages/fizzbuzz/fizzbuzz-client.sh +$(FIZZBUZZ_BUILDDIR)/token.enc: $(FIZZBUZZ_BUILDDIR)/fizzbuzz-native + packages/fizzbuzz/fizzbuzz-client.sh | $(FIZZBUZZ_BUILDDIR)/fizzbuzz-native 3< packages/fizzbuzz/tokens.txt > $@ + +$(FIZZBUZZ_BUILDDIR)/fizzbuzz-native: packages/fizzbuzz/src/fizzbuzz.c + @ mkdir -p $(@D) + cc -o $@ $< + +fizzbuzz-install: fizzbuzz-build + mkdir -p $(FIZZBUZZ_PKGDIR)/bin/ + + $(call COPYTREE, packages/fizzbuzz/service, $(FIZZBUZZ_PKGDIR)/service) + + cp packages/fizzbuzz/tokens.txt $(FIZZBUZZ_PKGDIR)/ + cp $(FIZZBUZZ_BUILDDIR)/token.enc $(FIZZBUZZ_PKGDIR)/ + cp packages/fizzbuzz/src/fizzbuzz $(FIZZBUZZ_PKGDIR)/bin/ + +fizzbuzz-clean: + rm -rf $(FIZZBUZZ_PKGDIR) $(FIZZBUZZ_BUILDDIR) + $(MAKE) -C packages/fizzbuzz/src clean + +fizzbuzz-build: $(FIZZBUZZ_BUILDDIR)/token.enc + $(MAKE) -C packages/fizzbuzz/src build + +PACKAGES += fizzbuzz diff --git a/packages/fizzbuzz/src/Makefile b/packages/fizzbuzz/src/Makefile new file mode 100644 index 0000000..cd3f866 --- /dev/null +++ b/packages/fizzbuzz/src/Makefile @@ -0,0 +1,11 @@ +CFLAGS = -Wall -Werror +TARGETS = fizzbuzz + +all: build +build: $(TARGETS) + +install: $(TARGETS) + install -m 0755 $(TARGETS) $(DESTDIR)/bin + +clean: + rm -f *.o $(TARGETS) diff --git a/packages/fizzbuzz/src/fizzbuzz.c b/packages/fizzbuzz/src/fizzbuzz.c index 41acb43..2b495e7 100644 --- a/packages/fizzbuzz/src/fizzbuzz.c +++ b/packages/fizzbuzz/src/fizzbuzz.c @@ -1,5 +1,6 @@ #include #include +#include /* * How this works: @@ -25,7 +26,7 @@ * echo $i * fi * done - * + * */ char craptable[] = { @@ -50,11 +51,11 @@ main(int argc, char *argv[]) printf("Somebody didn't read the instructions.\n"); return 1; } - + tokenlen = fread(token, 1, sizeof(token), tokenin); fclose(tokenin); } - + for (i=1; i <= 100; i += 1) { char l[100]; diff --git a/packages/fizzbuzz/tokens.txt b/packages/fizzbuzz/tokens.txt new file mode 100644 index 0000000..c55bea1 --- /dev/null +++ b/packages/fizzbuzz/tokens.txt @@ -0,0 +1 @@ +net:xuhen-fizuv-syvex diff --git a/packages/mcp/service/pointsd/run b/packages/mcp/service/pointsd/run index 104d477..d4f92f4 100755 --- a/packages/mcp/service/pointsd/run +++ b/packages/mcp/service/pointsd/run @@ -4,10 +4,11 @@ exec 2>&1 install -d /var/lib/ctf -# Create CTF user +# Create CTF and nobody users touch /etc/group /etc/passwd -addgroup -g 56634 nogroup || true +addgroup -g 65534 nogroup || true adduser -D -S -h /var/lib/ctf -H ctf || true +adduser -D -g nogroup -u 65534 -h /tmp -H nobody || true # Set up base directories NEWDIR=/var/lib/ctf/points.new diff --git a/packages/multicaster/src/Makefile b/packages/multicaster/src/Makefile index 219a13b..c5faabb 100644 --- a/packages/multicaster/src/Makefile +++ b/packages/multicaster/src/Makefile @@ -8,4 +8,4 @@ install: $(TARGETS) install -m 0755 $(TARGETS) $(DESTDIR)/bin clean: - rm -f *.o $(TARGETS) \ No newline at end of file + rm -f *.o $(TARGETS)