From 38886dbdafe1b1d2529ccf1e17625a9c91387651 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Sat, 9 Jun 2012 15:50:45 -0600 Subject: [PATCH] s/sbin/bin/ for fire-ip --- packages/00admin/{sbin => bin}/fire-ip | 0 packages/00common/eris.mk | 22 ++++++++++++++++++ packages/cowbull/service/cowbull/finish | 2 +- packages/cowbull/service/cowbull/run | 2 +- packages/fizzbuzz/service/fizzbuzz/finish | 2 +- packages/fizzbuzz/service/fizzbuzz/run | 2 +- packages/inferno/inferno.mk | 18 ++++---------- packages/ircd/service/ircd/finish | 2 +- packages/ircd/service/ircd/run | 2 +- packages/mcp/mcp.mk | 21 +++-------------- packages/mcp/service/httpd/finish | 2 +- packages/mcp/service/httpd/run | 2 +- .../multicaster/service/multicaster/finish | 2 +- packages/multicaster/service/multicaster/run | 2 +- packages/octopus/service/octopus-redirect/run | 2 +- packages/octopus/service/octopus/finish | 2 +- packages/octopus/service/octopus/run | 2 +- packages/p2/src/Makefile | 5 +++- packages/p2/www/p2inv.png | Bin 0 -> 40104 bytes packages/packages.mk | 14 ----------- packages/playfair/service/playfair/finish | 2 +- packages/playfair/service/playfair/run | 2 +- packages/printf/service/printf/finish | 2 +- packages/printf/service/printf/run | 2 +- packages/revwords/service/revwords/finish | 2 +- packages/revwords/service/revwords/run | 2 +- packages/rlyeh/service/rlyeh/finish | 2 +- packages/rlyeh/service/rlyeh/run | 2 +- 28 files changed, 54 insertions(+), 68 deletions(-) rename packages/00admin/{sbin => bin}/fire-ip (100%) create mode 100644 packages/00common/eris.mk create mode 100644 packages/p2/www/p2inv.png diff --git a/packages/00admin/sbin/fire-ip b/packages/00admin/bin/fire-ip similarity index 100% rename from packages/00admin/sbin/fire-ip rename to packages/00admin/bin/fire-ip diff --git a/packages/00common/eris.mk b/packages/00common/eris.mk new file mode 100644 index 0000000..68bf399 --- /dev/null +++ b/packages/00common/eris.mk @@ -0,0 +1,22 @@ +## +## This is a non-package, for building eris httpd, which +## several packages use. Just depend on $(ERIS_BIN), and +## copy it wherever you want in your install rule. +## + +ERIS_CACHE = $(CACHE)/eris.git +ERIS_BUILDDIR = $(BUILD)/eris +ERIS_URL = http://woozle.org/~neale/projects/eris + +ERIS_BIN := $(ERIS_BUILDDIR)/eris + +$(ERIS_CACHE): + git clone --bare $(ERIS_URL) $@ + +$(ERIS_BUILDDIR): $(ERIS_CACHE) + git clone $< $@ + +eris: $(ERIS_BIN) +$(ERIS_BIN): $(ERIS_BUILDDIR) + make -C $< + \ No newline at end of file diff --git a/packages/cowbull/service/cowbull/finish b/packages/cowbull/service/cowbull/finish index c788d94..24417e3 100755 --- a/packages/cowbull/service/cowbull/finish +++ b/packages/cowbull/service/cowbull/finish @@ -1,3 +1,3 @@ #! /bin/sh -/opt/00admin/sbin/fire-ip del +/opt/00admin/bin/fire-ip del diff --git a/packages/cowbull/service/cowbull/run b/packages/cowbull/service/cowbull/run index d122902..27e24df 100755 --- a/packages/cowbull/service/cowbull/run +++ b/packages/cowbull/service/cowbull/run @@ -2,6 +2,6 @@ exec 2>&1 -IP=$(/opt/00admin/sbin/fire-ip add) +IP=$(/opt/00admin/bin/fire-ip add) exec setuidgid nobody /opt/cowbull/bin/cowd < /opt/cowbull/tokens.txt diff --git a/packages/fizzbuzz/service/fizzbuzz/finish b/packages/fizzbuzz/service/fizzbuzz/finish index c788d94..24417e3 100755 --- a/packages/fizzbuzz/service/fizzbuzz/finish +++ b/packages/fizzbuzz/service/fizzbuzz/finish @@ -1,3 +1,3 @@ #! /bin/sh -/opt/00admin/sbin/fire-ip del +/opt/00admin/bin/fire-ip del diff --git a/packages/fizzbuzz/service/fizzbuzz/run b/packages/fizzbuzz/service/fizzbuzz/run index b79ffae..9d3e25f 100755 --- a/packages/fizzbuzz/service/fizzbuzz/run +++ b/packages/fizzbuzz/service/fizzbuzz/run @@ -2,6 +2,6 @@ exec 2>&1 -IP=$(/opt/00admin/sbin/fire-ip add) +IP=$(/opt/00admin/bin/fire-ip add) exec tcpsvd -u nobody ${IP%/*} 1013 ./go diff --git a/packages/inferno/inferno.mk b/packages/inferno/inferno.mk index 49b9118..e32a3dd 100644 --- a/packages/inferno/inferno.mk +++ b/packages/inferno/inferno.mk @@ -1,24 +1,14 @@ INFERNO_PKGDIR = $(TARGET)/inferno INFERNO_BUILDDIR = $(BUILD)/inferno -INFERNO_ERIS_CACHE = $(CACHE)/eris.git -INFERNO_ERIS_URL = http://woozle.org/~neale/projects/eris +inferno-source: -$(INFERNO_ERIS_CACHE): - git clone --bare $(INFERNO_ERIS_URL) $@ +inferno-build: -inferno-source: $(INFERNO_BUILDDIR) -$(INFERNO_BUILDDIR): $(INFERNO_ERIS_CACHE) - git clone $< $@ - -inferno-build: $(INFERNO_BUILDDIR)/build -$(INFERNO_BUILDDIR)/build: $(INFERNO_BUILDDIR) - $(MAKE) -C $(INFERNO_BUILDDIR) - -inferno-install: $(INFERNO_BUILDDIR)/build +inferno-install: eris mkdir -p $(INFERNO_PKGDIR)/bin - cp $(INFERNO_BUILDDIR)/eris $(INFERNO_PKGDIR)/bin/ + cp $(ERIS_BIN) $(INFERNO_PKGDIR)/bin/ $(call COPYTREE, packages/inferno/service, $(INFERNO_PKGDIR)/service) diff --git a/packages/ircd/service/ircd/finish b/packages/ircd/service/ircd/finish index c788d94..24417e3 100755 --- a/packages/ircd/service/ircd/finish +++ b/packages/ircd/service/ircd/finish @@ -1,3 +1,3 @@ #! /bin/sh -/opt/00admin/sbin/fire-ip del +/opt/00admin/bin/fire-ip del diff --git a/packages/ircd/service/ircd/run b/packages/ircd/service/ircd/run index ac6dcd7..f7ec982 100755 --- a/packages/ircd/service/ircd/run +++ b/packages/ircd/service/ircd/run @@ -2,7 +2,7 @@ exec 2>&1 -IP=$(/opt/00admin/sbin/fire-ip add) +IP=$(/opt/00admin/bin/fire-ip add) adduser -S -H -u 65534 nobody adduser -S -H irc diff --git a/packages/mcp/mcp.mk b/packages/mcp/mcp.mk index b9bc2c8..066db23 100644 --- a/packages/mcp/mcp.mk +++ b/packages/mcp/mcp.mk @@ -1,31 +1,16 @@ MCP_PKGDIR = $(TARGET)/mcp MCP_BUILDDIR = $(BUILD)/mcp - -## -## XXX: clean up eris like router.mk -## - -ERIS_CACHE = $(CACHE)/eris.git -ERIS_BUILDDIR = $(MCP_BUILDDIR)/eris -ERIS_URL = http://woozle.org/~neale/projects/eris - -$(ERIS_CACHE): - git clone --bare $(ERIS_URL) $@ - mcp-source: $(MCP_BUILDDIR)/source -$(MCP_BUILDDIR)/source: $(ERIS_CACHE) +$(MCP_BUILDDIR)/source: mkdir -p $(@D) - git clone $(ERIS_CACHE) $(@D)/eris touch $@ mcp-build: $(MCP_BUILDDIR)/build $(MCP_BUILDDIR)/build: $(MCP_BUILDDIR)/source $(MAKE) -C packages/mcp/src build - $(MAKE) -C $(MCP_BUILDDIR)/eris - -mcp-install: $(MCP_BUILDDIR)/build +mcp-install: $(MCP_BUILDDIR)/build eris mkdir -p $(MCP_PKGDIR) $(call COPYTREE, packages/mcp/bin, $(MCP_PKGDIR)/bin) @@ -33,7 +18,7 @@ mcp-install: $(MCP_BUILDDIR)/build cp packages/mcp/src/puzzles.cgi $(MCP_PKGDIR)/bin/ cp packages/mcp/src/tea $(MCP_PKGDIR)/bin/ - cp $(MCP_BUILDDIR)/eris/eris $(MCP_PKGDIR)/bin/ + cp $(ERIS_BIN) $(MCP_PKGDIR)/bin/ $(call COPYTREE, packages/mcp/service, $(MCP_PKGDIR)/service) diff --git a/packages/mcp/service/httpd/finish b/packages/mcp/service/httpd/finish index c788d94..24417e3 100755 --- a/packages/mcp/service/httpd/finish +++ b/packages/mcp/service/httpd/finish @@ -1,3 +1,3 @@ #! /bin/sh -/opt/00admin/sbin/fire-ip del +/opt/00admin/bin/fire-ip del diff --git a/packages/mcp/service/httpd/run b/packages/mcp/service/httpd/run index 013b0a3..6c10d7f 100755 --- a/packages/mcp/service/httpd/run +++ b/packages/mcp/service/httpd/run @@ -2,7 +2,7 @@ exec 2>&1 -IP=$(/opt/00admin/sbin/fire-ip add) +IP=$(/opt/00admin/bin/fire-ip add) hostname mcp diff --git a/packages/multicaster/service/multicaster/finish b/packages/multicaster/service/multicaster/finish index c788d94..24417e3 100755 --- a/packages/multicaster/service/multicaster/finish +++ b/packages/multicaster/service/multicaster/finish @@ -1,3 +1,3 @@ #! /bin/sh -/opt/00admin/sbin/fire-ip del +/opt/00admin/bin/fire-ip del diff --git a/packages/multicaster/service/multicaster/run b/packages/multicaster/service/multicaster/run index b417506..173af0d 100755 --- a/packages/multicaster/service/multicaster/run +++ b/packages/multicaster/service/multicaster/run @@ -2,6 +2,6 @@ exec 2>&1 -IP=$(/opt/00admin/sbin/fire-ip add) +IP=$(/opt/00admin/bin/fire-ip add) exec setuidgid ctf /opt/multicaster/bin/multicaster ff15::62c 1580 &1 -IP=$(/opt/00admin/sbin/fire-ip) +IP=$(/opt/00admin/bin/fire-ip) sv s octopus >/dev/null || exit 1 exec tcpsvd ${IP%/*} 8888 ./octopus-redirect diff --git a/packages/octopus/service/octopus/finish b/packages/octopus/service/octopus/finish index c788d94..24417e3 100755 --- a/packages/octopus/service/octopus/finish +++ b/packages/octopus/service/octopus/finish @@ -1,3 +1,3 @@ #! /bin/sh -/opt/00admin/sbin/fire-ip del +/opt/00admin/bin/fire-ip del diff --git a/packages/octopus/service/octopus/run b/packages/octopus/service/octopus/run index 8ab8f28..78a5bdd 100755 --- a/packages/octopus/service/octopus/run +++ b/packages/octopus/service/octopus/run @@ -2,7 +2,7 @@ exec 2>&1 -IP=$(/opt/00admin/sbin/fire-ip add) +IP=$(/opt/00admin/bin/fire-ip add) grep -q ipv4 /proc/cmdline && IP=::ffff:$IP diff --git a/packages/p2/src/Makefile b/packages/p2/src/Makefile index 3ca13ff..5330d0a 100644 --- a/packages/p2/src/Makefile +++ b/packages/p2/src/Makefile @@ -1 +1,4 @@ -modem: +all: modem tea + +clean: + rm -f modem tea diff --git a/packages/p2/www/p2inv.png b/packages/p2/www/p2inv.png new file mode 100644 index 0000000000000000000000000000000000000000..398c6c43c5d4338cf7bf8a3247e28a616ebb654e GIT binary patch literal 40104 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 I=k((L0C}8{1^@s6 literal 0 HcmV?d00001 diff --git a/packages/packages.mk b/packages/packages.mk index d4b16f6..d2a2547 100644 --- a/packages/packages.mk +++ b/packages/packages.mk @@ -5,20 +5,6 @@ define COPYTREE (cd $(1) && find . -not -name "*~" | cpio -o) | (cd $(2) && cpio -i) endef -define STANDARD_PUZZLE -t=$(strip $1) -$t-install: $(TARGET)/$t -$(TARGET)/$t: packages/$t - mkdir -p $(TARGET)/$t - ./mkpuzzles packages/$t $(TARGET)/$t - -$t-clean: $t-stdclean -$t-stdclean: - rm -rf $(TARGET)/$t $(BIN)/$t.pkg - -PACKAGES += $t -endef - include packages/*/*.mk # Things configure likes to see diff --git a/packages/playfair/service/playfair/finish b/packages/playfair/service/playfair/finish index c788d94..24417e3 100755 --- a/packages/playfair/service/playfair/finish +++ b/packages/playfair/service/playfair/finish @@ -1,3 +1,3 @@ #! /bin/sh -/opt/00admin/sbin/fire-ip del +/opt/00admin/bin/fire-ip del diff --git a/packages/playfair/service/playfair/run b/packages/playfair/service/playfair/run index 7d15ba5..eaa58da 100755 --- a/packages/playfair/service/playfair/run +++ b/packages/playfair/service/playfair/run @@ -2,7 +2,7 @@ exec 2>&1 -IP=$(/opt/00admin/sbin/fire-ip add) +IP=$(/opt/00admin/bin/fire-ip add) ip addr add $IP dev eth0 || true exec tcpsvd -u nobody ${IP%/*} 1013 /opt/playfair/bin/playfair diff --git a/packages/printf/service/printf/finish b/packages/printf/service/printf/finish index c788d94..24417e3 100755 --- a/packages/printf/service/printf/finish +++ b/packages/printf/service/printf/finish @@ -1,3 +1,3 @@ #! /bin/sh -/opt/00admin/sbin/fire-ip del +/opt/00admin/bin/fire-ip del diff --git a/packages/printf/service/printf/run b/packages/printf/service/printf/run index 823c8d5..b37c812 100755 --- a/packages/printf/service/printf/run +++ b/packages/printf/service/printf/run @@ -2,7 +2,7 @@ exec 2>&1 -IP=$(/opt/00admin/sbin/fire-ip add) +IP=$(/opt/00admin/bin/fire-ip add) # So I say to him, "Alex, what's a good high port number for a CTF category?" # And he says, "6" diff --git a/packages/revwords/service/revwords/finish b/packages/revwords/service/revwords/finish index c788d94..24417e3 100755 --- a/packages/revwords/service/revwords/finish +++ b/packages/revwords/service/revwords/finish @@ -1,3 +1,3 @@ #! /bin/sh -/opt/00admin/sbin/fire-ip del +/opt/00admin/bin/fire-ip del diff --git a/packages/revwords/service/revwords/run b/packages/revwords/service/revwords/run index 833c6e9..a328c26 100755 --- a/packages/revwords/service/revwords/run +++ b/packages/revwords/service/revwords/run @@ -2,7 +2,7 @@ exec 2>&1 -IP=$(/opt/00admin/sbin/fire-ip add) +IP=$(/opt/00admin/bin/fire-ip add) exec tcpsvd -u nobody ${IP%/*} 1013 ./go diff --git a/packages/rlyeh/service/rlyeh/finish b/packages/rlyeh/service/rlyeh/finish index c788d94..24417e3 100755 --- a/packages/rlyeh/service/rlyeh/finish +++ b/packages/rlyeh/service/rlyeh/finish @@ -1,3 +1,3 @@ #! /bin/sh -/opt/00admin/sbin/fire-ip del +/opt/00admin/bin/fire-ip del diff --git a/packages/rlyeh/service/rlyeh/run b/packages/rlyeh/service/rlyeh/run index f11ce62..91fc8eb 100755 --- a/packages/rlyeh/service/rlyeh/run +++ b/packages/rlyeh/service/rlyeh/run @@ -2,7 +2,7 @@ exec 2>&1 -IP=$(/opt/00admin/sbin/fire-ip add) +IP=$(/opt/00admin/bin/fire-ip add) dir=/var/lib/ctf/rlyeh install -o nobody -d $dir