diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 125 | ||||
| -rw-r--r-- | src/Makefile.am | 18 | ||||
| -rw-r--r-- | src/decrypt.c | 16 | ||||
| -rw-r--r-- | src/extra-stati.h | 29 | ||||
| -rwxr-xr-x | src/mkstatus | 16 | 
5 files changed, 125 insertions, 79 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index f891d980..9b1ef8d5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2011-02-03  Werner Koch  <[email protected]> + +	* extra-stati.h: New. +	* mkstatus: Extend to also process extra-stati.h +	* Makefile.am (main_sources): Add extra-stati.h +	(status-table.h): Depend on extra-stati.h and adjust rule. +  2010-12-08  Werner Koch  <[email protected]>  	* gpgme-tool.c (strcpy_escaped_plus): New. @@ -928,7 +935,7 @@  2009-06-16  Werner Koch  <[email protected]> -	* version.c: Include stdlib.h.  +	* version.c: Include stdlib.h.  	* gpgme.h.in (gpgme_data_encoding_t): Add GPGME_DATA_ENCODING_URL,  	GPGME_DATA_ENCODING_URLESC, GPGME_DATA_ENCODING_URL0. @@ -1007,7 +1014,7 @@  	* gpgme.c: Include priv-io.h.  	(gpgme_io_read, gpgme_io_write): New. -	* libgpgme.vers (GPGME_1.1): Add them.  +	* libgpgme.vers (GPGME_1.1): Add them.  	* gpgme.def: Ditto.  	* Makefile.am (main_sources): Remove gpgme.h. @@ -1471,7 +1478,7 @@  	(_gpgme_engine_ops_gpgsm): Insert new function.  	(gpgsm_new): Try to enable audit log support.  	* rungpg.c (_gpgme_engine_ops_gpg): Insert dummy entry. -	 +  2007-11-20  Werner Koch  <[email protected]>  	* op-support.c (_gpgme_parse_inv_recp): Add new reason code 11. @@ -1668,7 +1675,7 @@  	drops to 0.  	(find_reader, find_writer, kill_reader, kill_writer): Beautify.  	* priv-io.h (_gpgme_io_dup): New prototype. -	* posix-io.c (_gpgme_io_dup): New function.  +	* posix-io.c (_gpgme_io_dup): New function.  	* w32-io.c (_gpgme_io_dup): Likewise.  	* w32-glib-io.c (_gpgme_io_dup): Likewise.  	* engine-gpgsm.c (start): Reverting to version 2007-07-10. @@ -1686,7 +1693,7 @@  	in case of error.  	* w32-io.c (_gpgme_io_read): Return C->error_code in ERRNO.  	(_gpgme_io_write): Likewise. -	 +  	* priv-io.h (_gpgme_io_set_close_notify): Change type of HANDLER  	to _gpgme_close_notify_handler.  	(_gpgme_close_notify_handler): New type. @@ -1723,7 +1730,7 @@  2007-07-10  Marcus Brinkmann  <[email protected]>  	* priv-io.h (_gpgme_io_dup): New prototype. -	* posix-io.c (_gpgme_io_dup): New function.  +	* posix-io.c (_gpgme_io_dup): New function.  	* w32-io.c (_gpgme_io_dup): Likewise.  	* w32-glib-io.c (_gpgme_io_dup): Likewise.  	* engine-gpgsm.c (start): Use _gpgme_dup() instead of dup(). @@ -1766,7 +1773,7 @@  	(fd_cbs): Add fd_get_fd.  	* data-stream.c (stream_get_fd): New function.  	(stream_cbs): Add stream_get_fd. -	* data-mem.c (mem_cbs): Add NULL for get_fd callback.	 +	* data-mem.c (mem_cbs): Add NULL for get_fd callback.  	* data-user.c (user_cbs): Likewise.  	* engine-gpgsm.c (gpgsm_set_fd) [USE_DESCRIPTOR_PASSING]: Try to  	short-cut by passing the data descriptor directly. @@ -1811,7 +1818,7 @@  	* engine-gpgsm.c (gpgsm_new): Move code to dup status_fd to ...  	(start): ... here.  	* posix-io.c (_gpgme_io_recvmsg, _gpgme_io_sendmsg): New functions. -	 +  	* engine.h (_gpgme_engine_new): Remove arguments lc_ctype and  	lc_messages from prototype.  	(_gpgme_engine_set_locale): New prototype. @@ -2058,7 +2065,7 @@  	(libgpgme_pth_la_SOURCES): Add $(system_components_not_extra).  	(libgpgme_glib_la_LDFLAGS, libgpgme_glib_la_DEPENDENCIES,  	(libgpgme_glib_la_LIBADD, libgpgme_glib_la_CFLAGS) -	[BUILD_W32_GLIB]: New variables.  +	[BUILD_W32_GLIB]: New variables.  	* gpgme-config.in (glib): New option.  	* gpgme.m4 (AM_PATH_GPGME_GLIB): New macro. @@ -2254,7 +2261,7 @@  	* gpgme.def: New.  	* versioninfo.rc.in: New.  	* Makefile.am: Addes support for building a W32 DLL. -	 +  	* ttyname_r.c (ttyname_r) [W32]: Return error.  	* ath-compat.c [W32]: select and co are not yet supported; return  	error. @@ -2266,7 +2273,7 @@  	(_gpgme_stpcpy): .. this and made inline.  This avoids duplicate  	definitions when linking statically.  	* stpcpy.c: Removed. -	 +  2005-07-27  Marcus Brinkmann  <[email protected]>  	* gpgme.h (gpgme_status_code_t): Add GPGME_STATUS_PLAINTEXT. @@ -2392,7 +2399,7 @@  	* data.c, engine-gpgsm.c, posix-io.c, rungpg.c, version.c,  	w32-io.c, wait-private.c, wait-global.c, wait-user.c, wait.c:  	Change all includes of "io.h" to "priv-io.h" -	 +  2005-03-09  Werner Koch  <[email protected]>  	* w32-util.c (_gpgme_get_gpg_path, _gpgme_get_gpgsm_path): Do not @@ -2408,7 +2415,7 @@  	files.  2005-03-07  Timo Schulz  <[email protected]> -  +          * gpgme.h: [_WIN32] Removed ssize_t typedef.          * ath.h: [_WIN32] Added some (dummy) types.          * io.h: [_WIN32] include stdio.h. @@ -2548,7 +2555,7 @@  	* data.c (_gpgme_data_outbound_handler): Close the file descriptor  	if we get an EPIPE. -	 +  	* data-stream.c (stream_seek): Call ftello and return the current  	offset.  	* data.h (struct gpgme_data): Change type of data.mem.offset to @@ -2711,7 +2718,7 @@  2004-02-17  Werner Koch  <[email protected]> -	* gpgme.h: Add GPGME_KEYLIST_MODE_VALIDATE.  +	* gpgme.h: Add GPGME_KEYLIST_MODE_VALIDATE.  	* engine-gpgsm.c (gpgsm_keylist): Send this to gpgsm.  2004-02-15  Werner Koch  <[email protected]> @@ -3114,7 +3121,7 @@  	* engine.c: Rename EngineObject to engine_t in the file.  Also  	EngineStatusHandler to engine_status_handler_t,  	EngineCommandHandler to engine_command_handler_t and -	EngineColonLineHandler to engine_colon_line_handler.	 +	EngineColonLineHandler to engine_colon_line_handler.  	* rungpg.c (start): Likewise.  	* engine-gpgsm.c: Likewise.  	* engine-backend.h (struct engine_ops): Likewise @@ -3613,7 +3620,7 @@  	(gpgme_op_sign): Likewise.  	* encrypt-sign.c (_gpgme_op_encrypt_sign_start): Call  	_gpgme_op_sign_init_result. -	 +  	* delete.c: Include <errno.h> and "gpgme.h", but not "util.h" or  	"key.h".  	(enum delete_problem): Move into function delete_status_handler. @@ -3699,7 +3706,7 @@  	(_gpgme_data_inbound_handler): Expand _gpgme_data_append, because  	it will go.  Do not assert DH.  	(_gpgme_data_outbound_handler): Do not assert DH. -	 +  	* export.c: Do not include <stdlib.h>, "debug.h" and "util.h", but  	"gpgme.h".  	(export_status_handler): Change type of first argument to void *. @@ -3716,7 +3723,7 @@  	* key.c (gpgme_key_get_string_attr): Fix validity attribute.  2003-04-24  Marcus Brinkmann  <[email protected]> -	 +  	* gpgme.h (struct _gpgme_op_genkey_result): New structure.  	(GpgmeGenKeyResult): New type.  	(gpgme_op_genkey): Drop last argument. @@ -4060,7 +4067,7 @@  	* version.c (gpgme_get_engine_info): Rewritten.  	* gpgme.h (gpgme_engine_info): New structure.  	(GpgmeEngineInfo): New type. -	 +  2003-01-29  Marcus Brinkmann  <[email protected]>  	* types.h: Remove byte and ulong types. @@ -4205,7 +4212,7 @@  	* key.c (gpgme_key_sig_get_string_attr): Use validity_to_string  	instead otrust_to_string to calculate validity. -	 +  2003-01-19  Miguel Coca  <[email protected]>  	* w32-io.c (_gpgme_io_select): Add missing argument in calls to @@ -4250,8 +4257,8 @@  	_gpgme_engine_start.  	* delete.c (_gpgme_op_delete_start): Likewise.  	* edit.c (_gpgme_op_edit_start): Likewise. -	* encrypt.c (_gpgme_op_encrypt_start):  -	* encrypt-sign.c (_gpgme_op_encrypt_sign_start):  +	* encrypt.c (_gpgme_op_encrypt_start): +	* encrypt-sign.c (_gpgme_op_encrypt_sign_start):  	* export.c (_gpgme_op_export_start): Likewise.  	* genkey.c (_gpgme_op_genkey_start): Likewise.  	* import.c (_gpgme_op_import_start): Likewise. @@ -4323,7 +4330,7 @@  	(mem_release): Change return type to void.  	* data-user.c (user_read): Change return type to ssize_t.  	(user_release): Change return type to void. -	* data-compat.c (old_user_read): Change return type to ssize_t.	 +	* data-compat.c (old_user_read): Change return type to ssize_t.  	* gpgme.h (GpgmeDataReadCb): Likewise.  	(gpgme_data_read): Likewise.  	(GpgmeDataSeekCb): Change return type to off_t. @@ -4436,7 +4443,7 @@  	_gpgme_data_append_string_for_xml rather than  	_gpgme_data_append_string for the field content.  	Submitted by Miguel Coca <[email protected]>. -	 +  2002-10-10  Marcus Brinkmann  <[email protected]>  	* rungpg.h, engine-gpgsm.h: File removed. @@ -4798,7 +4805,7 @@  	* import.c (_gpgme_op_import_start): Likewise.  	* sign.c (_gpgme_op_sign_start): Likewise.  	* verify.c (_gpgme_op_verify_start): Likewise. -	 +  	* encrypt.c (gpgme_op_encrypt): Remove hack that returns invalid  	no recipient if no data was returned.  	* encrypt-sign.c (gpgme_op_encrypt_sign): Remove hack that returns @@ -4833,7 +4840,7 @@  	(build_argv): Use new member INBOUND to determine direction of  	file descriptor.  Don't check the data type.  	* rungpg.h (_gpgme_gpg_add_data): Add new argument to prototype. -	 +  	* gpgme.c (gpgme_get_op_info): Don't call  	_gpgme_data_get_as_string if CTX->op_info is NULL. @@ -4968,7 +4975,7 @@  2002-08-23  Werner Koch  <[email protected]> -	* gpgme-config.in: Made --prefix work for --libs.  +	* gpgme-config.in: Made --prefix work for --libs.  2002-08-21  Marcus Brinkmann  <[email protected]> @@ -4994,7 +5001,7 @@  	* gpgme.m4: Replaced with a new and faster version.  This does not  	anymore try to build test programs.  If we really need test -	programs, we should add an option to gpgme-config to do so.  +	programs, we should add an option to gpgme-config to do so.  	* vasprintf.c (int_vasprintf): Hack to handle NULL passed for %s. @@ -5019,7 +5026,7 @@  	* gpgme.h (GPGME_KEYLIST_MODE_SIGS): New.  	* rungpg.c (_gpgme_gpg_op_keylist): Include sigs in listing depending  	non the list mode. -	 +  	* key.c (gpgme_key_get_string_attr): Use GPGME_ATTR_TYPE to return  	information about the key type (PGP or X.509).  	(gpgme_key_get_ulong_attr): Likewise. @@ -5101,7 +5108,7 @@  	* rungpg.c (struct gpg_object_s): Likewise for CMD.code.  	These changes add an edit operation to GPGME: -	 +  	* context.h (struct gpgme_context_s): New member RESULT.edit.  *  	ops.h: Add prototype for _gpgme_release_edit_result and  	_gpgme_passphrase_command_handler. @@ -5232,7 +5239,7 @@  	table (eg use synchronous mode).  	(gpgme_op_trustlist_next): Remove HANG argument from  	_gpgme_wait_on_condition.  Check its return value. -	 +  2002-06-27  Marcus Brinkmann  <[email protected]>  	* gpgme.h: Fix documentation of key attribute retrieval functions. @@ -5308,7 +5315,7 @@  2002-06-12  Werner Koch  <[email protected]>  	* keylist.c (struct keylist_result_s): New. -	(_gpgme_release_keylist_result): Release it here  +	(_gpgme_release_keylist_result): Release it here  	(keylist_status_handler): Handle truncated.  	(append_xml_keylistinfo): New.  	* gpgme.c (_gpgme_release_result): and use it here. @@ -5661,7 +5668,7 @@  	* verify.c (_gpgme_verify_status_handler): Handle TRUST_* status  	lines so that a claim can be made without looking up the key. -	(gpgme_get_sig_string_attr): New.  +	(gpgme_get_sig_string_attr): New.  	(gpgme_get_sig_ulong_attr): New.  	* gpgme.h (GpgmeAttr): Added GPGME_ATTR_SIG_STATUS. @@ -5671,7 +5678,7 @@  	* gpgme.h (GpgmeSigStat): Add _GOOD_EXP and _GOOD_EXPKEY.  	* verify.c (_gpgme_verify_status_handler, finish_sig): Handle -	these new status codes.  Store the expiration time  +	these new status codes.  Store the expiration time  2002-04-27  Werner Koch  <[email protected]> @@ -5845,7 +5852,7 @@  	* rungpg.c (_gpgme_append_gpg_args_from_signers): New function.  	(_gpgme_gpg_op_sign): Use that new function.  	(_gpgme_gpg_op_encrypt_sign): New function. -	* rungpg.h (_gpgme_gpg_op_encrypt_sign): New prototype.  +	* rungpg.h (_gpgme_gpg_op_encrypt_sign): New prototype.  	* gpgme.h (gpgme_op_encrypt_sign_start): New prototype.  	(gpgme_op_encrypt_sign): Likewise.  	* Makefile.am (libgpgme_la_SOURCES): Add encrypt-sign.c. @@ -5857,7 +5864,7 @@  	(_gpgme_encrypt_status_handler): ... this and make non-static.  	* encrypt.c (gpgme_op_encrypt_start): Use new status handler name.  	* sign.c (gpgme_op_sign_start): Likewise. -	 +  2002-02-25  Marcus Brinkmann  <[email protected]>  	* verify.c (_gpgme_verify_status_handler): Parse the args line to @@ -6460,7 +6467,7 @@  	server process from wait queue.  	(_gpgme_gpgsm_op_verify, _gpgme_gpgsm_start,  	_gpgme_gpgsm_set_status_handler, gpgms_status_handler): New function. -	 +  	* engine.c (_gpgme_engine_start): Implement for GPGME_PROTOCOL_CMS.  	(_gpgme_engine_set_status_handler): Likewise.  	(_gpgme_engine_op_verify): Likewise. @@ -6544,7 +6551,7 @@  	* engine.c: Likewise.  	* engine-gpgsm.h: Likewise.  	* engine-gpgsm.c: Likewise. -	 +  	* rungpg.c (_gpgme_gpg_get_version): New function.  	(_gpgme_gpg_check_version): Likewise.  	* rungpg.h: Add prototypes for _gpgme_gpg_get_version and @@ -6739,7 +6746,7 @@  	* keylist.c (finish_key): Shortcut for no tmp_key.  Changed all  	callers to use this function without a check for tmp_key. -	 +  	* keylist.c (gpgme_op_keylist_next): Reset the key_cond after  	emptying the queue.  Bug reported by Stéphane Corthésy. @@ -6771,12 +6778,12 @@  	* keylist.c (keylist_colon_handler): Do a finish key if we receive  	an EOF here.  This is probably the reason for a lot of bugs  	related to keylisting.  It is so obvious.  Kudos to Enno Cramer -	for pointing that out.  +	for pointing that out.  2001-08-28  Werner Koch  <[email protected]>  	* gpgme.c, gpgme.h (gpgme_get_op_info): New. -	(_gpgme_set_op_info): New.  +	(_gpgme_set_op_info): New.  	(_gpgme_release_result): Reset the op_info here.  	* sign.c (append_xml_siginfo): New.  	(sign_status_handler): Store the sig create information. @@ -6826,12 +6833,12 @@  2001-05-01  José Carlos García Sogo <[email protected]>  	* encrypt.c (gpgme_op_encrypt_start): Deleted the assert ( !c->gpg ) -	line, because it gave an error if another operation had been made  +	line, because it gave an error if another operation had been made  	before using the same context. -	 -	* decrypt.c (gpgme_op_decrypt_start): The same as above. Also added  + +	* decrypt.c (gpgme_op_decrypt_start): The same as above. Also added  	one line to release the gpg object in the context (if any). -	 +  2001-04-26  Werner Koch  <[email protected]>  	* key.c, key.h (_gpgme_key_cache_init): New. @@ -6854,14 +6861,14 @@  	* w32-io.c (_gpgme_io_select): Don't select on the writer if there  	are still bytes pending.  Timo found this not easy to track down -	race condition.  +	race condition.  2001-04-02  Werner Koch  <[email protected]>  	* gpgme.h: Add GPGME_ATTR_KEY_{EXPIRED,DISABLED}.  	* key.c (gpgme_key_get_ulong_attr): And return those attribs. -	* verify.c (gpgme_get_sig_key): Set keyliosting mode depending on  +	* verify.c (gpgme_get_sig_key): Set keyliosting mode depending on  	the mode set in the current context.  Suggested by Timo.  	* key.c (gpgme_key_get_ulong_attr): Return can_certify and not @@ -6889,7 +6896,7 @@  2001-03-14  Werner Koch  <[email protected]> -	* w32-io.c (destroy_reader,destroy_writer): Fixed syntax error.  +	* w32-io.c (destroy_reader,destroy_writer): Fixed syntax error.  	Thanks to Jan Oliver Wagner.  2001-03-13  Werner Koch  <[email protected]> @@ -6897,7 +6904,7 @@  	* context.h: Add invalid and revoke flags to user_id structure.  	* keylist.c (gpgme_op_keylist_start): Use --fixed-list-mode.  	(keylist_colon_handler): Adjust for that. - 	(set_userid_flags): New.  + 	(set_userid_flags): New.  	(set_mainkey_trust_info): Handle new key invalid flag  	(set_subkey_trust_info): Ditto.  	* gpgme.h: Add new attributes for key and user ID flags. @@ -6919,11 +6926,11 @@  2001-02-20  Werner Koch  <[email protected]> -	* w32-io.c (destroy_reader,kill_reader): New.  +	* w32-io.c (destroy_reader,kill_reader): New.  	(create_reader, reader): Add a new event to stop the thread.  	(_gpgme_io_close): Kill the reader thread. -	* posix-io.c (_gpgme_io_select): Handle frozen fds here.  +	* posix-io.c (_gpgme_io_select): Handle frozen fds here.  	* 32-io.c (_gpgme_io_select): Ditto. Removed a bunch of unused code.  	* wait.c: Reworked the whole thing. @@ -6947,7 +6954,7 @@  	* posix-io.c (_gpgme_io_set_close_notify): New.  	(_gpgme_io_close): Do the notification. -	* rungpg.c (close_notify_handler): New.  +	* rungpg.c (close_notify_handler): New.  	(_gpgme_gpg_new): Register a callback for the fd.  	(_gpgme_gpg_set_colon_line_handler): Ditto.  	(build_argv): Ditto @@ -6965,19 +6972,19 @@  	* keylist.c (gpgme_op_keylist_start): Cancel a pending request. -	* posix-io.c (_gpgme_io_read): Add some debug output.  +	* posix-io.c (_gpgme_io_read): Add some debug output.  	(_gpgme_io_write): Ditto.  	(_gpgme_io_select): Increased the timeout.  2001-02-12  Werner Koch  <[email protected]>  	Enhanced the signature verification, so that it can how handle -	more than one signature and is able to return more information on  +	more than one signature and is able to return more information on  	the signatures.  	* verify.c (gpgme_get_sig_key): New.  	(gpgme_get_sig_status): New. -	* gpgme.h: Add stdio.h.  +	* gpgme.h: Add stdio.h.  	(GpgmeSigStat): New status DIFF.  2001-02-01  Werner Koch  <[email protected]> @@ -6992,8 +6999,8 @@  	* wait.c (_gpgme_wait_on_condition): Removed all exit code processing.  	(propagate_term_results,clear_active_fds): Removed. -	(count_active_fds): Renamed to ..  -	(count_active_and_thawed_fds): .. this and count only thawed fds.  +	(count_active_fds): Renamed to .. +	(count_active_and_thawed_fds): .. this and count only thawed fds.  	* rungpg.c (gpg_colon_line_handler): Return colon.eof and not  	status.eof ;-) @@ -7014,7 +7021,7 @@  	test his fix :-)  	* w32-io.c: Does now use reader threads, so that we can use -	WaitForMultipleObjects.  +	WaitForMultipleObjects.  	* sema.h, posix-sema.c, w32-sema.c: Support for Critcial sections.  	Does currently only work for W32. diff --git a/src/Makefile.am b/src/Makefile.am index 0065c073..18c8b3b3 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,18 +1,18 @@  # Copyright (C) 2000 Werner Koch (dd9jn)  # Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007 g10 Code GmbH -#  +#  # This file is part of GPGME. -#  +#  # GPGME is free software; you can redistribute it and/or modify it  # under the terms of the GNU Lesser General Public License as  # published by the Free Software Foundation; either version 2.1 of the  # License, or (at your option) any later version. -#  +#  # GPGME is distributed in the hope that it will be useful, but WITHOUT  # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY  # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General  # Public License for more details. -#  +#  # You should have received a copy of the GNU Lesser General Public  # License along with this program; if not, see <http://www.gnu.org/licenses/>. @@ -99,7 +99,7 @@ endif  if HAVE_UISERVER  uiserver_components = engine-uiserver.c  else -uiserver_components =  +uiserver_components =  endif  # These are the source files common to all library versions.  We used @@ -120,6 +120,7 @@ main_sources =								\  	import.c export.c genkey.c delete.c edit.c getauditlog.c        \  	opassuan.c passwd.c                                             \  	engine.h engine-backend.h engine.c engine-gpg.c status-table.h	\ +	extra-stati.h 	                                                \  	$(gpgsm_components) $(assuan_components) $(gpgconf_components)  \  	$(uiserver_components)						\  	$(g13_components) vfs-mount.c vfs-create.c			\ @@ -128,7 +129,7 @@ main_sources =								\  	debug.c debug.h gpgme.c version.c error.c  libgpgme_la_SOURCES = $(main_sources)					\ -	ath.h ath.c $(system_components_not_extra)  +	ath.h ath.c $(system_components_not_extra)  libgpgme_pthread_la_SOURCES = $(main_sources)				\  	ath.h ath-pthread.c $(system_components_not_extra)  libgpgme_pth_la_SOURCES = $(main_sources)				\ @@ -241,8 +242,9 @@ endif  noinst_PROGRAMS = gpgme-tool  gpgme_tool_LDADD = libgpgme.la -status-table.h : gpgme.h -	$(srcdir)/mkstatus < $(builddir)/gpgme.h > status-table.h +status-table.h : gpgme.h extra-stati.h +	cat $(builddir)/gpgme.h $(srcdir)extra-stati.h \ +          | $(srcdir)/mkstatus  > status-table.h  install-data-local: install-def-file diff --git a/src/decrypt.c b/src/decrypt.c index 87ae4601..c017b907 100644 --- a/src/decrypt.c +++ b/src/decrypt.c @@ -3,17 +3,17 @@     Copyright (C) 2001, 2002, 2003, 2004 g10 Code GmbH     This file is part of GPGME. -  +     GPGME is free software; you can redistribute it and/or modify it     under the terms of the GNU Lesser General Public License as     published by the Free Software Foundation; either version 2.1 of     the License, or (at your option) any later version. -    +     GPGME is distributed in the hope that it will be useful, but     WITHOUT ANY WARRANTY; without even the implied warranty of     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     Lesser General Public License for more details. -    +     You should have received a copy of the GNU Lesser General Public     License along with this program; if not, write to the Free Software     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA @@ -31,6 +31,8 @@  #include "util.h"  #include "context.h"  #include "ops.h" +#include "extra-stati.h" +  typedef struct @@ -39,7 +41,7 @@ typedef struct    int okay;    int failed; -   +    /* A pointer to the next pointer of the last recipient in the list.       This makes appending new invalid signers painless while       preserving the order.  */ @@ -200,6 +202,10 @@ _gpgme_decrypt_status_handler (void *priv, gpgme_status_code_t code,  	return gpg_error (GPG_ERR_NO_DATA);        break; +    case GPGME_STATUS_DECRYPTION_INFO: +      /* Fixme: Provide a way to return the used symmetric algorithm. */ +      break; +      case GPGME_STATUS_DECRYPTION_OKAY:        opd->okay = 1;        break; @@ -286,7 +292,7 @@ _gpgme_decrypt_status_handler (void *priv, gpgme_status_code_t code,        err = _gpgme_parse_plaintext (args, &opd->result.file_name);        if (err)  	return err; -       +      default:        break;      } diff --git a/src/extra-stati.h b/src/extra-stati.h new file mode 100644 index 00000000..59cccf98 --- /dev/null +++ b/src/extra-stati.h @@ -0,0 +1,29 @@ +/* extra-stati.lst - Extra GnuPG status codes. +   Copyright 2011 g10 Code GmbH + +   This file is free software; as a special exception the author gives +   unlimited permission to copy and/or distribute it, with or without +   modifications, as long as this notice is preserved. + +   This file is distributed in the hope that it will be useful, but +   WITHOUT ANY WARRANTY, to the extent permitted by law; without even +   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +   PURPOSE.  */ + +/* A list of internal status code to be processed by mkstatus.  Those + * status codes are not part of the API but internally required by + * gpgme.  We use a second enum type here but make sure that the + * values don't clash with those of gpgme_status_code_t. + */ + +enum +  { +    /* This value is the first used one.  It needs to be larger than +       the last value of gpgme_status_code_t.  There is no need to +       explictly list the values because they are internal only.  */ +    _GPGME_STATUS_FIRST_EXTRA = 192, + +    GPGME_STATUS_DECRYPTION_INFO, + +    _GPGME_STATUS_LAST_EXTRA +  }; diff --git a/src/mkstatus b/src/mkstatus index e64ab194..3fbfbf9e 100755 --- a/src/mkstatus +++ b/src/mkstatus @@ -10,12 +10,12 @@  # under the terms of the GNU Lesser General Public License as  # published by the Free Software Foundation; either version 2.1 of the  # License, or (at your option) any later version. -#  +#  # GPGME is distributed in the hope that it will be useful, but WITHOUT  # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY  # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General  # Public License for more details. -#  +#  # You should have received a copy of the GNU Lesser General Public  # License along with this program; if not, write to the Free Software  # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA @@ -34,16 +34,18 @@ struct status_table_s {      gpgme_status_code_t code;  }; -static struct status_table_s status_table[] =  +static struct status_table_s status_table[] =  {  EOF  awk ' -/GPGME_STATUS_ENTER/      { okay = 1 } -!okay                     { next } -/}/                       { exit 0 } +okay == 0 && /GPGME_STATUS_ENTER/        { okay = 1 } +okay == 2 && /_GPGME_STATUS_FIRST_EXTRA/ { okay = 1; next } +okay != 1                                { next } +/}/                                      { okay = 2 } +/_GPGME_STATUS_LAST_EXTRA/               { exit 0 }  /GPGME_STATUS_[A-Za-z_]*/ { sub (/,/, "", $1); printf "  { \"%s\", %s },\n", substr($1,14), $1 } -' | sort   +' | sort  cat <<EOF    {NULL, 0}  | 
