From a1dd6b8804b45f03c81018b46bf0b7041137fc52 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Wed, 23 Feb 2011 17:29:34 -0700 Subject: [PATCH] Fix bugs, add sequence 2000 --- doc/problems.txt | 10 ------ packages/mcp/src/common.c | 2 +- packages/mcp/src/puzzler.cgi.c | 7 ++++ packages/rlyeh/rlyeh.mk | 18 ++++------ packages/sequence/{800 => 1000}/.create.py | 0 packages/sequence/{800 => 1000}/index.mdwn | 8 ++--- packages/sequence/{800 => 1000}/key | 0 packages/sequence/{800 => 1000}/summary | 0 packages/sequence/2000/index.mdwn | 7 ++++ packages/sequence/2000/key | 1 + packages/sequence/300/key | 2 +- packages/tanks/tanks.mk | 40 +++++++++------------- 12 files changed, 43 insertions(+), 52 deletions(-) rename packages/sequence/{800 => 1000}/.create.py (100%) rename packages/sequence/{800 => 1000}/index.mdwn (76%) rename packages/sequence/{800 => 1000}/key (100%) rename packages/sequence/{800 => 1000}/summary (100%) create mode 100644 packages/sequence/2000/index.mdwn create mode 100644 packages/sequence/2000/key diff --git a/doc/problems.txt b/doc/problems.txt index c5f3825..0a47be6 100644 --- a/doc/problems.txt +++ b/doc/problems.txt @@ -1,12 +1,7 @@ Bugs ==== -* We need some programs so that we never have to edit .db files - directly. I truncated tokens.db with > instead of >>. -* Get erin to edit net-re * Tanks documentation referencing wrong CSS -* Sequence 300 continues to be a pain in the ass -* ctfd wget won't overwrite * tanks/winners.awk needs +x * tanks/winner.awk printing out address instead of path? How did this ever work? @@ -26,11 +21,6 @@ Physical -Possibly fixed --------------- -* sequence 300; puzzler isn't taking the unicode character right - - Won't fix --------- * tanks/designer.cgi: s/token/team hash/ diff --git a/packages/mcp/src/common.c b/packages/mcp/src/common.c index 38d9187..dc10b20 100644 --- a/packages/mcp/src/common.c +++ b/packages/mcp/src/common.c @@ -267,7 +267,7 @@ fgrepx(char const *needle, char const *filename) break; } else if (EOF == c) { /* End of file */ break; - } else if (('\0' == p) || (*p != c)) { + } else if (('\0' == p) || (*p != (char)c)) { p = needle; /* Discard the rest of the line */ do { diff --git a/packages/mcp/src/puzzler.cgi.c b/packages/mcp/src/puzzler.cgi.c index 2fdbe36..fe7ff0e 100644 --- a/packages/mcp/src/puzzler.cgi.c +++ b/packages/mcp/src/puzzler.cgi.c @@ -1,3 +1,4 @@ +#include #include #include #include "common.h" @@ -60,6 +61,12 @@ main(int argc, char *argv[]) char needle[400]; my_snprintf(needle, sizeof(needle), "%ld %s", points, answer); + { + FILE *f = fopen("/tmp/form", "w"); + fprintf(f, "%s\n%s\n", answer, needle); + fclose(f); + } + if (! fgrepx(needle, package_path("%s/answers.txt", category))) { cgi_page("Wrong answer", ""); diff --git a/packages/rlyeh/rlyeh.mk b/packages/rlyeh/rlyeh.mk index 05ac8ba..687a43f 100644 --- a/packages/rlyeh/rlyeh.mk +++ b/packages/rlyeh/rlyeh.mk @@ -1,23 +1,17 @@ RLYEH_PKGDIR = $(TARGET)/rlyeh RLYEH_BUILDDIR = $(BUILD)/rlyeh -RLYEH_TAR = $(CACHE)/rlyeh.tar.gz -RLYEH_URL = "http://woozle.org/~neale/gitweb.cgi?p=rlyeh;a=snapshot;h=master;sf=tgz" +RLYEH_URL = "http://woozle.org/~neale/projects/rlyeh" -$(RLYEH_TAR): - @ mkdir -p $(@D) - wget -O $@ $(RLYEH_URL) - -rlyeh-source: $(RLYEH_BUILDDIR)/rlyeh -$(RLYEH_BUILDDIR)/rlyeh: $(RLYEH_TAR) - mkdir -p $(RLYEH_BUILDDIR) - zcat $(RLYEH_TAR) | (cd $(RLYEH_BUILDDIR) && tar xf -) +rlyeh-source: $(RLYEH_BUILDDIR) +$(RLYEH_BUILDDIR): + git clone $(RLYEH_URL) $@ rlyeh-build: rlyeh-source - $(MAKE) -C $(RLYEH_BUILDDIR)/rlyeh + $(MAKE) -C $(RLYEH_BUILDDIR) rlyeh-install: rlyeh-build mkdir -p $(RLYEH_PKGDIR)/bin - cp $(RLYEH_BUILDDIR)/rlyeh/rlyeh $(RLYEH_PKGDIR)/bin + cp $(RLYEH_BUILDDIR)/rlyeh $(RLYEH_PKGDIR)/bin $(call COPYTREE, packages/rlyeh/service, $(RLYEH_PKGDIR)/service) $(call COPYTREE, packages/rlyeh/tokens, $(RLYEH_PKGDIR)/tokens) diff --git a/packages/sequence/800/.create.py b/packages/sequence/1000/.create.py similarity index 100% rename from packages/sequence/800/.create.py rename to packages/sequence/1000/.create.py diff --git a/packages/sequence/800/index.mdwn b/packages/sequence/1000/index.mdwn similarity index 76% rename from packages/sequence/800/index.mdwn rename to packages/sequence/1000/index.mdwn index 388e42c..7aed996 100644 --- a/packages/sequence/800/index.mdwn +++ b/packages/sequence/1000/index.mdwn @@ -1,3 +1,6 @@ +No more blanks! From now on you must use techniques from previous +puzzles to resequence the answer. + 00000000 00 5e 03 6f 72 73 00 57 04 72 6f 63 61 00 56 05 |.^.ors.W.roca.V.| 00000010 72 65 63 69 70 00 5d 05 63 61 76 61 74 00 5b 01 |recip.].cavat.[.| 00000020 73 00 5c 05 69 74 20 65 78 00 59 05 69 6f 6e 20 |s.\.it ex.Y.ion | @@ -5,8 +8,3 @@ 00000040 00 53 05 74 6f 64 64 6c 00 55 01 20 |.S.toddl.U. | 0000004c - - ________________________________________ - ^ ^ - 83 94 - diff --git a/packages/sequence/800/key b/packages/sequence/1000/key similarity index 100% rename from packages/sequence/800/key rename to packages/sequence/1000/key diff --git a/packages/sequence/800/summary b/packages/sequence/1000/summary similarity index 100% rename from packages/sequence/800/summary rename to packages/sequence/1000/summary diff --git a/packages/sequence/2000/index.mdwn b/packages/sequence/2000/index.mdwn new file mode 100644 index 0000000..96c3428 --- /dev/null +++ b/packages/sequence/2000/index.mdwn @@ -0,0 +1,7 @@ + 00000000 ff 41 42 43 44 45 46 47 48 ff 49 4a 4b 4c 4d 4e |.ABCDEFGH.IJKLMN| + 00000010 4f 50 ff 51 52 53 54 55 56 57 58 ff 59 5a 0a 54 |OP.QRSTUVWX.YZ.T| + 00000020 68 65 20 72 6f 61 69 6e 20 11 00 53 70 10 01 7f |he roain ..Sp...| + 00000030 73 74 61 79 73 20 6d 10 00 6b 6c 79 13 01 74 0c |stays m..kly..t.| + 00000040 00 70 6c 10 00 df 2c 20 61 6e 64 2c 02 61 6e ff |.pl..., and,.an.| + 00000050 73 77 65 72 20 69 73 20 cd 22 31 00 6e 65 21 03 |swer is ."1.ne!.| + 00000060 1d 01 22 2e 01 0a |.."...| diff --git a/packages/sequence/2000/key b/packages/sequence/2000/key new file mode 100644 index 0000000..2248ed2 --- /dev/null +++ b/packages/sequence/2000/key @@ -0,0 +1 @@ +planes mainstay diff --git a/packages/sequence/300/key b/packages/sequence/300/key index 89a49a6..08cc8fa 100644 --- a/packages/sequence/300/key +++ b/packages/sequence/300/key @@ -1,2 +1,2 @@ ┤ -┤ + diff --git a/packages/tanks/tanks.mk b/packages/tanks/tanks.mk index 8156c68..587513d 100644 --- a/packages/tanks/tanks.mk +++ b/packages/tanks/tanks.mk @@ -1,42 +1,36 @@ TANKS_PKGDIR = $(TARGET)/tanks TANKS_BUILDDIR = $(BUILD)/tanks -TANKS_TAR = $(CACHE)/tanks.tar.gz -TANKS_URL = "http://woozle.org/~neale/gitweb.cgi?p=ctanks;a=snapshot;h=master;sf=tgz" +TANKS_URL = "http://woozle.org/~neale/projects/ctanks" -$(TANKS_TAR): - @ mkdir -p $(@D) - wget -O $@ $(TANKS_URL) - -tanks-source: $(TANKS_BUILDDIR)/ctanks -$(TANKS_BUILDDIR)/ctanks: $(TANKS_TAR) - mkdir -p $(TANKS_BUILDDIR) - zcat $(TANKS_TAR) | (cd $(TANKS_BUILDDIR) && tar xf -) +tanks-source: $(TANKS_BUILDDIR) +$(TANKS_BUILDDIR): + git clone $(TANKS_URL) $@ tanks-build: tanks-source - $(MAKE) -C $(TANKS_BUILDDIR)/ctanks + $(MAKE) -C $(TANKS_BUILDDIR) # "html" instead of "www" to prevent automatic links tanks-install: tanks-build mkdir -p $(TANKS_PKGDIR)/bin - cp $(TANKS_BUILDDIR)/ctanks/forftanks $(TANKS_PKGDIR)/bin - cp $(TANKS_BUILDDIR)/ctanks/designer.cgi $(TANKS_PKGDIR)/bin - cp $(TANKS_BUILDDIR)/ctanks/rank.awk $(TANKS_PKGDIR)/bin - cp $(TANKS_BUILDDIR)/ctanks/winners.awk $(TANKS_PKGDIR)/bin + cp $(TANKS_BUILDDIR)/forftanks $(TANKS_PKGDIR)/bin + cp $(TANKS_BUILDDIR)/designer.cgi $(TANKS_PKGDIR)/bin + cp $(TANKS_BUILDDIR)/rank.awk $(TANKS_PKGDIR)/bin + cp $(TANKS_BUILDDIR)/winner.awk $(TANKS_PKGDIR)/bin $(call COPYTREE, packages/tanks/html, $(TANKS_PKGDIR)/html) cp packages/mcp/www/ctf.css $(TANKS_PKGDIR)/html/style.css cp packages/mcp/www/grunge.png $(TANKS_PKGDIR)/html - cp $(TANKS_BUILDDIR)/ctanks/nav.html.inc $(TANKS_PKGDIR)/html - cp $(TANKS_BUILDDIR)/ctanks/tanks.js $(TANKS_PKGDIR)/html - cp $(TANKS_BUILDDIR)/ctanks/forf.html $(TANKS_PKGDIR)/html - cp $(TANKS_BUILDDIR)/ctanks/intro.html $(TANKS_PKGDIR)/html - cp $(TANKS_BUILDDIR)/ctanks/figures.js $(TANKS_PKGDIR)/html - cp $(TANKS_BUILDDIR)/ctanks/procs.html $(TANKS_PKGDIR)/html - cp $(TANKS_BUILDDIR)/ctanks/designer.js $(TANKS_PKGDIR)/html + cp $(TANKS_BUILDDIR)/nav.html.inc $(TANKS_PKGDIR)/html + cp $(TANKS_BUILDDIR)/tanks.js $(TANKS_PKGDIR)/html + cp $(TANKS_BUILDDIR)/forf.html $(TANKS_PKGDIR)/html + cp $(TANKS_BUILDDIR)/intro.html $(TANKS_PKGDIR)/html + cp $(TANKS_BUILDDIR)/figures.js $(TANKS_PKGDIR)/html + cp $(TANKS_BUILDDIR)/procs.html $(TANKS_PKGDIR)/html + cp $(TANKS_BUILDDIR)/designer.js $(TANKS_PKGDIR)/html $(call COPYTREE, packages/tanks/service, $(TANKS_PKGDIR)/service) - $(call COPYTREE, $(TANKS_BUILDDIR)/ctanks/examples, $(TANKS_PKGDIR)/examples) + $(call COPYTREE, $(TANKS_BUILDDIR)/examples, $(TANKS_PKGDIR)/examples) tanks-clean: rm -rf $(TANKS_BUILDDIR)