mirror of https://github.com/dirtbags/moth.git
And with that, I think it is working again
This commit is contained in:
parent
c0f0893ba5
commit
2796927844
|
@ -67,13 +67,14 @@ EOF
|
|||
}
|
||||
|
||||
cat=$(basename $indir)
|
||||
outdir=$(dirname $0)/puzzles/$cat
|
||||
outdir=$(dirname $0)/../packages/$cat
|
||||
uanswers=$outdir/answers.unsorted
|
||||
usummary=$outdir/summary.unsorted
|
||||
umap=$outdir/map.unsorted
|
||||
|
||||
mkdir -p $outdir
|
||||
if ! [ -r $outdir/mkpuzzles.salt ]; then
|
||||
dd if=/dev/urandom bs=1 count=16 2>/dev/null | md5sum | cut -d\ -f1 > $outdir/salt
|
||||
dd if=/dev/urandom bs=1 count=16 2>/dev/null | md5sum | cut -c1-16 > $outdir/salt
|
||||
fi
|
||||
read salt < $outdir/salt
|
||||
|
||||
|
@ -161,7 +162,17 @@ for dn in $indir/[0-9]*; do
|
|||
printf "%d %s\n" $points $odn >> $umap
|
||||
done
|
||||
|
||||
echo "Generating URL map"
|
||||
sort -n $umap > $outdir/map.txt
|
||||
|
||||
echo "Generating answers list"
|
||||
sort -n $uanswers > $outdir/answers.txt
|
||||
|
||||
echo "Generating summary"
|
||||
[ -f $usummary ] && sort -ns $usummary > $outdir/summary.txt
|
||||
|
||||
echo "Linking into web space"
|
||||
ln -s ../packages/$cat/puzzles www/$cat
|
||||
|
||||
echo "Cleaning up"
|
||||
rm -f $uanswers $usummary $umap
|
||||
|
|
8
bin/once
8
bin/once
|
@ -1,6 +1,6 @@
|
|||
#! /bin/sh
|
||||
|
||||
cd $(dirname $0)
|
||||
cd $(dirname $0)/..
|
||||
|
||||
# Do nothing if `disabled` is present
|
||||
if [ -f disabled ]; then
|
||||
|
@ -10,7 +10,7 @@ fi
|
|||
# Reset to initial state if `reset` is present
|
||||
if [ -f reset ]; then
|
||||
rm -f state/teams/* state/points.new/* state/points.tmp/*
|
||||
> state/points.log
|
||||
: > state/points.log
|
||||
fi
|
||||
|
||||
# Collect new points
|
||||
|
@ -20,11 +20,11 @@ find state/points.new -type f | while read fn; do
|
|||
done
|
||||
|
||||
# Generate new puzzles.html
|
||||
if $KOTH_BASE/puzzles.cgi > www/puzzles.new; then
|
||||
if www/puzzles.cgi > www/puzzles.new; then
|
||||
mv www/puzzles.new www/puzzles.html
|
||||
fi
|
||||
|
||||
# Generate new points.json
|
||||
if $KOTH_BASE/points > www/points.new; then
|
||||
if bin/points state/points.log > www/points.new; then
|
||||
mv www/points.new www/points.json
|
||||
fi
|
||||
|
|
|
@ -108,7 +108,7 @@ hr {
|
|||
|
||||
/**** Section ****/
|
||||
|
||||
section, nav {
|
||||
section, nav, address {
|
||||
color: #35170c;
|
||||
max-width: 35em;
|
||||
border-radius: 0.6em;
|
||||
|
@ -116,7 +116,7 @@ section, nav {
|
|||
padding: 0.5em;
|
||||
}
|
||||
|
||||
section {
|
||||
section, address {
|
||||
background: #e1caa5;
|
||||
}
|
||||
|
||||
|
|
|
@ -54,6 +54,10 @@ function scoreboard(element) {
|
|||
for (var i in teams) {
|
||||
winners.push(teams[i]);
|
||||
}
|
||||
if (winners.length == 0) {
|
||||
// No teams!
|
||||
return;
|
||||
}
|
||||
winners.sort(teamCompare);
|
||||
winners.reverse();
|
||||
|
||||
|
|
4677
html/points.json
4677
html/points.json
File diff suppressed because it is too large
Load Diff
7
install
7
install
|
@ -48,7 +48,7 @@ web () {
|
|||
|
||||
cgi () {
|
||||
target=$DESTDIR/www/$(basename $1 .c)
|
||||
if older $target $@; then
|
||||
if older $target src/common.c $@; then
|
||||
mkdir -p $(dirname $target)
|
||||
src=$1; shift
|
||||
echo "CGI $src"
|
||||
|
@ -64,6 +64,7 @@ setup() {
|
|||
mkdir -p $dir
|
||||
setfacl -m ${www}:rwx $dir
|
||||
done
|
||||
mkdir -p $DESTDIR/packages
|
||||
>> $DESTDIR/state/points.log
|
||||
if ! [ -f $DESTDIR/assigned.txt ]; then
|
||||
hd </dev/urandom | awk '{print $3 $4 $5 $6;}' | head -n 100 > $DESTDIR/assigned.txt
|
||||
|
@ -97,6 +98,8 @@ git ls-files | while read fn; do
|
|||
;;
|
||||
src/common.c)
|
||||
;;
|
||||
src/*.h)
|
||||
;;
|
||||
src/pointscli.c)
|
||||
cc $fn src/common.c
|
||||
;;
|
||||
|
@ -106,8 +109,6 @@ git ls-files | while read fn; do
|
|||
src/*.c)
|
||||
cc $fn
|
||||
;;
|
||||
src/*.h)
|
||||
;;
|
||||
*)
|
||||
echo "??? $fn"
|
||||
;;
|
||||
|
|
12
src/common.c
12
src/common.c
|
@ -203,9 +203,9 @@ cgi_foot()
|
|||
{
|
||||
printf("\n</section>\n");
|
||||
printf("<nav><ul>\n");
|
||||
printf("<li><a href="register.html">Register</a></li>\n");
|
||||
printf("<li><a href="puzzles.html">Puzzles</a></li>\n");
|
||||
printf("<li><a href="scoreboard.html">Scoreboard</a></li>\n");
|
||||
printf("<li><a href=\"register.html\">Register</a></li>\n");
|
||||
printf("<li><a href=\"puzzles.html\">Puzzles</a></li>\n");
|
||||
printf("<li><a href=\"scoreboard.html\">Scoreboard</a></li>\n");
|
||||
printf("</ul></nav>\n");
|
||||
printf("</body></html>\n");
|
||||
|
||||
|
@ -393,12 +393,12 @@ ctf_chdir()
|
|||
}
|
||||
|
||||
/*
|
||||
* Keep going up one directory until there's a packages directory
|
||||
* Keep going up one directory until there's an assigned.txt file
|
||||
*/
|
||||
for (i = 0; i < 5; i += 1) {
|
||||
struct stat st;
|
||||
|
||||
if ((0 == stat("packages", &st)) && S_ISDIR(st.st_mode)) {
|
||||
if ((0 == stat("assigned.txt", &st)) && S_ISREG(st.st_mode)) {
|
||||
return;
|
||||
}
|
||||
chdir("..");
|
||||
|
@ -473,7 +473,7 @@ team_exists(char const *teamhash)
|
|||
/*
|
||||
* stat seems to be the preferred way to check for existence.
|
||||
*/
|
||||
ret = stat(state_path("teams/names/%s", teamhash), &buf);
|
||||
ret = stat(state_path("teams/%s", teamhash), &buf);
|
||||
if (-1 == ret) {
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue