aboutsummaryrefslogtreecommitdiffstats
path: root/src/rungpg.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-01-19Renamed rungpg.c to engine-gpg.c for conistency.Werner Koch1-2192/+0
2008-11-03008-11-03 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-0/+0
* configure.ac: Replace gpgme paths with src. * gpgme: Move to ... * src: ... this new directory. assuan/ 2008-11-03 Marcus Brinkmann <[email protected]> * Makefile.am (INCLUDES): Replace gpgme path with src. tests/ 2008-11-03 Marcus Brinkmann <[email protected]> * gpgsm/Makefile.am (INCLUDES, LDADD): Replace gpgme path with src. * gpg/Makefile.am (INCLUDES, LDADD, t_thread1_LDADD): Likewise. * Makefile.am (LDADD): Likewise.
2008-10-24Fix last change.Werner Koch1-6/+8
2008-10-232008-10-23 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-4/+39
* rungpg.c (gpg_keylist_preprocess): Convert percent escaped string to C coded string.
2008-09-162008-09-16 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-1/+1
* rungpg.c (gpg_new): Don't use errno with ttyname_r.
2008-08-112008-08-11 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-2/+11
* rungpg.c (gpg_cancel): Remove cmd fd before status fd. * gpgme.c (_gpgme_cancel_with_err): New function. (gpgme_cancel): Reimplement in terms of _gpgme_cancel_with_err. * wait-private.c (_gpgme_wait_on_condition): Use _gpgme_cancel_with_err. * wait-user.c (_gpgme_user_io_cb_handler): Likewise. * wait-global.c (_gpgme_wait_global_event_cb, gpgme_wait): Likewise.
2008-08-082008-08-08 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-6/+7
* rungpg.c (command_handler): Remove I/O callback on error, too.
2008-06-25assuan/Marcus Brinkmann1-60/+70
2008-06-25 Marcus Brinkmann <[email protected]> * assuan-pipe-connect.c (struct spawn_fd_item_s): Add new members. (HANDLE_TRANSLATION): New macro. (pipe_connect_gpgme): Adjust caller of _gpgme_io_spawn. [HANDLE_TRANSLATION]: Return translated handles. gpgme/ 2008-06-25 Marcus Brinkmann <[email protected]> * gpgme-w32spawn.c: New file. * Makefile.am (libexec_PROGRAMS) [HAVE_W32_SYSTEM]: New variable with gpgme-w32spawn. * engine-gpgsm.c (gpgsm_new): Use server translated handles. (gpgsm_set_locale): Return early if locale value is NULL. * util.h (_gpgme_mkstemp) (_gpgme_get_w32spawn_path) [HAVE_W32_SYSTEM]: New function prototypes. * w32-util.c: Include <stdint.h>, <sys/stat.h> and <unistd.h>. (letters, mkstemp, _gpgme_mkstemp, _gpgme_get_w32spawn_path): New functions. * rungpg.c (gpg_decrypt, gpg_encrypt, gpg_encrypt_sign) (gpg_genkey, gpg_import, gpg_verify, gpg_sign): Pass data over special filename FD rather than stdin. (struct arg_and_data_s): Add member ARG_LOCP. (struct fd_data_map_s): Add member ARG_LOC. (struct engine_gpg): Add member ARG_LOC to status and colon. (_add_arg, add_arg_with_locp): New function. (add_arg_ext): Reimplement in terms of _add_arg. (gpg_new): Remember argument location for status FD. (build_argv): Set argument location if requested. Also set argument location of fd_data_map for data items. (start): Adjust caller of _gpgme_io_spawn. * priv-io.h (struct spawn_fd_item_s): Add members peer_name and arg_loc. (_gpgme_io_spawn): Remove parent fd list argument. * posix-io.c (get_max_fds): New function. (_gpgme_io_dup): Add tracing. (_gpgme_io_spawn): Remove parent fd list. Change meaning of child fd list to contain all child fds that should be inherited. Close all other file descriptors after fork. * w32-io.c, w32-glib-io.c, w32-qt-io.c(_gpgme_io_spawn): Remove parent fd list. Change meaning of child fd list to contain all child fds that should be inherited. Do not inherit any file descriptors, but DuplicateHandle them. Spawn process through wrapper process. Provide wrapper process with a temporary file containing handle translation data. Return translated handle names. * w32-io.c (reader): Add more tracing output. (_gpgme_io_read): Likewise. * engine-gpgconf.c (gpgconf_read): Adjust caller of _gpgme_io_spawn. * version.c (_gpgme_get_program_version): Likewise.
2008-05-07Support --locate-keys feature of gpg.Werner Koch1-44/+47
2008-02-14Chnages to supporta pinnetry notificationWerner Koch1-1/+4
2008-01-042008-01-04 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-1/+3
* configure.ac: Support gpgconf. gpgme/ 2008-01-04 Marcus Brinkmann <[email protected]> * Makefile.am (gpgconf_components): New variable. (main_sources): Add gpgconf.c. * gpgme.h (gpgme_protocol_t): New protocol GPGME_PROTOCOL_GPGCONF. (gpgme_conf_level_t, gpgme_conf_type_t, gpgme_conf_arg_t) (gpgme_conf_opt_t, gpgme_conf_comp_t, gpgme_conf_arg_new) (gpgme_conf_arg_release, gpgme_conf_opt_change) (gpgme_conf_release, gpgme_op_conf_load, gpgme_op_conf_save): New types. * gpgconf.c, engine-gpgconf.c: New files. * engine.h: (_gpgme_engine_op_conf_load, (_gpgme_engine_op_conf_save): New prototypes. * op-support.c (_gpgme_op_reset): Ignore not implemented locale function. * posix-util.c (_gpgme_get_gpgconf_path): New function. * w32-util.c (_gpgme_get_gpgconf_path): New function. * engine-gpgsm.c: (_gpgme_engine_ops_gpgsm): Add stubs for conf_load and conf_save. * rungpg.c: (_gpgme_engine_ops_gpg): Add stubs for conf_load and conf_save. * gpgme.def: Add new gpgconf related interfaces. * libgpgme.vers: Likewise. * util.h (_gpgme_get_gpgconf_path): New prototype. * gpgme.h (gpgme_protocol_t): Add GPGME_PROTOCOL_GPGCONF. * engine-backend.h (_gpgme_engine_ops_gpgconf): New prototype. (struct engine_ops): Add members for conf_load and conf_save. * engine.c (engine_ops): Add _gpgme_engine_ops_gpgconf. (_gpgme_engine_op_conf_load, (_gpgme_engine_op_conf_save): New functions. (gpgme_get_engine_info): Allow protocol GPGME_PROTOCOL_GPGCONF. tests/ 2008-01-04 Marcus Brinkmann <[email protected]> * Makefile.am (TESTS_ENVIRONMENT): Use absolute path for GNUPGHOME. * gpg/Makefile.am (TESTS_ENVIRONMENT): Use absolute path for GNUPGHOME. * gpgsm/Makefile.am (TESTS_ENVIRONMENT): Use absolute path for GNUPGHOME. * gpg/Makefile.am (TESTS): Add t-gpgconf. t-gpgconf.c: New file.
2007-11-22New API gpgme_op_getauditlog.Werner Koch1-0/+1
2007-09-28Fixed the external event loop for glib.Werner Koch1-2/+4
Add a bit more tracing.
2007-09-272007-09-27 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-0/+1
* assuan-pipe-connect.c (pipe_connect_gpgme): New function, use it if _ASSUAN_IN_GPGME_BUILD_ASSUAN.
2007-09-17Fixed a W32bug in rungpg.cWerner Koch1-8/+16
2007-09-132007-09-13 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-3/+3
* rungpg.c (gpg_new): Handle return value of _gpgme_getenv (fixes small memory leak).
2007-07-172007-07-17 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-2/+3
* debug.c:;5B Include <errno.h> and "debug.h". (_gpgme_debug): Save and restore ERRNO. (TOHEX): New macro. (_gpgme_debug_buffer): New function. * conversion.c, data-compat.c, data-mem.c, data.c, engine-gpgsm.c, gpgme.c, keylist.c, posix-io.c, rungpg.c, sign.c, version.c, w32-io.c, wait.c: Replace DEBUG macros by TRACE_* variants. In most of these files, add many more tracepoints.
2007-07-132007-07-13 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-2/+1
* Revert the "close_notify_handler" returns int stuff. Always close in the _gpgme_io_close implementations. * engine-gpgsm.c (status_handler): Try to terminate the connection in case of error. * w32-io.c (_gpgme_io_read): Return C->error_code in ERRNO. (_gpgme_io_write): Likewise.
2007-07-132007-07-13 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-1/+2
* assuan/assuan-io.c (_assuan_simple_read, _assuan_simple_write): Always use read/write (which means _gpgme_io_read and _gpgme_io_write). gpgme/ 2007-07-13 Marcus Brinkmann <[email protected]> * priv-io.h (_gpgme_io_set_close_notify): Change type of HANDLER to _gpgme_close_notify_handler. (_gpgme_close_notify_handler): New type. (_gpgme_io_dup): Remove prototype. * posix-io.c (notify_table, _gpgme_io_set_close_notify): Change type of HANDLER to _gpgme_close_notify_handler_t. (_gpgme_io_close): Do not close the FD if handler returns 0. (_gpgme_io_dup): Remove function. * w32-io.c (notify_table, _gpgme_io_set_close_notify, _gpgme_io_close): Change type of HANDLER to _gpgme_close_notify_handler_t. (_gpgme_io_close): Do not close the FD if handler returns 0. (_gpgme_io_dup): Remove function. * w32-glib-io.c (_gpgme_io_dup): Remove function. (_gpgme_io_set_close_notify, notify_table): Change type of HANDLER to _gpgme_close_notify_handler_t. (_gpgme_io_close): Do not close the FD if handler returns 0. * rungpg.c (close_notify_handler): Change return type to int, return 1. * engine-gpgsm.c (close_notify_handler): Change return type to int, return 0 for status FD and 1 for all other FDs. (start): Do not duplicate the status FD.
2007-04-302007-04-30 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-1/+4
* engine-gpgsm.c (gpgsm_new): Fix error handling for ttyname_r. * rungpg.c (gpg_new): Likewise. Submitted by Stephen Tether.
2007-01-26/Werner Koch1-2/+8
* configure.ac: Changed gpg and gpgsm version checks to work with arbitrary names of the gpg binary. New option --disable-gpg-test and --disable-gpgsm-test. gpgme/ * w32-io.c (build_commandline): Fixed stupid quoting bug. * w32-glib-io.c (build_commandline): Ditto. * rungpg.c (gpg_set_locale): Avoid dangling pointer after free. * gpgme-config.in: New options --get-gpg and --get-gpgsm.
2007-01-08Fixes for building without gpgsm and for W32Werner Koch1-0/+2
2006-12-172006-12-17 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-0/+1
* configure.ac: Fix two typos in last change. gpgme/ 2006-12-17 Marcus Brinkmann <[email protected]> * gpgme.c (gpgme_set_protocol): Shut down the engine when switching protocols. (gpgme_ctx_set_engine_info): Likewise for engine info. * engine.h (_gpgme_engine_reset): New function prototype. * engine.c (_gpgme_engine_reset): New function. * engine-backend.h (struct engine_ops): New member RESET. * rungpg.c (_gpgme_engine_ops_gpg): Add NULL for reset function. * engine-gpgsm.c (_gpgme_engine_ops_gpgsm) [USE_DESCRIPTOR_PASSING]: Add gpgsm_reset for reset. (_gpgme_engine_ops_gpgsm) [!USE_DESCRIPTOR_PASSING]: Add NULL for reset function. (gpgsm_reset) [USE_DESCRIPTOR_PASSING]: New function. * op-support.c (_gpgme_op_reset): Try to use the engine's reset function if available. * 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.
2006-12-172006-12-17 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-24/+91
* engine.h (_gpgme_engine_new): Remove arguments lc_ctype and lc_messages from prototype. (_gpgme_engine_set_locale): New prototype. * engine.c (_gpgme_engine_set_locale): New function. * op-support.c (_gpgme_op_reset): Call _gpgme_engine_set_locale. * engine-backend.h (struct engine_ops): Add new member SET_LOCALE. Remove arguments lc_messages and lc_ctype from member NEW. * engine-gpgsm.c (struct engine_gpgsm): New members lc_ctype_set and lc_messages_set. (gpgsm_new): Remove lc_messages and lc_ctype arguments. (gpgsm_set_locale): New function. (_gpgme_engine_ops_gpgsm): Add gpgsm_set_locale. * rungpg.c (struct engine_gpg): Add new members lc_messages and lc_ctype. (gpg_release): Release lc_messages and lc_ctype if set. (gpg_new): Remove lc_messages and lc_ctype arguments. (gpg_set_locale): New function. (_gpgme_engine_ops_gpg): Add gpg_set_locale. (add_arg): Implement in terms of: (add_arg_ext): New function. (start): Set lc-messages and lc-ctype arguments here.
2006-11-292006-11-29 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-0/+62
* rungpg.c: Include <unistd.h>. (gpg_new): Support --display, --ttyname, --ttytype, --lc-ctype and --lc-messages. Fixes issue 734.
2006-07-292006-07-29 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-1/+1
* rungpg.c (read_status): Fix comparison disguising as an assignment.
2006-07-162006-07-16 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-0/+2
* rungpg.c (read_status): Strip potential carriage return. * genkey.c (get_key_parameter): Skip potential carriage return. * version.c (_gpgme_get_program_version): Strip potential carriage return.
2006-02-22Fix copyright year.Marcus Brinkmann1-1/+1
2006-02-222006-02-22 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-6/+126
* rungpg.c (read_colon_line): Invoke colon preprocess handler if it is set. (colon_preprocessor_t): New type. (struct engine_gpg): New member colon.preprocess_fnc. (gpg_keylist_preprocess): New function. * keylist.c (keylist_colon_handler): Allow short key IDs.
2005-11-182005-11-18 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-5/+15
* priv-io.h (_gpgme_io_fd2str): New prototype. * posix-io.c (_gpgme_io_fd2str): New function. * w32-io.c (_gpgme_io_fd2str): New function. * rungpg.c: Use this new function. * w32-glib-io.c (_gpgme_io_fd2str): Rewrote the file handle code again. Two's company, three's the musketeers.
2005-10-162005-10-16 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-1/+1
* rungpg.c (gpg_edit): Don't add a key argument if in card edit mode.
2005-10-02doc/Marcus Brinkmann1-0/+14
2005-10-02 Marcus Brinkmann <[email protected]> * gpgme.texi (Key Management): Add the new member notations of gpgme_sig_key_t. (Key Listing Mode): Document GPGME_KEYLIST_MODE_SIG_NOTATIONS. gpgme/ 2005-10-02 Marcus Brinkmann <[email protected]> * util.h (_gpgme_decode_percent_string): Add new argument BINARY to prototype. * verify.c (parse_notation): Likewise for invocation. * conversion.c (_gpgme_decode_percent_string): Likewise to declaration. If set, do not replace '\0' characters with a printable string. * gpgme.h (struct _gpgme_key_sig): New field notations. * ops.h (_gpgme_parse_notation): New prototype. * sig-notation.c (_gpgme_parse_notation): New function. * key.c (gpgme_key_unref): Free all signature notations. * keylist.c (op_data_t): New member tmp_keysig. (finish_key): Clear OPD->tmp_keysig. * gpgme.c (gpgme_set_keylist_mode): Remove check. * rungpg.c (gpg_keylist): Support listing signature notations. (gpg_keylist_ext): Likewise.
2005-10-01doc/Marcus Brinkmann1-0/+89
2005-10-01 Marcus Brinkmann <[email protected]> * gpgme.texi (Signature Notation Data): New section. (Verify): Added more about the notation data structure. gpgme/ 2005-10-01 Marcus Brinkmann <[email protected]> * gpgme.def: Add gpgme_data_set_file_name, gpgme_data_get_file_name, gpgme_sig_notation_clear, gpgme_sig_notation_add and gpgme_sig_notation_get. * libgpgme.vers: Add gpgme_sig_notation_clear, gpgme_sig_notation_add and gpgme_sig_notation_get. * Makefile.am (libgpgme_real_la_SOURCES): Add sig-notation.c. * context.h (struct gpgme_context): New field sig_notations. * gpgme.h (struct _gpgme_sig_notation): New member value_len and critical. (GPGME_SIG_NOTATION_CRITICAL): New symbol. (gpgme_sig_notation_flags_t): New type. (gpgme_sig_notation_add, gpgme_sig_notation_clear, gpgme_sig_notation_get): New prototypes. * ops.h (_gpgme_sig_notation_create, _gpgme_sig_notation_free): New prototypes. * sig-notation.c (_gpgme_sig_notation_free): New file. * verify.c (parse_notation): Use support functions. (release_op_data): Likewise. * rungpg.c (append_args_from_sig_notations): New function. (gpg_encrypt_sign, gpg_sign): Call it. tests/ 2005-10-01 Marcus Brinkmann <[email protected]> * gpg/Makefile.am (TESTS): Add t-sig-notation. * gpg/t-sig-notation.c (check_result): New file. * gpg/t-verify.c (check_result): Also check the length of the notation data. * gpg/gpg.conf: New file.
2005-09-30doc/Marcus Brinkmann1-0/+22
2005-09-30 Marcus Brinkmann <[email protected]> * gpgme.texi (Data Buffer I/O Operations, Data Buffer Meta-Data): New subsections. gpgme/ 2005-09-30 Marcus Brinkmann <[email protected]> * data.h (struct gpgme_data): New member file_name. * data.c (gpgme_data_set_filename): New function. (_gpgme_data_release): Free DH->filename if necessary. (gpgme_data_get_filename): New function. * rungpg.c (gpg_encrypt): Set filename option. (gpg_encrypt_sign): Likewise. (gpg_sign): Likewise. * libgpgme.vers (GPGME_1.1): Add gpgme_data_set_file_name and gpgme_data_get_file_name. tests/ 2005-09-30 Marcus Brinkmann <[email protected]> * gpg/Makefile.am (TESTS): Add t-filename. * gpg/t-filename.c: New file.
2005-08-262005-08-26 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-1/+1
* rungpg.c (command_handler): Use _gpgme_io_write instead of write.
2005-08-262005-08-26 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-1/+7
* engine.h (engine_command_handler_t): Add new argument processed. * ops.h (_gpgme_passphrase_command_handler_internal): Rename prototype to ... (_gpgme_passphrase_command_handler): ... this one. * passphrase.c (_gpgme_passphrase_command_handler_internal): Rename to ... (_gpgme_passphrase_command_handler): ... this one. * edit.c (command_handler): Add new argument processed. Remove local variable with the same name. Always return processed as true. * rungpg.c (command_handler): Send a newline character if the handler did not.
2005-03-242005-03-24 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-2/+2
* io.h: Rename to ... * priv-io.h: ... this. * Makefile.am (libgpgme_real_la_SOURCES): Change io.h to priv-io.h. * 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"
2004-12-072004-12-07 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-10/+11
* README: Refer to COPYING.LESSER and "each file" instead of COPYING. * COPYING.LESSER: New file. * gpgme.spec.in (%doc): Add COPYING.LESSER. * acinclude.m4, configure.ac, Makefile.am: Change license to LGPL 2.1 or later. * TODO: Add copyright notice. * README.CVS: Likewise. assuan/ 2004-12-07 Marcus Brinkmann <[email protected]> * README.1st: Add copyright notice. doc/ 2004-12-07 Marcus Brinkmann <[email protected]> * Makefile.am: Change license to LGPL. (gpgme_TEXINFOS): Replace gpl.texi with lesser.texi. * gpgme.texi: Change license to LGPL (also for documentation of GPGME's license). * lesser.texi: New file. * gpl.texi: File removed. gpgme/ 2004-12-07 Marcus Brinkmann <[email protected]> * putc_unlocked.c, funopen.c: I just claim copyright on these files and change their license to LGPL, because they are totally trivial wrapper functions. * isascii.c: Change copyright notice to the one from ctype/ctype.h in the GNU C Library (CVS Head 2004-10-10), where isascii is defined as a macro doing exactly the same as the function in this file. * memrchr.c: Update from the GNU C Library (CVS Head 2001-07-06). * stpcpy.c: Update from the GNU C Library (CVS Head 2004-10-10). * ath.c, ath-compat.c, ath.h, ath-pth.c, ath-pth-compat.c, ath-pthread.c, ath-pthread-compat.c, context.h, conversion.c, data.c, data-compat.c, data-fd.c, data.h, data-mem.c, data-stream.c, data-user.c, debug.c, debug.h, decrypt.c, decrypt-verify.c, delete.c, edit.c, encrypt.c, encrypt-sign.c, engine-backend.h, engine.c, engine-gpgsm.c, engine.h, error.c, export.c, genkey.c, get-env.c, gpgme.c, gpgme.h, import.c, io.h, key.c, keylist.c, mkstatus, Makefile.am, ops.h, op-support.c, passphrase.c, posix-io.c, posix-sema.c, posix-util.c, progress.c, rungpg.c, sema.h, sign.c, signers.c, trust-item.c, trustlist.c, util.h, verify.c, version.c, w32-io.c, w32-sema.c, w32-util.c, wait.c, wait-global.c, wait.h, wait-private.c, wait-user.c: Change license to LGPL. tests/ 2004-12-07 Marcus Brinkmann <[email protected]> * gpg/mkdemodirs: Add copyright notice. * gpgsm/Makefile.am, gpgsm/t-support.h, gpgsm/t-decrypt.c, gpgsm/t-encrypt.c, gpgsm/t-export.c, gpgsm/t-genkey.c, gpgsm/t-import.c, gpgsm/t-keylist.c, gpgsm/t-sign.c, gpgsm/t-verify.c, gpg/Makefile.am, gpg/t-decrypt.c, gpg/t-decrypt-verify.c, gpg/t-edit.c, gpg/t-encrypt.c, gpg/t-encrypt-sign.c, gpg/t-encrypt-sym.c, gpg/t-eventloop.c, gpg/t-export.c, gpg/t-genkey.c, gpg/t-import.c, gpg/t-keylist.c, gpg/t-keylist-sig.c, gpg/t-sign.c, gpg/t-signers.c, gpg/t-support.h, gpg/t-thread1.c, gpg/t-trustlist.c, gpg/t-verify.c, Makefile.am, t-data.c, t-engine-info.c, t-version.c: Change license to LGPL.
2004-12-072004-12-07 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-13/+34
* libgpgme.vers (GPGME_1.1): New version. * engine-backend.h (struct engine_ops): Add argument FILE_NAME to member get_version(). Add arguments FILE_NAME and HOME_DIR to member new(). Change return type of get_file_name and get_version to char *. * engine-gpgsm.c (gpgsm_get_version): Change return type to char pointer. Do not cache result. (gpgsm_new): Add file_name and home_dir argument, and use them instead of the defaults, if set. * rungpg.c (struct engine_gpg): New member file_name. (gpg_get_version): Change return type to char pointer, and do not cache result. (gpg_release): Free gpg->file_name. (gpg_new): Take new arguments file_name and home_dir. Set the --homedir argument if HOME_DIR is not NULL. Set gpg->file_name. (start): Use gpg->file_name instead _gpgme_get_gpg_path, if set. * engine.h (_gpgme_engine_info_copy, _gpgme_engine_info_release): New prototypes. (_gpgme_engine_new): Change first argument to gpgme_engine_info_t info. * engine.c: Include <assert.h>. (gpgme_get_engine_info): Set *INFO within the lock. Move ENGINE_INFO and ENGINE_INFO_LOCK to .... (engine_info, engine_info_lock): ... here. New static variables. (engine_get_version): Add file_name argument to get_version invocation. Change return type to char pointer. (gpgme_engine_check_version): Rewritten to free() the return value of engine_get_version after using it. (_gpgme_engine_info_release): New function. (gpgme_get_engine_info): Rewritten. (_gpgme_engine_info_copy): New function. (_gpgme_set_engine_info): New function. (gpgme_set_engine_info): New function. (_gpgme_engine_new): Change first argument to gpgme_engine_info_t info, and use that. * gpgme.h (struct _gpgme_engine_info): Change type of file_name and version to char * (remove the const). New member home_dir. (gpgme_set_engine_info, gpgme_ctx_get_engine_info, gpgme_ctx_set_engine_info): New prototypes. * context.h (struct gpgme_context): New member engine_info. * gpgme.c (gpgme_new): Allocate CTX->engine_info. (gpgme_release): Deallocate CTX->engine_info. (gpgme_ctx_get_engine_info, gpgme_ctx_set_engine_info): New functions. * op-support.c (_gpgme_op_reset): Look for correct engine info and pass it to _gpgme_engine_new. * version.c (gpgme_check_version): Adjust to _gpgme_compare_versions returning an int. (_gpgme_compare_versions): Return an int value, not a const char pointer. * ops.h (_gpgme_compare_versions): Same for prototype.
2004-09-302004-09-30 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-23/+25
* rungpg.c (read_status): Move the polling of the output data pipe to just before removing the command fd, from just before adding it. This avoids buffering problems.
2004-08-172004-08-17 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-2/+2
* rungpg.c (build_argv): Use --no-sk-comment, not --no-comment.
2004-03-112004-03-11 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-1/+4
* rungpg.c (gpg_cancel): Set GPG->fd_data_map to NULL after releasing it.
2004-02-242004-02-25 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-13/+27
* rungpg.c (gpg_cancel): New function. (gpg_release): Call it here. (_gpgme_engine_ops_gpg): Add it here. * engine-gpgsm.c (gpgsm_cancel): Fix last change.
2004-02-24doc/Marcus Brinkmann1-1/+2
2004-02-24 Marcus Brinkmann <[email protected]> * gpgme.texi (cancellation): New section. gpgme/ 2004-02-24 Marcus Brinkmann <[email protected]> * gpgme.c (gpgme_cancel): New function. * engine-backend.h (struct engine_ops): New member cancel. * engine.h (_gpgme_engine_cancel): New prototype. * engine.c (_gpgme_engine_cancel): New function. * engine-gpgsm.c: Add new member cancel. (gpgsm_cancel): New function. (gpgsm_release): Use it. * rungpg.c: Add new member cancel.
2004-02-012004-02-01 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-11/+2
* rungpg.c (build_argv): Use --no-comment, not --comment "".
2003-10-062003-10-06 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-6/+0
* rungpg.c: Do not include <time.h>, <sys/time.h>, <sys/types.h>, <signal.h>, <fcntl.h>, or "unistd.h".
2003-10-022003-10-02 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-2/+2
* engine-backend.h (struct engine_ops): Add argument TYPE. * engine.c (_gpgme_engine_op_edit): Likewise. * engine.h: Likewise. * rungpg.c (gpg_edit): Likewise. Use it. * edit.c (edit_start): Likewise. Pass it on. (gpgme_op_edit_start, gpgme_op_edit): Likewise. (gpgme_op_card_edit_start, gpgme_op_card_edit): New functions.
2003-09-14doc/Marcus Brinkmann1-1/+1
2003-09-14 Marcus Brinkmann <[email protected]> * gpgme.texi (Locale): New section. (Multi Threading): Set locale in example. gpgme/ 2003-09-14 Marcus Brinkmann <[email protected]> * context.h (struct gpgme_context): New members lc_ctype and lc_messages. * gpgme.c: Include <locale.h>. (def_lc_lock, def_lc_ctype, def_lc_messages): New static variables. (gpgme_set_locale): New function. * engine.c (_gpgme_engine_new): Add arguments lc_ctype and lc_messages. * engine.h (_gpgme_engine_new): Likewise. * engine-gpgsm.c (gpgsm_new): Likewise. * rungpg.c (gpg_new): Likewise. * engine-backend.h (struct engine_ops): Likewise to NEW. * op-support.c (_gpgme_op_reset): Likewise to invocation of _gpgme_engine_new.
2003-09-132003-09-13 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-2/+7
* acinclude.m4: Remove libtool cruft, add jm_GLIBC21. * configure.ac: Add check for getenv_r, and call jm_GLIBC21. Define HAVE_THREAD_SAFE_GETENV if appropriate. gpgme/ 2003-09-13 Marcus Brinkmann <[email protected]> * get-env.c: New file. * util.h (_gpgme_getenv): Add prototype. * Makefile.am (libgpgme_real_la_SOURCES): Add get-env.c. * rungpg.c (build_argv): Use _gpgme_getenv. * debug.c (debug_init): Likewise. * engine-gpgsm.c (gpgsm_new): Likewise. (gpgsm_new): Use ttyname_r. * w32-io.c (_gpgme_io_spawn): Disable debugging for now.
2003-08-202003-08-18 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-1/+1
*configure.ac (AM_PATH_GPG_ERROR): Require 0.3. assuan/ See README.1st. gpgme/ 2003-08-19 Marcus Brinkmann <[email protected]> The ath files (ath.h, ath.c, ath-pth.c, ath-pthread.c, ath-compat.c, ath-pth-compat.c and ath-pthread-compat.c) have been updated to have better thread support, and the Makefile.am was changed to reflect that. * util.h [!HAVE_FOPENCOOKIE]: Remove fopencookie declaration. * engine-gpgsm.c (gpgsm_assuan_simple_command): Set ERR to return value of status_fnc. * rungpg.c (start): Return SAVED_ERRNO, not errno.