From afc015dcc854584c2566a8723f4edccf4e7d409b Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Thu, 24 Mar 2011 17:12:33 -0600 Subject: [PATCH] Start at a portable puzzle format --- mkpuzzles | 37 +++++++---- packages/armadillo/src/straceme.c | 2 - packages/armadillo/src/token.c | 43 +------------ packages/armadillo/src/token.h | 16 +---- packages/basemath/1/{key => @answer.txt} | 0 packages/basemath/1/@author.txt | 1 + .../basemath/1/{index.mdwn => @index.mdwn} | 0 packages/basemath/1/{summary => @summary.txt} | 0 packages/basemath/2/{key => @answer.txt} | 0 packages/basemath/2/@author.txt | 1 + .../basemath/2/{index.mdwn => @index.mdwn} | 0 packages/basemath/2/{summary => @summary.txt} | 0 packages/basemath/3/{key => @answer.txt} | 0 packages/basemath/3/@author.txt | 1 + .../basemath/3/{index.mdwn => @index.mdwn} | 0 packages/basemath/3/{summary => @summary.txt} | 0 packages/basemath/4/{key => @answer.txt} | 0 packages/basemath/4/@author.txt | 1 + .../basemath/4/{index.mdwn => @index.mdwn} | 0 packages/basemath/4/{summary => @summary.txt} | 0 packages/basemath/5/{key => @answer.txt} | 0 packages/basemath/5/@author.txt | 1 + .../basemath/5/{index.mdwn => @index.mdwn} | 0 packages/basemath/5/{summary => @summary.txt} | 0 packages/bletchley/100/{key => @answer.txt} | 0 packages/bletchley/100/@author.txt | 1 + .../bletchley/100/{index.mdwn => @index.mdwn} | 0 .../bletchley/100/{summary => @summary.txt} | 0 packages/bletchley/1000/{key => @answer.txt} | 0 packages/bletchley/1000/@author.txt | 1 + .../1000/{index.mdwn => @index.mdwn} | 0 .../bletchley/1000/{summary => @summary.txt} | 0 packages/bletchley/150/{key => @answer.txt} | 0 packages/bletchley/150/@author.txt | 1 + .../bletchley/150/{index.mdwn => @index.mdwn} | 0 .../bletchley/150/{summary => @summary.txt} | 0 packages/bletchley/200/{key => @answer.txt} | 0 packages/bletchley/200/@author.txt | 1 + .../bletchley/200/{index.mdwn => @index.mdwn} | 0 .../bletchley/200/{summary => @summary.txt} | 0 packages/bletchley/250/{key => @answer.txt} | 0 packages/bletchley/250/@author.txt | 1 + .../bletchley/250/{index.mdwn => @index.mdwn} | 0 .../bletchley/250/{summary => @summary.txt} | 0 packages/bletchley/300/{key => @answer.txt} | 0 packages/bletchley/300/@author.txt | 1 + .../bletchley/300/{index.mdwn => @index.mdwn} | 0 .../bletchley/300/{summary => @summary.txt} | 0 packages/bletchley/350/{key => @answer.txt} | 0 packages/bletchley/350/@author.txt | 1 + .../bletchley/350/{summary => @summary.txt} | 0 packages/bletchley/50/{key => @answer.txt} | 0 packages/bletchley/50/@author.txt | 1 + packages/bletchley/500/{key => @answer.txt} | 0 packages/bletchley/500/@author.txt | 1 + .../bletchley/500/{index.mdwn => @index.mdwn} | 0 .../bletchley/500/{summary => @summary.txt} | 0 packages/bletchley/900/{key => @answer.txt} | 0 packages/bletchley/900/@author.txt | 1 + .../bletchley/900/{summary => @summary.txt} | 0 packages/codebreaking/1/{key => @answer.txt} | 0 packages/codebreaking/1/@author.txt | 1 + .../1/{index.mdwn => @index.mdwn} | 0 .../codebreaking/1/{summary => @summary.txt} | 0 packages/codebreaking/2/{key => @answer.txt} | 0 packages/codebreaking/2/@author.txt | 1 + .../2/{index.mdwn => @index.mdwn} | 0 .../codebreaking/2/{summary => @summary.txt} | 0 packages/codebreaking/3/{key => @answer.txt} | 0 packages/codebreaking/3/@author.txt | 1 + .../3/{index.mdwn => @index.mdwn} | 0 .../codebreaking/3/{summary => @summary.txt} | 0 packages/codebreaking/4/{key => @answer.txt} | 0 packages/codebreaking/4/@author.txt | 1 + .../4/{index.mdwn => @index.mdwn} | 0 .../codebreaking/4/{summary => @summary.txt} | 0 packages/codebreaking/5/{key => @answer.txt} | 0 packages/codebreaking/5/@author.txt | 1 + .../codebreaking/5/{summary => @summary.txt} | 0 packages/codebreaking/6/{key => @answer.txt} | 0 packages/codebreaking/6/@author.txt | 1 + .../codebreaking/6/{summary => @summary.txt} | 0 packages/codebreaking/7/{key => @answer.txt} | 0 packages/codebreaking/7/@author.txt | 1 + .../7/{index.mdwn => @index.mdwn} | 0 .../codebreaking/7/{summary => @summary.txt} | 0 packages/codebreaking/8/{key => @answer.txt} | 0 packages/codebreaking/8/@author.txt | 1 + .../8/{index.mdwn => @index.mdwn} | 0 .../codebreaking/8/{summary => @summary.txt} | 0 packages/compaq/100/{key => @answer.txt} | 0 packages/compaq/100/@author.txt | 1 + .../compaq/100/{index.mdwn => @index.mdwn} | 0 packages/compaq/1000/{key => @answer.txt} | 0 packages/compaq/1000/@author.txt | 1 + .../compaq/1000/{index.mdwn => @index.mdwn} | 0 packages/compaq/150/{key => @answer.txt} | 0 packages/compaq/150/@author.txt | 1 + packages/compaq/200/{key => @answer.txt} | 0 packages/compaq/200/@author.txt | 1 + packages/compaq/2000/{key => @answer.txt} | 0 packages/compaq/2000/@author.txt | 1 + .../compaq/2000/{index.mdwn => @index.mdwn} | 0 packages/compaq/3000/{key => @answer.txt} | 0 packages/compaq/3000/@author.txt | 1 + .../compaq/3000/{index.mdwn => @index.mdwn} | 0 packages/compaq/350/{key => @answer.txt} | 0 packages/compaq/350/@author.txt | 1 + packages/compaq/400/{key => @answer.txt} | 0 packages/compaq/400/@author.txt | 1 + packages/compaq/4000/{key => @answer.txt} | 0 packages/compaq/4000/@author.txt | 1 + .../compaq/4000/{index.mdwn => @index.mdwn} | 0 packages/compaq/50/{key => @answer.txt} | 0 packages/compaq/50/@author.txt | 1 + .../compaq/50/{index.mdwn => @index.mdwn} | 0 packages/compaq/500/{key => @answer.txt} | 0 packages/compaq/500/@author.txt | 1 + packages/compaq/600/{key => @answer.txt} | 0 packages/compaq/600/@author.txt | 1 + packages/crypto/1/{key => @answer.txt} | 0 packages/crypto/1/@author.txt | 1 + packages/crypto/1/{index.mdwn => @index.mdwn} | 0 packages/crypto/100/{key => @answer.txt} | 0 packages/crypto/100/@author.txt | 1 + .../crypto/100/{index.mdwn => @index.mdwn} | 0 packages/crypto/110/{key => @answer.txt} | 0 packages/crypto/110/@author.txt | 1 + .../crypto/110/{index.mdwn => @index.mdwn} | 0 packages/crypto/120/{key => @answer.txt} | 0 packages/crypto/120/@author.txt | 1 + .../crypto/120/{index.mdwn => @index.mdwn} | 0 packages/crypto/130/{key => @answer.txt} | 0 packages/crypto/130/@author.txt | 1 + .../crypto/130/{index.mdwn => @index.mdwn} | 0 packages/crypto/140/{key => @answer.txt} | 0 packages/crypto/140/@author.txt | 1 + .../crypto/140/{index.mdwn => @index.mdwn} | 0 packages/crypto/150/{key => @answer.txt} | 0 packages/crypto/150/@author.txt | 1 + .../crypto/150/{index.mdwn => @index.mdwn} | 0 packages/crypto/160/{key => @answer.txt} | 0 packages/crypto/160/@author.txt | 1 + .../crypto/160/{index.mdwn => @index.mdwn} | 0 packages/crypto/170/{key => @answer.txt} | 0 packages/crypto/170/@author.txt | 1 + .../crypto/170/{index.mdwn => @index.mdwn} | 0 packages/crypto/180/{key => @answer.txt} | 0 packages/crypto/180/@author.txt | 1 + .../crypto/180/{index.mdwn => @index.mdwn} | 0 packages/crypto/190/{key => @answer.txt} | 0 packages/crypto/190/@author.txt | 1 + .../crypto/190/{index.mdwn => @index.mdwn} | 0 packages/crypto/200/{key => @answer.txt} | 0 packages/crypto/200/@author.txt | 1 + .../crypto/200/{index.mdwn => @index.mdwn} | 0 packages/crypto/210/{key => @answer.txt} | 0 packages/crypto/210/@author.txt | 1 + .../crypto/210/{index.mdwn => @index.mdwn} | 0 packages/crypto/220/{key => @answer.txt} | 0 packages/crypto/220/@author.txt | 1 + .../crypto/220/{index.mdwn => @index.mdwn} | 0 packages/crypto/230/{key => @answer.txt} | 0 packages/crypto/230/@author.txt | 1 + .../crypto/230/{index.mdwn => @index.mdwn} | 0 packages/crypto/240/{key => @answer.txt} | 0 packages/crypto/240/@author.txt | 1 + .../crypto/240/{index.mdwn => @index.mdwn} | 0 packages/crypto/400/{key => @answer.txt} | 0 packages/crypto/400/@author.txt | 1 + .../crypto/400/{index.mdwn => @index.mdwn} | 0 packages/forensics/100/@author.txt | 1 + packages/forensics/133/@author.txt | 1 + packages/forensics/166/@author.txt | 1 + packages/forensics/200/@author.txt | 1 + packages/forensics/205/@author.txt | 1 + packages/forensics/210/@author.txt | 1 + packages/forensics/215/@author.txt | 1 + packages/forensics/220/@author.txt | 1 + packages/forensics/225/@author.txt | 1 + packages/forensics/230/@author.txt | 1 + packages/forensics/250/@author.txt | 1 + packages/forensics/275/@author.txt | 1 + packages/forensics/500/@author.txt | 1 + packages/forensics/525/@author.txt | 1 + packages/forensics/530/@author.txt | 1 + packages/forensics/540/@author.txt | 1 + packages/forensics/545/@author.txt | 1 + packages/forensics/550/@author.txt | 1 + packages/forensics/560/@author.txt | 1 + packages/forensics/570/@author.txt | 1 + packages/forensics/575/@author.txt | 1 + packages/forensics/577/@author.txt | 1 + packages/forensics/580/@author.txt | 1 + packages/forensics/585/@author.txt | 1 + packages/forensics/587/@author.txt | 1 + packages/forensics/589/@author.txt | 1 + packages/forensics/590/@author.txt | 1 + packages/forensics/595/@author.txt | 1 + packages/forensics/600/@author.txt | 1 + packages/forensics/650/@author.txt | 1 + packages/hackme/100/{key => @answer.txt} | 0 packages/hackme/100/@author.txt | 1 + .../hackme/100/{index.mdwn => @index.mdwn} | 0 packages/hackme/200/{key => @answer.txt} | 0 packages/hackme/200/@author.txt | 1 + .../hackme/200/{index.mdwn => @index.mdwn} | 0 packages/hackme/274/{key => @answer.txt} | 0 packages/hackme/274/@author.txt | 1 + .../hackme/274/{index.mdwn => @index.mdwn} | 0 packages/hackme/300/{key => @answer.txt} | 0 packages/hackme/300/@author.txt | 1 + .../hackme/300/{index.mdwn => @index.mdwn} | 0 .../hackme/614/{index.mdwn => @answer.txt} | 0 packages/hackme/614/@author.txt | 1 + packages/hackme/614/{key => @index.mdwn} | 0 .../hackme/806/{index.mdwn => @answer.txt} | 0 packages/hackme/806/@author.txt | 1 + packages/hackme/806/{key => @index.mdwn} | 0 packages/javascript/1/{key => @answer.txt} | 0 .../javascript/1/{index.mdwn => @index.mdwn} | 0 .../javascript/1/{summary => @summary.txt} | 0 packages/javascript/2/{key => @answer.txt} | 0 .../javascript/2/{index.mdwn => @index.mdwn} | 0 .../javascript/2/{summary => @summary.txt} | 0 packages/javascript/3/{key => @answer.txt} | 0 .../javascript/3/{index.mdwn => @index.mdwn} | 0 .../javascript/3/{summary => @summary.txt} | 0 packages/javascript/5/{key => @answer.txt} | 0 .../javascript/5/{index.mdwn => @index.mdwn} | 0 .../javascript/5/{summary => @summary.txt} | 0 packages/logger/src/Makefile | 2 +- packages/logger/src/logger.c | 8 ++- packages/logger/src/token.c | 2 +- packages/logger/src/token.h | 2 +- packages/net-re/1/{key => @answer.txt} | 0 packages/net-re/1/{index.mdwn => @index.mdwn} | 0 packages/net-re/1/{summary => @summary.txt} | 0 packages/net-re/10/{key => @answer.txt} | 0 .../net-re/10/{index.mdwn => @index.mdwn} | 0 packages/net-re/10/{summary => @summary.txt} | 0 packages/net-re/100/{key => @answer.txt} | 0 .../net-re/100/{index.mdwn => @index.mdwn} | 0 packages/net-re/100/{summary => @summary.txt} | 0 packages/net-re/1000/{key => @answer.txt} | 0 .../net-re/1000/{index.mdwn => @index.mdwn} | 0 .../net-re/1000/{summary => @summary.txt} | 0 packages/net-re/1200/{key => @answer.txt} | 0 .../net-re/1200/{summary => @summary.txt} | 0 packages/net-re/2/{key => @answer.txt} | 0 packages/net-re/2/{index.mdwn => @index.mdwn} | 0 packages/net-re/2/{summary => @summary.txt} | 0 packages/net-re/20/{key => @answer.txt} | 0 .../net-re/20/{index.mdwn => @index.mdwn} | 0 packages/net-re/20/{summary => @summary.txt} | 0 packages/net-re/200/{key => @answer.txt} | 0 .../net-re/200/{index.mdwn => @index.mdwn} | 0 packages/net-re/200/{summary => @summary.txt} | 0 packages/net-re/2000/{key => @answer.txt} | 0 .../net-re/2000/{index.mdwn => @index.mdwn} | 0 .../net-re/2000/{summary => @summary.txt} | 0 packages/net-re/250/{key => @answer.txt} | 0 .../net-re/250/{index.mdwn => @index.mdwn} | 0 packages/net-re/250/{summary => @summary.txt} | 0 packages/net-re/25000/{key => @answer.txt} | 0 .../net-re/25000/{summary => @summary.txt} | 0 packages/net-re/3/{key => @answer.txt} | 0 packages/net-re/3/{index.mdwn => @index.mdwn} | 0 packages/net-re/3/{summary => @summary.txt} | 0 packages/net-re/30/{key => @answer.txt} | 0 .../net-re/30/{index.mdwn => @index.mdwn} | 0 packages/net-re/30/{summary => @summary.txt} | 0 packages/net-re/300/{key => @answer.txt} | 0 .../net-re/300/{index.mdwn => @index.mdwn} | 0 packages/net-re/300/{summary => @summary.txt} | 0 packages/net-re/3000/{key => @answer.txt} | 0 .../net-re/3000/{summary => @summary.txt} | 0 packages/net-re/4/{key => @answer.txt} | 0 packages/net-re/4/{index.mdwn => @index.mdwn} | 0 packages/net-re/4/{summary => @summary.txt} | 0 packages/net-re/400/{key => @answer.txt} | 0 .../net-re/400/{index.mdwn => @index.mdwn} | 0 packages/net-re/400/{summary => @summary.txt} | 0 packages/net-re/4000/{key => @answer.txt} | 0 .../net-re/4000/{summary => @summary.txt} | 0 packages/net-re/5/{key => @answer.txt} | 0 packages/net-re/5/{index.mdwn => @index.mdwn} | 0 packages/net-re/5/{summary => @summary.txt} | 0 packages/net-re/5000/{key => @answer.txt} | 0 .../net-re/5000/{summary => @summary.txt} | 0 packages/net-re/6/{key => @answer.txt} | 0 packages/net-re/6/{index.mdwn => @index.mdwn} | 0 packages/net-re/6/{summary => @summary.txt} | 0 packages/net-re/6000/{key => @answer.txt} | 0 .../net-re/6000/{index.mdwn => @index.mdwn} | 0 packages/net-re/6100/{key => @answer.txt} | 0 .../net-re/6100/{index.mdwn => @index.mdwn} | 0 packages/net-re/6200/{key => @answer.txt} | 0 .../net-re/6200/{index.mdwn => @index.mdwn} | 0 packages/net-re/6300/{key => @answer.txt} | 0 .../net-re/6300/{index.mdwn => @index.mdwn} | 0 packages/net-re/7/{key => @answer.txt} | 0 packages/net-re/7/{index.mdwn => @index.mdwn} | 0 packages/net-re/7/{summary => @summary.txt} | 0 packages/net-re/700/{key => @answer.txt} | 0 .../net-re/700/{index.mdwn => @index.mdwn} | 0 packages/net-re/700/{summary => @summary.txt} | 0 packages/net-re/8/{key => @answer.txt} | 0 packages/net-re/8/{index.mdwn => @index.mdwn} | 0 packages/net-re/8/{summary => @summary.txt} | 0 packages/net-re/800/{key => @answer.txt} | 0 .../net-re/800/{index.mdwn => @index.mdwn} | 0 packages/net-re/800/{summary => @summary.txt} | 0 packages/sequence/1/{key => @answer.txt} | 0 .../sequence/1/{index.mdwn => @index.mdwn} | 0 packages/sequence/1/{summary => @summary.txt} | 0 packages/sequence/100/{key => @answer.txt} | 0 .../sequence/100/{index.mdwn => @index.mdwn} | 0 .../sequence/100/{summary => @summary.txt} | 0 packages/sequence/1000/{key => @answer.txt} | 0 .../sequence/1000/{index.mdwn => @index.mdwn} | 0 .../sequence/1000/{summary => @summary.txt} | 0 packages/sequence/16/{key => @answer.txt} | 0 .../sequence/16/{index.mdwn => @index.mdwn} | 0 .../sequence/16/{summary => @summary.txt} | 0 packages/sequence/19/{key => @answer.txt} | 0 .../sequence/19/{index.mdwn => @index.mdwn} | 0 .../sequence/19/{summary => @summary.txt} | 0 packages/sequence/2/{key => @answer.txt} | 0 .../sequence/2/{index.mdwn => @index.mdwn} | 0 packages/sequence/2/{summary => @summary.txt} | 0 packages/sequence/200/{key => @answer.txt} | 0 .../sequence/200/{index.mdwn => @index.mdwn} | 0 .../sequence/200/{summary => @summary.txt} | 0 packages/sequence/2000/{key => @answer.txt} | 0 .../sequence/2000/{index.mdwn => @index.mdwn} | 0 packages/sequence/25/{key => @answer.txt} | 0 .../sequence/25/{index.mdwn => @index.mdwn} | 0 .../sequence/25/{summary => @summary.txt} | 0 packages/sequence/300/{key => @answer.txt} | 0 .../sequence/300/{index.mdwn => @index.mdwn} | 0 .../sequence/300/{summary => @summary.txt} | 0 packages/sequence/3000/{key => @answer.txt} | 0 .../sequence/3000/{index.mdwn => @index.mdwn} | 0 packages/sequence/35/{key => @answer.txt} | 0 .../sequence/35/{index.mdwn => @index.mdwn} | 0 .../sequence/35/{summary => @summary.txt} | 0 packages/sequence/400/{key => @answer.txt} | 0 .../sequence/400/{index.mdwn => @index.mdwn} | 0 .../sequence/400/{summary => @summary.txt} | 0 packages/sequence/4000/{key => @answer.txt} | 0 .../sequence/4000/{index.mdwn => @index.mdwn} | 0 packages/sequence/50/{key => @answer.txt} | 0 .../sequence/50/{index.mdwn => @index.mdwn} | 0 .../sequence/50/{summary => @summary.txt} | 0 packages/sequence/500/{key => @answer.txt} | 0 .../sequence/500/{index.mdwn => @index.mdwn} | 0 .../sequence/500/{summary => @summary.txt} | 0 packages/sequence/600/{key => @answer.txt} | 0 .../sequence/600/{index.mdwn => @index.mdwn} | 0 .../sequence/600/{summary => @summary.txt} | 0 packages/sequence/700/{key => @answer.txt} | 0 .../sequence/700/{index.mdwn => @index.mdwn} | 0 packages/sequence/740/{key => @answer.txt} | 0 .../sequence/740/{index.mdwn => @index.mdwn} | 0 .../sequence/740/{summary => @summary.txt} | 0 packages/sequence/8/{key => @answer.txt} | 0 .../sequence/8/{index.mdwn => @index.mdwn} | 0 packages/sequence/8/{summary => @summary.txt} | 0 packages/sequence/800/{key => @answer.txt} | 0 .../sequence/800/{index.mdwn => @index.mdwn} | 0 packages/skynet/100/{key => @answer.txt} | 0 .../skynet/100/{index.mdwn => @index.mdwn} | 0 packages/skynet/102/{key => @answer.txt} | 0 .../skynet/102/{index.mdwn => @index.mdwn} | 0 packages/skynet/200/{key => @answer.txt} | 0 .../skynet/200/{index.mdwn => @index.mdwn} | 0 packages/skynet/202/{key => @answer.txt} | 0 .../skynet/202/{index.mdwn => @index.mdwn} | 0 packages/skynet/203/{key => @answer.txt} | 0 .../skynet/203/{index.mdwn => @index.mdwn} | 0 packages/skynet/300/{key => @answer.txt} | 0 .../skynet/300/{index.mdwn => @index.mdwn} | 0 packages/skynet/301/{key => @answer.txt} | 0 .../skynet/301/{index.mdwn => @index.mdwn} | 0 packages/skynet/302/{key => @answer.txt} | 0 .../skynet/302/{index.mdwn => @index.mdwn} | 0 packages/skynet/400/{key => @answer.txt} | 0 .../skynet/400/{index.mdwn => @index.mdwn} | 0 packages/skynet/401/{key => @answer.txt} | 0 .../skynet/401/{index.mdwn => @index.mdwn} | 0 packages/skynet/500/{key => @answer.txt} | 0 .../skynet/500/{index.mdwn => @index.mdwn} | 0 packages/skynet/501/{key => @answer.txt} | 0 .../skynet/501/{index.mdwn => @index.mdwn} | 0 packages/steg/10/{key => @answer.txt} | 0 packages/steg/10/{summary => @summary.txt} | 0 packages/steg/100/{key => @answer.txt} | 0 packages/steg/100/{summary => @summary.txt} | 0 packages/steg/20/{key => @answer.txt} | 0 packages/steg/20/{summary => @summary.txt} | 0 packages/steg/200/{key => @answer.txt} | 0 packages/steg/200/{summary => @summary.txt} | 0 packages/steg/30/{key => @answer.txt} | 0 packages/steg/30/{index.mdwn => @index.mdwn} | 0 packages/steg/30/{summary => @summary.txt} | 0 packages/steg/40/{key => @answer.txt} | 0 packages/steg/40/{summary => @summary.txt} | 0 packages/steg/400/{key => @answer.txt} | 0 packages/steg/400/{summary => @summary.txt} | 0 packages/steg/50/{key => @answer.txt} | 0 packages/steg/50/{summary => @summary.txt} | 0 packages/steg/60/{key => @answer.txt} | 0 packages/steg/60/{summary => @summary.txt} | 0 packages/steg/70/{key => @answer.txt} | 0 packages/steg/70/{summary => @summary.txt} | 0 packages/webapp/10/{key => @answer.txt} | 0 packages/webapp/10/{summary => @summary.txt} | 0 packages/webapp/20/{key => @answer.txt} | 0 packages/webapp/20/{summary => @summary.txt} | 0 packages/webapp/30/{key => @answer.txt} | 0 packages/webapp/30/{summary => @summary.txt} | 0 src/token.c | 63 +++++++++++++++++++ src/token.h | 19 ++++++ 424 files changed, 206 insertions(+), 76 deletions(-) mode change 100644 => 120000 packages/armadillo/src/token.c mode change 100644 => 120000 packages/armadillo/src/token.h rename packages/basemath/1/{key => @answer.txt} (100%) create mode 100644 packages/basemath/1/@author.txt rename packages/basemath/1/{index.mdwn => @index.mdwn} (100%) rename packages/basemath/1/{summary => @summary.txt} (100%) rename packages/basemath/2/{key => @answer.txt} (100%) create mode 100644 packages/basemath/2/@author.txt rename packages/basemath/2/{index.mdwn => @index.mdwn} (100%) rename packages/basemath/2/{summary => @summary.txt} (100%) rename packages/basemath/3/{key => @answer.txt} (100%) create mode 100644 packages/basemath/3/@author.txt rename packages/basemath/3/{index.mdwn => @index.mdwn} (100%) rename packages/basemath/3/{summary => @summary.txt} (100%) rename packages/basemath/4/{key => @answer.txt} (100%) create mode 100644 packages/basemath/4/@author.txt rename packages/basemath/4/{index.mdwn => @index.mdwn} (100%) rename packages/basemath/4/{summary => @summary.txt} (100%) rename packages/basemath/5/{key => @answer.txt} (100%) create mode 100644 packages/basemath/5/@author.txt rename packages/basemath/5/{index.mdwn => @index.mdwn} (100%) rename packages/basemath/5/{summary => @summary.txt} (100%) rename packages/bletchley/100/{key => @answer.txt} (100%) create mode 100644 packages/bletchley/100/@author.txt rename packages/bletchley/100/{index.mdwn => @index.mdwn} (100%) rename packages/bletchley/100/{summary => @summary.txt} (100%) rename packages/bletchley/1000/{key => @answer.txt} (100%) create mode 100644 packages/bletchley/1000/@author.txt rename packages/bletchley/1000/{index.mdwn => @index.mdwn} (100%) rename packages/bletchley/1000/{summary => @summary.txt} (100%) rename packages/bletchley/150/{key => @answer.txt} (100%) create mode 100644 packages/bletchley/150/@author.txt rename packages/bletchley/150/{index.mdwn => @index.mdwn} (100%) rename packages/bletchley/150/{summary => @summary.txt} (100%) rename packages/bletchley/200/{key => @answer.txt} (100%) create mode 100644 packages/bletchley/200/@author.txt rename packages/bletchley/200/{index.mdwn => @index.mdwn} (100%) rename packages/bletchley/200/{summary => @summary.txt} (100%) rename packages/bletchley/250/{key => @answer.txt} (100%) create mode 100644 packages/bletchley/250/@author.txt rename packages/bletchley/250/{index.mdwn => @index.mdwn} (100%) rename packages/bletchley/250/{summary => @summary.txt} (100%) rename packages/bletchley/300/{key => @answer.txt} (100%) create mode 100644 packages/bletchley/300/@author.txt rename packages/bletchley/300/{index.mdwn => @index.mdwn} (100%) rename packages/bletchley/300/{summary => @summary.txt} (100%) rename packages/bletchley/350/{key => @answer.txt} (100%) create mode 100644 packages/bletchley/350/@author.txt rename packages/bletchley/350/{summary => @summary.txt} (100%) rename packages/bletchley/50/{key => @answer.txt} (100%) create mode 100644 packages/bletchley/50/@author.txt rename packages/bletchley/500/{key => @answer.txt} (100%) create mode 100644 packages/bletchley/500/@author.txt rename packages/bletchley/500/{index.mdwn => @index.mdwn} (100%) rename packages/bletchley/500/{summary => @summary.txt} (100%) rename packages/bletchley/900/{key => @answer.txt} (100%) create mode 100644 packages/bletchley/900/@author.txt rename packages/bletchley/900/{summary => @summary.txt} (100%) rename packages/codebreaking/1/{key => @answer.txt} (100%) create mode 100644 packages/codebreaking/1/@author.txt rename packages/codebreaking/1/{index.mdwn => @index.mdwn} (100%) rename packages/codebreaking/1/{summary => @summary.txt} (100%) rename packages/codebreaking/2/{key => @answer.txt} (100%) create mode 100644 packages/codebreaking/2/@author.txt rename packages/codebreaking/2/{index.mdwn => @index.mdwn} (100%) rename packages/codebreaking/2/{summary => @summary.txt} (100%) rename packages/codebreaking/3/{key => @answer.txt} (100%) create mode 100644 packages/codebreaking/3/@author.txt rename packages/codebreaking/3/{index.mdwn => @index.mdwn} (100%) rename packages/codebreaking/3/{summary => @summary.txt} (100%) rename packages/codebreaking/4/{key => @answer.txt} (100%) create mode 100644 packages/codebreaking/4/@author.txt rename packages/codebreaking/4/{index.mdwn => @index.mdwn} (100%) rename packages/codebreaking/4/{summary => @summary.txt} (100%) rename packages/codebreaking/5/{key => @answer.txt} (100%) create mode 100644 packages/codebreaking/5/@author.txt rename packages/codebreaking/5/{summary => @summary.txt} (100%) rename packages/codebreaking/6/{key => @answer.txt} (100%) create mode 100644 packages/codebreaking/6/@author.txt rename packages/codebreaking/6/{summary => @summary.txt} (100%) rename packages/codebreaking/7/{key => @answer.txt} (100%) create mode 100644 packages/codebreaking/7/@author.txt rename packages/codebreaking/7/{index.mdwn => @index.mdwn} (100%) rename packages/codebreaking/7/{summary => @summary.txt} (100%) rename packages/codebreaking/8/{key => @answer.txt} (100%) create mode 100644 packages/codebreaking/8/@author.txt rename packages/codebreaking/8/{index.mdwn => @index.mdwn} (100%) rename packages/codebreaking/8/{summary => @summary.txt} (100%) rename packages/compaq/100/{key => @answer.txt} (100%) create mode 100644 packages/compaq/100/@author.txt rename packages/compaq/100/{index.mdwn => @index.mdwn} (100%) rename packages/compaq/1000/{key => @answer.txt} (100%) create mode 100644 packages/compaq/1000/@author.txt rename packages/compaq/1000/{index.mdwn => @index.mdwn} (100%) rename packages/compaq/150/{key => @answer.txt} (100%) create mode 100644 packages/compaq/150/@author.txt rename packages/compaq/200/{key => @answer.txt} (100%) create mode 100644 packages/compaq/200/@author.txt rename packages/compaq/2000/{key => @answer.txt} (100%) create mode 100644 packages/compaq/2000/@author.txt rename packages/compaq/2000/{index.mdwn => @index.mdwn} (100%) rename packages/compaq/3000/{key => @answer.txt} (100%) create mode 100644 packages/compaq/3000/@author.txt rename packages/compaq/3000/{index.mdwn => @index.mdwn} (100%) rename packages/compaq/350/{key => @answer.txt} (100%) create mode 100644 packages/compaq/350/@author.txt rename packages/compaq/400/{key => @answer.txt} (100%) create mode 100644 packages/compaq/400/@author.txt rename packages/compaq/4000/{key => @answer.txt} (100%) create mode 100644 packages/compaq/4000/@author.txt rename packages/compaq/4000/{index.mdwn => @index.mdwn} (100%) rename packages/compaq/50/{key => @answer.txt} (100%) create mode 100644 packages/compaq/50/@author.txt rename packages/compaq/50/{index.mdwn => @index.mdwn} (100%) rename packages/compaq/500/{key => @answer.txt} (100%) create mode 100644 packages/compaq/500/@author.txt rename packages/compaq/600/{key => @answer.txt} (100%) create mode 100644 packages/compaq/600/@author.txt rename packages/crypto/1/{key => @answer.txt} (100%) create mode 100644 packages/crypto/1/@author.txt rename packages/crypto/1/{index.mdwn => @index.mdwn} (100%) rename packages/crypto/100/{key => @answer.txt} (100%) create mode 100644 packages/crypto/100/@author.txt rename packages/crypto/100/{index.mdwn => @index.mdwn} (100%) rename packages/crypto/110/{key => @answer.txt} (100%) create mode 100644 packages/crypto/110/@author.txt rename packages/crypto/110/{index.mdwn => @index.mdwn} (100%) rename packages/crypto/120/{key => @answer.txt} (100%) create mode 100644 packages/crypto/120/@author.txt rename packages/crypto/120/{index.mdwn => @index.mdwn} (100%) rename packages/crypto/130/{key => @answer.txt} (100%) create mode 100644 packages/crypto/130/@author.txt rename packages/crypto/130/{index.mdwn => @index.mdwn} (100%) rename packages/crypto/140/{key => @answer.txt} (100%) create mode 100644 packages/crypto/140/@author.txt rename packages/crypto/140/{index.mdwn => @index.mdwn} (100%) rename packages/crypto/150/{key => @answer.txt} (100%) create mode 100644 packages/crypto/150/@author.txt rename packages/crypto/150/{index.mdwn => @index.mdwn} (100%) rename packages/crypto/160/{key => @answer.txt} (100%) create mode 100644 packages/crypto/160/@author.txt rename packages/crypto/160/{index.mdwn => @index.mdwn} (100%) rename packages/crypto/170/{key => @answer.txt} (100%) create mode 100644 packages/crypto/170/@author.txt rename packages/crypto/170/{index.mdwn => @index.mdwn} (100%) rename packages/crypto/180/{key => @answer.txt} (100%) create mode 100644 packages/crypto/180/@author.txt rename packages/crypto/180/{index.mdwn => @index.mdwn} (100%) rename packages/crypto/190/{key => @answer.txt} (100%) create mode 100644 packages/crypto/190/@author.txt rename packages/crypto/190/{index.mdwn => @index.mdwn} (100%) rename packages/crypto/200/{key => @answer.txt} (100%) create mode 100644 packages/crypto/200/@author.txt rename packages/crypto/200/{index.mdwn => @index.mdwn} (100%) rename packages/crypto/210/{key => @answer.txt} (100%) create mode 100644 packages/crypto/210/@author.txt rename packages/crypto/210/{index.mdwn => @index.mdwn} (100%) rename packages/crypto/220/{key => @answer.txt} (100%) create mode 100644 packages/crypto/220/@author.txt rename packages/crypto/220/{index.mdwn => @index.mdwn} (100%) rename packages/crypto/230/{key => @answer.txt} (100%) create mode 100644 packages/crypto/230/@author.txt rename packages/crypto/230/{index.mdwn => @index.mdwn} (100%) rename packages/crypto/240/{key => @answer.txt} (100%) create mode 100644 packages/crypto/240/@author.txt rename packages/crypto/240/{index.mdwn => @index.mdwn} (100%) rename packages/crypto/400/{key => @answer.txt} (100%) create mode 100644 packages/crypto/400/@author.txt rename packages/crypto/400/{index.mdwn => @index.mdwn} (100%) create mode 100644 packages/forensics/100/@author.txt create mode 100644 packages/forensics/133/@author.txt create mode 100644 packages/forensics/166/@author.txt create mode 100644 packages/forensics/200/@author.txt create mode 100644 packages/forensics/205/@author.txt create mode 100644 packages/forensics/210/@author.txt create mode 100644 packages/forensics/215/@author.txt create mode 100644 packages/forensics/220/@author.txt create mode 100644 packages/forensics/225/@author.txt create mode 100644 packages/forensics/230/@author.txt create mode 100644 packages/forensics/250/@author.txt create mode 100644 packages/forensics/275/@author.txt create mode 100644 packages/forensics/500/@author.txt create mode 100644 packages/forensics/525/@author.txt create mode 100644 packages/forensics/530/@author.txt create mode 100644 packages/forensics/540/@author.txt create mode 100644 packages/forensics/545/@author.txt create mode 100644 packages/forensics/550/@author.txt create mode 100644 packages/forensics/560/@author.txt create mode 100644 packages/forensics/570/@author.txt create mode 100644 packages/forensics/575/@author.txt create mode 100644 packages/forensics/577/@author.txt create mode 100644 packages/forensics/580/@author.txt create mode 100644 packages/forensics/585/@author.txt create mode 100644 packages/forensics/587/@author.txt create mode 100644 packages/forensics/589/@author.txt create mode 100644 packages/forensics/590/@author.txt create mode 100644 packages/forensics/595/@author.txt create mode 100644 packages/forensics/600/@author.txt create mode 100644 packages/forensics/650/@author.txt rename packages/hackme/100/{key => @answer.txt} (100%) create mode 100644 packages/hackme/100/@author.txt rename packages/hackme/100/{index.mdwn => @index.mdwn} (100%) rename packages/hackme/200/{key => @answer.txt} (100%) create mode 100644 packages/hackme/200/@author.txt rename packages/hackme/200/{index.mdwn => @index.mdwn} (100%) rename packages/hackme/274/{key => @answer.txt} (100%) create mode 100644 packages/hackme/274/@author.txt rename packages/hackme/274/{index.mdwn => @index.mdwn} (100%) rename packages/hackme/300/{key => @answer.txt} (100%) create mode 100644 packages/hackme/300/@author.txt rename packages/hackme/300/{index.mdwn => @index.mdwn} (100%) rename packages/hackme/614/{index.mdwn => @answer.txt} (100%) create mode 100644 packages/hackme/614/@author.txt rename packages/hackme/614/{key => @index.mdwn} (100%) rename packages/hackme/806/{index.mdwn => @answer.txt} (100%) create mode 100644 packages/hackme/806/@author.txt rename packages/hackme/806/{key => @index.mdwn} (100%) rename packages/javascript/1/{key => @answer.txt} (100%) rename packages/javascript/1/{index.mdwn => @index.mdwn} (100%) rename packages/javascript/1/{summary => @summary.txt} (100%) rename packages/javascript/2/{key => @answer.txt} (100%) rename packages/javascript/2/{index.mdwn => @index.mdwn} (100%) rename packages/javascript/2/{summary => @summary.txt} (100%) rename packages/javascript/3/{key => @answer.txt} (100%) rename packages/javascript/3/{index.mdwn => @index.mdwn} (100%) rename packages/javascript/3/{summary => @summary.txt} (100%) rename packages/javascript/5/{key => @answer.txt} (100%) rename packages/javascript/5/{index.mdwn => @index.mdwn} (100%) rename packages/javascript/5/{summary => @summary.txt} (100%) rename packages/net-re/1/{key => @answer.txt} (100%) rename packages/net-re/1/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/1/{summary => @summary.txt} (100%) rename packages/net-re/10/{key => @answer.txt} (100%) rename packages/net-re/10/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/10/{summary => @summary.txt} (100%) rename packages/net-re/100/{key => @answer.txt} (100%) rename packages/net-re/100/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/100/{summary => @summary.txt} (100%) rename packages/net-re/1000/{key => @answer.txt} (100%) rename packages/net-re/1000/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/1000/{summary => @summary.txt} (100%) rename packages/net-re/1200/{key => @answer.txt} (100%) rename packages/net-re/1200/{summary => @summary.txt} (100%) rename packages/net-re/2/{key => @answer.txt} (100%) rename packages/net-re/2/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/2/{summary => @summary.txt} (100%) rename packages/net-re/20/{key => @answer.txt} (100%) rename packages/net-re/20/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/20/{summary => @summary.txt} (100%) rename packages/net-re/200/{key => @answer.txt} (100%) rename packages/net-re/200/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/200/{summary => @summary.txt} (100%) rename packages/net-re/2000/{key => @answer.txt} (100%) rename packages/net-re/2000/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/2000/{summary => @summary.txt} (100%) rename packages/net-re/250/{key => @answer.txt} (100%) rename packages/net-re/250/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/250/{summary => @summary.txt} (100%) rename packages/net-re/25000/{key => @answer.txt} (100%) rename packages/net-re/25000/{summary => @summary.txt} (100%) rename packages/net-re/3/{key => @answer.txt} (100%) rename packages/net-re/3/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/3/{summary => @summary.txt} (100%) rename packages/net-re/30/{key => @answer.txt} (100%) rename packages/net-re/30/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/30/{summary => @summary.txt} (100%) rename packages/net-re/300/{key => @answer.txt} (100%) rename packages/net-re/300/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/300/{summary => @summary.txt} (100%) rename packages/net-re/3000/{key => @answer.txt} (100%) rename packages/net-re/3000/{summary => @summary.txt} (100%) rename packages/net-re/4/{key => @answer.txt} (100%) rename packages/net-re/4/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/4/{summary => @summary.txt} (100%) rename packages/net-re/400/{key => @answer.txt} (100%) rename packages/net-re/400/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/400/{summary => @summary.txt} (100%) rename packages/net-re/4000/{key => @answer.txt} (100%) rename packages/net-re/4000/{summary => @summary.txt} (100%) rename packages/net-re/5/{key => @answer.txt} (100%) rename packages/net-re/5/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/5/{summary => @summary.txt} (100%) rename packages/net-re/5000/{key => @answer.txt} (100%) rename packages/net-re/5000/{summary => @summary.txt} (100%) rename packages/net-re/6/{key => @answer.txt} (100%) rename packages/net-re/6/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/6/{summary => @summary.txt} (100%) rename packages/net-re/6000/{key => @answer.txt} (100%) rename packages/net-re/6000/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/6100/{key => @answer.txt} (100%) rename packages/net-re/6100/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/6200/{key => @answer.txt} (100%) rename packages/net-re/6200/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/6300/{key => @answer.txt} (100%) rename packages/net-re/6300/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/7/{key => @answer.txt} (100%) rename packages/net-re/7/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/7/{summary => @summary.txt} (100%) rename packages/net-re/700/{key => @answer.txt} (100%) rename packages/net-re/700/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/700/{summary => @summary.txt} (100%) rename packages/net-re/8/{key => @answer.txt} (100%) rename packages/net-re/8/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/8/{summary => @summary.txt} (100%) rename packages/net-re/800/{key => @answer.txt} (100%) rename packages/net-re/800/{index.mdwn => @index.mdwn} (100%) rename packages/net-re/800/{summary => @summary.txt} (100%) rename packages/sequence/1/{key => @answer.txt} (100%) rename packages/sequence/1/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/1/{summary => @summary.txt} (100%) rename packages/sequence/100/{key => @answer.txt} (100%) rename packages/sequence/100/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/100/{summary => @summary.txt} (100%) rename packages/sequence/1000/{key => @answer.txt} (100%) rename packages/sequence/1000/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/1000/{summary => @summary.txt} (100%) rename packages/sequence/16/{key => @answer.txt} (100%) rename packages/sequence/16/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/16/{summary => @summary.txt} (100%) rename packages/sequence/19/{key => @answer.txt} (100%) rename packages/sequence/19/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/19/{summary => @summary.txt} (100%) rename packages/sequence/2/{key => @answer.txt} (100%) rename packages/sequence/2/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/2/{summary => @summary.txt} (100%) rename packages/sequence/200/{key => @answer.txt} (100%) rename packages/sequence/200/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/200/{summary => @summary.txt} (100%) rename packages/sequence/2000/{key => @answer.txt} (100%) rename packages/sequence/2000/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/25/{key => @answer.txt} (100%) rename packages/sequence/25/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/25/{summary => @summary.txt} (100%) rename packages/sequence/300/{key => @answer.txt} (100%) rename packages/sequence/300/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/300/{summary => @summary.txt} (100%) rename packages/sequence/3000/{key => @answer.txt} (100%) rename packages/sequence/3000/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/35/{key => @answer.txt} (100%) rename packages/sequence/35/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/35/{summary => @summary.txt} (100%) rename packages/sequence/400/{key => @answer.txt} (100%) rename packages/sequence/400/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/400/{summary => @summary.txt} (100%) rename packages/sequence/4000/{key => @answer.txt} (100%) rename packages/sequence/4000/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/50/{key => @answer.txt} (100%) rename packages/sequence/50/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/50/{summary => @summary.txt} (100%) rename packages/sequence/500/{key => @answer.txt} (100%) rename packages/sequence/500/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/500/{summary => @summary.txt} (100%) rename packages/sequence/600/{key => @answer.txt} (100%) rename packages/sequence/600/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/600/{summary => @summary.txt} (100%) rename packages/sequence/700/{key => @answer.txt} (100%) rename packages/sequence/700/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/740/{key => @answer.txt} (100%) rename packages/sequence/740/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/740/{summary => @summary.txt} (100%) rename packages/sequence/8/{key => @answer.txt} (100%) rename packages/sequence/8/{index.mdwn => @index.mdwn} (100%) rename packages/sequence/8/{summary => @summary.txt} (100%) rename packages/sequence/800/{key => @answer.txt} (100%) rename packages/sequence/800/{index.mdwn => @index.mdwn} (100%) rename packages/skynet/100/{key => @answer.txt} (100%) rename packages/skynet/100/{index.mdwn => @index.mdwn} (100%) rename packages/skynet/102/{key => @answer.txt} (100%) rename packages/skynet/102/{index.mdwn => @index.mdwn} (100%) rename packages/skynet/200/{key => @answer.txt} (100%) rename packages/skynet/200/{index.mdwn => @index.mdwn} (100%) rename packages/skynet/202/{key => @answer.txt} (100%) rename packages/skynet/202/{index.mdwn => @index.mdwn} (100%) rename packages/skynet/203/{key => @answer.txt} (100%) rename packages/skynet/203/{index.mdwn => @index.mdwn} (100%) rename packages/skynet/300/{key => @answer.txt} (100%) rename packages/skynet/300/{index.mdwn => @index.mdwn} (100%) rename packages/skynet/301/{key => @answer.txt} (100%) rename packages/skynet/301/{index.mdwn => @index.mdwn} (100%) rename packages/skynet/302/{key => @answer.txt} (100%) rename packages/skynet/302/{index.mdwn => @index.mdwn} (100%) rename packages/skynet/400/{key => @answer.txt} (100%) rename packages/skynet/400/{index.mdwn => @index.mdwn} (100%) rename packages/skynet/401/{key => @answer.txt} (100%) rename packages/skynet/401/{index.mdwn => @index.mdwn} (100%) rename packages/skynet/500/{key => @answer.txt} (100%) rename packages/skynet/500/{index.mdwn => @index.mdwn} (100%) rename packages/skynet/501/{key => @answer.txt} (100%) rename packages/skynet/501/{index.mdwn => @index.mdwn} (100%) rename packages/steg/10/{key => @answer.txt} (100%) rename packages/steg/10/{summary => @summary.txt} (100%) rename packages/steg/100/{key => @answer.txt} (100%) rename packages/steg/100/{summary => @summary.txt} (100%) rename packages/steg/20/{key => @answer.txt} (100%) rename packages/steg/20/{summary => @summary.txt} (100%) rename packages/steg/200/{key => @answer.txt} (100%) rename packages/steg/200/{summary => @summary.txt} (100%) rename packages/steg/30/{key => @answer.txt} (100%) rename packages/steg/30/{index.mdwn => @index.mdwn} (100%) rename packages/steg/30/{summary => @summary.txt} (100%) rename packages/steg/40/{key => @answer.txt} (100%) rename packages/steg/40/{summary => @summary.txt} (100%) rename packages/steg/400/{key => @answer.txt} (100%) rename packages/steg/400/{summary => @summary.txt} (100%) rename packages/steg/50/{key => @answer.txt} (100%) rename packages/steg/50/{summary => @summary.txt} (100%) rename packages/steg/60/{key => @answer.txt} (100%) rename packages/steg/60/{summary => @summary.txt} (100%) rename packages/steg/70/{key => @answer.txt} (100%) rename packages/steg/70/{summary => @summary.txt} (100%) rename packages/webapp/10/{key => @answer.txt} (100%) rename packages/webapp/10/{summary => @summary.txt} (100%) rename packages/webapp/20/{key => @answer.txt} (100%) rename packages/webapp/20/{summary => @summary.txt} (100%) rename packages/webapp/30/{key => @answer.txt} (100%) rename packages/webapp/30/{summary => @summary.txt} (100%) create mode 100644 src/token.c create mode 100644 src/token.h diff --git a/mkpuzzles b/mkpuzzles index 81dc5bc..f0903a3 100755 --- a/mkpuzzles +++ b/mkpuzzles @@ -5,6 +5,11 @@ set -e indir=$1; shift outdir=$1; shift +die () { + echo "$@" 1>&2 + exit 1 +} + escape () { sed 's/&/\&/g;s//\>/g' } @@ -12,6 +17,7 @@ escape () { template () { cat="$1"; shift points="$1"; shift + author=$(echo $1 | escape); shift cat < @@ -47,6 +53,7 @@ EOF Answer: +
Puzzle by $author
EOF @@ -78,8 +85,8 @@ for dn in $indir/[0-9]*; do files= for fn in $dn/*; do case $(basename $fn) in - key|summary|index.mdwn) - # Handle these later + @*) + # Handle meta-information later ;; *~|"#"*) # Don't copy temporary or backup files @@ -96,23 +103,29 @@ for dn in $indir/[0-9]*; do done fi - # Append keys - if [ -f $dn/key ]; then - awk -v P=$points '/./ { printf("%d %s\n", P, $0); }' < $dn/key >> $uanswers + # Append answers + if [ -f $dn/@answer.txt ]; then + awk -v P=$points '/./ { printf("%d %s\n", P, $0); }' < $dn/@answer.txt >> $uanswers else - echo "$dn/key: No such file or directory" 1>&2 - exit 1 + die "$dn/@answer.txt: No such file or directory" fi # Append summary - if [ -f $dn/summary ]; then - awk -v P=$points '/./ { printf("%d %s\n", P, $0); }' < $dn/summary >> $usummary + if [ -f $dn/@summary.txt ]; then + awk -v P=$points '/./ { printf("%d %s\n", P, $0); }' < $dn/@summary.txt >> $usummary + fi + + # Read author + if [ -f $dn/@author.txt ]; then + author=$(cat $dn/@author.txt) + else + die "$dn/@author.txt does not exist." fi # Generate index now that we have a list of files - if [ -f $dn/index.mdwn ]; then - markdown --html4tags $dn/index.mdwn - fi | template $cat $points $files > $tgt/index.html + if [ -f $dn/@index.mdwn ]; then + markdown --html4tags $dn/@index.mdwn + fi | template $cat $points "$author" $files > $tgt/index.html done sort -n $uanswers > $outdir/answers.txt diff --git a/packages/armadillo/src/straceme.c b/packages/armadillo/src/straceme.c index badb03d..ceb9ea2 100644 --- a/packages/armadillo/src/straceme.c +++ b/packages/armadillo/src/straceme.c @@ -68,8 +68,6 @@ main(int argc, char *argv[]) { char cat[50]; int catlen; - char token[200]; - size_t tokenlen; int i; catlen = read(5, cat, sizeof(cat) - 1); diff --git a/packages/armadillo/src/token.c b/packages/armadillo/src/token.c deleted file mode 100644 index 9b29df0..0000000 --- a/packages/armadillo/src/token.c +++ /dev/null @@ -1,42 +0,0 @@ -#include -#include -#include -#include "token.h" -#include "arc4.h" - -#ifndef CTF_BASE -#define CTF_BASE "/var/lib/ctf" -#endif - -ssize_t -write_token(FILE *out, - const char *name, - const uint8_t *key, size_t keylen) -{ - char *base; - char path[PATH_MAX]; - int pathlen; - FILE *f; - ssize_t ret; - - base = getenv("CTF_BASE"); - if (! base) base = CTF_BASE; - - pathlen = snprintf(path, sizeof(path) - 1, - "%s/tokens/%s", base, name); - path[pathlen] = '\0'; - - f = fopen(path, "r"); - if (NULL == f) return -1; - ret = arc4_decrypt_stream(out, f, key, keylen); - fclose(f); - - return ret; -} - -ssize_t -print_token(const char *name, - const uint8_t *key, size_t keylen) -{ - return write_token(stdout, name, key, keylen); -} diff --git a/packages/armadillo/src/token.c b/packages/armadillo/src/token.c new file mode 120000 index 0000000..b64f986 --- /dev/null +++ b/packages/armadillo/src/token.c @@ -0,0 +1 @@ +../../../src/token.c \ No newline at end of file diff --git a/packages/armadillo/src/token.h b/packages/armadillo/src/token.h deleted file mode 100644 index 7eb6167..0000000 --- a/packages/armadillo/src/token.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef __TOKEN_H__ -#define __TOKEN_H__ - -#include -#include -#include - -ssize_t write_token(FILE *out, - const char *name, - const uint8_t *key, size_t keylen); -ssize_t print_token(const char *name, - const uint8_t *key, size_t keylen); - - -#endif diff --git a/packages/armadillo/src/token.h b/packages/armadillo/src/token.h new file mode 120000 index 0000000..18eaf6f --- /dev/null +++ b/packages/armadillo/src/token.h @@ -0,0 +1 @@ +../../../src/token.h \ No newline at end of file diff --git a/packages/basemath/1/key b/packages/basemath/1/@answer.txt similarity index 100% rename from packages/basemath/1/key rename to packages/basemath/1/@answer.txt diff --git a/packages/basemath/1/@author.txt b/packages/basemath/1/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/basemath/1/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/basemath/1/index.mdwn b/packages/basemath/1/@index.mdwn similarity index 100% rename from packages/basemath/1/index.mdwn rename to packages/basemath/1/@index.mdwn diff --git a/packages/basemath/1/summary b/packages/basemath/1/@summary.txt similarity index 100% rename from packages/basemath/1/summary rename to packages/basemath/1/@summary.txt diff --git a/packages/basemath/2/key b/packages/basemath/2/@answer.txt similarity index 100% rename from packages/basemath/2/key rename to packages/basemath/2/@answer.txt diff --git a/packages/basemath/2/@author.txt b/packages/basemath/2/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/basemath/2/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/basemath/2/index.mdwn b/packages/basemath/2/@index.mdwn similarity index 100% rename from packages/basemath/2/index.mdwn rename to packages/basemath/2/@index.mdwn diff --git a/packages/basemath/2/summary b/packages/basemath/2/@summary.txt similarity index 100% rename from packages/basemath/2/summary rename to packages/basemath/2/@summary.txt diff --git a/packages/basemath/3/key b/packages/basemath/3/@answer.txt similarity index 100% rename from packages/basemath/3/key rename to packages/basemath/3/@answer.txt diff --git a/packages/basemath/3/@author.txt b/packages/basemath/3/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/basemath/3/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/basemath/3/index.mdwn b/packages/basemath/3/@index.mdwn similarity index 100% rename from packages/basemath/3/index.mdwn rename to packages/basemath/3/@index.mdwn diff --git a/packages/basemath/3/summary b/packages/basemath/3/@summary.txt similarity index 100% rename from packages/basemath/3/summary rename to packages/basemath/3/@summary.txt diff --git a/packages/basemath/4/key b/packages/basemath/4/@answer.txt similarity index 100% rename from packages/basemath/4/key rename to packages/basemath/4/@answer.txt diff --git a/packages/basemath/4/@author.txt b/packages/basemath/4/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/basemath/4/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/basemath/4/index.mdwn b/packages/basemath/4/@index.mdwn similarity index 100% rename from packages/basemath/4/index.mdwn rename to packages/basemath/4/@index.mdwn diff --git a/packages/basemath/4/summary b/packages/basemath/4/@summary.txt similarity index 100% rename from packages/basemath/4/summary rename to packages/basemath/4/@summary.txt diff --git a/packages/basemath/5/key b/packages/basemath/5/@answer.txt similarity index 100% rename from packages/basemath/5/key rename to packages/basemath/5/@answer.txt diff --git a/packages/basemath/5/@author.txt b/packages/basemath/5/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/basemath/5/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/basemath/5/index.mdwn b/packages/basemath/5/@index.mdwn similarity index 100% rename from packages/basemath/5/index.mdwn rename to packages/basemath/5/@index.mdwn diff --git a/packages/basemath/5/summary b/packages/basemath/5/@summary.txt similarity index 100% rename from packages/basemath/5/summary rename to packages/basemath/5/@summary.txt diff --git a/packages/bletchley/100/key b/packages/bletchley/100/@answer.txt similarity index 100% rename from packages/bletchley/100/key rename to packages/bletchley/100/@answer.txt diff --git a/packages/bletchley/100/@author.txt b/packages/bletchley/100/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/bletchley/100/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/bletchley/100/index.mdwn b/packages/bletchley/100/@index.mdwn similarity index 100% rename from packages/bletchley/100/index.mdwn rename to packages/bletchley/100/@index.mdwn diff --git a/packages/bletchley/100/summary b/packages/bletchley/100/@summary.txt similarity index 100% rename from packages/bletchley/100/summary rename to packages/bletchley/100/@summary.txt diff --git a/packages/bletchley/1000/key b/packages/bletchley/1000/@answer.txt similarity index 100% rename from packages/bletchley/1000/key rename to packages/bletchley/1000/@answer.txt diff --git a/packages/bletchley/1000/@author.txt b/packages/bletchley/1000/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/bletchley/1000/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/bletchley/1000/index.mdwn b/packages/bletchley/1000/@index.mdwn similarity index 100% rename from packages/bletchley/1000/index.mdwn rename to packages/bletchley/1000/@index.mdwn diff --git a/packages/bletchley/1000/summary b/packages/bletchley/1000/@summary.txt similarity index 100% rename from packages/bletchley/1000/summary rename to packages/bletchley/1000/@summary.txt diff --git a/packages/bletchley/150/key b/packages/bletchley/150/@answer.txt similarity index 100% rename from packages/bletchley/150/key rename to packages/bletchley/150/@answer.txt diff --git a/packages/bletchley/150/@author.txt b/packages/bletchley/150/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/bletchley/150/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/bletchley/150/index.mdwn b/packages/bletchley/150/@index.mdwn similarity index 100% rename from packages/bletchley/150/index.mdwn rename to packages/bletchley/150/@index.mdwn diff --git a/packages/bletchley/150/summary b/packages/bletchley/150/@summary.txt similarity index 100% rename from packages/bletchley/150/summary rename to packages/bletchley/150/@summary.txt diff --git a/packages/bletchley/200/key b/packages/bletchley/200/@answer.txt similarity index 100% rename from packages/bletchley/200/key rename to packages/bletchley/200/@answer.txt diff --git a/packages/bletchley/200/@author.txt b/packages/bletchley/200/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/bletchley/200/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/bletchley/200/index.mdwn b/packages/bletchley/200/@index.mdwn similarity index 100% rename from packages/bletchley/200/index.mdwn rename to packages/bletchley/200/@index.mdwn diff --git a/packages/bletchley/200/summary b/packages/bletchley/200/@summary.txt similarity index 100% rename from packages/bletchley/200/summary rename to packages/bletchley/200/@summary.txt diff --git a/packages/bletchley/250/key b/packages/bletchley/250/@answer.txt similarity index 100% rename from packages/bletchley/250/key rename to packages/bletchley/250/@answer.txt diff --git a/packages/bletchley/250/@author.txt b/packages/bletchley/250/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/bletchley/250/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/bletchley/250/index.mdwn b/packages/bletchley/250/@index.mdwn similarity index 100% rename from packages/bletchley/250/index.mdwn rename to packages/bletchley/250/@index.mdwn diff --git a/packages/bletchley/250/summary b/packages/bletchley/250/@summary.txt similarity index 100% rename from packages/bletchley/250/summary rename to packages/bletchley/250/@summary.txt diff --git a/packages/bletchley/300/key b/packages/bletchley/300/@answer.txt similarity index 100% rename from packages/bletchley/300/key rename to packages/bletchley/300/@answer.txt diff --git a/packages/bletchley/300/@author.txt b/packages/bletchley/300/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/bletchley/300/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/bletchley/300/index.mdwn b/packages/bletchley/300/@index.mdwn similarity index 100% rename from packages/bletchley/300/index.mdwn rename to packages/bletchley/300/@index.mdwn diff --git a/packages/bletchley/300/summary b/packages/bletchley/300/@summary.txt similarity index 100% rename from packages/bletchley/300/summary rename to packages/bletchley/300/@summary.txt diff --git a/packages/bletchley/350/key b/packages/bletchley/350/@answer.txt similarity index 100% rename from packages/bletchley/350/key rename to packages/bletchley/350/@answer.txt diff --git a/packages/bletchley/350/@author.txt b/packages/bletchley/350/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/bletchley/350/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/bletchley/350/summary b/packages/bletchley/350/@summary.txt similarity index 100% rename from packages/bletchley/350/summary rename to packages/bletchley/350/@summary.txt diff --git a/packages/bletchley/50/key b/packages/bletchley/50/@answer.txt similarity index 100% rename from packages/bletchley/50/key rename to packages/bletchley/50/@answer.txt diff --git a/packages/bletchley/50/@author.txt b/packages/bletchley/50/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/bletchley/50/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/bletchley/500/key b/packages/bletchley/500/@answer.txt similarity index 100% rename from packages/bletchley/500/key rename to packages/bletchley/500/@answer.txt diff --git a/packages/bletchley/500/@author.txt b/packages/bletchley/500/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/bletchley/500/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/bletchley/500/index.mdwn b/packages/bletchley/500/@index.mdwn similarity index 100% rename from packages/bletchley/500/index.mdwn rename to packages/bletchley/500/@index.mdwn diff --git a/packages/bletchley/500/summary b/packages/bletchley/500/@summary.txt similarity index 100% rename from packages/bletchley/500/summary rename to packages/bletchley/500/@summary.txt diff --git a/packages/bletchley/900/key b/packages/bletchley/900/@answer.txt similarity index 100% rename from packages/bletchley/900/key rename to packages/bletchley/900/@answer.txt diff --git a/packages/bletchley/900/@author.txt b/packages/bletchley/900/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/bletchley/900/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/bletchley/900/summary b/packages/bletchley/900/@summary.txt similarity index 100% rename from packages/bletchley/900/summary rename to packages/bletchley/900/@summary.txt diff --git a/packages/codebreaking/1/key b/packages/codebreaking/1/@answer.txt similarity index 100% rename from packages/codebreaking/1/key rename to packages/codebreaking/1/@answer.txt diff --git a/packages/codebreaking/1/@author.txt b/packages/codebreaking/1/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/codebreaking/1/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/codebreaking/1/index.mdwn b/packages/codebreaking/1/@index.mdwn similarity index 100% rename from packages/codebreaking/1/index.mdwn rename to packages/codebreaking/1/@index.mdwn diff --git a/packages/codebreaking/1/summary b/packages/codebreaking/1/@summary.txt similarity index 100% rename from packages/codebreaking/1/summary rename to packages/codebreaking/1/@summary.txt diff --git a/packages/codebreaking/2/key b/packages/codebreaking/2/@answer.txt similarity index 100% rename from packages/codebreaking/2/key rename to packages/codebreaking/2/@answer.txt diff --git a/packages/codebreaking/2/@author.txt b/packages/codebreaking/2/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/codebreaking/2/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/codebreaking/2/index.mdwn b/packages/codebreaking/2/@index.mdwn similarity index 100% rename from packages/codebreaking/2/index.mdwn rename to packages/codebreaking/2/@index.mdwn diff --git a/packages/codebreaking/2/summary b/packages/codebreaking/2/@summary.txt similarity index 100% rename from packages/codebreaking/2/summary rename to packages/codebreaking/2/@summary.txt diff --git a/packages/codebreaking/3/key b/packages/codebreaking/3/@answer.txt similarity index 100% rename from packages/codebreaking/3/key rename to packages/codebreaking/3/@answer.txt diff --git a/packages/codebreaking/3/@author.txt b/packages/codebreaking/3/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/codebreaking/3/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/codebreaking/3/index.mdwn b/packages/codebreaking/3/@index.mdwn similarity index 100% rename from packages/codebreaking/3/index.mdwn rename to packages/codebreaking/3/@index.mdwn diff --git a/packages/codebreaking/3/summary b/packages/codebreaking/3/@summary.txt similarity index 100% rename from packages/codebreaking/3/summary rename to packages/codebreaking/3/@summary.txt diff --git a/packages/codebreaking/4/key b/packages/codebreaking/4/@answer.txt similarity index 100% rename from packages/codebreaking/4/key rename to packages/codebreaking/4/@answer.txt diff --git a/packages/codebreaking/4/@author.txt b/packages/codebreaking/4/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/codebreaking/4/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/codebreaking/4/index.mdwn b/packages/codebreaking/4/@index.mdwn similarity index 100% rename from packages/codebreaking/4/index.mdwn rename to packages/codebreaking/4/@index.mdwn diff --git a/packages/codebreaking/4/summary b/packages/codebreaking/4/@summary.txt similarity index 100% rename from packages/codebreaking/4/summary rename to packages/codebreaking/4/@summary.txt diff --git a/packages/codebreaking/5/key b/packages/codebreaking/5/@answer.txt similarity index 100% rename from packages/codebreaking/5/key rename to packages/codebreaking/5/@answer.txt diff --git a/packages/codebreaking/5/@author.txt b/packages/codebreaking/5/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/codebreaking/5/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/codebreaking/5/summary b/packages/codebreaking/5/@summary.txt similarity index 100% rename from packages/codebreaking/5/summary rename to packages/codebreaking/5/@summary.txt diff --git a/packages/codebreaking/6/key b/packages/codebreaking/6/@answer.txt similarity index 100% rename from packages/codebreaking/6/key rename to packages/codebreaking/6/@answer.txt diff --git a/packages/codebreaking/6/@author.txt b/packages/codebreaking/6/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/codebreaking/6/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/codebreaking/6/summary b/packages/codebreaking/6/@summary.txt similarity index 100% rename from packages/codebreaking/6/summary rename to packages/codebreaking/6/@summary.txt diff --git a/packages/codebreaking/7/key b/packages/codebreaking/7/@answer.txt similarity index 100% rename from packages/codebreaking/7/key rename to packages/codebreaking/7/@answer.txt diff --git a/packages/codebreaking/7/@author.txt b/packages/codebreaking/7/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/codebreaking/7/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/codebreaking/7/index.mdwn b/packages/codebreaking/7/@index.mdwn similarity index 100% rename from packages/codebreaking/7/index.mdwn rename to packages/codebreaking/7/@index.mdwn diff --git a/packages/codebreaking/7/summary b/packages/codebreaking/7/@summary.txt similarity index 100% rename from packages/codebreaking/7/summary rename to packages/codebreaking/7/@summary.txt diff --git a/packages/codebreaking/8/key b/packages/codebreaking/8/@answer.txt similarity index 100% rename from packages/codebreaking/8/key rename to packages/codebreaking/8/@answer.txt diff --git a/packages/codebreaking/8/@author.txt b/packages/codebreaking/8/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/codebreaking/8/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/codebreaking/8/index.mdwn b/packages/codebreaking/8/@index.mdwn similarity index 100% rename from packages/codebreaking/8/index.mdwn rename to packages/codebreaking/8/@index.mdwn diff --git a/packages/codebreaking/8/summary b/packages/codebreaking/8/@summary.txt similarity index 100% rename from packages/codebreaking/8/summary rename to packages/codebreaking/8/@summary.txt diff --git a/packages/compaq/100/key b/packages/compaq/100/@answer.txt similarity index 100% rename from packages/compaq/100/key rename to packages/compaq/100/@answer.txt diff --git a/packages/compaq/100/@author.txt b/packages/compaq/100/@author.txt new file mode 100644 index 0000000..718ad28 --- /dev/null +++ b/packages/compaq/100/@author.txt @@ -0,0 +1 @@ +Danny Quist diff --git a/packages/compaq/100/index.mdwn b/packages/compaq/100/@index.mdwn similarity index 100% rename from packages/compaq/100/index.mdwn rename to packages/compaq/100/@index.mdwn diff --git a/packages/compaq/1000/key b/packages/compaq/1000/@answer.txt similarity index 100% rename from packages/compaq/1000/key rename to packages/compaq/1000/@answer.txt diff --git a/packages/compaq/1000/@author.txt b/packages/compaq/1000/@author.txt new file mode 100644 index 0000000..718ad28 --- /dev/null +++ b/packages/compaq/1000/@author.txt @@ -0,0 +1 @@ +Danny Quist diff --git a/packages/compaq/1000/index.mdwn b/packages/compaq/1000/@index.mdwn similarity index 100% rename from packages/compaq/1000/index.mdwn rename to packages/compaq/1000/@index.mdwn diff --git a/packages/compaq/150/key b/packages/compaq/150/@answer.txt similarity index 100% rename from packages/compaq/150/key rename to packages/compaq/150/@answer.txt diff --git a/packages/compaq/150/@author.txt b/packages/compaq/150/@author.txt new file mode 100644 index 0000000..718ad28 --- /dev/null +++ b/packages/compaq/150/@author.txt @@ -0,0 +1 @@ +Danny Quist diff --git a/packages/compaq/200/key b/packages/compaq/200/@answer.txt similarity index 100% rename from packages/compaq/200/key rename to packages/compaq/200/@answer.txt diff --git a/packages/compaq/200/@author.txt b/packages/compaq/200/@author.txt new file mode 100644 index 0000000..718ad28 --- /dev/null +++ b/packages/compaq/200/@author.txt @@ -0,0 +1 @@ +Danny Quist diff --git a/packages/compaq/2000/key b/packages/compaq/2000/@answer.txt similarity index 100% rename from packages/compaq/2000/key rename to packages/compaq/2000/@answer.txt diff --git a/packages/compaq/2000/@author.txt b/packages/compaq/2000/@author.txt new file mode 100644 index 0000000..718ad28 --- /dev/null +++ b/packages/compaq/2000/@author.txt @@ -0,0 +1 @@ +Danny Quist diff --git a/packages/compaq/2000/index.mdwn b/packages/compaq/2000/@index.mdwn similarity index 100% rename from packages/compaq/2000/index.mdwn rename to packages/compaq/2000/@index.mdwn diff --git a/packages/compaq/3000/key b/packages/compaq/3000/@answer.txt similarity index 100% rename from packages/compaq/3000/key rename to packages/compaq/3000/@answer.txt diff --git a/packages/compaq/3000/@author.txt b/packages/compaq/3000/@author.txt new file mode 100644 index 0000000..718ad28 --- /dev/null +++ b/packages/compaq/3000/@author.txt @@ -0,0 +1 @@ +Danny Quist diff --git a/packages/compaq/3000/index.mdwn b/packages/compaq/3000/@index.mdwn similarity index 100% rename from packages/compaq/3000/index.mdwn rename to packages/compaq/3000/@index.mdwn diff --git a/packages/compaq/350/key b/packages/compaq/350/@answer.txt similarity index 100% rename from packages/compaq/350/key rename to packages/compaq/350/@answer.txt diff --git a/packages/compaq/350/@author.txt b/packages/compaq/350/@author.txt new file mode 100644 index 0000000..718ad28 --- /dev/null +++ b/packages/compaq/350/@author.txt @@ -0,0 +1 @@ +Danny Quist diff --git a/packages/compaq/400/key b/packages/compaq/400/@answer.txt similarity index 100% rename from packages/compaq/400/key rename to packages/compaq/400/@answer.txt diff --git a/packages/compaq/400/@author.txt b/packages/compaq/400/@author.txt new file mode 100644 index 0000000..718ad28 --- /dev/null +++ b/packages/compaq/400/@author.txt @@ -0,0 +1 @@ +Danny Quist diff --git a/packages/compaq/4000/key b/packages/compaq/4000/@answer.txt similarity index 100% rename from packages/compaq/4000/key rename to packages/compaq/4000/@answer.txt diff --git a/packages/compaq/4000/@author.txt b/packages/compaq/4000/@author.txt new file mode 100644 index 0000000..718ad28 --- /dev/null +++ b/packages/compaq/4000/@author.txt @@ -0,0 +1 @@ +Danny Quist diff --git a/packages/compaq/4000/index.mdwn b/packages/compaq/4000/@index.mdwn similarity index 100% rename from packages/compaq/4000/index.mdwn rename to packages/compaq/4000/@index.mdwn diff --git a/packages/compaq/50/key b/packages/compaq/50/@answer.txt similarity index 100% rename from packages/compaq/50/key rename to packages/compaq/50/@answer.txt diff --git a/packages/compaq/50/@author.txt b/packages/compaq/50/@author.txt new file mode 100644 index 0000000..718ad28 --- /dev/null +++ b/packages/compaq/50/@author.txt @@ -0,0 +1 @@ +Danny Quist diff --git a/packages/compaq/50/index.mdwn b/packages/compaq/50/@index.mdwn similarity index 100% rename from packages/compaq/50/index.mdwn rename to packages/compaq/50/@index.mdwn diff --git a/packages/compaq/500/key b/packages/compaq/500/@answer.txt similarity index 100% rename from packages/compaq/500/key rename to packages/compaq/500/@answer.txt diff --git a/packages/compaq/500/@author.txt b/packages/compaq/500/@author.txt new file mode 100644 index 0000000..718ad28 --- /dev/null +++ b/packages/compaq/500/@author.txt @@ -0,0 +1 @@ +Danny Quist diff --git a/packages/compaq/600/key b/packages/compaq/600/@answer.txt similarity index 100% rename from packages/compaq/600/key rename to packages/compaq/600/@answer.txt diff --git a/packages/compaq/600/@author.txt b/packages/compaq/600/@author.txt new file mode 100644 index 0000000..718ad28 --- /dev/null +++ b/packages/compaq/600/@author.txt @@ -0,0 +1 @@ +Danny Quist diff --git a/packages/crypto/1/key b/packages/crypto/1/@answer.txt similarity index 100% rename from packages/crypto/1/key rename to packages/crypto/1/@answer.txt diff --git a/packages/crypto/1/@author.txt b/packages/crypto/1/@author.txt new file mode 100644 index 0000000..5d7a8e0 --- /dev/null +++ b/packages/crypto/1/@author.txt @@ -0,0 +1 @@ +Paul Ferrell diff --git a/packages/crypto/1/index.mdwn b/packages/crypto/1/@index.mdwn similarity index 100% rename from packages/crypto/1/index.mdwn rename to packages/crypto/1/@index.mdwn diff --git a/packages/crypto/100/key b/packages/crypto/100/@answer.txt similarity index 100% rename from packages/crypto/100/key rename to packages/crypto/100/@answer.txt diff --git a/packages/crypto/100/@author.txt b/packages/crypto/100/@author.txt new file mode 100644 index 0000000..5d7a8e0 --- /dev/null +++ b/packages/crypto/100/@author.txt @@ -0,0 +1 @@ +Paul Ferrell diff --git a/packages/crypto/100/index.mdwn b/packages/crypto/100/@index.mdwn similarity index 100% rename from packages/crypto/100/index.mdwn rename to packages/crypto/100/@index.mdwn diff --git a/packages/crypto/110/key b/packages/crypto/110/@answer.txt similarity index 100% rename from packages/crypto/110/key rename to packages/crypto/110/@answer.txt diff --git a/packages/crypto/110/@author.txt b/packages/crypto/110/@author.txt new file mode 100644 index 0000000..5d7a8e0 --- /dev/null +++ b/packages/crypto/110/@author.txt @@ -0,0 +1 @@ +Paul Ferrell diff --git a/packages/crypto/110/index.mdwn b/packages/crypto/110/@index.mdwn similarity index 100% rename from packages/crypto/110/index.mdwn rename to packages/crypto/110/@index.mdwn diff --git a/packages/crypto/120/key b/packages/crypto/120/@answer.txt similarity index 100% rename from packages/crypto/120/key rename to packages/crypto/120/@answer.txt diff --git a/packages/crypto/120/@author.txt b/packages/crypto/120/@author.txt new file mode 100644 index 0000000..5d7a8e0 --- /dev/null +++ b/packages/crypto/120/@author.txt @@ -0,0 +1 @@ +Paul Ferrell diff --git a/packages/crypto/120/index.mdwn b/packages/crypto/120/@index.mdwn similarity index 100% rename from packages/crypto/120/index.mdwn rename to packages/crypto/120/@index.mdwn diff --git a/packages/crypto/130/key b/packages/crypto/130/@answer.txt similarity index 100% rename from packages/crypto/130/key rename to packages/crypto/130/@answer.txt diff --git a/packages/crypto/130/@author.txt b/packages/crypto/130/@author.txt new file mode 100644 index 0000000..5d7a8e0 --- /dev/null +++ b/packages/crypto/130/@author.txt @@ -0,0 +1 @@ +Paul Ferrell diff --git a/packages/crypto/130/index.mdwn b/packages/crypto/130/@index.mdwn similarity index 100% rename from packages/crypto/130/index.mdwn rename to packages/crypto/130/@index.mdwn diff --git a/packages/crypto/140/key b/packages/crypto/140/@answer.txt similarity index 100% rename from packages/crypto/140/key rename to packages/crypto/140/@answer.txt diff --git a/packages/crypto/140/@author.txt b/packages/crypto/140/@author.txt new file mode 100644 index 0000000..5d7a8e0 --- /dev/null +++ b/packages/crypto/140/@author.txt @@ -0,0 +1 @@ +Paul Ferrell diff --git a/packages/crypto/140/index.mdwn b/packages/crypto/140/@index.mdwn similarity index 100% rename from packages/crypto/140/index.mdwn rename to packages/crypto/140/@index.mdwn diff --git a/packages/crypto/150/key b/packages/crypto/150/@answer.txt similarity index 100% rename from packages/crypto/150/key rename to packages/crypto/150/@answer.txt diff --git a/packages/crypto/150/@author.txt b/packages/crypto/150/@author.txt new file mode 100644 index 0000000..5d7a8e0 --- /dev/null +++ b/packages/crypto/150/@author.txt @@ -0,0 +1 @@ +Paul Ferrell diff --git a/packages/crypto/150/index.mdwn b/packages/crypto/150/@index.mdwn similarity index 100% rename from packages/crypto/150/index.mdwn rename to packages/crypto/150/@index.mdwn diff --git a/packages/crypto/160/key b/packages/crypto/160/@answer.txt similarity index 100% rename from packages/crypto/160/key rename to packages/crypto/160/@answer.txt diff --git a/packages/crypto/160/@author.txt b/packages/crypto/160/@author.txt new file mode 100644 index 0000000..5d7a8e0 --- /dev/null +++ b/packages/crypto/160/@author.txt @@ -0,0 +1 @@ +Paul Ferrell diff --git a/packages/crypto/160/index.mdwn b/packages/crypto/160/@index.mdwn similarity index 100% rename from packages/crypto/160/index.mdwn rename to packages/crypto/160/@index.mdwn diff --git a/packages/crypto/170/key b/packages/crypto/170/@answer.txt similarity index 100% rename from packages/crypto/170/key rename to packages/crypto/170/@answer.txt diff --git a/packages/crypto/170/@author.txt b/packages/crypto/170/@author.txt new file mode 100644 index 0000000..5d7a8e0 --- /dev/null +++ b/packages/crypto/170/@author.txt @@ -0,0 +1 @@ +Paul Ferrell diff --git a/packages/crypto/170/index.mdwn b/packages/crypto/170/@index.mdwn similarity index 100% rename from packages/crypto/170/index.mdwn rename to packages/crypto/170/@index.mdwn diff --git a/packages/crypto/180/key b/packages/crypto/180/@answer.txt similarity index 100% rename from packages/crypto/180/key rename to packages/crypto/180/@answer.txt diff --git a/packages/crypto/180/@author.txt b/packages/crypto/180/@author.txt new file mode 100644 index 0000000..5d7a8e0 --- /dev/null +++ b/packages/crypto/180/@author.txt @@ -0,0 +1 @@ +Paul Ferrell diff --git a/packages/crypto/180/index.mdwn b/packages/crypto/180/@index.mdwn similarity index 100% rename from packages/crypto/180/index.mdwn rename to packages/crypto/180/@index.mdwn diff --git a/packages/crypto/190/key b/packages/crypto/190/@answer.txt similarity index 100% rename from packages/crypto/190/key rename to packages/crypto/190/@answer.txt diff --git a/packages/crypto/190/@author.txt b/packages/crypto/190/@author.txt new file mode 100644 index 0000000..5d7a8e0 --- /dev/null +++ b/packages/crypto/190/@author.txt @@ -0,0 +1 @@ +Paul Ferrell diff --git a/packages/crypto/190/index.mdwn b/packages/crypto/190/@index.mdwn similarity index 100% rename from packages/crypto/190/index.mdwn rename to packages/crypto/190/@index.mdwn diff --git a/packages/crypto/200/key b/packages/crypto/200/@answer.txt similarity index 100% rename from packages/crypto/200/key rename to packages/crypto/200/@answer.txt diff --git a/packages/crypto/200/@author.txt b/packages/crypto/200/@author.txt new file mode 100644 index 0000000..5d7a8e0 --- /dev/null +++ b/packages/crypto/200/@author.txt @@ -0,0 +1 @@ +Paul Ferrell diff --git a/packages/crypto/200/index.mdwn b/packages/crypto/200/@index.mdwn similarity index 100% rename from packages/crypto/200/index.mdwn rename to packages/crypto/200/@index.mdwn diff --git a/packages/crypto/210/key b/packages/crypto/210/@answer.txt similarity index 100% rename from packages/crypto/210/key rename to packages/crypto/210/@answer.txt diff --git a/packages/crypto/210/@author.txt b/packages/crypto/210/@author.txt new file mode 100644 index 0000000..5d7a8e0 --- /dev/null +++ b/packages/crypto/210/@author.txt @@ -0,0 +1 @@ +Paul Ferrell diff --git a/packages/crypto/210/index.mdwn b/packages/crypto/210/@index.mdwn similarity index 100% rename from packages/crypto/210/index.mdwn rename to packages/crypto/210/@index.mdwn diff --git a/packages/crypto/220/key b/packages/crypto/220/@answer.txt similarity index 100% rename from packages/crypto/220/key rename to packages/crypto/220/@answer.txt diff --git a/packages/crypto/220/@author.txt b/packages/crypto/220/@author.txt new file mode 100644 index 0000000..5d7a8e0 --- /dev/null +++ b/packages/crypto/220/@author.txt @@ -0,0 +1 @@ +Paul Ferrell diff --git a/packages/crypto/220/index.mdwn b/packages/crypto/220/@index.mdwn similarity index 100% rename from packages/crypto/220/index.mdwn rename to packages/crypto/220/@index.mdwn diff --git a/packages/crypto/230/key b/packages/crypto/230/@answer.txt similarity index 100% rename from packages/crypto/230/key rename to packages/crypto/230/@answer.txt diff --git a/packages/crypto/230/@author.txt b/packages/crypto/230/@author.txt new file mode 100644 index 0000000..5d7a8e0 --- /dev/null +++ b/packages/crypto/230/@author.txt @@ -0,0 +1 @@ +Paul Ferrell diff --git a/packages/crypto/230/index.mdwn b/packages/crypto/230/@index.mdwn similarity index 100% rename from packages/crypto/230/index.mdwn rename to packages/crypto/230/@index.mdwn diff --git a/packages/crypto/240/key b/packages/crypto/240/@answer.txt similarity index 100% rename from packages/crypto/240/key rename to packages/crypto/240/@answer.txt diff --git a/packages/crypto/240/@author.txt b/packages/crypto/240/@author.txt new file mode 100644 index 0000000..5d7a8e0 --- /dev/null +++ b/packages/crypto/240/@author.txt @@ -0,0 +1 @@ +Paul Ferrell diff --git a/packages/crypto/240/index.mdwn b/packages/crypto/240/@index.mdwn similarity index 100% rename from packages/crypto/240/index.mdwn rename to packages/crypto/240/@index.mdwn diff --git a/packages/crypto/400/key b/packages/crypto/400/@answer.txt similarity index 100% rename from packages/crypto/400/key rename to packages/crypto/400/@answer.txt diff --git a/packages/crypto/400/@author.txt b/packages/crypto/400/@author.txt new file mode 100644 index 0000000..5d7a8e0 --- /dev/null +++ b/packages/crypto/400/@author.txt @@ -0,0 +1 @@ +Paul Ferrell diff --git a/packages/crypto/400/index.mdwn b/packages/crypto/400/@index.mdwn similarity index 100% rename from packages/crypto/400/index.mdwn rename to packages/crypto/400/@index.mdwn diff --git a/packages/forensics/100/@author.txt b/packages/forensics/100/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/100/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/133/@author.txt b/packages/forensics/133/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/133/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/166/@author.txt b/packages/forensics/166/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/166/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/200/@author.txt b/packages/forensics/200/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/200/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/205/@author.txt b/packages/forensics/205/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/205/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/210/@author.txt b/packages/forensics/210/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/210/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/215/@author.txt b/packages/forensics/215/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/215/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/220/@author.txt b/packages/forensics/220/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/220/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/225/@author.txt b/packages/forensics/225/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/225/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/230/@author.txt b/packages/forensics/230/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/230/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/250/@author.txt b/packages/forensics/250/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/250/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/275/@author.txt b/packages/forensics/275/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/275/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/500/@author.txt b/packages/forensics/500/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/500/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/525/@author.txt b/packages/forensics/525/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/525/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/530/@author.txt b/packages/forensics/530/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/530/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/540/@author.txt b/packages/forensics/540/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/540/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/545/@author.txt b/packages/forensics/545/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/545/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/550/@author.txt b/packages/forensics/550/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/550/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/560/@author.txt b/packages/forensics/560/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/560/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/570/@author.txt b/packages/forensics/570/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/570/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/575/@author.txt b/packages/forensics/575/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/575/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/577/@author.txt b/packages/forensics/577/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/577/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/580/@author.txt b/packages/forensics/580/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/580/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/585/@author.txt b/packages/forensics/585/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/585/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/587/@author.txt b/packages/forensics/587/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/587/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/589/@author.txt b/packages/forensics/589/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/589/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/590/@author.txt b/packages/forensics/590/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/590/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/595/@author.txt b/packages/forensics/595/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/595/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/600/@author.txt b/packages/forensics/600/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/600/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/forensics/650/@author.txt b/packages/forensics/650/@author.txt new file mode 100644 index 0000000..fdedbc7 --- /dev/null +++ b/packages/forensics/650/@author.txt @@ -0,0 +1 @@ +Kelcey Tietjen diff --git a/packages/hackme/100/key b/packages/hackme/100/@answer.txt similarity index 100% rename from packages/hackme/100/key rename to packages/hackme/100/@answer.txt diff --git a/packages/hackme/100/@author.txt b/packages/hackme/100/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/hackme/100/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/hackme/100/index.mdwn b/packages/hackme/100/@index.mdwn similarity index 100% rename from packages/hackme/100/index.mdwn rename to packages/hackme/100/@index.mdwn diff --git a/packages/hackme/200/key b/packages/hackme/200/@answer.txt similarity index 100% rename from packages/hackme/200/key rename to packages/hackme/200/@answer.txt diff --git a/packages/hackme/200/@author.txt b/packages/hackme/200/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/hackme/200/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/hackme/200/index.mdwn b/packages/hackme/200/@index.mdwn similarity index 100% rename from packages/hackme/200/index.mdwn rename to packages/hackme/200/@index.mdwn diff --git a/packages/hackme/274/key b/packages/hackme/274/@answer.txt similarity index 100% rename from packages/hackme/274/key rename to packages/hackme/274/@answer.txt diff --git a/packages/hackme/274/@author.txt b/packages/hackme/274/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/hackme/274/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/hackme/274/index.mdwn b/packages/hackme/274/@index.mdwn similarity index 100% rename from packages/hackme/274/index.mdwn rename to packages/hackme/274/@index.mdwn diff --git a/packages/hackme/300/key b/packages/hackme/300/@answer.txt similarity index 100% rename from packages/hackme/300/key rename to packages/hackme/300/@answer.txt diff --git a/packages/hackme/300/@author.txt b/packages/hackme/300/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/hackme/300/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/hackme/300/index.mdwn b/packages/hackme/300/@index.mdwn similarity index 100% rename from packages/hackme/300/index.mdwn rename to packages/hackme/300/@index.mdwn diff --git a/packages/hackme/614/index.mdwn b/packages/hackme/614/@answer.txt similarity index 100% rename from packages/hackme/614/index.mdwn rename to packages/hackme/614/@answer.txt diff --git a/packages/hackme/614/@author.txt b/packages/hackme/614/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/hackme/614/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/hackme/614/key b/packages/hackme/614/@index.mdwn similarity index 100% rename from packages/hackme/614/key rename to packages/hackme/614/@index.mdwn diff --git a/packages/hackme/806/index.mdwn b/packages/hackme/806/@answer.txt similarity index 100% rename from packages/hackme/806/index.mdwn rename to packages/hackme/806/@answer.txt diff --git a/packages/hackme/806/@author.txt b/packages/hackme/806/@author.txt new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/hackme/806/@author.txt @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/hackme/806/key b/packages/hackme/806/@index.mdwn similarity index 100% rename from packages/hackme/806/key rename to packages/hackme/806/@index.mdwn diff --git a/packages/javascript/1/key b/packages/javascript/1/@answer.txt similarity index 100% rename from packages/javascript/1/key rename to packages/javascript/1/@answer.txt diff --git a/packages/javascript/1/index.mdwn b/packages/javascript/1/@index.mdwn similarity index 100% rename from packages/javascript/1/index.mdwn rename to packages/javascript/1/@index.mdwn diff --git a/packages/javascript/1/summary b/packages/javascript/1/@summary.txt similarity index 100% rename from packages/javascript/1/summary rename to packages/javascript/1/@summary.txt diff --git a/packages/javascript/2/key b/packages/javascript/2/@answer.txt similarity index 100% rename from packages/javascript/2/key rename to packages/javascript/2/@answer.txt diff --git a/packages/javascript/2/index.mdwn b/packages/javascript/2/@index.mdwn similarity index 100% rename from packages/javascript/2/index.mdwn rename to packages/javascript/2/@index.mdwn diff --git a/packages/javascript/2/summary b/packages/javascript/2/@summary.txt similarity index 100% rename from packages/javascript/2/summary rename to packages/javascript/2/@summary.txt diff --git a/packages/javascript/3/key b/packages/javascript/3/@answer.txt similarity index 100% rename from packages/javascript/3/key rename to packages/javascript/3/@answer.txt diff --git a/packages/javascript/3/index.mdwn b/packages/javascript/3/@index.mdwn similarity index 100% rename from packages/javascript/3/index.mdwn rename to packages/javascript/3/@index.mdwn diff --git a/packages/javascript/3/summary b/packages/javascript/3/@summary.txt similarity index 100% rename from packages/javascript/3/summary rename to packages/javascript/3/@summary.txt diff --git a/packages/javascript/5/key b/packages/javascript/5/@answer.txt similarity index 100% rename from packages/javascript/5/key rename to packages/javascript/5/@answer.txt diff --git a/packages/javascript/5/index.mdwn b/packages/javascript/5/@index.mdwn similarity index 100% rename from packages/javascript/5/index.mdwn rename to packages/javascript/5/@index.mdwn diff --git a/packages/javascript/5/summary b/packages/javascript/5/@summary.txt similarity index 100% rename from packages/javascript/5/summary rename to packages/javascript/5/@summary.txt diff --git a/packages/logger/src/Makefile b/packages/logger/src/Makefile index 980cb6d..f895c85 100644 --- a/packages/logger/src/Makefile +++ b/packages/logger/src/Makefile @@ -5,7 +5,7 @@ TARGETS = logger all: build build: $(TARGETS) -logger: logger.o token.o +logger: logger.o arc4.o token.o install: $(TARGETS) install -m 0755 $(TARGETS) $(DESTDIR)/bin diff --git a/packages/logger/src/logger.c b/packages/logger/src/logger.c index e8159af..2d47b88 100644 --- a/packages/logger/src/logger.c +++ b/packages/logger/src/logger.c @@ -57,7 +57,7 @@ read_tokens() /* This can't grow beyond 40. Think about it. */ sprintf(name, "logger%d", i); - len = read_token(name, key, sizeof(key), token[i], sizeof(token[i])); + len = get_token(token[i], sizeof(token[i]), name, key, sizeof(key)); if ((-1 == len) || (len >= sizeof(token[i]))) abort(); token[i][len] = '\0'; #endif @@ -641,7 +641,11 @@ main(int argc, char *argv[]) } } - sleep(1); + { + struct timespec t = { 1, 0 }; + + nanosleep(&t, NULL); + } } return 0; diff --git a/packages/logger/src/token.c b/packages/logger/src/token.c index f0a9dcd..b64f986 120000 --- a/packages/logger/src/token.c +++ b/packages/logger/src/token.c @@ -1 +1 @@ -../../../include/token.c \ No newline at end of file +../../../src/token.c \ No newline at end of file diff --git a/packages/logger/src/token.h b/packages/logger/src/token.h index 21e62e4..18eaf6f 120000 --- a/packages/logger/src/token.h +++ b/packages/logger/src/token.h @@ -1 +1 @@ -../../../include/token.h \ No newline at end of file +../../../src/token.h \ No newline at end of file diff --git a/packages/net-re/1/key b/packages/net-re/1/@answer.txt similarity index 100% rename from packages/net-re/1/key rename to packages/net-re/1/@answer.txt diff --git a/packages/net-re/1/index.mdwn b/packages/net-re/1/@index.mdwn similarity index 100% rename from packages/net-re/1/index.mdwn rename to packages/net-re/1/@index.mdwn diff --git a/packages/net-re/1/summary b/packages/net-re/1/@summary.txt similarity index 100% rename from packages/net-re/1/summary rename to packages/net-re/1/@summary.txt diff --git a/packages/net-re/10/key b/packages/net-re/10/@answer.txt similarity index 100% rename from packages/net-re/10/key rename to packages/net-re/10/@answer.txt diff --git a/packages/net-re/10/index.mdwn b/packages/net-re/10/@index.mdwn similarity index 100% rename from packages/net-re/10/index.mdwn rename to packages/net-re/10/@index.mdwn diff --git a/packages/net-re/10/summary b/packages/net-re/10/@summary.txt similarity index 100% rename from packages/net-re/10/summary rename to packages/net-re/10/@summary.txt diff --git a/packages/net-re/100/key b/packages/net-re/100/@answer.txt similarity index 100% rename from packages/net-re/100/key rename to packages/net-re/100/@answer.txt diff --git a/packages/net-re/100/index.mdwn b/packages/net-re/100/@index.mdwn similarity index 100% rename from packages/net-re/100/index.mdwn rename to packages/net-re/100/@index.mdwn diff --git a/packages/net-re/100/summary b/packages/net-re/100/@summary.txt similarity index 100% rename from packages/net-re/100/summary rename to packages/net-re/100/@summary.txt diff --git a/packages/net-re/1000/key b/packages/net-re/1000/@answer.txt similarity index 100% rename from packages/net-re/1000/key rename to packages/net-re/1000/@answer.txt diff --git a/packages/net-re/1000/index.mdwn b/packages/net-re/1000/@index.mdwn similarity index 100% rename from packages/net-re/1000/index.mdwn rename to packages/net-re/1000/@index.mdwn diff --git a/packages/net-re/1000/summary b/packages/net-re/1000/@summary.txt similarity index 100% rename from packages/net-re/1000/summary rename to packages/net-re/1000/@summary.txt diff --git a/packages/net-re/1200/key b/packages/net-re/1200/@answer.txt similarity index 100% rename from packages/net-re/1200/key rename to packages/net-re/1200/@answer.txt diff --git a/packages/net-re/1200/summary b/packages/net-re/1200/@summary.txt similarity index 100% rename from packages/net-re/1200/summary rename to packages/net-re/1200/@summary.txt diff --git a/packages/net-re/2/key b/packages/net-re/2/@answer.txt similarity index 100% rename from packages/net-re/2/key rename to packages/net-re/2/@answer.txt diff --git a/packages/net-re/2/index.mdwn b/packages/net-re/2/@index.mdwn similarity index 100% rename from packages/net-re/2/index.mdwn rename to packages/net-re/2/@index.mdwn diff --git a/packages/net-re/2/summary b/packages/net-re/2/@summary.txt similarity index 100% rename from packages/net-re/2/summary rename to packages/net-re/2/@summary.txt diff --git a/packages/net-re/20/key b/packages/net-re/20/@answer.txt similarity index 100% rename from packages/net-re/20/key rename to packages/net-re/20/@answer.txt diff --git a/packages/net-re/20/index.mdwn b/packages/net-re/20/@index.mdwn similarity index 100% rename from packages/net-re/20/index.mdwn rename to packages/net-re/20/@index.mdwn diff --git a/packages/net-re/20/summary b/packages/net-re/20/@summary.txt similarity index 100% rename from packages/net-re/20/summary rename to packages/net-re/20/@summary.txt diff --git a/packages/net-re/200/key b/packages/net-re/200/@answer.txt similarity index 100% rename from packages/net-re/200/key rename to packages/net-re/200/@answer.txt diff --git a/packages/net-re/200/index.mdwn b/packages/net-re/200/@index.mdwn similarity index 100% rename from packages/net-re/200/index.mdwn rename to packages/net-re/200/@index.mdwn diff --git a/packages/net-re/200/summary b/packages/net-re/200/@summary.txt similarity index 100% rename from packages/net-re/200/summary rename to packages/net-re/200/@summary.txt diff --git a/packages/net-re/2000/key b/packages/net-re/2000/@answer.txt similarity index 100% rename from packages/net-re/2000/key rename to packages/net-re/2000/@answer.txt diff --git a/packages/net-re/2000/index.mdwn b/packages/net-re/2000/@index.mdwn similarity index 100% rename from packages/net-re/2000/index.mdwn rename to packages/net-re/2000/@index.mdwn diff --git a/packages/net-re/2000/summary b/packages/net-re/2000/@summary.txt similarity index 100% rename from packages/net-re/2000/summary rename to packages/net-re/2000/@summary.txt diff --git a/packages/net-re/250/key b/packages/net-re/250/@answer.txt similarity index 100% rename from packages/net-re/250/key rename to packages/net-re/250/@answer.txt diff --git a/packages/net-re/250/index.mdwn b/packages/net-re/250/@index.mdwn similarity index 100% rename from packages/net-re/250/index.mdwn rename to packages/net-re/250/@index.mdwn diff --git a/packages/net-re/250/summary b/packages/net-re/250/@summary.txt similarity index 100% rename from packages/net-re/250/summary rename to packages/net-re/250/@summary.txt diff --git a/packages/net-re/25000/key b/packages/net-re/25000/@answer.txt similarity index 100% rename from packages/net-re/25000/key rename to packages/net-re/25000/@answer.txt diff --git a/packages/net-re/25000/summary b/packages/net-re/25000/@summary.txt similarity index 100% rename from packages/net-re/25000/summary rename to packages/net-re/25000/@summary.txt diff --git a/packages/net-re/3/key b/packages/net-re/3/@answer.txt similarity index 100% rename from packages/net-re/3/key rename to packages/net-re/3/@answer.txt diff --git a/packages/net-re/3/index.mdwn b/packages/net-re/3/@index.mdwn similarity index 100% rename from packages/net-re/3/index.mdwn rename to packages/net-re/3/@index.mdwn diff --git a/packages/net-re/3/summary b/packages/net-re/3/@summary.txt similarity index 100% rename from packages/net-re/3/summary rename to packages/net-re/3/@summary.txt diff --git a/packages/net-re/30/key b/packages/net-re/30/@answer.txt similarity index 100% rename from packages/net-re/30/key rename to packages/net-re/30/@answer.txt diff --git a/packages/net-re/30/index.mdwn b/packages/net-re/30/@index.mdwn similarity index 100% rename from packages/net-re/30/index.mdwn rename to packages/net-re/30/@index.mdwn diff --git a/packages/net-re/30/summary b/packages/net-re/30/@summary.txt similarity index 100% rename from packages/net-re/30/summary rename to packages/net-re/30/@summary.txt diff --git a/packages/net-re/300/key b/packages/net-re/300/@answer.txt similarity index 100% rename from packages/net-re/300/key rename to packages/net-re/300/@answer.txt diff --git a/packages/net-re/300/index.mdwn b/packages/net-re/300/@index.mdwn similarity index 100% rename from packages/net-re/300/index.mdwn rename to packages/net-re/300/@index.mdwn diff --git a/packages/net-re/300/summary b/packages/net-re/300/@summary.txt similarity index 100% rename from packages/net-re/300/summary rename to packages/net-re/300/@summary.txt diff --git a/packages/net-re/3000/key b/packages/net-re/3000/@answer.txt similarity index 100% rename from packages/net-re/3000/key rename to packages/net-re/3000/@answer.txt diff --git a/packages/net-re/3000/summary b/packages/net-re/3000/@summary.txt similarity index 100% rename from packages/net-re/3000/summary rename to packages/net-re/3000/@summary.txt diff --git a/packages/net-re/4/key b/packages/net-re/4/@answer.txt similarity index 100% rename from packages/net-re/4/key rename to packages/net-re/4/@answer.txt diff --git a/packages/net-re/4/index.mdwn b/packages/net-re/4/@index.mdwn similarity index 100% rename from packages/net-re/4/index.mdwn rename to packages/net-re/4/@index.mdwn diff --git a/packages/net-re/4/summary b/packages/net-re/4/@summary.txt similarity index 100% rename from packages/net-re/4/summary rename to packages/net-re/4/@summary.txt diff --git a/packages/net-re/400/key b/packages/net-re/400/@answer.txt similarity index 100% rename from packages/net-re/400/key rename to packages/net-re/400/@answer.txt diff --git a/packages/net-re/400/index.mdwn b/packages/net-re/400/@index.mdwn similarity index 100% rename from packages/net-re/400/index.mdwn rename to packages/net-re/400/@index.mdwn diff --git a/packages/net-re/400/summary b/packages/net-re/400/@summary.txt similarity index 100% rename from packages/net-re/400/summary rename to packages/net-re/400/@summary.txt diff --git a/packages/net-re/4000/key b/packages/net-re/4000/@answer.txt similarity index 100% rename from packages/net-re/4000/key rename to packages/net-re/4000/@answer.txt diff --git a/packages/net-re/4000/summary b/packages/net-re/4000/@summary.txt similarity index 100% rename from packages/net-re/4000/summary rename to packages/net-re/4000/@summary.txt diff --git a/packages/net-re/5/key b/packages/net-re/5/@answer.txt similarity index 100% rename from packages/net-re/5/key rename to packages/net-re/5/@answer.txt diff --git a/packages/net-re/5/index.mdwn b/packages/net-re/5/@index.mdwn similarity index 100% rename from packages/net-re/5/index.mdwn rename to packages/net-re/5/@index.mdwn diff --git a/packages/net-re/5/summary b/packages/net-re/5/@summary.txt similarity index 100% rename from packages/net-re/5/summary rename to packages/net-re/5/@summary.txt diff --git a/packages/net-re/5000/key b/packages/net-re/5000/@answer.txt similarity index 100% rename from packages/net-re/5000/key rename to packages/net-re/5000/@answer.txt diff --git a/packages/net-re/5000/summary b/packages/net-re/5000/@summary.txt similarity index 100% rename from packages/net-re/5000/summary rename to packages/net-re/5000/@summary.txt diff --git a/packages/net-re/6/key b/packages/net-re/6/@answer.txt similarity index 100% rename from packages/net-re/6/key rename to packages/net-re/6/@answer.txt diff --git a/packages/net-re/6/index.mdwn b/packages/net-re/6/@index.mdwn similarity index 100% rename from packages/net-re/6/index.mdwn rename to packages/net-re/6/@index.mdwn diff --git a/packages/net-re/6/summary b/packages/net-re/6/@summary.txt similarity index 100% rename from packages/net-re/6/summary rename to packages/net-re/6/@summary.txt diff --git a/packages/net-re/6000/key b/packages/net-re/6000/@answer.txt similarity index 100% rename from packages/net-re/6000/key rename to packages/net-re/6000/@answer.txt diff --git a/packages/net-re/6000/index.mdwn b/packages/net-re/6000/@index.mdwn similarity index 100% rename from packages/net-re/6000/index.mdwn rename to packages/net-re/6000/@index.mdwn diff --git a/packages/net-re/6100/key b/packages/net-re/6100/@answer.txt similarity index 100% rename from packages/net-re/6100/key rename to packages/net-re/6100/@answer.txt diff --git a/packages/net-re/6100/index.mdwn b/packages/net-re/6100/@index.mdwn similarity index 100% rename from packages/net-re/6100/index.mdwn rename to packages/net-re/6100/@index.mdwn diff --git a/packages/net-re/6200/key b/packages/net-re/6200/@answer.txt similarity index 100% rename from packages/net-re/6200/key rename to packages/net-re/6200/@answer.txt diff --git a/packages/net-re/6200/index.mdwn b/packages/net-re/6200/@index.mdwn similarity index 100% rename from packages/net-re/6200/index.mdwn rename to packages/net-re/6200/@index.mdwn diff --git a/packages/net-re/6300/key b/packages/net-re/6300/@answer.txt similarity index 100% rename from packages/net-re/6300/key rename to packages/net-re/6300/@answer.txt diff --git a/packages/net-re/6300/index.mdwn b/packages/net-re/6300/@index.mdwn similarity index 100% rename from packages/net-re/6300/index.mdwn rename to packages/net-re/6300/@index.mdwn diff --git a/packages/net-re/7/key b/packages/net-re/7/@answer.txt similarity index 100% rename from packages/net-re/7/key rename to packages/net-re/7/@answer.txt diff --git a/packages/net-re/7/index.mdwn b/packages/net-re/7/@index.mdwn similarity index 100% rename from packages/net-re/7/index.mdwn rename to packages/net-re/7/@index.mdwn diff --git a/packages/net-re/7/summary b/packages/net-re/7/@summary.txt similarity index 100% rename from packages/net-re/7/summary rename to packages/net-re/7/@summary.txt diff --git a/packages/net-re/700/key b/packages/net-re/700/@answer.txt similarity index 100% rename from packages/net-re/700/key rename to packages/net-re/700/@answer.txt diff --git a/packages/net-re/700/index.mdwn b/packages/net-re/700/@index.mdwn similarity index 100% rename from packages/net-re/700/index.mdwn rename to packages/net-re/700/@index.mdwn diff --git a/packages/net-re/700/summary b/packages/net-re/700/@summary.txt similarity index 100% rename from packages/net-re/700/summary rename to packages/net-re/700/@summary.txt diff --git a/packages/net-re/8/key b/packages/net-re/8/@answer.txt similarity index 100% rename from packages/net-re/8/key rename to packages/net-re/8/@answer.txt diff --git a/packages/net-re/8/index.mdwn b/packages/net-re/8/@index.mdwn similarity index 100% rename from packages/net-re/8/index.mdwn rename to packages/net-re/8/@index.mdwn diff --git a/packages/net-re/8/summary b/packages/net-re/8/@summary.txt similarity index 100% rename from packages/net-re/8/summary rename to packages/net-re/8/@summary.txt diff --git a/packages/net-re/800/key b/packages/net-re/800/@answer.txt similarity index 100% rename from packages/net-re/800/key rename to packages/net-re/800/@answer.txt diff --git a/packages/net-re/800/index.mdwn b/packages/net-re/800/@index.mdwn similarity index 100% rename from packages/net-re/800/index.mdwn rename to packages/net-re/800/@index.mdwn diff --git a/packages/net-re/800/summary b/packages/net-re/800/@summary.txt similarity index 100% rename from packages/net-re/800/summary rename to packages/net-re/800/@summary.txt diff --git a/packages/sequence/1/key b/packages/sequence/1/@answer.txt similarity index 100% rename from packages/sequence/1/key rename to packages/sequence/1/@answer.txt diff --git a/packages/sequence/1/index.mdwn b/packages/sequence/1/@index.mdwn similarity index 100% rename from packages/sequence/1/index.mdwn rename to packages/sequence/1/@index.mdwn diff --git a/packages/sequence/1/summary b/packages/sequence/1/@summary.txt similarity index 100% rename from packages/sequence/1/summary rename to packages/sequence/1/@summary.txt diff --git a/packages/sequence/100/key b/packages/sequence/100/@answer.txt similarity index 100% rename from packages/sequence/100/key rename to packages/sequence/100/@answer.txt diff --git a/packages/sequence/100/index.mdwn b/packages/sequence/100/@index.mdwn similarity index 100% rename from packages/sequence/100/index.mdwn rename to packages/sequence/100/@index.mdwn diff --git a/packages/sequence/100/summary b/packages/sequence/100/@summary.txt similarity index 100% rename from packages/sequence/100/summary rename to packages/sequence/100/@summary.txt diff --git a/packages/sequence/1000/key b/packages/sequence/1000/@answer.txt similarity index 100% rename from packages/sequence/1000/key rename to packages/sequence/1000/@answer.txt diff --git a/packages/sequence/1000/index.mdwn b/packages/sequence/1000/@index.mdwn similarity index 100% rename from packages/sequence/1000/index.mdwn rename to packages/sequence/1000/@index.mdwn diff --git a/packages/sequence/1000/summary b/packages/sequence/1000/@summary.txt similarity index 100% rename from packages/sequence/1000/summary rename to packages/sequence/1000/@summary.txt diff --git a/packages/sequence/16/key b/packages/sequence/16/@answer.txt similarity index 100% rename from packages/sequence/16/key rename to packages/sequence/16/@answer.txt diff --git a/packages/sequence/16/index.mdwn b/packages/sequence/16/@index.mdwn similarity index 100% rename from packages/sequence/16/index.mdwn rename to packages/sequence/16/@index.mdwn diff --git a/packages/sequence/16/summary b/packages/sequence/16/@summary.txt similarity index 100% rename from packages/sequence/16/summary rename to packages/sequence/16/@summary.txt diff --git a/packages/sequence/19/key b/packages/sequence/19/@answer.txt similarity index 100% rename from packages/sequence/19/key rename to packages/sequence/19/@answer.txt diff --git a/packages/sequence/19/index.mdwn b/packages/sequence/19/@index.mdwn similarity index 100% rename from packages/sequence/19/index.mdwn rename to packages/sequence/19/@index.mdwn diff --git a/packages/sequence/19/summary b/packages/sequence/19/@summary.txt similarity index 100% rename from packages/sequence/19/summary rename to packages/sequence/19/@summary.txt diff --git a/packages/sequence/2/key b/packages/sequence/2/@answer.txt similarity index 100% rename from packages/sequence/2/key rename to packages/sequence/2/@answer.txt diff --git a/packages/sequence/2/index.mdwn b/packages/sequence/2/@index.mdwn similarity index 100% rename from packages/sequence/2/index.mdwn rename to packages/sequence/2/@index.mdwn diff --git a/packages/sequence/2/summary b/packages/sequence/2/@summary.txt similarity index 100% rename from packages/sequence/2/summary rename to packages/sequence/2/@summary.txt diff --git a/packages/sequence/200/key b/packages/sequence/200/@answer.txt similarity index 100% rename from packages/sequence/200/key rename to packages/sequence/200/@answer.txt diff --git a/packages/sequence/200/index.mdwn b/packages/sequence/200/@index.mdwn similarity index 100% rename from packages/sequence/200/index.mdwn rename to packages/sequence/200/@index.mdwn diff --git a/packages/sequence/200/summary b/packages/sequence/200/@summary.txt similarity index 100% rename from packages/sequence/200/summary rename to packages/sequence/200/@summary.txt diff --git a/packages/sequence/2000/key b/packages/sequence/2000/@answer.txt similarity index 100% rename from packages/sequence/2000/key rename to packages/sequence/2000/@answer.txt diff --git a/packages/sequence/2000/index.mdwn b/packages/sequence/2000/@index.mdwn similarity index 100% rename from packages/sequence/2000/index.mdwn rename to packages/sequence/2000/@index.mdwn diff --git a/packages/sequence/25/key b/packages/sequence/25/@answer.txt similarity index 100% rename from packages/sequence/25/key rename to packages/sequence/25/@answer.txt diff --git a/packages/sequence/25/index.mdwn b/packages/sequence/25/@index.mdwn similarity index 100% rename from packages/sequence/25/index.mdwn rename to packages/sequence/25/@index.mdwn diff --git a/packages/sequence/25/summary b/packages/sequence/25/@summary.txt similarity index 100% rename from packages/sequence/25/summary rename to packages/sequence/25/@summary.txt diff --git a/packages/sequence/300/key b/packages/sequence/300/@answer.txt similarity index 100% rename from packages/sequence/300/key rename to packages/sequence/300/@answer.txt diff --git a/packages/sequence/300/index.mdwn b/packages/sequence/300/@index.mdwn similarity index 100% rename from packages/sequence/300/index.mdwn rename to packages/sequence/300/@index.mdwn diff --git a/packages/sequence/300/summary b/packages/sequence/300/@summary.txt similarity index 100% rename from packages/sequence/300/summary rename to packages/sequence/300/@summary.txt diff --git a/packages/sequence/3000/key b/packages/sequence/3000/@answer.txt similarity index 100% rename from packages/sequence/3000/key rename to packages/sequence/3000/@answer.txt diff --git a/packages/sequence/3000/index.mdwn b/packages/sequence/3000/@index.mdwn similarity index 100% rename from packages/sequence/3000/index.mdwn rename to packages/sequence/3000/@index.mdwn diff --git a/packages/sequence/35/key b/packages/sequence/35/@answer.txt similarity index 100% rename from packages/sequence/35/key rename to packages/sequence/35/@answer.txt diff --git a/packages/sequence/35/index.mdwn b/packages/sequence/35/@index.mdwn similarity index 100% rename from packages/sequence/35/index.mdwn rename to packages/sequence/35/@index.mdwn diff --git a/packages/sequence/35/summary b/packages/sequence/35/@summary.txt similarity index 100% rename from packages/sequence/35/summary rename to packages/sequence/35/@summary.txt diff --git a/packages/sequence/400/key b/packages/sequence/400/@answer.txt similarity index 100% rename from packages/sequence/400/key rename to packages/sequence/400/@answer.txt diff --git a/packages/sequence/400/index.mdwn b/packages/sequence/400/@index.mdwn similarity index 100% rename from packages/sequence/400/index.mdwn rename to packages/sequence/400/@index.mdwn diff --git a/packages/sequence/400/summary b/packages/sequence/400/@summary.txt similarity index 100% rename from packages/sequence/400/summary rename to packages/sequence/400/@summary.txt diff --git a/packages/sequence/4000/key b/packages/sequence/4000/@answer.txt similarity index 100% rename from packages/sequence/4000/key rename to packages/sequence/4000/@answer.txt diff --git a/packages/sequence/4000/index.mdwn b/packages/sequence/4000/@index.mdwn similarity index 100% rename from packages/sequence/4000/index.mdwn rename to packages/sequence/4000/@index.mdwn diff --git a/packages/sequence/50/key b/packages/sequence/50/@answer.txt similarity index 100% rename from packages/sequence/50/key rename to packages/sequence/50/@answer.txt diff --git a/packages/sequence/50/index.mdwn b/packages/sequence/50/@index.mdwn similarity index 100% rename from packages/sequence/50/index.mdwn rename to packages/sequence/50/@index.mdwn diff --git a/packages/sequence/50/summary b/packages/sequence/50/@summary.txt similarity index 100% rename from packages/sequence/50/summary rename to packages/sequence/50/@summary.txt diff --git a/packages/sequence/500/key b/packages/sequence/500/@answer.txt similarity index 100% rename from packages/sequence/500/key rename to packages/sequence/500/@answer.txt diff --git a/packages/sequence/500/index.mdwn b/packages/sequence/500/@index.mdwn similarity index 100% rename from packages/sequence/500/index.mdwn rename to packages/sequence/500/@index.mdwn diff --git a/packages/sequence/500/summary b/packages/sequence/500/@summary.txt similarity index 100% rename from packages/sequence/500/summary rename to packages/sequence/500/@summary.txt diff --git a/packages/sequence/600/key b/packages/sequence/600/@answer.txt similarity index 100% rename from packages/sequence/600/key rename to packages/sequence/600/@answer.txt diff --git a/packages/sequence/600/index.mdwn b/packages/sequence/600/@index.mdwn similarity index 100% rename from packages/sequence/600/index.mdwn rename to packages/sequence/600/@index.mdwn diff --git a/packages/sequence/600/summary b/packages/sequence/600/@summary.txt similarity index 100% rename from packages/sequence/600/summary rename to packages/sequence/600/@summary.txt diff --git a/packages/sequence/700/key b/packages/sequence/700/@answer.txt similarity index 100% rename from packages/sequence/700/key rename to packages/sequence/700/@answer.txt diff --git a/packages/sequence/700/index.mdwn b/packages/sequence/700/@index.mdwn similarity index 100% rename from packages/sequence/700/index.mdwn rename to packages/sequence/700/@index.mdwn diff --git a/packages/sequence/740/key b/packages/sequence/740/@answer.txt similarity index 100% rename from packages/sequence/740/key rename to packages/sequence/740/@answer.txt diff --git a/packages/sequence/740/index.mdwn b/packages/sequence/740/@index.mdwn similarity index 100% rename from packages/sequence/740/index.mdwn rename to packages/sequence/740/@index.mdwn diff --git a/packages/sequence/740/summary b/packages/sequence/740/@summary.txt similarity index 100% rename from packages/sequence/740/summary rename to packages/sequence/740/@summary.txt diff --git a/packages/sequence/8/key b/packages/sequence/8/@answer.txt similarity index 100% rename from packages/sequence/8/key rename to packages/sequence/8/@answer.txt diff --git a/packages/sequence/8/index.mdwn b/packages/sequence/8/@index.mdwn similarity index 100% rename from packages/sequence/8/index.mdwn rename to packages/sequence/8/@index.mdwn diff --git a/packages/sequence/8/summary b/packages/sequence/8/@summary.txt similarity index 100% rename from packages/sequence/8/summary rename to packages/sequence/8/@summary.txt diff --git a/packages/sequence/800/key b/packages/sequence/800/@answer.txt similarity index 100% rename from packages/sequence/800/key rename to packages/sequence/800/@answer.txt diff --git a/packages/sequence/800/index.mdwn b/packages/sequence/800/@index.mdwn similarity index 100% rename from packages/sequence/800/index.mdwn rename to packages/sequence/800/@index.mdwn diff --git a/packages/skynet/100/key b/packages/skynet/100/@answer.txt similarity index 100% rename from packages/skynet/100/key rename to packages/skynet/100/@answer.txt diff --git a/packages/skynet/100/index.mdwn b/packages/skynet/100/@index.mdwn similarity index 100% rename from packages/skynet/100/index.mdwn rename to packages/skynet/100/@index.mdwn diff --git a/packages/skynet/102/key b/packages/skynet/102/@answer.txt similarity index 100% rename from packages/skynet/102/key rename to packages/skynet/102/@answer.txt diff --git a/packages/skynet/102/index.mdwn b/packages/skynet/102/@index.mdwn similarity index 100% rename from packages/skynet/102/index.mdwn rename to packages/skynet/102/@index.mdwn diff --git a/packages/skynet/200/key b/packages/skynet/200/@answer.txt similarity index 100% rename from packages/skynet/200/key rename to packages/skynet/200/@answer.txt diff --git a/packages/skynet/200/index.mdwn b/packages/skynet/200/@index.mdwn similarity index 100% rename from packages/skynet/200/index.mdwn rename to packages/skynet/200/@index.mdwn diff --git a/packages/skynet/202/key b/packages/skynet/202/@answer.txt similarity index 100% rename from packages/skynet/202/key rename to packages/skynet/202/@answer.txt diff --git a/packages/skynet/202/index.mdwn b/packages/skynet/202/@index.mdwn similarity index 100% rename from packages/skynet/202/index.mdwn rename to packages/skynet/202/@index.mdwn diff --git a/packages/skynet/203/key b/packages/skynet/203/@answer.txt similarity index 100% rename from packages/skynet/203/key rename to packages/skynet/203/@answer.txt diff --git a/packages/skynet/203/index.mdwn b/packages/skynet/203/@index.mdwn similarity index 100% rename from packages/skynet/203/index.mdwn rename to packages/skynet/203/@index.mdwn diff --git a/packages/skynet/300/key b/packages/skynet/300/@answer.txt similarity index 100% rename from packages/skynet/300/key rename to packages/skynet/300/@answer.txt diff --git a/packages/skynet/300/index.mdwn b/packages/skynet/300/@index.mdwn similarity index 100% rename from packages/skynet/300/index.mdwn rename to packages/skynet/300/@index.mdwn diff --git a/packages/skynet/301/key b/packages/skynet/301/@answer.txt similarity index 100% rename from packages/skynet/301/key rename to packages/skynet/301/@answer.txt diff --git a/packages/skynet/301/index.mdwn b/packages/skynet/301/@index.mdwn similarity index 100% rename from packages/skynet/301/index.mdwn rename to packages/skynet/301/@index.mdwn diff --git a/packages/skynet/302/key b/packages/skynet/302/@answer.txt similarity index 100% rename from packages/skynet/302/key rename to packages/skynet/302/@answer.txt diff --git a/packages/skynet/302/index.mdwn b/packages/skynet/302/@index.mdwn similarity index 100% rename from packages/skynet/302/index.mdwn rename to packages/skynet/302/@index.mdwn diff --git a/packages/skynet/400/key b/packages/skynet/400/@answer.txt similarity index 100% rename from packages/skynet/400/key rename to packages/skynet/400/@answer.txt diff --git a/packages/skynet/400/index.mdwn b/packages/skynet/400/@index.mdwn similarity index 100% rename from packages/skynet/400/index.mdwn rename to packages/skynet/400/@index.mdwn diff --git a/packages/skynet/401/key b/packages/skynet/401/@answer.txt similarity index 100% rename from packages/skynet/401/key rename to packages/skynet/401/@answer.txt diff --git a/packages/skynet/401/index.mdwn b/packages/skynet/401/@index.mdwn similarity index 100% rename from packages/skynet/401/index.mdwn rename to packages/skynet/401/@index.mdwn diff --git a/packages/skynet/500/key b/packages/skynet/500/@answer.txt similarity index 100% rename from packages/skynet/500/key rename to packages/skynet/500/@answer.txt diff --git a/packages/skynet/500/index.mdwn b/packages/skynet/500/@index.mdwn similarity index 100% rename from packages/skynet/500/index.mdwn rename to packages/skynet/500/@index.mdwn diff --git a/packages/skynet/501/key b/packages/skynet/501/@answer.txt similarity index 100% rename from packages/skynet/501/key rename to packages/skynet/501/@answer.txt diff --git a/packages/skynet/501/index.mdwn b/packages/skynet/501/@index.mdwn similarity index 100% rename from packages/skynet/501/index.mdwn rename to packages/skynet/501/@index.mdwn diff --git a/packages/steg/10/key b/packages/steg/10/@answer.txt similarity index 100% rename from packages/steg/10/key rename to packages/steg/10/@answer.txt diff --git a/packages/steg/10/summary b/packages/steg/10/@summary.txt similarity index 100% rename from packages/steg/10/summary rename to packages/steg/10/@summary.txt diff --git a/packages/steg/100/key b/packages/steg/100/@answer.txt similarity index 100% rename from packages/steg/100/key rename to packages/steg/100/@answer.txt diff --git a/packages/steg/100/summary b/packages/steg/100/@summary.txt similarity index 100% rename from packages/steg/100/summary rename to packages/steg/100/@summary.txt diff --git a/packages/steg/20/key b/packages/steg/20/@answer.txt similarity index 100% rename from packages/steg/20/key rename to packages/steg/20/@answer.txt diff --git a/packages/steg/20/summary b/packages/steg/20/@summary.txt similarity index 100% rename from packages/steg/20/summary rename to packages/steg/20/@summary.txt diff --git a/packages/steg/200/key b/packages/steg/200/@answer.txt similarity index 100% rename from packages/steg/200/key rename to packages/steg/200/@answer.txt diff --git a/packages/steg/200/summary b/packages/steg/200/@summary.txt similarity index 100% rename from packages/steg/200/summary rename to packages/steg/200/@summary.txt diff --git a/packages/steg/30/key b/packages/steg/30/@answer.txt similarity index 100% rename from packages/steg/30/key rename to packages/steg/30/@answer.txt diff --git a/packages/steg/30/index.mdwn b/packages/steg/30/@index.mdwn similarity index 100% rename from packages/steg/30/index.mdwn rename to packages/steg/30/@index.mdwn diff --git a/packages/steg/30/summary b/packages/steg/30/@summary.txt similarity index 100% rename from packages/steg/30/summary rename to packages/steg/30/@summary.txt diff --git a/packages/steg/40/key b/packages/steg/40/@answer.txt similarity index 100% rename from packages/steg/40/key rename to packages/steg/40/@answer.txt diff --git a/packages/steg/40/summary b/packages/steg/40/@summary.txt similarity index 100% rename from packages/steg/40/summary rename to packages/steg/40/@summary.txt diff --git a/packages/steg/400/key b/packages/steg/400/@answer.txt similarity index 100% rename from packages/steg/400/key rename to packages/steg/400/@answer.txt diff --git a/packages/steg/400/summary b/packages/steg/400/@summary.txt similarity index 100% rename from packages/steg/400/summary rename to packages/steg/400/@summary.txt diff --git a/packages/steg/50/key b/packages/steg/50/@answer.txt similarity index 100% rename from packages/steg/50/key rename to packages/steg/50/@answer.txt diff --git a/packages/steg/50/summary b/packages/steg/50/@summary.txt similarity index 100% rename from packages/steg/50/summary rename to packages/steg/50/@summary.txt diff --git a/packages/steg/60/key b/packages/steg/60/@answer.txt similarity index 100% rename from packages/steg/60/key rename to packages/steg/60/@answer.txt diff --git a/packages/steg/60/summary b/packages/steg/60/@summary.txt similarity index 100% rename from packages/steg/60/summary rename to packages/steg/60/@summary.txt diff --git a/packages/steg/70/key b/packages/steg/70/@answer.txt similarity index 100% rename from packages/steg/70/key rename to packages/steg/70/@answer.txt diff --git a/packages/steg/70/summary b/packages/steg/70/@summary.txt similarity index 100% rename from packages/steg/70/summary rename to packages/steg/70/@summary.txt diff --git a/packages/webapp/10/key b/packages/webapp/10/@answer.txt similarity index 100% rename from packages/webapp/10/key rename to packages/webapp/10/@answer.txt diff --git a/packages/webapp/10/summary b/packages/webapp/10/@summary.txt similarity index 100% rename from packages/webapp/10/summary rename to packages/webapp/10/@summary.txt diff --git a/packages/webapp/20/key b/packages/webapp/20/@answer.txt similarity index 100% rename from packages/webapp/20/key rename to packages/webapp/20/@answer.txt diff --git a/packages/webapp/20/summary b/packages/webapp/20/@summary.txt similarity index 100% rename from packages/webapp/20/summary rename to packages/webapp/20/@summary.txt diff --git a/packages/webapp/30/key b/packages/webapp/30/@answer.txt similarity index 100% rename from packages/webapp/30/key rename to packages/webapp/30/@answer.txt diff --git a/packages/webapp/30/summary b/packages/webapp/30/@summary.txt similarity index 100% rename from packages/webapp/30/summary rename to packages/webapp/30/@summary.txt diff --git a/src/token.c b/src/token.c new file mode 100644 index 0000000..b6d6c92 --- /dev/null +++ b/src/token.c @@ -0,0 +1,63 @@ +#include +#include +#include +#include "token.h" +#include "arc4.h" + +#ifndef CTF_BASE +#define CTF_BASE "/var/lib/ctf" +#endif + +ssize_t +write_token(FILE *out, + const char *name, + const uint8_t *key, size_t keylen) +{ + char *base; + char path[PATH_MAX]; + int pathlen; + FILE *f; + ssize_t ret; + + base = getenv("CTF_BASE"); + if (! base) base = CTF_BASE; + + pathlen = snprintf(path, sizeof(path) - 1, + "%s/tokens/%s", base, name); + path[pathlen] = '\0'; + + f = fopen(path, "r"); + if (NULL == f) return -1; + ret = arc4_decrypt_stream(out, f, key, keylen); + fclose(f); + + return ret; +} + +ssize_t +print_token(const char *name, + const uint8_t *key, size_t keylen) +{ + return write_token(stdout, name, key, keylen); +} + +ssize_t +get_token(char *buf, size_t buflen, + const char *name, + const uint8_t *key, size_t keylen) +{ + FILE *f; + ssize_t l; + + f = fmemopen(buf, buflen, "w"); + if (! f) return -1; + + l = write_token(f, name, key, keylen); + fclose(f); + if (-1 == l) return -1; + + while ('\n' == buf[l-1]) l -= 1; + buf[l-1] = '\0'; + + return l; +} diff --git a/src/token.h b/src/token.h new file mode 100644 index 0000000..f9eacbb --- /dev/null +++ b/src/token.h @@ -0,0 +1,19 @@ +#ifndef __TOKEN_H__ +#define __TOKEN_H__ + +#define TOKEN_MAX 50 + +#include +#include +#include + +ssize_t write_token(FILE *out, + const char *name, + const uint8_t *key, size_t keylen); +ssize_t print_token(const char *name, + const uint8_t *key, size_t keylen); +ssize_t get_token(char *buf, size_t buflen, + const char *name, + const uint8_t *key, size_t keylen); + +#endif