aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>2019-05-20 16:52:00 -0400
committerDavid Bremner <david@tethera.net>2019-05-20 18:24:15 -0300
commit0def7b6860decf7bd725a962c2dbc3ebc2ac418c (patch)
tree2fd641ff866e9c5df243f519957e50ab6a59c42f
parent7546fd9cf69775cc256bd9d2878b2426fe14248b (diff)
configure: handle TEMP_GPG more robustly
We never want ./configure to try to do something with an unassigned variable. So, make the directory $TEMP_GPG at the start of the testing of session-key handling, and clean it up afterwards as long as the directory exists. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
-rwxr-xr-xconfigure10
1 files changed, 7 insertions, 3 deletions
diff --git a/configure b/configure
index f7d37e50..474513a0 100755
--- a/configure
+++ b/configure
@@ -529,8 +529,10 @@ int main () {
return 0;
}
EOF
- if ${CC} ${CFLAGS} ${gmime_cflags} ${gmime_ldflags} _check_session_keys.c -o _check_session_keys \
- && TEMP_GPG=$(mktemp -d) \
+ if ! TEMP_GPG=$(mktemp -d); then
+ printf 'No.\nCould not make tempdir for testing session-key support.\n'
+ errors=$((errors + 1))
+ elif ${CC} ${CFLAGS} ${gmime_cflags} ${gmime_ldflags} _check_session_keys.c -o _check_session_keys \
&& GNUPGHOME=${TEMP_GPG} gpg --batch --quiet --import < test/gnupg-secret-key.asc \
&& SESSION_KEY=$(GNUPGHOME=${TEMP_GPG} ./_check_session_keys) \
&& [ $SESSION_KEY = 9:0BACD64099D1468AB07C796F0C0AC4851948A658A15B34E803865E9FC635F2F5 ]
@@ -552,9 +554,11 @@ EOF
else
printf 'You do not have the GPGME development libraries installed.\n'
fi
- rm -rf "$TEMP_GPG"
errors=$((errors + 1))
fi
+ if [ -n "$TEMP_GPG" -a -d "$TEMP_GPG" ]; then
+ rm -rf "$TEMP_GPG"
+ fi
else
have_gmime=0
printf "No.\n"