aboutsummaryrefslogtreecommitdiffstats
path: root/gpgmeplug/gpgmeplug.c
diff options
context:
space:
mode:
authorSteffen Hansen <[email protected]>2002-06-10 17:53:04 +0000
committerSteffen Hansen <[email protected]>2002-06-10 17:53:04 +0000
commit15188d9a79623ef16b582e1920e94e37665c0870 (patch)
treea480eef2eb64f9e20ab1e76060ecc95b54a8d0e6 /gpgmeplug/gpgmeplug.c
parenttypecast to make khz happy (diff)
downloadgpgme-15188d9a79623ef16b582e1920e94e37665c0870.tar.gz
gpgme-15188d9a79623ef16b582e1920e94e37665c0870.zip
reorder issuer DN also
Diffstat (limited to 'gpgmeplug/gpgmeplug.c')
-rw-r--r--gpgmeplug/gpgmeplug.c16
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);