aboutsummaryrefslogtreecommitdiffstats
path: root/src/op-support.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2018-04-18 13:20:35 +0000
committerWerner Koch <[email protected]>2018-04-18 13:20:35 +0000
commit65479fe7b871ad6237d5a8959b73afcc7db784da (patch)
tree7e06281e27addc3a18a6a5e184f69e5c44c82278 /src/op-support.c
parentcore: Fix possible compliance mode detection error. (diff)
downloadgpgme-65479fe7b871ad6237d5a8959b73afcc7db784da.tar.gz
gpgme-65479fe7b871ad6237d5a8959b73afcc7db784da.zip
core: Add 'is_mime' flags to the verify and decrypt results.
* src/op-support.c (_gpgme_parse_plaintext): Add arg r_mime. * src/decrypt.c (_gpgme_decrypt_status_handler): Ser mime flag. * src/verify.c (_gpgme_verify_status_handler): Ditto. * src/gpgme.h.in (gpgme_op_verify_result_t): Append fields 'is_mime' and '_unused'. (gpgme_op_decrypt_result_t): New field 'is_mime'. Shrink '_unused'. * tests/run-decrypt.c (print_result): Print MIME flag. * tests/run-verify.c (print_result): Ditto. -- Note that this flag (Liternal Data packet's 'm' mode) is only specified in RFC-4880bis. To use it you currently need to add "rfc4880bis" to the the gpg.conf. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'src/op-support.c')
-rw-r--r--src/op-support.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/op-support.c b/src/op-support.c
index e55875f9..03f274cf 100644
--- a/src/op-support.c
+++ b/src/op-support.c
@@ -358,7 +358,7 @@ _gpgme_parse_key_considered (const char *args,
/* Parse the PLAINTEXT status line in ARGS and return the result in
FILENAMEP. */
gpgme_error_t
-_gpgme_parse_plaintext (char *args, char **filenamep)
+_gpgme_parse_plaintext (char *args, char **filenamep, int *r_mime)
{
char *tail;
@@ -367,7 +367,9 @@ _gpgme_parse_plaintext (char *args, char **filenamep)
if (*args == '\0')
return 0;
- /* First argument is file type. */
+ /* First argument is file type (a one byte uppercase hex value). */
+ if (args[0] == '6' && args[1] == 'D')
+ *r_mime = 1;
while (*args != ' ' && *args != '\0')
args++;
while (*args == ' ')