diff options
author | Werner Koch <[email protected]> | 2008-11-18 11:12:36 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2008-11-18 11:12:36 +0000 |
commit | 92394f92d4c194be21652f474e8bdb2af7c61f2c (patch) | |
tree | 72db8f4c8556eb2b280104454bbe02bb9a7c79a6 /src | |
parent | 008-11-03 Marcus Brinkmann <[email protected]> (diff) | |
download | gpgme-92394f92d4c194be21652f474e8bdb2af7c61f2c.tar.gz gpgme-92394f92d4c194be21652f474e8bdb2af7c61f2c.zip |
Fix SIGPIPE ignoring regression.
Fix unsupported algorithm detection.
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 14 | ||||
-rw-r--r-- | src/decrypt.c | 7 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 16 insertions, 7 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 9a8a7495..f899c055 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,11 @@ +2008-11-18 Werner Koch <[email protected]> + + * version.c (do_subsystem_inits): Always initialize I/O + subsystem. Fixes regression from 2007-08-02. + + * decrypt.c (_gpgme_decrypt_status_handler): Use + _gpgme_map_gnupg_error to parse the error code for decrypt.algorithm. + 2008-10-30 Marcus Brinkmann <[email protected]> * wait-private.c (_gpgme_wait_on_condition): Remove unused @@ -479,9 +487,9 @@ * w32-io.c (_gpgme_io_spawn): Ditto. (_gpgme_io_write): Map ERROR_NO_DATA to EPIPE. * debug.c (_gpgme_debug): Enable assuan logging. - (_gpgme_debug_subsystem_init): New. * version.c - (do_subsystem_inits): Disable assuan logging and initialize de - debug system. + (_gpgme_debug_subsystem_init): New. + * version.c (do_subsystem_inits): Disable assuan logging and + initialize the debug system. (gpgme_check_version): Do not trace before the subsystems are initialized. diff --git a/src/decrypt.c b/src/decrypt.c index 66250b12..2569f97c 100644 --- a/src/decrypt.c +++ b/src/decrypt.c @@ -180,7 +180,6 @@ _gpgme_decrypt_status_handler (void *priv, gpgme_status_code_t code, related to the backend. */ { const char d_alg[] = "decrypt.algorithm"; - const char u_alg[] = "Unsupported_Algorithm"; const char k_alg[] = "decrypt.keyusage"; if (!strncmp (args, d_alg, sizeof (d_alg) - 1)) @@ -189,11 +188,13 @@ _gpgme_decrypt_status_handler (void *priv, gpgme_status_code_t code, while (*args == ' ') args++; - if (!strncmp (args, u_alg, sizeof (u_alg) - 1)) + if (gpg_err_code (_gpgme_map_gnupg_error (args)) + == GPG_ERR_UNSUPPORTED_ALGORITHM) { char *end; - args += sizeof (u_alg) - 1; + while (*args && *args != ' ') + args++; while (*args == ' ') args++; diff --git a/src/version.c b/src/version.c index dd23ccfc..084f2a52 100644 --- a/src/version.c +++ b/src/version.c @@ -60,8 +60,8 @@ do_subsystem_inits (void) assuan_set_assuan_err_source (GPG_ERR_SOURCE_GPGME); #endif /*HAVE_ASSUAN_H*/ _gpgme_debug_subsystem_init (); -#if defined(HAVE_W32_SYSTEM) && defined(HAVE_ASSUAN_H) _gpgme_io_subsystem_init (); +#if defined(HAVE_W32_SYSTEM) && defined(HAVE_ASSUAN_H) /* We need to make sure that the sockets are initialized. */ { WSADATA wsadat; |