Marcus Brinkmann [Fri, 14 Jun 2002 19:41:43 +0000 (19:41 +0000)]
Update list.
Marcus Brinkmann [Fri, 14 Jun 2002 19:40:55 +0000 (19:40 +0000)]
Add items about I/O callbacks.
Werner Koch [Thu, 13 Jun 2002 08:45:32 +0000 (08:45 +0000)]
* verify.c (gpgme_op_verify): Make sure that we never access an
unitialized result structure.
Steffen Hansen [Thu, 13 Jun 2002 01:56:31 +0000 (01:56 +0000)]
bugfix + change to the nextCertificate() function prototype
Werner Koch [Wed, 12 Jun 2002 14:34:15 +0000 (14:34 +0000)]
tests/
* gpgsm/t-keylist.c (doit): Print operation info if available.
gpgme/
* keylist.c (struct keylist_result_s): New.
(_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.
* types.h: Declare the new type here.
* context.h (struct gpgme_context_s): Use it here.
Karl-Heinz Zimmer [Wed, 12 Jun 2002 11:05:42 +0000 (11:05 +0000)]
Add Plugin configuration option to allow for sending of *opaque* signed messages. Unfortunately this is necessary for communication with some MS Outlook clients, e.g. TrustedMime is not able to understand Multipart/Signed messages. <sigh> NOTE: This breaks compabilitity with kdenetwork, so make sure to update the KDE sources as well...
Marcus Brinkmann [Tue, 11 Jun 2002 18:12:19 +0000 (18:12 +0000)]
2002-06-11 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (_gpgme_gpgsm_release): Close status_cb.fd.
(_gpgme_gpgsm_new): Duplicate status file descriptor, so we can
use our own close notification mechanism without interfering with
assuan.
Werner Koch [Tue, 11 Jun 2002 15:33:08 +0000 (15:33 +0000)]
* gpgme.h: Add GPGME_ATTR_SIG_SUMMARY and the GPGME_SIGSUM_
constants.
* verify.c (calc_sig_summary): New.
(gpgme_get_sig_ulong_attr): And use it here.
Steffen Hansen [Mon, 10 Jun 2002 18:37:11 +0000 (18:37 +0000)]
support for listing of external certs (untested)
Steffen Hansen [Mon, 10 Jun 2002 17:53:04 +0000 (17:53 +0000)]
reorder issuer DN also
Steffen Hansen [Mon, 10 Jun 2002 16:36:38 +0000 (16:36 +0000)]
typecast to make khz happy
Marcus Brinkmann [Mon, 10 Jun 2002 14:13:55 +0000 (14:13 +0000)]
2002-06-10 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (_gpgme_gpgsm_start): Move the code that sets the
close notification for the status fd to ...
(_gpgme_gpgsm_new): ... here.
* wait.h: Include "sema.h". Remove prototypes of
_gpgme_remove_proc_from_wait_queue and
_gpgme_register_pipe_handler. Add prototypes of
_gpgme_fd_table_init, _gpgme_fd_table_deinit, _gpgme_fd_table_put,
_gpgme_add_io_cb, _gpgme_remove_io_cb, _gpgme_wait_event_cb and
_gpgme_wait_one..
* wait.c: Remove global variables PROC_QUEUE, PROC_QUEUE_LOCK,
FD_TABLE_SIZE, FD_TABLE, FD_TABLE_LOCK. New global variables
FDT_GLOBAL, CTX_DONE_LIST, CTX_DONE_LIST_SIZE,
CTX_DONE_LIST_LENGTH and CTX_DONE_LIST_LOCK. Remove struct
proc_s. Replace struct wait_item_s.
(_gpgme_fd_table_init): New function.
(_gpgme_fd_table_deinit): Likewise.
(_gpgme_fd_table_put): Likewise.
(set_process_done): Remove function.
(do_select): Take argument FDT. Use that to decide which fds to
select on.
(_gpgme_remove_proc_from_wait_queue): Remove function.
(_gpgme_wait_event_cb): New function.
(_gpgme_wait_one): Likewise.
(_gpgme_register_pipe_hanldler): Remove function.
(_gpgme_add_io_cb): New function.
(_gpgme_remove_io_cb): Likewise.
(_gpgme_freeze_fd): Remove function.
(_gpgme_thaw_fd): Remove function.
* rungpg.c (struct fd_data_map_s): Add new member TAG.
(struct gpg_object_s): Likewise for STATUS and COLON. Add member
IDX to CMD. Add new member IO_CBS.
(close_notify_handler): New variables POSSIBLY_DONE and NOT_DONE.
For each I/O callback, check if it should be unregistered. If all
callbacks have been unregistered, trigger GPGME_EVENT_DONE.
Remove member RUNNING.
(_gpgme_gpg_new): Initialize new members.
(_gpgme_gpg_release): Check PID not RUNNING. Don't call
_gpgme_remove_proc_from_wait_queue. Close GPG->CMD.FD if set.
(build_argv): Store away the index instead the file descriptor for
CMD.
(_gpgme_gpg_add_io_cb): New function.
(_gpgme_gpg_spawn): Use _gpgme_gpg_add_io_cb to register IO
callbacks.
(gpg_status_handler): Change return type to void, remove PID
argument, close filedescriptor if EOF or error occurs.
(read_status): Use _gpgme_gpg_add_io_cb instead _gpgme_thaw_fd.
Use IO_CBS->remove instead _gpgme_freeze_fd.
(gpg_colon_line_handler): Change return type to void, remove PID
argument, close filedescriptor if EOF or error occurs.
(command_cb): Use IO_CBS->remove instead _gpgme_freeze_fd.
(_gpgme_gpg_set_io_cbs): New function.
* rungpg.h (_gpgme_gpg_set_io_cbs): Prototype for
_gpgme_gpg_set_io_cbs.
* gpgme.h (GpgmeIOCb): New type.
(GpgmeRegisterIOCb): Likewise.
(GpgmeRemoveIOCb): Likewise.
(GpgmeEventIO): Likewise.
(GpgmeEventIOCb): Likewise.
(struct GpgmeIOCbs): New structure to hold I/O callbacks.
(gpgme_set_op_io_cbs): New prototype.
(gpgme_get_op_io_cbs): Likewise.
* ops.h: New prototype for _gpgme_op_event_cb. Remove prototypes
for _gpgme_freeze_fd and _gpgme_thaw_fd. Remove PID argument from
_gpgme_data_inbound_handler and _gpgme_data_outbound_handler
prototype. Add prototype for _gpgme_op_reset.
Add synchronous argument to _gpgme_decrypt_start prototype.
* io.h: Beautification.
* gpgme.c: Include "wait.h".
(gpgme_new): Initialize FDT.
(gpgme_set_io_cbs): New function.
(gpgme_get_io_cbs): Likewise.
(_gpgme_op_event_cb): Likewise.
* data.c (_gpgme_data_inbound_handler): Change return type to
void. Drop PID argument. Close FD on error and EOF.
(write_mem_data): Don't close FD here ...
(write_cb_data): ... or here ...
(_gpgme_data_outbound_handler): ... but here. Change return type
to void. Drop PID argument.
* context.h: Include "wait.h".
(struct gpgme_context_s): New members FDT and IO_CBS.
* op-support.c: New file.
* Makefile.am (libgpgme_la_SOURCES): Add op-support.c.
* ops.h: Add prototype for _gpgme_op_reset().
* decrypt.c (_gpgme_decrypt_start): New argument SYNCHRONOUS. Use
_gpgme_op_reset.
(gpgme_op_decrypt_start): Add synchronous argument.
(gpgme_op_decrypt): Likewise. Use _gpgme_wait_one instead
gpgme_wait.
* delete.c (gpgme_op_delete_start): Rename to ...
(_gpgme_op_delete_start): ... this. New argument SYNCHRONOUS.
Use _gpgme_op_reset. Make function static.
(gpgme_op_delete_start): Just a wrapper around
_gpgme_op_delete_start now.
(gpgme_op_delete): Add synchronous argument. Use _gpgme_wait_one
instead gpgme_wait.
* encrypt.c: Include "wait.h".
(ggpgme_op_encrypt_start): Rename to ...
(_gpgme_op_encrypt_start): ... this. New argument SYNCHRONOUS.
Use _gpgme_op_reset. Make function static.
(gpgme_op_encrypt_start): Just a wrapper around
_gpgme_op_encrypt_start now.
(gpgme_op_encrypt): Add synchronous argument. Use _gpgme_wait_one
instead gpgme_wait.
* encrypt_sign.c (gpgme_op_encrypt_sign_start): Rename to ...
(_gpgme_op_encrypt_sign_start): ... this. New argument
SYNCHRONOUS. Use _gpgme_op_reset. Make function static.
(gpgme_op_encrypt_sign_start): Just a wrapper around
_gpgme_op_encrypt_sign_start now.
(gpgme_op_encrypt_sign): Add synchronous argument. Use
_gpgme_wait_one instead gpgme_wait.
* export.c (gpgme_op_export_start): Rename to ...
(_gpgme_op_export_start): ... this. New argument SYNCHRONOUS.
Use _gpgme_op_reset. Make function static.
(gpgme_op_export_start): Just a wrapper around
_gpgme_op_export_start now.
(gpgme_op_export): Add synchronous argument. Use _gpgme_wait_one
instead gpgme_wait.
* genkey.c (gpgme_op_genkey_start): Rename to ...
(_gpgme_op_genkey_start): ... this. New argument SYNCHRONOUS.
Use _gpgme_op_reset. Make function static.
(gpgme_op_genkey_start): Just a wrapper around
_gpgme_op_genkey_start now.
(gpgme_op_genkey): Add synchronous argument. Use _gpgme_wait_one
instead gpgme_wait.
* import.c (gpgme_op_import_start): Rename to ...
(_gpgme_op_import_start): ... this. New argument SYNCHRONOUS.
Use _gpgme_op_reset. Make function static.
(gpgme_op_import_start): Just a wrapper around
_gpgme_op_import_start now.
(gpgme_op_import): Add synchronous argument. Use _gpgme_wait_one
instead gpgme_wait.
* keylist.c (gpgme_op_keylist_start): Use _gpgme_op_reset.
(gpgme_op_keylist_ext_start): Likewise.
* sign.c (gpgme_op_sign_start): Rename to ...
(_gpgme_op_sign_start): ... this. New argument SYNCHRONOUS. Use
_gpgme_op_reset. Make function static.
(gpgme_op_sign_start): Just a wrapper around _gpgme_op_sign_start
now.
(gpgme_op_sign): Add synchronous argument. Use _gpgme_wait_one
instead gpgme_wait.
* trustlist.c (gpgme_op_trustlist_start): Use _gpgme_op_reset.
* verify.c (gpgme_op_verify_start): Rename to ...
(_gpgme_op_verify_start): ... this. New argument SYNCHRONOUS.
Use _gpgme_op_reset. Make function static.
(gpgme_op_verify_start): Just a wrapper around
_gpgme_op_verify_start now.
(gpgme_op_verify): Add synchronous argument. Use _gpgme_wait_one
instead gpgme_wait.
* engine-gpgsm.c (iocb_data_t): New type.
(struct gpgsm_object_s): New member status_cb. Replace input_fd
and input_data with input_cb. Replace output_fd and output_data
with output_cb. Replace message_fd and message_data with
message_cb. New member io_cbs.
(_gpgme_gpgsm_new): Initialize all new members (and drop the old
ones).
(close_notify_handler): New variable POSSIBLY_DONE. For each I/O
callback, check if it should be unregistered. If all callbacks
have been unregistered, trigger GPGME_EVENT_DONE.
(_gpgme_gpgsm_release): Remove variable PID. Use new variable
names to close the file descriptors.
(_gpgme_gpgsm_op_decrypt): Use new variable names,
(_gpgme_gpgsm_op_encrypt): Likewise.
(_gpgme_gpgsm_op_genkey): Likewise.
(_gpgme_gpgsm_op_import): Likewise.
(_gpgme_gpgsm_op_keylist): Likewise.
(_gpgme_gpgsm_op_keylist_ext): Likewise.
(_gpgme_gpgsm_op_sign): Likewise.
(_gpgme_gpgsm_op_verify): Likewise.
(gpgsm_status_handler): Drop argument PID. Change return type to
void. Close status pipe before returning because of EOF or error.
(_gpgme_gpgsm_add_io_cb): New function.
(_gpgme_gpgsm_start): Use _gpgme_gpgsm_add_io_cb to register
callback function.
(_gpgme_gpgsm_set_io_cbs): New function.
* engine-gpgsm.h: New prototype for _gpgme_gpgsm_set_io_cbs.
* engine.c (_gpgme_engine_set_io_cbs): New function.
* engine.h: New prototype for _gpgme_engine_set_io_cbs.
Steffen Hansen [Mon, 10 Jun 2002 11:24:39 +0000 (11:24 +0000)]
more cert. info features
Werner Koch [Tue, 4 Jun 2002 14:01:11 +0000 (14:01 +0000)]
* gpgsm/t-encrypt.c (main): Add a simple option parser and allow
to specify an encryption key.
Marcus Brinkmann [Tue, 4 Jun 2002 12:28:17 +0000 (12:28 +0000)]
Prepare everything for CVS hackery.
Repo Admin [Tue, 4 Jun 2002 12:20:46 +0000 (12:20 +0000)]
This commit was manufactured by cvs2svn to create tag 'gpgme-0-3-7'.
Marcus Brinkmann [Tue, 4 Jun 2002 12:20:46 +0000 (12:20 +0000)]
2002-06-04 Marcus Brinkmann <marcus@g10code.de>
Released 0.3.7.
* configure.ac (AC_INIT): Set version to 0.3.7.
(LIBGPGME_LT_REVISION): Add one.
* README: Document version requirement correctly.
Marcus Brinkmann [Tue, 4 Jun 2002 12:19:00 +0000 (12:19 +0000)]
Updates.
Marcus Brinkmann [Tue, 4 Jun 2002 12:12:08 +0000 (12:12 +0000)]
2002-06-04 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Multi Threading): Document new autodetection.
Marcus Brinkmann [Tue, 4 Jun 2002 10:56:33 +0000 (10:56 +0000)]
2002-06-04 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (DISTCLEANFILES): New variable.
Marcus Brinkmann [Tue, 4 Jun 2002 10:40:34 +0000 (10:40 +0000)]
2002-06-04 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (libgpgme_la_SOURCES): Remove mutex.h.
Marcus Brinkmann [Sun, 2 Jun 2002 23:09:16 +0000 (23:09 +0000)]
2002-06-03 Marcus Brinkmann <marcus@g10code.de>
* key.c: Include <ctype.h>.
(_gpgme_key_append_name): Skip one more char when
processing escaped char. Submitted by Marc Mutz <mutz@kde.org>.
Handle hexadecimal encodings. Also reported by Marc. Thanks!
Marcus Brinkmann [Sun, 2 Jun 2002 20:43:04 +0000 (20:43 +0000)]
2002-06-02 Marcus Brinkmann <marcus@g10code.de>
* acinclude.m4: Fix Pth check so that it doesn't error out if pth
is not found.
gpgme/
2002-06-02 Marcus Brinkmann <marcus@g10code.de>
* 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.
Marcus Brinkmann [Sun, 2 Jun 2002 19:19:25 +0000 (19:19 +0000)]
2002-06-02 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add checks for Pth and pthreads.
* acinclude.m4: Add slightly hacked check for pth (seems to be an
autoconf version problem).
gpgme/
2002-06-02 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (ath_components): New variable.
(ath_components_pthread): Likewise.
(ath_components_pth): Likewise.
(system_components): Add ath_componentes.
* ath.h: New file.
* ath.c: Likewise.
* ath-pthread.c: Likewise.
* ath-pth.c: Likewise.
* posix-sema.c (_gpgme_sema_cs_enter): Rework to use the ATH
interface.
* mutex.h: Remove file.
Karl-Heinz Zimmer [Sat, 1 Jun 2002 15:35:07 +0000 (15:35 +0000)]
sync our cryptplug.h with the version in KDE/libkdenetwork/ that was corrected my Marc Mutz.
Steffen Hansen [Fri, 31 May 2002 15:34:39 +0000 (15:34 +0000)]
more cert info
Karl-Heinz Zimmer [Fri, 31 May 2002 12:00:18 +0000 (12:00 +0000)]
Bugfix: use fingerprint as found in "fpr" only if no key was found by gpgme_get_sig_key()
Karl-Heinz Zimmer [Fri, 31 May 2002 11:08:54 +0000 (11:08 +0000)]
Matze's patch for showing colored bars at S/MIME messages as well as at OpenPGP messages.
Karl-Heinz Zimmer [Fri, 31 May 2002 09:28:58 +0000 (09:28 +0000)]
more error handling
Steffen Hansen [Thu, 30 May 2002 17:19:11 +0000 (17:19 +0000)]
small fix
Werner Koch [Thu, 30 May 2002 09:06:45 +0000 (09:06 +0000)]
* key.c (gpgme_key_get_string_attr): Return NULL when asking for
an issuer with IDX > 0. We don't support altIssuerNames for now.
Steffen Hansen [Thu, 30 May 2002 06:24:19 +0000 (06:24 +0000)]
* cryptplug.h, gpgmeplug.c: Added certificate info listing functions.
Not yet complete.
Converted more C99 style comments to "classic" style.
Marcus Brinkmann [Sun, 26 May 2002 20:12:51 +0000 (20:12 +0000)]
2002-05-26 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi: Some typographical correctons throughout.
Marcus Brinkmann [Sun, 26 May 2002 19:51:53 +0000 (19:51 +0000)]
2002-05-26 Marcus Brinkmann <marcus@g10code.de>
* gpg/Makefile.am (all-local): Remove dependency on ./secring.gpg.
(./secring.gpg): Remove target, and move all rules for this target
to ...
(./pubring.gpg): ... here. This was necessary because GnuPG 1.0.7
does create an empty secring.gpg file when importing public keys.
Werner Koch [Wed, 22 May 2002 06:35:07 +0000 (06:35 +0000)]
* engine-gpgsm.c (_gpgme_gpgsm_op_keylist_ext): Aehmm, added
missing variable definition. Oohh - Marcus was faster.
Marcus Brinkmann [Wed, 22 May 2002 01:22:57 +0000 (01:22 +0000)]
2002-05-22 Marcus Brinkmann <marcus@gnu.org>
* engine-gpgsm.c (_gpgme_gpgsm_op_keylist_ext): Fix last change.
Werner Koch [Tue, 21 May 2002 15:14:35 +0000 (15:14 +0000)]
* engine-gpgsm.c (_gpgme_gpgsm_op_keylist)
(_gpgme_gpgsm_op_keylist_ext): Pass the keylist mode to gpgsm.
* configure.ac (NEED_GPGSM_VERSION): We need gpgsm 0.3.7.
Werner Koch [Fri, 10 May 2002 10:42:45 +0000 (10:42 +0000)]
* key.h (gpgme_key_s): Add OTRUST.
* keylist.c (set_ownertrust): New.
(keylist_colon_handler): Get the ownertrust value
* key.c (gpgme_key_get_string_attr,gpgme_key_get_ulong_attr):
Return that value.
Marcus Brinkmann [Thu, 9 May 2002 06:49:40 +0000 (06:49 +0000)]
2002-05-09 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Using Automake): New section.
Marcus Brinkmann [Thu, 9 May 2002 06:49:09 +0000 (06:49 +0000)]
Bump version numbers in requirements.
Marcus Brinkmann [Thu, 9 May 2002 03:39:18 +0000 (03:39 +0000)]
2002-05-09 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Multi Threading): Escape { and }.
Marcus Brinkmann [Thu, 9 May 2002 03:38:12 +0000 (03:38 +0000)]
doc/
2002-05-09 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Overview): Replace note about thread-safeness.
(Multi Threading): New section.
gpgme/
2002-05-08 Marcus Brinkmann <marcus@g10code.de>
* 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.
Karl-Heinz Zimmer [Wed, 8 May 2002 12:14:13 +0000 (12:14 +0000)]
revoce the previous commit, this was done erroneously
Karl-Heinz Zimmer [Wed, 8 May 2002 12:05:17 +0000 (12:05 +0000)]
Include the protocol parameter of multipart/.. content-type messages into double quotes to fullify requirements of the german government (see BSI document Technische Grundlagen - Tailoring MTTv2, page 60)
Marcus Brinkmann [Wed, 8 May 2002 04:22:07 +0000 (04:22 +0000)]
Add some items and comments.
Marcus Brinkmann [Wed, 8 May 2002 04:04:12 +0000 (04:04 +0000)]
2002-05-08 Marcus Brinkmann <marcus@g10code.de>
* 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).
Marcus Brinkmann [Wed, 8 May 2002 03:57:42 +0000 (03:57 +0000)]
2002-05-08 Marcus Brinkmann <marcus@g10code.de>
* 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).
Marcus Brinkmann [Wed, 8 May 2002 03:06:16 +0000 (03:06 +0000)]
2002-05-08 Marcus Brinkmann <marcus@g10code.de>
* gpgsm/t-verify.c (validity_string): New.
(print_sig_stat): Print expire time and validity.
(status_string): Add new exipred stati.
Karl-Heinz Zimmer [Tue, 7 May 2002 10:40:48 +0000 (10:40 +0000)]
Bugfix don't use binary signatures for OpenPGP
Werner Koch [Fri, 3 May 2002 20:08:21 +0000 (20:08 +0000)]
Bumbed version number to *-cvs
Repo Admin [Fri, 3 May 2002 19:49:04 +0000 (19:49 +0000)]
This commit was manufactured by cvs2svn to create tag 'V0-3-6'.
Werner Koch [Fri, 3 May 2002 19:49:04 +0000 (19:49 +0000)]
released 0.3.6
Werner Koch [Fri, 3 May 2002 18:20:24 +0000 (18:20 +0000)]
* gpgme.texi (Manipulating Data Buffers): Changed some data types
to void*.
(Protocol Selection): Added gpgme_get_protocol.
(Verify): Updated to include the new attribute fucntions and
status codes.
Werner Koch [Fri, 3 May 2002 18:20:06 +0000 (18:20 +0000)]
* engine-gpgsm.c (_gpgme_gpgsm_new): Redirect any gpgsm error
output to /dev/null.
* verify.c (gpgme_get_sig_key): Set the protocol of the listctx.
* gpgme.c (gpgme_get_protocol): New.
* data.c (gpgme_data_write): Changed type of BUFFER to void*.
(gpgme_data_read): Ditto.
* 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_ulong_attr): New.
* gpgme.h (GpgmeAttr): Added GPGME_ATTR_SIG_STATUS.
* 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
Werner Koch [Fri, 3 May 2002 18:19:44 +0000 (18:19 +0000)]
* assuan-pipe-connect.c (assuan_pipe_connect2): New to extend
assuan_pipe_connect with some flags. Implemented a bitbucket for
stderr.
Werner Koch [Fri, 3 May 2002 14:07:22 +0000 (14:07 +0000)]
* gpg/t-verify.c (validity_string): New.
(print_sig_stat): Print expire time and validity.
(status_string): Add new exipred stati.
Werner Koch [Fri, 3 May 2002 14:06:56 +0000 (14:06 +0000)]
* 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_ulong_attr): New.
* gpgme.h (GpgmeAttr): Added GPGME_ATTR_SIG_STATUS.
* rungpg.h: Add new status codes from gpg 1.0.7 and formatted the
list to align with the status.h file from gnupg.
* 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
Werner Koch [Sat, 27 Apr 2002 12:17:56 +0000 (12:17 +0000)]
* gpgme.texi (Manipulating Data Buffers): New type GpgmeDataEncoding.
Werner Koch [Sat, 27 Apr 2002 12:16:48 +0000 (12:16 +0000)]
* gpgme.h (GpgmeData_Encoding): New.
* data.c (gpgme_data_get_encoding,gpgme_data_set_encoding): New.
* engine-gpgsm.c (map_input_enc): New. Use it in all local
functions where the INPUT command gets send.
Marcus Brinkmann [Sat, 27 Apr 2002 12:11:52 +0000 (12:11 +0000)]
2002-04-27 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (_gpgme_gpgsm_op_verify): Close the output
descriptor only when we don't need it anymore. Close the message
descriptor if we don't need it.
Karl-Heinz Zimmer [Sat, 27 Apr 2002 05:32:39 +0000 (05:32 +0000)]
allow checking of Opaque Signed message data
Werner Koch [Fri, 26 Apr 2002 12:38:27 +0000 (12:38 +0000)]
* Makefile.am: Create libtool libraries.
* Makefile.am (libgpgme_la_LIBADD): Use libtool libraries.
* Makefile.am: Create libtool libraries
Marcus Brinkmann [Thu, 25 Apr 2002 00:36:03 +0000 (00:36 +0000)]
2002-04-25 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (_gpgme_gpg_release): Call gpgme_data_release on
GPG->cmd.cb_data, not xfree.
Marcus Brinkmann [Wed, 24 Apr 2002 22:46:25 +0000 (22:46 +0000)]
2002-04-25 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (_gpgme_gpgsm_new): Set the display, ttyname,
ttytype, lc_ctype and lc_messages options in the server.
Marcus Brinkmann [Wed, 24 Apr 2002 02:21:12 +0000 (02:21 +0000)]
2002-04-24 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (map_assuan_error): Add new error codes.
Marcus Brinkmann [Wed, 24 Apr 2002 01:55:58 +0000 (01:55 +0000)]
Update assuan and jnlib to
20020424 from newpg.
Werner Koch [Tue, 23 Apr 2002 09:06:22 +0000 (09:06 +0000)]
* key.c (gpgme_key_get_ulong_attr): Swapped use of can_encrypt and
can_certify to return the requested values.
Marcus Brinkmann [Mon, 22 Apr 2002 22:06:09 +0000 (22:06 +0000)]
doc/
2002-04-23 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Passphrase Callback): Document that either return
argument can be NULL.
(Progress Meter Callback): Likewise.
gpgme/
2002-04-23 Marcus Brinkmann <marcus@g10code.de>
* gpgme.c (gpgme_get_progress_cb): Allow either return parameter
to be NULL.
(gpgme_get_passphrase_cb): Likewise.
Marcus Brinkmann [Mon, 22 Apr 2002 21:58:26 +0000 (21:58 +0000)]
doc/
2002-04-22 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Passphrase Callback): Fix small typo. Document the
new function gpgme_get_passphrase_cb.
(Progress Meter Callback): Document the new function
gpgme_get_progress_cb.
gpgme/
2002-04-22 Marcus Brinkmann <marcus@g10code.de>
* gpgme.c (gpgme_get_passphrase_cb): New function.
(gpgme_get_progress_cb): New function.
* gpgme.h: Add new prototypes for gpgme_get_passphrase_cb and
gpgme_get_progress_cb.
Matthias Kalle Dalheimer [Thu, 18 Apr 2002 19:26:03 +0000 (19:26 +0000)]
More fixes for certificate generation
Matthias Kalle Dalheimer [Thu, 18 Apr 2002 07:38:15 +0000 (07:38 +0000)]
Additional parameter for returning the cert length
Karl-Heinz Zimmer [Wed, 17 Apr 2002 15:00:53 +0000 (15:00 +0000)]
report both the error-Id and the error-text to the calling program when signing or encrypting of mails could not be done
Matthias Kalle Dalheimer [Wed, 17 Apr 2002 14:16:53 +0000 (14:16 +0000)]
Implemented requesting certs
Marcus Brinkmann [Tue, 16 Apr 2002 12:24:02 +0000 (12:24 +0000)]
2002-04-16 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Creating a Signature): Fix function name. Reported
by Wichert Ackerman <wichert@debian.org>.
2002-03-29 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (direntry): End index entry with a full stop.
Patch submitted by Jose Carlos Garcia Sogo <jsogo@debian.org>.
Marcus Brinkmann [Thu, 4 Apr 2002 23:31:11 +0000 (23:31 +0000)]
2002-04-05 Marcus Brinkmann <marcus@g10code.de>
* acconfig.h: File removed.
* configure.ac (NEED_GPG_VERSION): Add description.
(NEED_GPGSM_VERSION): Likewise.
(HAVE_DOSISH_SYSTEM): Likewise.
(HAVE_DRIVE_LETTERS): Likewise.
(GPG_PATH): Likewise.
(GPGSM_PATH): Likewise.
* acinclude.m4 (GNUPG_CHECK_TYPEDEF): Likewise.
Marcus Brinkmann [Thu, 4 Apr 2002 23:01:31 +0000 (23:01 +0000)]
2002-04-05 Marcus Brinkmann <marcus@g10code,de>
* gpgsm/Makefile.am (./trustlist.txt): Put more into this file to
prevent use of gpg-agent.
(./gpg-agent.conf): Remove target.
(all-local): Remove ./gpg-agent.conf.
Marcus Brinkmann [Thu, 4 Apr 2002 22:22:56 +0000 (22:22 +0000)]
2002-04-05 Marcus Brinkmann <marcus@g10code.de>
* gpgsm/t-keylist.c (main): Use gpgme_engine_check_version instead
gpgme_check_engine.
* gpgsm/t-encrypt.c (main): Likewise.
Karl-Heinz Zimmer [Wed, 3 Apr 2002 14:30:51 +0000 (14:30 +0000)]
[bug #997] changed 'micalg=pgp-sha1' into 'micalg=sha1' for S/MIME mails
Karl-Heinz Zimmer [Tue, 2 Apr 2002 11:52:55 +0000 (11:52 +0000)]
now using gpgme_recipients_add_name instead of gpgme_recipients_add_name_with_validity, see Werner's comment to bug #950 as of Fri, Mar 22 2002 17.15.26
Repo Admin [Mon, 1 Apr 2002 08:51:06 +0000 (08:51 +0000)]
This commit was manufactured by cvs2svn to create tag 'V0-3-5'.
Werner Koch [Mon, 1 Apr 2002 08:51:06 +0000 (08:51 +0000)]
*** empty log message ***
Werner Koch [Mon, 1 Apr 2002 08:40:10 +0000 (08:40 +0000)]
Released 0.3.5
Werner Koch [Thu, 28 Mar 2002 17:43:02 +0000 (17:43 +0000)]
* gpgme.h (GpgmeAttr): Add values for issuer and chaining.
* key.h (gpgme_key_s): Add issuer and chaining elements for X509.
* keylist.c (keylist_colon_handler): Store them.
* key.c (gpgme_key_release): Free them.
(gpgme_key_get_as_xml,gpgme_key_get_string_attr): Print them.
Werner Koch [Tue, 26 Mar 2002 10:15:22 +0000 (10:15 +0000)]
* Makefile.am (libgpgme_la_SOURCES): Add mutex.h
Werner Koch [Sat, 23 Mar 2002 11:35:31 +0000 (11:35 +0000)]
* gpgmeplug.c: Converted it to real C; i.e. use standard comments -
we are doing ISO C 90. Transalted a few German remarks and
commented on some things.
Karl-Heinz Zimmer [Fri, 22 Mar 2002 17:06:43 +0000 (17:06 +0000)]
bugfix on new binary-encrypting/signing code
Karl-Heinz Zimmer [Fri, 22 Mar 2002 10:40:24 +0000 (10:40 +0000)]
interface change: signMessage() and encryptMessage() now return an additional 'cipherLen' parameter to enable us to handle binary cipher data
Karl-Heinz Zimmer [Thu, 21 Mar 2002 21:48:33 +0000 (21:48 +0000)]
changed code according to our hack before CeBIT, we are giving *binary* data to the decryptMessage() and to the checkMessageSignature() methode instead of passing base64 encoded data to them
Werner Koch [Thu, 21 Mar 2002 19:48:12 +0000 (19:48 +0000)]
* util.h (struct) [!HAVE_FOPENCOOKIE]: Make sure off_t and ssize_t
are defined.
Matthias Kalle Dalheimer [Thu, 21 Mar 2002 13:14:20 +0000 (13:14 +0000)]
More feature selectors
Plugin says which features it supports
Marcus Brinkmann [Mon, 18 Mar 2002 00:04:06 +0000 (00:04 +0000)]
2002-03-17 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add automake conditional HAVE_DOSISH_SYSTEM.
gpgme/
2002-03-18 Marcus Brinkmann <marcus@g10code.de>
* 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.
Marcus Brinkmann [Mon, 18 Mar 2002 00:01:51 +0000 (00:01 +0000)]
2002-03-17 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Detailed Results): Fix syntax error in last change.
Werner Koch [Sun, 10 Mar 2002 18:41:02 +0000 (18:41 +0000)]
removed all the .cvsignre files - they should be local
Werner Koch [Sun, 10 Mar 2002 18:35:33 +0000 (18:35 +0000)]
Minor doc fixes
Karl-Heinz Zimmer [Sat, 9 Mar 2002 16:46:36 +0000 (16:46 +0000)]
bugfix in findCertificates function
Karl-Heinz Zimmer [Fri, 8 Mar 2002 18:13:20 +0000 (18:13 +0000)]
Bugfix: forgot to initialize the list of certificates in findCertificates() before adding the found entries
Karl-Heinz Zimmer [Fri, 8 Mar 2002 15:44:09 +0000 (15:44 +0000)]
New feature: Ask user which certificate is to be taken when more than one found by the crypto plug-in for a single recipient. - NOTE: This code is not working correctly (yet) so we allways get some *all* keys that are stored by gpg instead of the right key information.
Steffen Hansen [Fri, 8 Mar 2002 00:51:25 +0000 (00:51 +0000)]
A little better address-parsing. Not real rfc822 yet, but at least it fetches
the address between < and > now if they are present.
Matthias Kalle Dalheimer [Thu, 7 Mar 2002 21:18:27 +0000 (21:18 +0000)]
Support for various warnings about expiring encryption certificates.
Support for checking encryption certificate paths.
Needs GPGME support.
Werner Koch [Thu, 7 Mar 2002 19:49:40 +0000 (19:49 +0000)]
* gpgme.h (gpgme_op_keylist_ext_start): Add prototype.