Missing implementation bug fixed: Return both error id and error plain text from decryptMessage().
This commit is contained in:
parent
71266fd6ea
commit
095eef1792
@ -1675,7 +1675,9 @@ bool decryptMessage( const char* ciphertext,
|
|||||||
bool cipherIsBinary,
|
bool cipherIsBinary,
|
||||||
int cipherLen,
|
int cipherLen,
|
||||||
const char** cleartext,
|
const char** cleartext,
|
||||||
const char* certificate );
|
const char* certificate,
|
||||||
|
int* errId,
|
||||||
|
char** errTxt );
|
||||||
|
|
||||||
/*! \ingroup groupCryptAct
|
/*! \ingroup groupCryptAct
|
||||||
\brief Combines the functionality of
|
\brief Combines the functionality of
|
||||||
|
@ -1797,7 +1797,9 @@ bool decryptMessage( const char* ciphertext,
|
|||||||
bool cipherIsBinary,
|
bool cipherIsBinary,
|
||||||
int cipherLen,
|
int cipherLen,
|
||||||
const char** cleartext,
|
const char** cleartext,
|
||||||
const char* certificate )
|
const char* certificate,
|
||||||
|
int* errId,
|
||||||
|
char** errTxt )
|
||||||
{
|
{
|
||||||
GpgmeCtx ctx;
|
GpgmeCtx ctx;
|
||||||
GpgmeError err;
|
GpgmeError err;
|
||||||
@ -1827,7 +1829,19 @@ bool decryptMessage( const char* ciphertext,
|
|||||||
|
|
||||||
gpgme_data_new( &gPlaintext );
|
gpgme_data_new( &gPlaintext );
|
||||||
|
|
||||||
gpgme_op_decrypt( ctx, gCiphertext, gPlaintext );
|
err = err = gpgme_op_decrypt( ctx, gCiphertext, gPlaintext );
|
||||||
|
if( err ) {
|
||||||
|
fprintf( stderr, "\ngpgme_op_decrypt() returned this error code: %i\n\n", err );
|
||||||
|
if( errId )
|
||||||
|
*errId = err;
|
||||||
|
if( errTxt ) {
|
||||||
|
const char* _errTxt = gpgme_strerror( err );
|
||||||
|
*errTxt = malloc( strlen( _errTxt ) + 1 );
|
||||||
|
if( *errTxt )
|
||||||
|
strcpy(*errTxt, _errTxt );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
gpgme_data_release( gCiphertext );
|
gpgme_data_release( gCiphertext );
|
||||||
|
|
||||||
rCiph = gpgme_data_release_and_get_mem( gPlaintext, &rCLen );
|
rCiph = gpgme_data_release_and_get_mem( gPlaintext, &rCLen );
|
||||||
|
Loading…
Reference in New Issue
Block a user