diff --git a/Makefile b/Makefile index 1c487c0..60aef9a 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ token-validator/token-validator: token-validator/*.go pkg/challenge: pkg/challenge/adlin pkg/challenge/issue pkg/challenge/init $(LINUXKIT) pkg build --platforms linux/amd64 -org nemunaire pkg/challenge/ -challenge-initrd.img: challenge.yml subject/adlin.6.gz subject/adlin-TP1-topologie.png pkg/challenge pkg/shadow-up +challenge-initrd.img: challenge.yml subject/adlin.6.gz subject/adlin-TP1-topologie.png pkg/challenge pkg/challenge/init pkg/shadow-up $(LINUXKIT) build -docker $< diff --git a/pkg/challenge/init b/pkg/challenge/init index 294b330..c08a99c 100755 --- a/pkg/challenge/init +++ b/pkg/challenge/init @@ -87,8 +87,8 @@ losetup -P "${LOOPDEV}" /dev/blk > /dev/null 2> /dev/null mdev -s /sbin/mkfs.ext4 "${LOOPDEV}p1" > /dev/null 2> /dev/null mount "${LOOPDEV}p1" /mnt > /dev/null 2> /dev/null -N1=$((72 - $RANDOM % 35)) -N2=$((25 + $RANDOM % 35)) +N1=$((29 - $RANDOM % 25)) +N2=$((3 + $RANDOM % 25)) { echo -n $N1 echo -n $N2 diff --git a/token-validator/challenge.go b/token-validator/challenge.go index fe8fc7f..c0057ac 100644 --- a/token-validator/challenge.go +++ b/token-validator/challenge.go @@ -197,6 +197,9 @@ func challengeDisk(s *adlin.Student, t *givenToken, chid int) error { if n1+n2 > len(pkey) { n2 = len(pkey) - n1 } + if n1+n2 < n1 { + return errors.New("This is not the expected token.") + } expectedToken := sha512.Sum512([]byte(pkey[n1 : n1+n2]))