#!/bin/sh

ARCH="$1"
ROOT="chroot-$ARCH"
MYADDR=builder-$ARCH@pld.org.pl
shift

PATH="/bin:/usr/bin:$HOME/bin:/usr/sbin:/sbin:/usr/X11R6/bin"

ADMIN="Jan Rkorajski <baggins@pld.org.pl>, Sebastian Zagrodzki <zagrodzki@pld.org.pl>"

report_error() {
[ -n "$1" ] && REASON="$1" || REASON="unauthorized access"
cat <<EOF
From: PLD ${ARCH} builder <${MYADDR}>
To: ${ADMIN}
Subject: RPM requester: $REASON

`echo -e "${ALL}"|gpg --decrypt 2>&1`
`echo -e "${ALL}"`
EOF
}

ALL="`cat`"
if echo -e "${ALL}"|gpg --verify >/dev/null 2>&1; then
	HEADERS="`echo -e "${ALL}"|sed -e '/^$/ q'`"
	BODY="`echo -e "${ALL}"|gpg --decrypt 2>/dev/null`"
	FROM="`echo -e \"${HEADERS}\"|grep From:|sed 's/From: //'`"
	HSPEC="`echo -e \"${HEADERS}\"|grep X-Spec:|sed 's/X-Spec: //'`"
	BSPEC="`echo -e \"${BODY}\"|grep X-Spec:|sed 's/X-Spec: //'`"

	if [ ! "$HSPEC" = "$BSPEC" ]; then
		report_error "fake signature"
		exit 1
	fi
	cat > "$HOME/.requests-$ARCH/$BSPEC" <<EOF
From: PLD ${ARCH} builder <${MYADDR}>
To: ${FROM}
Cc: ${ADMIN}
Subject: Build log: ${BSPEC}
X-Spec: ${BSPEC}
X-Architecture: ${ARCH}
 
Request from ${FROM}
EOF

else
	report_error "PGP verify failed"
	exit 1
fi

