aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteffen Hansen <[email protected]>2002-08-20 23:37:43 +0000
committerSteffen Hansen <[email protected]>2002-08-20 23:37:43 +0000
commita579b5fa35dce16ce234bb0a11eb5a5b9f3c29f9 (patch)
treebea1899d904d5e0f3e3bec2095a4fb3eb847b246
parent2002-08-21 Marcus Brinkmann <[email protected]> (diff)
downloadgpgme-a579b5fa35dce16ce234bb0a11eb5a5b9f3c29f9.tar.gz
gpgme-a579b5fa35dce16ce234bb0a11eb5a5b9f3c29f9.zip
Use gpgme_op_import_ext() instead of gpgme_op_import()
Diffstat (limited to '')
-rw-r--r--gpgmeplug/ChangeLog9
-rw-r--r--gpgmeplug/gpgmeplug.c27
2 files changed, 30 insertions, 6 deletions
diff --git a/gpgmeplug/ChangeLog b/gpgmeplug/ChangeLog
index 1acb58df..b2e25402 100644
--- a/gpgmeplug/ChangeLog
+++ b/gpgmeplug/ChangeLog
@@ -1,6 +1,13 @@
+2002-08-20 Steffen Hansen <[email protected]>
+
+ * Use gpgme_op_import_ext() instead of gpgme_op_import(). We
+ should now be able to better check for the case when we have no
+ error, but still no certificate was imported.
+
2002-07-31 Steffen Hansen <[email protected]>
- * Renamed importCertificate() to importCertificateWithFPR() and implemented importCertificateFromMem()
+ * Renamed importCertificate() to importCertificateWithFPR() and
+ implemented importCertificateFromMem().
2002-07-03 Werner Koch <[email protected]>
diff --git a/gpgmeplug/gpgmeplug.c b/gpgmeplug/gpgmeplug.c
index f6030083..404189d6 100644
--- a/gpgmeplug/gpgmeplug.c
+++ b/gpgmeplug/gpgmeplug.c
@@ -2243,6 +2243,7 @@ importCertificateWithFPR( const char* fingerprint, char** additional_info )
char* buf;
const char* tmp1;
char* tmp2;
+ int count = 0;
err = gpgme_new( &ctx );
/*fprintf( stderr, "2: gpgme returned %d\n", err );*/
@@ -2305,15 +2306,23 @@ importCertificateWithFPR( const char* fingerprint, char** additional_info )
free (buf);
buf = NULL;
- err = gpgme_op_import( ctx, keydata );
+ err = gpgme_op_import_ext( ctx, keydata, &count );
*additional_info = gpgme_get_op_info( ctx, 0 );
if( err ) {
- fprintf( stderr, "gpgme_op_import returned %d\n", err );
+ fprintf( stderr, "gpgme_op_import_ext returned %d\n", err );
gpgme_recipients_release( recips );
gpgme_data_release( keydata );
gpgme_release( ctx );
return err;
}
+ if( count < 1 ) {
+ /* we didn't import anything?!? */
+ fprintf( stderr, "gpgme_op_import_ext did not import any certificates\n" );
+ gpgme_recipients_release( recips );
+ gpgme_data_release( keydata );
+ gpgme_release( ctx );
+ return -1; /* FIXME */
+ }
gpgme_recipients_release( recips );
gpgme_data_release( keydata );
@@ -2326,6 +2335,7 @@ importCertificateFromMem( const char* data, size_t length , char** additional_in
GpgmeError err;
GpgmeCtx ctx;
GpgmeData keydata;
+ int count = 0;
err = gpgme_new( &ctx );
/*fprintf( stderr, "2: gpgme returned %d\n", err );*/
@@ -2342,14 +2352,21 @@ importCertificateFromMem( const char* data, size_t length , char** additional_in
return err;
}
- err = gpgme_op_import( ctx, keydata );
+ err = gpgme_op_import_ext( ctx, keydata, &count );
*additional_info = gpgme_get_op_info( ctx, 0 );
- if( err ) {
- fprintf( stderr, "gpgme_op_import returned %d\n", err );
+ if( err) {
+ fprintf( stderr, "gpgme_op_import_ext returned %d\n", err );
gpgme_data_release( keydata );
gpgme_release( ctx );
return err;
}
+ if( count < 1 ) {
+ /* we didn't import anything?!? */
+ fprintf( stderr, "gpgme_op_import_ext did not import any certificate\n", err );
+ gpgme_data_release( keydata );
+ gpgme_release( ctx );
+ return -1; /* FIXME */
+ }
gpgme_data_release( keydata );
gpgme_release( ctx );