#!/bin/sh
# Copyright 2008 Free Software Foundation, Inc.
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.  This file is
# distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY, to the extent permitted by law; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

. $srcdir/defs.inc || exit 3

i=$srcdir/bug894-test.asc
info "Checking bug 894: segv importing certain keys."
if $GPG --import $i; then
  :
else
  error "$i: import failed (bug 894)"
fi


boguskey=$srcdir/bug1223-bogus.asc
goodkey=$srcdir/bug1223-good.asc
keyid=0xC108E83A
info "Checking bug 1223: designated revoker sigs are not properly merged."
$GPG --delete-key --batch --yes $keyid 2>/dev/null || true
$GPG --import $boguskey || true
$GPG --import $goodkey || true
if $GPG --list-keys --with-colons $keyid \
    | grep '^rvk:.*:0EE5BE979282D80B9F7540F1CCD2ED94D21739E9:' >/dev/null; then
  :
else
  error "$goodkey: import failed (bug 1223)"
fi


key1=$srcdir/samplekeys/dda252ebb8ebe1af-1.asc
key2=$srcdir/samplekeys/dda252ebb8ebe1af-2.asc
fpr1=9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF
fpr2=A55120427374F3F7AA5F1166DDA252EBB8EBE1AF
info "Checking import of two keys with colliding long key ids."
$GPG --delete-key --batch --yes $fpr1 $fpr2 2>/dev/null || true
$GPG --import $key1 || true
$GPG --import $key2 || true
n=$($GPG --list-keys --with-colons $fpr1 $fpr2 2>/dev/null \
    | grep '^pub:.:4096:1:DDA252EBB8EBE1AF:' | wc -l)
if [ $n -ne 2 ] ; then
  error "Importing keys with long id collision failed"
fi
