aboutsummaryrefslogtreecommitdiffstats
path: root/gpgme/posix-io.c
Commit message (Collapse)AuthorAgeFilesLines
* Chnages to supporta pinnetry notificationWerner Koch2008-02-141-1/+4
|
* Fixed the external event loop for glib.Werner Koch2007-09-281-3/+1
| | | | | Add a bit more tracing.
* 2007-09-27 Marcus Brinkmann <[email protected]>Marcus Brinkmann2007-09-271-1/+1
| | | | | | | | | | | | * assuan-pipe-connect.c (pipe_connect_gpgme): Fix last change. gpgme/ 2007-09-27 Marcus Brinkmann <[email protected]> * w32-glib-io.c (_gpgme_io_pipe), w32-qt-io.c (_gpgme_io_pipe), w32-io.c (_gpgme_io_pipe), posix-io.c (_gpgme_io_pipe): Fix debug output.
* 2007-07-17 Marcus Brinkmann <[email protected]>Marcus Brinkmann2007-07-171-81/+130
| | | | | | | | | | | | * 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-16 Marcus Brinkmann <[email protected]>Marcus Brinkmann2007-07-161-0/+7
| | | | | | | | | | | | | | | | | | | | | | * assuan/assuan-socket.c (_assuan_close): Always use close(). * assuan/assuan.h (_gpgme_io_close): New prototype. (close): New macro, define as _gpgme_io_close. gpgme/ 2007-07-16 Marcus Brinkmann <[email protected]> * w32-io.c (struct reader_context_s, struct writer_context_s): New members REFCOUNT. (create_reader, create_writer): Initialize C->refcount to 1. (destroy_reader, destroy_writer): Only destroy if C->refcount 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. * 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.
* 2007-07-13 Marcus Brinkmann <[email protected]>Marcus Brinkmann2007-07-131-7/+2
| | | | | | | | | | * 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-13 Marcus Brinkmann <[email protected]>Marcus Brinkmann2007-07-131-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-07-10 Marcus Brinkmann <[email protected]>Marcus Brinkmann2007-07-101-0/+5
| | | | | | | | | * priv-io.h (_gpgme_io_dup): New prototype. * 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().
* 2006-12-17 Marcus Brinkmann <[email protected]>Marcus Brinkmann2006-12-171-0/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* 2005-11-18 Marcus Brinkmann <[email protected]>Marcus Brinkmann2005-11-181-0/+10
| | | | | | | | | | * 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-11-17 Marcus Brinkmann <[email protected]>Marcus Brinkmann2005-11-171-31/+24
| | | | | | | | * priv-io.h (_gpgme_io_waitpid, _gpgme_io_kill): Removed. * w32-io.c (_gpgme_io_waitpid, _gpgme_io_kill): Removed. * posix-io.c (_gpgme_io_kill): Removed. (_gpgme_io_waitpid): Declare static.
* 2005-03-24 Marcus Brinkmann <[email protected]>Marcus Brinkmann2005-03-241-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-07 Marcus Brinkmann <[email protected]>Marcus Brinkmann2004-12-071-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.
* doc/Marcus Brinkmann2003-10-061-18/+17
| | | | | | | | | | | | | | | | | | | | | 2003-10-06 Marcus Brinkmann <[email protected]> * gpgme.texi (Signal Handling): New section. gpgme/ 2003-10-06 Marcus Brinkmann <[email protected]> * io.h (_gpgme_io_subsystem_init): New prototype. * posix-io.c (_gpgme_io_subsystem_init): Add function. (_gpgme_io_spawn): Do not fixup signal handler here. * version.c (do_subsystem_inits): Call _gpgme_io_subsystem_init. tests/ 2003-10-06 Marcus Brinkmann <[email protected]> * gpg/t-thread1.c (thread_one): Do not call initialize_gpgme. Likewise.
* 2003-07-31 Marcus Brinkmann <[email protected]>Marcus Brinkmann2003-07-311-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | * util.h (_gpgme_decode_c_string): Change type of LEN argument to size_t. (_gpgme_decode_percent_string): Likewise. * conversion.c (_gpgme_decode_c_string): Likewise. (_gpgme_decode_percent_string): Likewise. (_gpgme_map_gnupg_error): Change type of I to unsigned int. * signers.c (gpgme_signers_clear): Likewise. (gpgme_signers_enum): New unsigned variable SEQNO, set to SEQ. Use SEQNO instead SEQ. * wait.c (fd_table_put): Change type of I and J to unsigned int. * wait-global.c (_gpgme_wait_global_event_cb): Change type of IDX to unsigned int. (gpgme_wait): Change type of I and IDX to unsigned int. * wait-private.c (_gpgme_wait_on_condition): Change type of IDX and I to unsigned int. * posix-io.c (_gpgme_io_close): Cast return value of macro DIM to int to suppress gcc warning. (_gpgme_io_set_close_notify): Likewise. (_gpgme_io_select): Change type of I to unsigned int. * engine.c (gpgme_get_engine_info): Change type of PROTO to unsigned int. * wait-user.c (_gpgme_user_io_cb_handler): Change type of IDX and I to unsigned int.
* 2003-06-06 Marcus Brinkmann <[email protected]>Marcus Brinkmann2003-06-061-2/+13
| | | | | | | | * posix-io.c (_gpgme_io_read): Save errno across debug calls. (_gpgme_io_write): Likewise. (_gpgme_io_pipe): Likewise. (_gpgme_io_select): Likewise.
* Beautify source code.Marcus Brinkmann2003-05-181-2/+4
|
* 2003-01-30 Marcus Brinkmann <[email protected]>Marcus Brinkmann2003-01-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * engine-gpgsm.c (status_handler): Do not close status fd at end of function. * ops.h (_gpgme_op_data_lookup): Add prototype. * op-support.c: Include <stdlib.h>. (_gpgme_op_data_lookup): New function. * decrypt.c (_gpgme_release_decrypt_result): Function removed. (struct decrypt_result_s): Rename to ... (struct decrypt_resul): ... this. (DecryptResult): New type. (_gpgme_decrypt_status_handler): Don't use test_and_allocate_result, but use _gpgme_op_data_lookup to retrieve result data object. * sign.c (_gpgme_release_sign_result): Function removed. (release_sign_result): New function. (struct sign_result_s): Rename to ... (struct sign_result): ... this. (SignResult): New type. (_gpgme_sign_status_handler): Don't use test_and_allocate_result, but use _gpgme_op_data_lookup to retrieve result data object. * encrypt.c (struct encrypt_result_s): Rename to ... (struct encrypt_result): ... this. (_gpgme_release_encrypt_result): Function removed. (release_encrypt_result): New function. (_gpgme_encrypt_status_handler): Don't use test_and_allocate_result, but use _gpgme_op_data_lookup to retrieve result data object. * verify.c (struct verify_result_s): Rename to ... (struct verify_result): ... this. Remove member next. (VerifyResult): New type. (_gpgme_release_verify_result): Function removed. (release_verify_result): New function. (finish_sig): Change first argument to type VerifyResult. Diddle the type of the op_data structure. (add_notation): Change first argument to type VerifyResult. (_gpgme_verify_status_handler): Don't use test_and_allocate_result, but use _gpgme_op_data_lookup to retrieve result data object. * passphrase.c (struct passphrase_result_s): Rename to ... (struct passphrase_result): ... this. Remove member next. (PassphraseResult): New type. (_gpgme_release_passphrase_result): Function removed. (release_passphrase_result): New function. (_gpgme_passphrase_status_handler): Don't use test_and_allocate_result, but use _gpgme_op_data_lookup to retrieve result data object. (_gpgme_passphrase_command_handler): Likewise. * keylist.c (struct keylist_result_s): Rename to ... (struct keylist_result): ... this. Remove member next. (KeylistResult): New type. (_gpgme_release_keylist_result): Function removed. (release_keylist_result): New function. (keylist_status_handler): Don't use test_and_allocate_result, but use _gpgme_op_data_lookup to retrieve result data object. * edit.c (struct edit_result_s): Rename to ... (struct edit_result): ... this. Remove member next. (EditResult): New type. (_gpgme_release_edit_result): Function removed. (release_edit_result): New function. (edit_status_handler): Don't use test_and_allocate_result, but use _gpgme_op_data_lookup to retrieve result data object. (command_handler): Likewise. * types.h (DecryptResult, SignResult, EncryptResult, PassphraseResult, ImportResult, DeleteResult, GenKeyResult, KeylistResult, EditResult): Types removed. * ops.h: Don't include "types.h", but "gpgme.h" and "context.h". (test_and_allocate_result): Remove macro. (_gpgme_release_decrypt_result): Remove prototype. (_gpgme_decrypt_result): Remove prototype. (_gpgme_release_sign_result): Remove prototype. (_gpgme_release_encrypt_result): Remove prototype. (_gpgme_release_passphrase_result): Remove prototype. (_gpgme_release_import_result): Remove prototype. (_gpgme_release_delete_result): Remove prototype. (_gpgme_release_genkey_result): Remove prototype. (_gpgme_release_keylist_result): Remove prototype. (_gpgme_release_edit_result): Remove prototype. (_gpgme_release_verify_result): Remove prototype. * gpgme.c (_gpgme_release_result): Rewritten. * context.h (enum ctx_op_data_type): New enum. (struct ctx_op_data): New structure. (struct gpgme_context_s): Replace the member result with a member op_data. (fail_on_pending_request): Remove macro. * op-support.c (_gpgme_op_reset): Expand macro fail_on_pending_request. * util.h: Don't include "types.h" or "debug.h", but include "gpgme.h".
* Fix copyright year.Marcus Brinkmann2003-01-291-19/+18
|
* 2002-11-25 Marcus Brinkmann <[email protected]>Marcus Brinkmann2002-11-251-1/+1
| | | | | | | | | * rungpg.c (_gpgme_gpg_spawn): Do not set parent fds to -1. * posix-io.c (_gpgme_io_spawn): Call _gpgme_io_close instead close for parent fds. * w32-io.c (_gpgme_io_spawn): Call _gpgme_io_close instead CloseHandle for parent fds.
* 2002-09-02 Marcus Brinkmann <[email protected]>Marcus Brinkmann2002-09-021-1/+3
| | | | | | | * posix-io.c (_gpgme_io_select): Don't use a non-constant struct initializer. * version.c (_gpgme_get_program_version): Likewise. Reported by Dr. Stefan Dalibor <[email protected]>.
* 2002-08-28 Marcus Brinkmann <[email protected]>Marcus Brinkmann2002-08-281-55/+69
| | | | | | | | | | | | | | | | | | | | | | * posix-io.c (_gpgme_io_spawn): Use a double-fork approach. Return 0 on success, -1 on error. * version.c (_gpgme_get_program_version): Don't wait for the child. * engine.c (_gpgme_engine_housecleaning): Function removed. (do_reaping): Likewise. (_gpgme_engine_add_child_to_reap_list): Likewise. (struct reap_s): Removed. (reap_list): Likewise. (reap_list_lock): Likewise. * engine.h (_gpgme_engine_io_event): Remove prototypes for _gpgme_engine_housecleaning and _gpgme_engine_add_child_to_reap_list. * rungpg.c (_gpgme_gpg_release): Don't add child to reap list. (struct gpg_object_s): Remove PID member. (_gpgme_gpg_new): Don't initialize GPG->pid. (_gpgme_gpg_spawn): Don't set GPG->pid. * wait.c (run_idle): Removed. (gpgme_wait): Run idle_function directly.
* 2002-07-28 Marcus Brinkmann <[email protected]>Marcus Brinkmann2002-07-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * data.c (gpgme_data_read): For GPGME_DATA_TYPE_NONE, return EOF instead an error. The following changes make it possible to flush an inbound data pipe before invoking a command handler: * posix-io.c (_gpgme_io_select): Accept new argument NONBLOCK to _gpgme_io_select. Set timeout of 0 if this is set. * w32-io.c (_gpgme_io_select): Likewise. * io.h: Add new argument NONBLOCK to _gpgme_io_select prototype. * wait.c (do_select): Add new argument to _gpgme_io_select invocation. * rungpg.h (_gpgme_gpg_set_command_handler): Add new argument linked_data to prototype. * engine.h (_gpgme_engine_set_command_handler): Likewise. * engine.c (_gpgme_engine_set_command_handler): Likewise. * passphrase.c (_gpgme_passphrase_start): Pass NULL as linked_data argument to _gpgme_engine_set_command_handler. * rungpg.c (struct gpg_object_s): New members linked_data and linked_idx in CMD. (_gpgme_gpg_new): Initialize those new members. (_gpgme_gpg_set_command_handler): Accept new argument linked_data. (build_argv): Handle linked_data in the same hack as cb_data. (read_status): If linked_data is in use, flush the pipe before activating the command handler. * gpgme.h: Add prototypes for gpgme_op_edit_start and gpgme_op_edit. The next changes export the status codes to the user: * decrypt.c (_gpgme_decrypt_status_handler): Likewise, also prefix all STATUS_ with GPGME_. * delete.c (delete_status_handler): Likewise. * decrypt-verify.c (decrypt_verify_status_handler): Likewise. * encrypt.c (_gpgme_encrypt_status_handler): Likewise. (_gpgme_encrypt_sym_status_handler): Likewise. * encrypt-sign.c (encrypt_sign_status_handler): Likewise. * engine-gpgsm.c (parse_status): Likewise. (gpgsm_status_handler): Likewise. (gpgsm_set_recipients): Likewise. * export.c (export_status_handler): Likewise. * genkey.c (genkey_status_handler): Likewise. * import.c (append_xml_impinfo): Likewise. (import_status_handler): Likewise. * keylist.c (keylist_status_handler): Likewise. * passphrase.c (_gpgme_passphrase_status_handler): Likewise. (command_handler): Likewise. * progress.c (_gpgme_progress_status_handler): Likewise. * sign.c (_gpgme_sign_status_handler): Likewise. * trustlist.c (trustlist_status_handler): Likewise. * verify.c (_gpgme_verify_status_handler): Likewise. * gpgme.h (GpgmeEditCb): New type. * rungpg.h (GpgStatusCode): Rename and move to ... * gpgme.h (GpgmeStatusCode): ... this and here. * Makefile.am (status-table.h): Run mkstatus on gpgme.h, not rungpg.h. * mkstatus: Prefix STATUS with GPGME_. * rungpg.h (GpgStatusHandler, GpgCommandHandler): Change type accordingly. * ops.h (_gpgme_verify_status_handler, _gpgme_decrypt_status_handler, _gpgme_sign_status_handler, _gpgme_encrypt_status_handler, _gpgme_passphrase_status_handler, _gpgme_progress_status_handler): Likewise. * 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. * passphrase.c (command_handler): Make non-static and rename to ... (_gpgme_passphrase_command_handler): ... this. (_gpgme_passphrase_start): Use new name for command handler. * types.h: Add EditResult type. * gpgme.c (_gpgme_release_result): Release EDIT result. * edit.c: New file. * Makefile.am (libgpgme_la_SOURCES): Add edit.c. (libgpgme_la_LDADD): Rename to libgpgme_la_LIBADD, and include assuan_libobjs. (assuan_libobjs): New variable, set this instead libgpgme_la_LIBADD. * engine.h (_gpgme_engine_op_edit): New prototype. * engine.c (_gpgme_engine_op_edit): New function. * rungpg.h (_gpgme_gpg_op_edit): New prototype. * rungpg.c (_gpgme_gpg_op_edit): New function.
* 2002-06-02 Marcus Brinkmann <[email protected]>Marcus Brinkmann2002-06-021-4/+5
| | | | | | | | | | | | | | | | | * acinclude.m4: Fix Pth check so that it doesn't error out if pth is not found. gpgme/ 2002-06-02 Marcus Brinkmann <[email protected]> * ath.h: Enable the _gpgme_ prefix. Fix all those prefix macros. * posix-sema.c: Use that prefix here. * posix-io.c: Include "ath.h". (_gpgme_io_read): Use _gpgme_ath_read instead read. (_gpgme_io_write): Use _gpgme_ath_write instead write. (_gpgme_io_waitpid): Use _gpgme_ath_waitpid instead waitpid. (_gpgme_io_select): Use _gpgme_ath_select instead select.
* doc/Marcus Brinkmann2002-05-091-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-05-09 Marcus Brinkmann <[email protected]> * gpgme.texi (Overview): Replace note about thread-safeness. (Multi Threading): New section. gpgme/ 2002-05-08 Marcus Brinkmann <[email protected]> * w32-util.c: New static variable GET_PATH_LOCK. (_gpgme_get_gpg_path): Remove superfluous NULL initializer. Take lock while determining path. (_gpgme_get_gpgsm_path): Likewise. * version.c (do_subsystem_inits): Set DONE to 1 after initialization. (gpgme_get_engine_info): New variable ENGINE_INFO_LOCK. Take lock while determining engine info. * rungpg.c (_gpgme_gpg_get_version): New variable GPG_VERSION_LOCK. Take the lock while determining the program version. * posix-io.c: Include "sema.h". (_gpgme_io_spawn): New variable FIXED_SIGNALS_LOCK. Take the lock while fixing the signals. (_gpgme_io_select): Make READFDS and WRITEFDS non-static. * key.c: Include "sema.h". New globals KEY_CACHE_LOCK and KEY_REF_LOCK. (capabilities_to_string): Make STRINGS very const. (_gpgme_key_cache_add): Lock the key cache. (_gpgme_key_cache_get): Likewise. (gpgme_key_ref, gpgme_key_release): Lock the key_ref_lock. * import.c (append_xml_impinfo): Make IMPORTED_FIELDS and IMPORT_RES_FIELDS very const. Make FIELD and FIELD_NAME a litle const. * engine.c (_gpgme_engine_get_info): New variable ENGINE_INFO_LOCK. Take lock while determining engine info. * engine-gpgsm.c: Include "sema.h". (_gpgme_gpgsm_get_version): New variable GPGSM_VERSION_LOCK. Take lock while getting program version.
* 2002-05-08 Marcus Brinkmann <[email protected]>Marcus Brinkmann2002-05-081-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * debug.h: New file. * Makefile.am (libgpgme_la_SOURCES): Add debug.h. * util.h: Removed all prototypes and declarations related to debugging. Include "debug.h". * debug.c (debug_level): Comment variable and remove superfluous zero initializer. (errfp): Likewise. (_gpgme_debug_enabled): Function removed. (struct debug_control_s): Definition removed. (_gpgme_debug_level): Function removed. (_gpgme_debug_begin): Rewritten to use vasprintf. Accept a pritnf-style format specification and a variable number of arguments. (_gpgme_debug_add): Rewritten using vasprintf. Expect that format starts out with "%s" for simplicity. (_gpgme_debug_end): Rewritten using vasprintf. Do not accept a TEXT argument anymore. * posix-io.c (_gpgme_io_select): Use new level argument for DEBUG_BEGIN instead explicit if construct. * debug.c (debug_init): Remove superfluous zero initializer, remove volatile flag of INITIALIZED. Do not use the double-checked locking algorithm, it is fundamentally flawed and will empty your fridge (on a more serious note, despite the volatile flag it doesn't give you the guarantee you would expect, for example on a DEC Alpha or an SMP machine. The volatile only serializes accesses to the volatile variable, but not to the other variables).
* 2002-03-17 Marcus Brinkmann <[email protected]>Marcus Brinkmann2002-03-181-216/+239
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Add automake conditional HAVE_DOSISH_SYSTEM. gpgme/ 2002-03-18 Marcus Brinkmann <[email protected]> * Makefile.am (system_components): New variable, set depending on HAVE_DOSISH_SYSTEM. (libgpgme_la_SOURCES): Use system_components. Remove `syshdr.h'. * syshdr.h: File removed. * posix-io.c: Remove !HAVE_DOSISH_SYSTEM safeguard. Clean up source. * posix-sema.c: Likewise. * posix-util.c: Likewise. * w32-io.c: Remove HAVE_DOSISH_SYSTEM safeguard. * w32-sema.c: Likewise. * w32-util.c: Likewise. * posix-io.c: Include `unistd.h', do not include `syshdr.h'. * posix-sema.c: Likewise. * w32-io.c: Include `io.h', do not include `syshdr.h' * w32-sema.c: Likewise. * w32-util.c: Likewise. * data.c: Do not include `syshdr.h'. * wait.c: Likewise. * wait.h: Code cleanup. * mutex.h: New file. * posix-sema.c: Implement.
* 2001-12-13 Marcus Brinkmann <[email protected]>Marcus Brinkmann2001-12-131-3/+14
| | | | | | | | | | | | | | | | | * engine-gpgsm.c (close_notify_handler): New function. (_gpgme_gpgsm_new): Manage the file descriptors a bit differently. Do not set close-on-exec flags. (_gpgme_gpgsm_op_decrypt): Do not set message_fd to -1, this is done by the close handler. (_gpgme_gpgsm_op_encrypt): Likewise. (_gpgme_gpgsm_op_import): Likewise (also for output_fd). (_gpgme_gpgsm_op_keylist): Likewise (also for input_fd and output_fd). (_gpgme_gpgsm_op_sign): Likewise. (_gpgme_gpgsm_op_verify): Likewise, but for output_fd. * posix-io.c (_gpgme_io_pipe): Set the close-on-exec flag for the non-inherited file descriptor index of the pipe.
* Release 0.2.1gpgme-0-2-1Werner Koch2001-04-021-4/+11
|
* Reworked the process code.Werner Koch2001-02-201-1/+4
|
* FD are now released and a major bug has been fixed.Werner Koch2001-02-191-1/+31
| | | | | The W32 version does not compile at the meoment.
* reap off gpg processesWerner Koch2001-02-131-0/+6
|
* Add some debugging codeWerner Koch2001-02-131-1/+5
|
* Add better debug printing. Use reader threads for W32Werner Koch2001-01-301-36/+23
|
* More changes and and some new functionsWerner Koch2001-01-081-1/+1
|
* Add a passphrase callback and minor changes to the interfaceWerner Koch2000-12-121-2/+18
|
* Okay, it runs at least on Windows 95Werner Koch2000-12-061-1/+2
|
* Now we are able to compile the W32 stuff - don't now whether it works; I haveWerner Koch2000-11-231-3/+10
| | | | | no Windoze box here.
* Added some comments and prepared for W32 supportWerner Koch2000-11-221-0/+284