Werner Koch [Thu, 19 Aug 2010 13:41:05 +0000 (13:41 +0000)]
Change for gpg-error change.
Marcus Brinkmann [Wed, 18 Aug 2010 14:14:27 +0000 (14:14 +0000)]
2010-08-18 Marcus Brinkmann <marcus@g10code.de>
* gpgme.def: Add gpgme_err_code_from_syserror and gpgme_err_set_errno.
* libgpgme.vers: Likewise.
* gpgme.h.in (gpgme_error_from_errno): Fix return type to
gpgme_error_t.
(gpgme_err_code_from_syserror, gpgme_err_set_errno): New prototype.
(gpgme_error_from_syserror): New inline function (why are
gpgme_err_make_from_errno and gpgme_error_from_errno not inline
functions?).
* error.c (gpgme_error_from_errno): Fix return type to gpgme_error_t.
(gpgme_err_set_errno, gpgme_err_code_from_syserror): New functions.
Marcus Brinkmann [Wed, 4 Aug 2010 07:47:05 +0000 (07:47 +0000)]
Are you ready already?
Marcus Brinkmann [Wed, 4 Aug 2010 07:40:33 +0000 (07:40 +0000)]
Too embarrassing for a changelog entry.
Marcus Brinkmann [Tue, 3 Aug 2010 09:16:01 +0000 (09:16 +0000)]
2010-08-03 Marcus Brinkmann <marcus@g10code.de>
* gpgme-tool.c (result_encrypt_to_xml, result_sign_to_xml)
(result_verify_to_xml, result_import_to_xml)
(result_genkey_to_xml): Check vigorously for null pointers.
Marcus Brinkmann [Tue, 3 Aug 2010 09:01:24 +0000 (09:01 +0000)]
2010-08-03 Marcus Brinkmann <marcus@g10code.de>
* w32-io.c (GPGCEDEV_IOCTL_ASSIGN_RVID): New macro.
(_gpgme_io_spawn): Use ASSIGN_RVID.
Werner Koch [Tue, 29 Jun 2010 17:13:07 +0000 (17:13 +0000)]
comment typo fixes
Marcus Brinkmann [Thu, 10 Jun 2010 23:29:06 +0000 (23:29 +0000)]
2010-06-11 Marcus Brinkmann <marcus@g10code.de>
* w32-io.c (_gpgme_io_spawn): Remove debug printf.
Marcus Brinkmann [Thu, 10 Jun 2010 17:29:43 +0000 (17:29 +0000)]
2010-06-10 Marcus Brinkmann <marcus@g10code.de>
* gpgme-tool.c (gpgme_server): Use special hack for Windows CE to
get at stdin and stdout.
Marcus Brinkmann [Thu, 10 Jun 2010 16:13:14 +0000 (16:13 +0000)]
2010-06-10 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (gpgsm_new): Translate returned achild_fds back
to child_fds.
Marcus Brinkmann [Thu, 10 Jun 2010 13:49:19 +0000 (13:49 +0000)]
2010-06-10 Marcus Brinkmann <marcus@g10code.de>
* debug.h (TRACE_SUC6): New macro.
* w32-io.c (MAX_SLAFD): New macro.
(fd_table): New static variable.
(new_fd, release_fd): New functions.
(fd_to_handle, handle_to_fd, handle_to_socket): Remove macros.
(MAX_READERS, MAX_WRITERS): Increase to 64.
(notify_table): Increase to MAX_SLAFD.
(struct reader_context_s, struct writer_context_s): Add member
file_sock.
(reader, writer): Use file_hd vs file_sock to decide if socket
operations to use. Remove auto-detect mode.
(create_reader, create_writer): Set file_sock. Unblock pending
thread only if this is a pipe fd.
(_gpgme_io_pipe): Allocate fds from table and return slot indices
instead of windows handles. This allows to properly handle RVIDs.
(_gpgme_io_close): Handle dup'ed file descriptors.
(build_commandline) [HAVE_W32_SYSTEM]: Use RVID from fd table now.
(_gpgme_io_spawn): Use fd table now.
(_gpgme_io_fd2str): Use RVID from fd table now.
(_gpgme_io_dup): Implement using fd table.
(_gpgme_io_socket): Allocate fds from table.
(_gpgme_io_connect): Use fd from table.
Marcus Brinkmann [Thu, 10 Jun 2010 13:41:12 +0000 (13:41 +0000)]
* debug.h (TRACE_SUC6): New macro.
Marcus Brinkmann [Wed, 9 Jun 2010 13:33:31 +0000 (13:33 +0000)]
2010-06-09 Marcus Brinkmann <marcus@g10code.de>
* w32-io.c [HAVE_W32CE_SYSTEM]: Include assuan.h and winioctl.h.
(GPGCEDEV_IOCTL_UNBLOCK) [HAVE_W32CE_SYSTEM]: Define.
(set_synchronize) [HAVE_W32CE_SYSTEM]: Stub it out.
(is_socket): Allow to return -1 for auto-detect (old behaviour).
(is_socket) [HAVE_W32CE_SYSTEM]: Return -1.
(reader): Handle auto-detect case. Handle ctx->stop_me before
checking for EOF.
(destroy_reader) [HAVE_W32CE_SYSTEM]: Unblock a pending reader.
(writer): Handle auto-detect case. Handle ctx->stop_me with
ERROR_BUSY.
(destroy_writer) [HAVE_W32CE_SYSTEM]: Unblock a pending writer.
(_gpgme_io_pipe) [HAVE_W32CE_SYSTEM]: Implement in terms of a
half-pipe.
(build_commandline) [HAVE_W32CE_SYSTEM]: New function.
(_gpgme_io_spawn) [HAVE_W32CE_SYSTEM]: Implement it differently
for this platform.
(_gpgme_io_fd2str) [HAVE_W32CE_SYSTEM]: Implement it for RVIDs.
(_gpgme_io_dup) [HAVE_W32CE_SYSTEM]: Stub it out.
Marcus Brinkmann [Wed, 9 Jun 2010 13:23:30 +0000 (13:23 +0000)]
2010-06-09 Marcus Brinkmann <marcus@g10code.de>
* gpgme-tool.c (result_add_timestamp): Add missing NULL argument.
(result_sign_to_xml): Protect against NULL fingerprint.
(struct server): New members input_fd, input_filename,
input_stream output_fd, output_filename, output_stream,
message_filename, message_stream.
(server_reset_fds): Deallocate those.
(server_parse_fd): New function.
(server_data_obj): Take optional filename argument and direction
argument. Also take new argument to return a filestream that
needs to be closed after destroying the data object.
Change all callers, too.
(input_notify, output_notify): Removed.
(cmd_input, cmd_output): New functions.
(gpgme_server): Do not register input and output notifier.
(register_commands): Use cmd_input and cmd_output.
(cmd_message): Rewritten to use server_parse_fd.
(cmd_delete, cmd_keylist): Fix inverted option check.
(main) [HAVE_W32CE_SYSTEM]: Sleep a bit to work around bug in ssh.
Marcus Brinkmann [Wed, 9 Jun 2010 13:14:44 +0000 (13:14 +0000)]
2010-06-09 Marcus Brinkmann <marcus@g10code.de>
* genkey.c (gpgme_op_genkey): Return err with TRACE_ERR.
Marcus Brinkmann [Wed, 12 May 2010 18:20:36 +0000 (18:20 +0000)]
2010-05-12 Marcus Brinkmann <marcus@g10code.de>
* conversion.c (_gpgme_timegm) [HAVE_W32_SYSTEM]: New static
function.
(_gpgme_parse_timestamp) [HAVE_W32_SYSTEM]: Use it.
Marcus Brinkmann [Wed, 12 May 2010 17:40:08 +0000 (17:40 +0000)]
2010-05-12 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Check for setlocale.
src/
2010-05-12 Marcus Brinkmann <marcus@g10code.de>
* gpgme-tool.c (main): Protect call to setlocale with
HAVE_SETLOCALE.
Marcus Brinkmann [Wed, 12 May 2010 17:21:36 +0000 (17:21 +0000)]
2010-05-12 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (system_components): Remove custom cppflags from
RCCOMPILE (because gpg-error adds -idirafter that makes RC bail.
[HAVE_W32CE_SYSTEM]: Add w32-ce.h and w32-ce.c, clear
libexec_PROGRAMS.
* w32-ce.h, w32-ce.c: New files.
Marcus Brinkmann [Wed, 12 May 2010 16:55:39 +0000 (16:55 +0000)]
2010-05-12 Marcus Brinkmann <marcus@g10code.de>
* priv-io.h: Include <sys/types.h>
* util.h: Likewise.
Marcus Brinkmann [Tue, 11 May 2010 17:20:45 +0000 (17:20 +0000)]
2010-05-11 Marcus Brinkmann <marcus@g10code.de>
* w32-util.c: Include ath.h
(HAVE_ALLOW_SET_FOREGROUND_WINDOW) [!HAVE_W32CE_SYSTEM]: Define
it.
(RTLD_LAZY, dlopen, dlsym,
dlclose) [!HAVE_ALLOW_SET_FORGROUND_WINDOW]: Don't define anymore.
(_gpgme_allow_set_foreground_window) [!HAVE_ALLOW_SET_FOREGROUND_WINDOW]:
Make it a stub.
(read_w32_registry_string): Use FooA variants of Windows functions
instead of Foo (which dispatches depending on UNICODE).
[!HAVE_W32CE_SYSTEM]: Don't check environment.
(w32_shgetfolderpath): Remove.
(find_program_at_standard_place): Call
SHGetSpecialFolderPath (which is available on all Windows systems
and also Windows CE).
(mkstemp): Use ath_self instead of getpid.
(_gpgme_mkstemp): Use GetTempPathA instead of GetTempPath.
Marcus Brinkmann [Tue, 11 May 2010 17:01:40 +0000 (17:01 +0000)]
2010-05-11 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h.in: Use _WIN32 instead of _MSC_VER. Include time.h for
time_t.
Werner Koch [Fri, 7 May 2010 23:22:38 +0000 (23:22 +0000)]
Better detection of a missing libassuan
Marcus Brinkmann [Fri, 7 May 2010 02:14:04 +0000 (02:14 +0000)]
2010-05-07 Marcus Brinkmann <marcus@g10code.de>
* autogen.sh: Update the thing.
Marcus Brinkmann [Fri, 7 May 2010 01:32:54 +0000 (01:32 +0000)]
2010-05-07 Marcus Brinkmann <marcus@g10code.de>
* engine-g13.c, gpgme.c, engine-gpgsm.c, engine-gpg.c,
op-support.c, engine-assuan.c, gpgme-tool.c: Include <locale.h>
only if available with HAVE_LOCALE_H and conditionalize use of
LC_CTYPE on its definition.
* engine-gpgconf.c: Do not include <locale.h>.
Marcus Brinkmann [Fri, 7 May 2010 01:06:14 +0000 (01:06 +0000)]
2010-05-07 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (gpgsm_new, start): Cast between int and
assuan_fd_t.
* assuan-support.c (my_pipe, my_close, my_read, my_write): Likewise.
* gpgme-tool.c (server_data_obj, server_reset_fds, gpgme_server),
(my_recvmsg, my_sendmsg, my_spawn): Likewise.
* engine-assuan.c (start): Likewise.
* engine-g13.c (start): Likewise.
Marcus Brinkmann [Thu, 6 May 2010 15:16:57 +0000 (15:16 +0000)]
2010-05-06 Marcus Brinkmann <marcus@g10code.de>
* w32-glib-io.c, w32-io.c, w32-qt-io.cpp, w32-sema.c, w32-util.c:
Do not include <signal.h>.
Marcus Brinkmann [Thu, 6 May 2010 14:49:43 +0000 (14:49 +0000)]
2010-05-06 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Detect Windows CE.
(HAVE_W32CE_SYSTEM): New symbol and automake conditional.
* ltmain.sh, m4/libtool.m4: Patch so that it works for Windows CE.
Marcus Brinkmann [Thu, 6 May 2010 13:39:55 +0000 (13:39 +0000)]
2010-05-06 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Require libgpg-error 1.8.
src/
2010-05-06 Marcus Brinkmann <marcus@g10code.de>
* sign.c, data-user.c, conversion.c, debug.c, verify.c, data.c,
decrypt.c, delete.c, assuan-support.c, import.c, engine-gpgsm.c,
data-mem.c, op-support.c, w32-io.c, w32-util.c, data-compat.c: Use
gpg_error_from_syserror instead gpg_error_from_errno, and use
gpg_err_set_errno to set error number.
* setenv.c: Include <gpg-error.h> and define __set_errno to use
gpg_err_set_errno.
* gpgme-tool.c (ARGP_ERR_UNKNOWN): Define to EDEADLOCK (which is
mapped in Windows CE) instead of E2BIG (which is not).
(gt_import_keys): Initialize err.
Marcus Brinkmann [Mon, 19 Apr 2010 16:59:23 +0000 (16:59 +0000)]
2010-04-19 Marcus Brinkmann <marcus@g10code.de>
* assuan-support.c (my_spawn): Cast to avoid warning.
* engine-g13.c (g13_new): Make ARGV array of pointer to const
char.
(g13_assuan_simple_command) [!USE_DESCRIPTOR_FUNCTION]: Don't define.
* ops.h (_gpgme_key_append_name): Same in prototype.
* key.c (_gpgme_key_append_name): Make SRC argument pointer to
const char.
* posix-util.c (_gpgme_get_uiserver_socket_path): Make HOMEDIR
const.
* vfs-mount.c (gpgme_op_vfs_transact_start): Never define this
potentially useful but currently unused function.
* vfs-create.c (gpgme_op_vfs_transact_start): Likewise.
Werner Koch [Fri, 16 Apr 2010 14:08:41 +0000 (14:08 +0000)]
More robust detection of handle and sockets
Werner Koch [Mon, 15 Mar 2010 12:04:53 +0000 (12:04 +0000)]
Make generated header file read-only in an emacs buffer.
Werner Koch [Fri, 12 Mar 2010 22:24:13 +0000 (22:24 +0000)]
Add constant to the template and not to a built file.
Werner Koch [Fri, 12 Mar 2010 18:03:02 +0000 (18:03 +0000)]
Detect old gpg versions not featuring the --passwd command.
Werner Koch [Tue, 9 Mar 2010 11:15:53 +0000 (11:15 +0000)]
Hack to start the agent as a side-effect of a secret key listing
Werner Koch [Wed, 17 Feb 2010 21:40:02 +0000 (21:40 +0000)]
Changed the close notify implementaion to allow for more than 256 fds.
We should write a test case for it, though.
Werner Koch [Tue, 16 Feb 2010 20:07:03 +0000 (20:07 +0000)]
Add option GPGME_EXPORT_MODE_MINIMAL
Werner Koch [Tue, 16 Feb 2010 19:37:51 +0000 (19:37 +0000)]
Convert C++ comments to C90 comments.
Werner Koch [Mon, 25 Jan 2010 16:04:27 +0000 (16:04 +0000)]
Allow the native W32 version to properly work with sockets.
Marcus Brinkmann [Mon, 11 Jan 2010 12:42:59 +0000 (12:42 +0000)]
Post-release fixup.
Marcus Brinkmann [Mon, 11 Jan 2010 12:30:22 +0000 (12:30 +0000)]
2010-01-11 Marcus Brinkmann <marcus@g10code.de>
Release 1.3.0.
Werner Koch [Fri, 8 Jan 2010 19:15:06 +0000 (19:15 +0000)]
Support gpgme_op_apsswd for GPG.
Marcus Brinkmann [Thu, 7 Jan 2010 18:16:54 +0000 (18:16 +0000)]
2010-01-07 Marcus Brinkmann <marcus@g10code.de>
* gpgme-tool.c (result_xml_write_cb_t, struct result_xml_state):
New types.
(MAX_TAGS): New macro.
(result_init, result_xml_indent, result_xml_tag_start)
(result_xml_tag_data, result_xml_tag_end, result_add_error)
(result_add_pubkey_algo, result_add_hash_algo, result_add_keyid)
(result_add_fpr, result_add_timestamp, result_add_sig_mode)
(result_add_value, result_add_string, result_encrypt_to_xml)
(result_decrypt_to_xml, result_sign_to_xml)
(result_verify_to_xml, result_import_to_xml)
(result_genkey_to_xml, result_keylist_to_xml)
(result_vfs_mount_to_xml): New functions.
(gt_result): Rewritten.
Werner Koch [Tue, 5 Jan 2010 17:36:53 +0000 (17:36 +0000)]
Add an API to change passphrases. Currently only implemented for
GPGSM. Requires GnuPG 2.1
Marcus Brinkmann [Tue, 22 Dec 2009 13:00:30 +0000 (13:00 +0000)]
2009-12-22 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Do not use echo -n. Test for __thread.
src/
2009-12-22 Marcus Brinkmann <marcus@g10code.de>
* debug.c: Test for TLS, not __GNUC__
Marcus Brinkmann [Thu, 17 Dec 2009 17:36:20 +0000 (17:36 +0000)]
2009-12-17 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Make largefile check more robust.
Marcus Brinkmann [Tue, 15 Dec 2009 01:01:40 +0000 (01:01 +0000)]
2009-12-15 Marcus Brinkmann <marcus@g10code.de>
* assuan-support.c (my_spawn): Calloc, not malloc, the fd_items.
Werner Koch [Thu, 10 Dec 2009 09:49:47 +0000 (09:49 +0000)]
Test on sgid process
Marcus Brinkmann [Tue, 8 Dec 2009 22:39:27 +0000 (22:39 +0000)]
Forgotten file.
Marcus Brinkmann [Tue, 8 Dec 2009 21:38:22 +0000 (21:38 +0000)]
2009-12-08 Marcus Brinkmann <marcus@g10code.de>
Update to libtool 2.2.6a.
* configure.ac: Invoke AC_CONFIG_MACRO_DIR.
(AC_LIBTOOL_WIN32_DLL, AC_LIBTOOL_RC): Replace by ...
(LT_PREREQ, LT_INIT, LT_LANG): ... these.
* config.guess, config.sub, install-sh, ltmain.sh, m4/libtool.m4:
Updated to libtool 2.2.6a.
* m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.m4,
m4/lt~obsolete.m4: New files from libtool 2.2.6a.
src/
2009-12-08 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (LTRCCOMPILE): Refactor with ...
(RCCOMPILE): ... this new macro.
(SUFFIXES): Add .lo.
(gpgme_res_ldflag): Removed.
(gpgme_res): Use libtool object file name here.
(libgpgme_la_LDFLAGS): Remove gpgme_res_ldflag usage.
Marcus Brinkmann [Tue, 8 Dec 2009 04:07:57 +0000 (04:07 +0000)]
2009-12-08 Marcus Brinkmann <marcus@g10code.de>
* ath.c (ath_self) [HAVE_W32_SYSTEM]: Fix typo.
Werner Koch [Wed, 2 Dec 2009 09:49:56 +0000 (09:49 +0000)]
Small portability fix
Werner Koch [Tue, 1 Dec 2009 11:21:47 +0000 (11:21 +0000)]
Add flags to the getauditlog command.
Werner Koch [Tue, 1 Dec 2009 11:00:27 +0000 (11:00 +0000)]
Fix segv in printf like functions.
Marcus Brinkmann [Thu, 26 Nov 2009 17:53:06 +0000 (17:53 +0000)]
2009-11-26 Marcus Brinkmann <marcus@g10code.de>
* opassuan.c (opassuan_start): Allocate result structure before
beginning operation.
Marcus Brinkmann [Wed, 25 Nov 2009 17:57:05 +0000 (17:57 +0000)]
2009-11-25 Marcus Brinkmann <marcus@g10code.de>
* gpgme-tool.c (gpgme_server): Use assuan_fd_t and assuan_fdopen
on fds.
Werner Koch [Tue, 17 Nov 2009 13:06:05 +0000 (13:06 +0000)]
Fixes for the UI server engine .
Marcus Brinkmann [Tue, 10 Nov 2009 18:05:04 +0000 (18:05 +0000)]
2009-11-10 Marcus Brinkmann <marcus@g10code.de>
* op-support.c (_gpgme_op_reset): Instead of last change, only set
sub protocol if it is not the default.
Werner Koch [Tue, 10 Nov 2009 16:32:11 +0000 (16:32 +0000)]
Make recipients command work.
Werner Koch [Tue, 10 Nov 2009 15:04:12 +0000 (15:04 +0000)]
Pass fdpassing flag to assuan_socket_connect.
Marcus Brinkmann [Tue, 10 Nov 2009 14:54:39 +0000 (14:54 +0000)]
2009-11-10 Marcus Brinkmann <marcus@g10code.de>
* gpgme.c (gpgme_new): Set default sub protocol.
* gpgme-tool.c: Implement get sub protocol.
Marcus Brinkmann [Tue, 10 Nov 2009 14:49:35 +0000 (14:49 +0000)]
2009-11-10 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h.in (gpgme_get_sub_protocol): Add prototype.
* gpgme.def, libgpgme.vers: Add gpgme_get_sub_protocol.
* context.h (struct gpgme_context): New member sub_protocol.
* gpgme.c (gpgme_set_sub_protocol): Set CTX->sub_protocol.
(gpgme_get_sub_protocol): New function.
* op-support.c (_gpgme_op_reset): Set sub protocol.
Marcus Brinkmann [Tue, 10 Nov 2009 09:07:19 +0000 (09:07 +0000)]
2009-11-10 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Activate UIServer if FD passing is enabled and
Assuan is available.
m4/
2009-11-10 Marcus Brinkmann <marcus@g10code.de>
* libassuan.m4: Fix LIBASSUAN_VERSION.
src/
2009-11-10 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (uiserver_components): New variable.
(main_sources): Add it.
* ops.h, key.c (_gpgme_key_append_name): Take CONVERT argument,
implement it. Adjust callers.
(gpgme_key_from_uid): New function.
* gpgme.h.in (gpgme_protocol_t): Add GPGME_PROTOCOL_DEFAULT.
(gpgme_encrypt_flags_t): Add GPGME_ENCRYPT_PREPARE,
GPGME_ENCRYPT_EXPECT_SIGN.
(gpgme_set_sub_protocol, gpgme_key_from_uid): New functions.
* libgpgme.vers, gpgme.def: Add new functions.
* gpgme.c (gpgme_set_protocol): Add UIServer protocol.
(gpgme_set_sub_protocol): New function.
(gpgme_get_protocol_name): Add UIServer and default protocol.
* assuan-support.c: Return correct error values, implement
socketpair for POSIX.
* priv-io.h, posix-io.c, w32-io.c, w32-glib-io.c,
w32-qt-io.cpp (_gpgme_io_spawn): Add ATFORK and ATFORKVALUE
arguments. Implement it for POSIX. Adjust all callers.
* engine.h, engine-backend.h (_gpgme_engine_set_protocol)
(_gpgme_engine_op_decrypt_verify): New prototypes. Adjust all
users.
* engine.c (engine_ops, gpgme_get_engine_info): Add UIServer
engine.
(_gpgme_engine_set_protocol, _gpgme_engine_op_decrypt_verify): New
function.
* decrypt-verify.c (decrypt_verify_start): Call
_gpgme_engine_op_decrypt_verify.
* util.h, posix-util.c,
w32-util.c (_gpgme_get_uiserver_socket_path): New function.
* engine-gpgsm.c (gpgsm_set_fd): Fix _gpgme_io_pipe invocation.
* gpgme-tool.c: Some support for UIServer protocol.
* engine-uiserver.c: New file.
Marcus Brinkmann [Mon, 9 Nov 2009 21:21:12 +0000 (21:21 +0000)]
Fix last change.
Marcus Brinkmann [Mon, 9 Nov 2009 21:19:03 +0000 (21:19 +0000)]
Remove comment.
Marcus Brinkmann [Mon, 9 Nov 2009 21:17:58 +0000 (21:17 +0000)]
2009-11-09 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (gpgsm_new): Close server side FDs.
Marcus Brinkmann [Fri, 6 Nov 2009 00:44:44 +0000 (00:44 +0000)]
2009-11-06 Marcus Brinkmann <marcus@g10code.de>
* gpgme-tool.c (struct gpgme_tool): New members write_data and
write_data_hook.
(gt_write_data): New function.
(gt_result): Output vfs_mount result.
(server_write_data): New function.
(gpgme_server): Initialize write_data members.
Marcus Brinkmann [Fri, 6 Nov 2009 00:12:59 +0000 (00:12 +0000)]
2009-11-05 Marcus Brinkmann <marcus@g10code.de>
* engine-g13.c (struct engine_g13): Remove members RESULT_CB and
RESULT_CB_VALUE.
(g13_assuan_simple_command, status_handler): Don't use those anymore.
(g13_transact): Remove them from argument list, too.
* vfs-mount.c (_gpgme_vfs_mount_status_handler): New function.
(_gpgme_op_vfs_mount): Pass it to transact.
Marcus Brinkmann [Thu, 5 Nov 2009 12:10:04 +0000 (12:10 +0000)]
2009-11-05 Marcus Brinkmann <marcus@g10code.de>
* engine-assuan.c (llass_new): Update use of assuan_socket_connect.
* engine-gpgsm.c (gpgsm_new): Update use of assuan_pipe_connect.
* engine-g13.c (g13_new): Likewise.
Marcus Brinkmann [Thu, 5 Nov 2009 02:39:31 +0000 (02:39 +0000)]
2009-11-05 Marcus Brinkmann <marcus@g10code.de>
* priv-io.h (IOSPAWN_FLAG_NOCLOSE): New flag.
* w32-io.c (_gpgme_io_spawn): Implement this flag.
* posix-io.c (_gpgme_io_spawn): Likewise.
* w32-glib-io.c (_gpgme_io_spawn): Likewise.
* assuan-support.c (my_spawn): Set this flag.
Marcus Brinkmann [Thu, 5 Nov 2009 02:17:07 +0000 (02:17 +0000)]
2009-11-05 Marcus Brinkmann <marcus@g10code.de>
* decrypt.c (gpgme_op_decrypt_start): Fix use of debug macro.
* decrypt-verify.c (gpgme_op_decrypt_verify_start): Likewise.
* delete.c (gpgme_op_delete_start): Likewise.
* edit.c (gpgme_op_edit_start, gpgme_op_card_edit_start):
Likewise.
* encrypt.c (gpgme_op_encrypt_start): Likewise.
* encrypt-sign.c (gpgme_op_encrypt_sign_start): Likewise.
* export.c (gpgme_op_export_start, gpgme_op_export_ext_start)
(gpgme_op_export_keys_start, gpgme_op_export_keys): Likewise.
* genkey.c (gpgme_op_genkey_start): Likewise.
* getauditlog.c (gpgme_op_getauditlog_start): Likewise.
* import.c (gpgme_op_import_start, gpgme_op_import_keys_start):
Likewise.
* opassuan.c (gpgme_op_assuan_transact_start): Likewise.
* sign.c (gpgme_op_sign_start): Likewise.
* verify.c (gpgme_op_verify_start): Likewise.
* vfs-create.c (gpgme_op_vfs_create): Likewise.
* vfs-mount.c (gpgme_op_vfs_mount): Likewise.
Marcus Brinkmann [Wed, 4 Nov 2009 18:13:44 +0000 (18:13 +0000)]
2009-11-04 Marcus Brinkmann <marcus@g10code.de>
* ath.h (ath_self): New prototype. Include <stdint.h>
* ath.c, ath-pth.c, ath-pthread.c (ath_self): New function.
* debug.h: Rewrite most macros to beautify debug output.
(_gpgme_debug_buffer): Remove tagname and tag argument.
(_gpgme_debug_frame_begin, _gpgme_debug_frame_end): New prototypes.
* debug.c: Include <time.h>. Don't include assuan.h.
(frame_nr, FRAME_NR): New thread-specific variable and macro.
(debug_init): Do not initialize assuan. Call _gpgme_debug after
initialization instead using printf directly.
(_gpgme_debug): Do not call debug_init (we now ensure proper
initialization by user). Add timestamp and thread/process ID.
(_gpgme_debug_buffer): Do not take tagname and tag argument.
(_gpgme_debug_frame_begin, _gpgme_debug_frame_end): New functions.
* version.c (gpgme_check_version_internal, gpgme_check_version):
Fix debug string. Do not initialize assuan.
* posix-io.c (get_max_fds): Use 0 not NULL (nicer debug output).
Werner Koch [Wed, 4 Nov 2009 10:43:42 +0000 (10:43 +0000)]
Adjust for changed assuan_register_command.
Werner Koch [Tue, 3 Nov 2009 20:27:35 +0000 (20:27 +0000)]
Prepare for a new protocol.
Comment clarification.
Marcus Brinkmann [Tue, 3 Nov 2009 19:15:35 +0000 (19:15 +0000)]
2009-11-03 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (main_sources): Change g13.c to vfs-mount.c. Add
vfs-create.c
* vfs-create.c: New file.
* g13.c: Renamed to ...
* vfs-mount.c: ... this new file.
* gpgme.h.in (gpgme_op_vfs_create): New prototype.
* gpgme.def, libgpgme.vers: Add gpgme_op_vfs_create.
* gpgme-tool.c (gt_vfs_create, cmd_vfs_create): New functions.
(register_commands): Add VFS_CREATE and CREAET.
Marcus Brinkmann [Mon, 2 Nov 2009 17:18:48 +0000 (17:18 +0000)]
2009-11-02 Marcus Brinkmann <marcus@g10code.de>
* debug.h (_gpgme_debug_buffer): Make TAG argument const const.
* debug.c (_gpgme_debug_buffer): Likewise.
* gpgme-tool.c (input_notify, output_notify): Adjust type to new
assuan interface.
* decrypt.c (gpgme_op_decrypt_result): Remove unused variable.
* opassuan.c (gpgme_op_assuan_transact): Fix return value.
Marcus Brinkmann [Mon, 2 Nov 2009 17:06:14 +0000 (17:06 +0000)]
2009-11-02 Marcus Brinkmann <marcus@g10code.de>
* opassuan.c (gpgme_op_assuan_transact): Fix return value.
Marcus Brinkmann [Fri, 30 Oct 2009 14:21:08 +0000 (14:21 +0000)]
2009-10-30 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Check for argp.h and error_t.
src/
2009-10-30 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (noinst_PROGRAMS): New target gpgme-tool.
(gpgme_tool_LDADD): New variable.
* gpgme-tool.c: New file.
* ops.h (_gpgme_sig_notation_clearm _gpgme_signers_clear): New
prototypes.
* gpgme.c (gpgme_set_protocol): Allow GPGME_PROTOCOL_GPGCONF (when
had that gone missing?).
(_gpgme_sig_notation_clear): New function without debug output.
(gpgme_release): Call it and _gpgme_signers_clear.
* signers.c (_gpgme_signers_clear): New function without debug output.
* g13.c (gpgme_op_vfs_mount): Add debug output.
* assuan-support.c (my_spawn): Allow fd_child_list to be NULL.
* conversion.c (_gpgme_encode_percent_string): Fix infinite loop.
* debug.h: Put tag in front of debug lines, should make for nicer
output.
* engine-assuan.c (llass_new): Use our new system hooks for libassuan.
* engine-g13.c (g13_new): Remove redundant assuan context allocation.
* version.c (gpgme_check_version_internal): Delay debug output
until after gpgme_check_version was called.
Marcus Brinkmann [Fri, 30 Oct 2009 14:13:42 +0000 (14:13 +0000)]
Some additions.
Marcus Brinkmann [Wed, 28 Oct 2009 16:39:19 +0000 (16:39 +0000)]
2009-10-28 Marcus Brinkmann <marcus@g10code.de>
* signers.c, encrypt-sign.c, encrypt.c, delete.c, keylist.c,
edit.c, import.c, export.c: Fix last change in debug output.
Marcus Brinkmann [Tue, 27 Oct 2009 19:23:56 +0000 (19:23 +0000)]
2009-10-27 Marcus Brinkmann <marcus@g10code.de>
* edit.c (gpgme_op_edit_start, gpgme_op_edit)
(gpgme_op_card_edit_start, gpgme_op_card_edit): Add debug output.
* encrypt-sign.c (gpgme_op_encrypt_sign_start)
(gpgme_op_encrypt_sign): Likewise.
* encrypt.c (gpgme_op_encrypt_start, gpgme_op_encrypt)
(gpgme_op_encrypt_result): Likewise.
* export.c (gpgme_op_export_start, gpgme_op_export)
(gpgme_op_export_ext_start, gpgme_op_export_ext)
(gpgme_op_export_keys_start, gpgme_op_export_keys): Likewise.
* genkey.c (gpgme_op_genkey_start, gpgme_op_genkey)
(gpgme_op_genkey_result): Likewise.
* getauditlog.c (gpgme_op_getauditlog_start)
(gpgme_op_getauditlog): Likewise.
* import.c (gpgme_op_import_result, gpgme_op_import_start)
(gpgme_op_import): Likewise.
* keylist.c (gpgme_op_keylist_result, keylist_colon_handler)
(gpgme_op_keylist_start, gpgme_op_keylist_ext_start)
(gpgme_op_keylist_next, gpgme_op_keylist_end, gpgme_get_key): Likewise.
* opassuan.c (gpgme_op_assuan_transact_start)
(gpgme_op_assuan_transact_ext, gpgme_op_assuan_result)
(gpgme_op_assuan_transact): Likewise.
* signers.c (gpgme_signers_add, gpgme_signers_clear): Likewise.
* trustlist.c (gpgme_op_trustlist_start)
(gpgme_op_trustlist_next, gpgme_op_trustlist_end): Likewise.
* verify.c (gpgme_op_verify_start, gpgme_op_verify)
(gpgme_op_verify_result): Likewise.
Marcus Brinkmann [Mon, 26 Oct 2009 18:52:32 +0000 (18:52 +0000)]
2009-10-26 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (NEED_GPG_VERSION_DEFAULT): Bump to 1.4.0 as 1.3.0
was development versions only.
tests/
2009-10-26 Marcus Brinkmann <marcus@g10code.de>
* opassuan/t-command.c: Update to new interface.
src/
2009-10-26 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h.in (struct gpgme_io_event_done_data)
(gpgme_io_event_done_data_t): New types.
(struct _gpgme_op_assuan_result): Deprecate the err member.
(gpgme_op_assuan_result): Deprecate (for now).
(gpgme_op_assuan_transact_ext): New prototype.
(gpgme_op_assuan_transact): Deprecate.
(struct _gpgme_op_g13_result): Replace with ...
(struct _gpgme_op_vfs_mount_result): ... this.
(gpgme_op_g13_mount): Replace with ...
(gpgme_op_vfs_mount): ... this.
* gpgme.def (gpgme_op_assuan_transact_ext, gpgme_wait_ext)
(gpgme_op_vfs_mount_result, gpgme_op_vfs_mount): New.
(gpgme_op_g13_mount): Remove.
* libgpgme.vers: Likewise.
* engine-backend.h (struct engine_ops): Remove RESULT_CB and
RESULT_CB_VALUE args in opassuan_transact member. Add CANCEL_OP
member.
* ops.h (_gpgme_cancel_with_err, _gpgme_wait_on_condition): Add
OP_ERR argument.
(_gpgme_wait_one_ext): New prototype.
* context.h (ctx_op_data_id_t): Add OPDATA_VFS_MOUNT.
* engine-g13.c (g13_cancel_op): New function.
(parse_status): Remove declaration.
(g13_assuan_simple_command): Do nothing with status lines for now.
(status_handler): Update opaque value access.
(_gpgme_engine_ops_g13): Add new cancel_op member.
* gpgme.c (_gpgme_cancel_with_err): Add new parameter OP_ERR.
Handle operational errors.
(gpgme_cancel, gpgme_io_read, gpgme_io_write): Add debug output.
* data.c (_gpgme_data_inbound_handler)
(_gpgme_data_outbound_handler): Adjust opaque value access.
* engine-gpg.c (command_handler, status_handler)
(colon_line_handler): Likewise.
* engine-gpgsm.c (status_handler): Likewise.
* engine-gpg.c (_gpgme_engine_ops_gpg): Add cancel_op member.
* engine-gpgsm.c (_gpgme_engine_ops_gpgsm): Likewise.
* g13.c: Rewritten (and will be rewritten again).
* engine.h (_gpgme_engine_op_assuan_transact): Remove result_cb
and result_cb_value parameters from prototype.
(_gpgme_engine_cancel_op): New prototype.
* engine.c (engine_ops) [! ENABLE_ASSUAN]: Add missing comma.
(_gpgme_engine_op_assuan_transact): Remove result_cb and
result_cb_value parameter.
(_gpgme_engine_cancel_op): New function.
* wait.h (_gpgme_run_io_cb): Add new argument OP_ERR.
(struct io_cb_data): New struct to pass opaque data and get a
op_err return value. Needed because we can't modify I/O callback
handler signature because it is exposed to the user.
* wait.c (_gpgme_run_io_cb): Add OP_ERR parameter. Handle
operational errors.
* wait-user.c (_gpgme_user_io_cb_handler): Handle operational
errors.
* wait-private.c (_gpgme_wait_on_condition): New argument to
retrieve the operational result. Handle operational errors in
session based protocols.
(_gpgme_wait_one_ext): New function.
(_gpgme_wait_one): Pass argument in invocation of
_gpgme_wait_on_condition.
* wait-global.c (struct ctx_list_item): Add member OP_ERR.
(ctx_done): New argument OP_ERR.
(ctx_wait): New argument OP_ERR.
(gpgme_wait_ext): New function based on gpgme_wait but handling
operational errors.
(gpgme_wait): Implement in term of gpgme_wait_ext.
* keylist.c (gpgme_op_keylist_next): Pass argument in invocation
of _gpgme_wait_on_condition.
* trustlist.c (gpgme_op_trustlist_next): Pass argument in
invocation of _gpgme_wait_on_condition.
* engine-assuan.c (struct engine_llass): Replace members RESULT_CB
and RESULT_CB_VALUE by LAST_OP_ERR.
(_gpgme_engine_assuan_last_op_err): Add this hack function.
(llass_cancel_op): New function.
(_gpgme_engine_llass_ops): Add cancel_op member.
(llass_status_handler): Update opaque value access.
(llass_transact): Remove RESULT_CB and RESULT_CB_VALUE arguments.
* opassuan.c: Move compat hacks to the end of file.
(opassuan_start): Do not set OPD->result.err.
Do not pass RESULT_Cb and CTX to _gpgme_engine_op_assuan_transact.
(gpgme_op_assuan_transact_ext): New function.
Marcus Brinkmann [Mon, 26 Oct 2009 17:38:39 +0000 (17:38 +0000)]
2009-10-26 Marcus Brinkmann <marcus@g10code.de>
* debug.h (DEBUG_GLOBAL): New debug level.
* conversion.c (gnupg_errors, _gpgme_map_gnupg_error): Removed.
* data-user.c (gpgme_data_new_from_cbs): Add debug output.
* data-fd.c (gpgme_data_new_from_fd): Likewise.
* data-stream.c (gpgme_data_new_from_stream): Likewise.
* decrypt.c (gpgme_op_decrypt_result, gpgme_op_decrypt_start)
(gpgme_op_decrypt): Likewise.
* delete.c (gpgme_op_delete_start, gpgme_op_delete): Likewise.
* decrypt-verify.c (gpgme_op_decrypt_verify_start)
(gpgme_op_decrypt_verify): Likewise.
* sign.c (gpgme_op_sign_result): Fix debug message.
* data-mem.c (gpgme_data_new): Improve debug output.
* verify.c (parse_trust): Use atoi instead of
_gpgme_map_gnupg_error.
* decrypt.c (_gpgme_decrypt_status_handler): Likewise.
Marcus Brinkmann [Thu, 22 Oct 2009 16:44:07 +0000 (16:44 +0000)]
2009-10-22 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add support for G13.
src/
2009-10-22 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am: Remove @NETLIBS@ from LIBADDs.
(g13_components): New variable.
(main_sources): Add $(g13_components).
* g13.c, engine-g13.c: New files.
* engine.c (engine_ops): Check for assuan for assuan engine, add
g13 engine.
* util.h (_gpgme_get_g13_path, _gpgme_encode_percent_string): New
prototypes.
* conversion.c (_gpgme_encode_percent_string): New function.
* gpgme.h.in (gpgme_protocol_t): Add GPGME_PROTOCOL_G13.
(struct _gpgme_op_g13_result, gpgme_g13_result_t): New types.
(gpgme_op_g13_mount): New function.
* gpgme.def, libgpgme.vers: Add gpgme_op_g13_mount.
* gpgme.c (gpgme_set_protocol): Allow GPGME_PROTOCOL_G13.
(gpgme_get_protocol_name): Add GPGME_PROTOCOL_G13.
* posix-util.c (_gpgme_get_g13_path): New function.
* w32-util.c (_gpgme_get_g13_path): New function.
* engine-backend.h (_gpgme_engine_ops_g13): New declaration.
Marcus Brinkmann [Tue, 20 Oct 2009 16:05:21 +0000 (16:05 +0000)]
Really add file.
Marcus Brinkmann [Tue, 20 Oct 2009 16:04:06 +0000 (16:04 +0000)]
2009-10-20 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (AC_CONFIG_FILES): Remove assuan/Makefile.
Marcus Brinkmann [Tue, 20 Oct 2009 15:55:01 +0000 (15:55 +0000)]
Fix version number.
Marcus Brinkmann [Tue, 20 Oct 2009 15:54:34 +0000 (15:54 +0000)]
Add item on libassuan.
Marcus Brinkmann [Tue, 20 Oct 2009 15:54:01 +0000 (15:54 +0000)]
2009-10-20 Marcus Brinkmann <marcus@g10code.de>
* gpgme-config.in (netlibs): Remove.
(assuan_cflags, assuan_libs): Add.
Marcus Brinkmann [Tue, 20 Oct 2009 15:39:15 +0000 (15:39 +0000)]
2009-10-20 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Replace internal libassuan by external libassuan.
* m4/libassuan.m4: New file.
* Makefile.am (assuan): Remove variable.
(SUBDIRS): Remove ${assuan}.
* assuan/: Removed.
src/
2009-10-20 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (assuan_cppflags, assuan_libobjs): Removed.
(gpgsm_components): Move engine-assuan.c to ...
(assuan_components): ... this new variable.
(main_sources): Add this new variable.
(AM_CPPFLAGS): Remove $(assuan_cppflags).
(AM_CFLAGS): Add @LIBASSUAN_CFLAGS@.
(libgpgme_la_DEPENDENCIES, libgpgme_pth_la_DEPENDENCIES)
(libgpgme_glib_la_DEPENDENCIES, libgpgme_qt_la_DEPENDENCIES)
(libgpgme_pthread_la_DEPENDENCIES): Remove $(assuan_libobjs).
(libgpgme_la_LIBADD, libgpgme_pth_la_LIBADD)
(libgpgme_glib_la_LIBADD, libgpgme_qt_la_LIBADD))
(libgpgme_pthread_la_LIBADD): Replace $(assuan_libobjs) by
@LIBASSUAN_LIBS@.
* priv-io.h [!HAVE_W32_SYSTEM]: Declare _gpgme_io_recvmsg,
_gpgme_io_sendmsg, _gpgme_io_waitpid.
* engine-backend.h: Define with [ENABLE_ASSUAN] instead
of [ENABLE_GPGSM].
* posix-io.c (_gpgme_io_waitpid): Make non-static.
* util.h (ENABLE_ASSUAN): Declar _gpgme_assuan_system_hooks,
_gpgme_assuan_malloc_hooks, _gpgme_assuan_log_cb.
* engine-gpgsm.c: Don't map assuan error codes. Use
assuan_release instead of assuan_disconnect.
(map_assuan_error): Remove function.
(gpgsm_new): Use new assuan context interface.
* engine-assuan.c: Use assuan_release instead of
assuan_disconnect.
(llass_new): Use new assuan context interface.
Werner Koch [Thu, 15 Oct 2009 20:54:25 +0000 (20:54 +0000)]
Add new debug helper
Werner Koch [Wed, 7 Oct 2009 11:17:57 +0000 (11:17 +0000)]
Fix last change for Windows.
Werner Koch [Thu, 6 Aug 2009 19:09:10 +0000 (19:09 +0000)]
Better detection for signature creation failure.
Werner Koch [Thu, 6 Aug 2009 17:17:18 +0000 (17:17 +0000)]
Fix detection of invalid signer keys.
Support the new INV_SGNR status code.
Werner Koch [Wed, 8 Jul 2009 11:49:18 +0000 (11:49 +0000)]
Add issing file.
Werner Koch [Tue, 7 Jul 2009 14:33:10 +0000 (14:33 +0000)]
Inmplement import from keys for GPGSM.
Add option --cms to run-keylist test program.
Werner Koch [Tue, 7 Jul 2009 14:17:39 +0000 (14:17 +0000)]
Move gpg test programs to the top test directory.
Werner Koch [Tue, 7 Jul 2009 12:39:39 +0000 (12:39 +0000)]
Typo fix.
Werner Koch [Tue, 7 Jul 2009 12:38:18 +0000 (12:38 +0000)]
* engine-gpgsm.c (gpgsm_import): Return an error for unknown data
encodings.
Marcus Brinkmann [Mon, 22 Jun 2009 14:50:17 +0000 (14:50 +0000)]
2009-06-22 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add AC_TYPE_UINTPTR_T.
* assuan/assuan.h [_ASSUAN_IN_GPGME_BUILD_ASSUAN]: Declare
_gpgme_io_connect.
src/
2009-06-22 Marcus Brinkmann <marcus@g10code.de>
* debug.h: Everywhere, use %p instead of 0x%x to print pointer.
[HAVE_STDINT_H]: Include <stdint.h>.
(_TRACE, TRACE, TRACE0, TRACE1, TRACE2, TRACE3, TRACE6): Cast tag
to (uintptr_t) before casting it to (void*) to silence GCC
warning.
* gpgme.h.in (_GPGME_DEPRECATED_OUTSIDE_GPGME): New macro.
* sign.c (_GPGME_IN_GPGME): Define it.
* keylist.c (_GPGME_IN_GPGME): Define it.
* debug.c (_gpgme_debug_begin, _gpgme_debug_add): Handle error in
vasprintf and asprintf.
* priv-io.h: Include <sys/socket.h>. Declare _gpgme_io_connect.
tests/
2009-06-22 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-support.h (passphrase_cb): Implement write() according to
the book to silence compiler warning.
* gpgsm/t-support.h (passphrase_cb): Likewise.
Marcus Brinkmann [Fri, 19 Jun 2009 02:04:24 +0000 (02:04 +0000)]
2009-06-18 Marcus Brinkmann <marcus@g10code.de>
Released GPGME 1.2.0.