diff options
author | Steffen Hansen <[email protected]> | 2002-06-10 17:53:04 +0000 |
---|---|---|
committer | Steffen Hansen <[email protected]> | 2002-06-10 17:53:04 +0000 |
commit | 15188d9a79623ef16b582e1920e94e37665c0870 (patch) | |
tree | a480eef2eb64f9e20ab1e76060ecc95b54a8d0e6 /gpgmeplug/gpgmeplug.c | |
parent | typecast to make khz happy (diff) | |
download | gpgme-15188d9a79623ef16b582e1920e94e37665c0870.tar.gz gpgme-15188d9a79623ef16b582e1920e94e37665c0870.zip |
reorder issuer DN also
Diffstat (limited to 'gpgmeplug/gpgmeplug.c')
-rw-r--r-- | gpgmeplug/gpgmeplug.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/gpgmeplug/gpgmeplug.c b/gpgmeplug/gpgmeplug.c index f448de33..7b1cc942 100644 --- a/gpgmeplug/gpgmeplug.c +++ b/gpgmeplug/gpgmeplug.c @@ -2079,6 +2079,7 @@ struct CertificateInfo* nextCertificate( struct CertIterator* it ) const char* s; unsigned long u; char* names[MAX_GPGME_IDX+1]; + struct DnPair *issuer_dn, *tmp_dn; memset( names, 0, sizeof( names ) ); freeInfo( &(it->info) ); @@ -2109,8 +2110,19 @@ struct CertificateInfo* nextCertificate( struct CertIterator* it ) it->info.fingerprint = make_fingerprint( s ); s = gpgme_key_get_string_attr (key, GPGME_ATTR_ISSUER, 0, 0); - it->info.issuer = xstrdup(s); - + if( s ) { + issuer_dn = tmp_dn = parse_dn( s ); + /*it->info.issuer = xstrdup(s);*/ + it->info.issuer = reorder_dn( issuer_dn ); + while( tmp_dn->key ) { + safe_free( (void**)&issuer_dn->key ); + safe_free( (void**)&issuer_dn->value ); + ++tmp_dn; + } + safe_free( (void**)&issuer_dn ); + } else { + it->info.issuer = NULL; + } s = gpgme_key_get_string_attr (key, GPGME_ATTR_CHAINID, 0, 0); it->info.chainid = xstrdup(s); |