mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
Minor tweak to importing to allow more non-signed uids (now that
--allow-non-selfsigned-uid allows for completey unsigned uids). Do not choose an attribute packet (i.e. photo) as primary uid. This prevents oddities like "Good signature from [image of size 2671]". This is still not perfect (one can still select an attribute packet as primary in --edit), but is closer to the way the draft is going. The algorithms list should include #110. --pgp2 implies --no-ask-sig-expire and --no-ask-cert-expire as those would cause a v4 sig/cert. Be more lenient in what constitutes a valid armor header (i.e. -----BEGIN blah blah-----) as some Windows programs seem to add spaces at the end. --openpgp makes it strict again
This commit is contained in:
parent
d5a39044ef
commit
ff8460f20d
5 changed files with 40 additions and 16 deletions
10
g10/getkey.c
10
g10/getkey.c
|
@ -176,6 +176,7 @@ get_primary_uid ( KBNODE keyblock, size_t *uidlen )
|
|||
|
||||
for (k=keyblock; k; k=k->next ) {
|
||||
if ( k->pkt->pkttype == PKT_USER_ID
|
||||
&& !k->pkt->pkt.user_id->attrib_data
|
||||
&& k->pkt->pkt.user_id->is_primary ) {
|
||||
*uidlen = k->pkt->pkt.user_id->len;
|
||||
return k->pkt->pkt.user_id->name;
|
||||
|
@ -1429,7 +1430,8 @@ merge_selfsigs_main( KBNODE keyblock, int *r_revoked )
|
|||
uiddate = uiddate2 = 0;
|
||||
uidnode = uidnode2 = NULL;
|
||||
for(k=keyblock; k && k->pkt->pkttype != PKT_PUBLIC_SUBKEY; k = k->next ) {
|
||||
if ( k->pkt->pkttype == PKT_USER_ID ) {
|
||||
if ( k->pkt->pkttype == PKT_USER_ID &&
|
||||
!k->pkt->pkt.user_id->attrib_data) {
|
||||
PKT_user_id *uid = k->pkt->pkt.user_id;
|
||||
if ( uid->is_primary && uid->created > uiddate ) {
|
||||
uiddate = uid->created;
|
||||
|
@ -1444,7 +1446,8 @@ merge_selfsigs_main( KBNODE keyblock, int *r_revoked )
|
|||
if ( uidnode ) {
|
||||
for(k=keyblock; k && k->pkt->pkttype != PKT_PUBLIC_SUBKEY;
|
||||
k = k->next ) {
|
||||
if ( k->pkt->pkttype == PKT_USER_ID ) {
|
||||
if ( k->pkt->pkttype == PKT_USER_ID &&
|
||||
!k->pkt->pkt.user_id->attrib_data) {
|
||||
PKT_user_id *uid = k->pkt->pkt.user_id;
|
||||
if ( k != uidnode )
|
||||
uid->is_primary = 0;
|
||||
|
@ -1464,7 +1467,8 @@ merge_selfsigs_main( KBNODE keyblock, int *r_revoked )
|
|||
for(k=keyblock; k && k->pkt->pkttype != PKT_PUBLIC_SUBKEY;
|
||||
k = k->next )
|
||||
{
|
||||
if(k->pkt->pkttype==PKT_USER_ID)
|
||||
if(k->pkt->pkttype==PKT_USER_ID &&
|
||||
!k->pkt->pkt.user_id->attrib_data)
|
||||
{
|
||||
k->pkt->pkt.user_id->is_primary=1;
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue