Commit Graph

2523 Commits

Author SHA1 Message Date
Marcus Brinkmann
f0a45d0c20 2002-02-08 Marcus Brinkmann <marcus@g10code.de>
* genkey.c (gpgme_op_genkey_start): Allow PUBKEY and SECKEY to be
	set, and pass them down to the crypto engine.
	* engine-gpgsm.h (_gpgme_gpgsm_start): New arguments PUBKEY and SECKEY.
	* engine.h: Likewise.
	* rungpg.h (_gpgme_gpg_spawn): Likewise.
	* engine.c (_gpgme_engine_op_genkey): Likewise.  Use those
	arguments.
	* rungpg.c (_gpgme_gpg_op_genkey): Likewise.  Complain if those
	arguments are set.
	* engine-gpgsm.c (_gpgme_gpgsm_op_genkey): Likewise.  Implement
	function.

	* engine-gpgsm.c (_gpgme_gpgsm_op_keylist): Beautify comment.
2002-02-08 22:43:44 +00:00
Marcus Brinkmann
6f2245b35d 2002-02-08 Marcus Brinkmann <marcus@g10code.de>
* gpgsm/Makefile.am (key_id): Update value.
	(all-local): Add .key to keyid filename.
	(./private-keys-v1.d/$(key_id)): Renamed to ...
	(./private-keys-v1.d/$(key_id).key): ... this.
	(all-local): Add ./gpgsm.conf, ./trustlist.txt.
	(./gpgsm.conf, ./trustlist.txt): New target.
	* gpgsm/567064FE6D14A17B2D811ABB407728BC558AA455: Renamed to ...
	* gpgsm/32100C27173EF6E9C4E9A25D3D69F86D37A4F939: ... this.
2002-02-08 22:36:57 +00:00
Marcus Brinkmann
92d18cde9e Add 2002 as copyright year for files changed recently without updating the
year.
2002-02-06 01:41:15 +00:00
Marcus Brinkmann
0bd08bafd9 Some minor source code cleanup. 2002-02-06 01:40:48 +00:00
Marcus Brinkmann
2cb125ccf6 2002-02-06 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (_gpgme_gpg_op_keylist): Remove handling of keylist
	mode (for now).
2002-02-06 01:34:52 +00:00
Marcus Brinkmann
a758f4c718 Update some items. 2002-02-06 01:30:27 +00:00
Marcus Brinkmann
4d40fcd82e Fill in some missing repetitive "Likewise." explanations. 2002-02-06 01:21:41 +00:00
Marcus Brinkmann
69ab559a7b doc/
2002-02-06  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Waiting For Completion): Adjust doc to changes in
	the code.

gpgme/
2002-02-06  Marcus Brinkmann  <marcus@g10code.de>

	* wait.c (gpgme_wait): Add new argument STATUS, in which the
	status of the returned context is returned.
	(_gpgme_wait_on_condition): Rework the function a bit, to make it
	aware of cancelled processes, and to allow to use gpgme_wait with
	CTX being NULL (as documented in the source).
	(struct proc_s): New member REPORTED.
	* gpgme.h: Fix prototype.
	* verify.c (gpgme_op_verify): Fix use of gpgme_wait.
	* sign.c (gpgme_op_sign):
	* import.c (gpgme_op_import):
	* genkey.c (gpgme_op_genkey):
	* export.c (gpgme_op_export):
	* encrypt.c (gpgme_op_encrypt):
	* delete.c (gpgme_op_delete):
	* decrypt-verify.c (gpgme_op_decrypt_verify):
2002-02-06 01:20:49 +00:00
Marcus Brinkmann
4fa3008950 doc/
2002-02-06  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Key Listing Mode): Update documentation.

gpgme/
2002-02-06  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.c (gpgme_set_keylist_mode): Possibly return an error
	value.
	(gpgme_get_keylist_mode): New function.
	(gpgme_new): Set the default for keylist_mode member of CTX.

	* gpgme.h (gpgme_set_keylist_mode): Fix prototype.
	(gpgme_get_keylist_mode): New prototype.
	(GPGME_KEYLIST_MODE_LOCAL): New macro.
	(GPGME_KEYLIST_MODE_EXTERN): Likewise..
2002-02-06 00:08:47 +00:00
Marcus Brinkmann
1f5180f4b0 2002-02-02 Marcus Brinkmann <marcus@g10code.de>
This patch has gotten a bit large... mmh.  The main thing that
	happens here is that error values are now not determined in the
	operation function after gpgme_wait completed, but in the status
	handler when EOF is received.  It should always be the case that
	either an error is flagged or EOF is received, so that after a
	gpgme_wait you should never have the situation that no error is
	flagged and EOF is not received.  One problem is that the engine
	status handlers don't have access to the context, a horrible
	kludge works around this for now.  All errors that happen during a
	pending operation should be catched and reported in ctx->error,
	including out-of-core and cancellation.  This rounds up neatly a
	couple of loose ends, and makes it possible to pass up any errors
	in the communication with the backend as well.  As a bonus, there
	will be a function to access gpgme->wait, so that the operations
	can truly be implemented with their _start function.

	* engine-gpgsm.c (gpgsm_status_handler): Horrible kludge to report
	error back to the context.
	* rungpg.c (gpg_status_handler): Same horrible kludge applied here.

	* engine-gpgsm.c (gpgsm_assuan_simple_command): Add error checking.

	* wait.c (_gpgme_wait_on_condition): If canceled, set CTX->error
	to a value indication that.

	* verify.c (add_notation): Set error, not out_of_core.
	(finish_sig): Likewise.
	(gpgme_op_verify_start): Don't clear out_of_core.
	(_gpgme_verify_status_handler): At EOF, clean up the notation data.
	(gpgme_op_verify): And don't do it here.

	* trustlist.c (trustlist_status_handler): Check error, not out_of_core.
	(gpgme_op_trustlist_start): Don't clear out_of_core.
	(gpgme_op_trustlist_next): Check error, not out_of_core.
	(gpgme_op_trustlist_end): Likewise.

	* ops.h (test_and_allocate_result): New macro.
	(_gpgme_passphrase_result): Remove prototype.
	* delete.c (gpgme_op_delete): Return error from context.
	(delete_status_handler): Use macro test_and_allocate_result.
	Perform error checking at EOF.
	(gpgme_op_delete_start): Release result.
	* passphrase.c (_gpgme_passphrase_status_handler): Use macro
	test_and_allocate_result, and perform error checking here.
	(_gpgme_passphrase_result): Function removed.
	* sign.c (gpgme_op_sign_start): Do not set out_of_core to zero.
	(gpgme_op_sign): Just return the error value from the context.
	(sign_status_handler): Only progress if no error is set yet.  If
	we process an EOF, set the resulting error value (if any).
	* decrypt.c (_gpgme_decrypt_result): Function removed.
	(create_result_struct): Function removed.
	(_gpgme_decrypt_status_handler): Use macro test_and_allocate_result,
	caclulate error on EOF, do not progress with errors.
	(_gpgme_decrypt_start): Do not set out_of_core to zero.
	(gpgme_op_decrypt): Just return the error value from the context.
	* encrypt.c (encrypt_status_handler): Perform the error checking
	here.
	(gpgme_op_encrypt_start): Do not clear out_of_core.
	* export.c (export_status_handler): Return if error is set in context.
	(gpgme_op_export_start): Release result.
	(gpgme_op_export): Return error from context.
	* decrypt-verify.c (gpgme_op_decrypt_verify): Return the error in
	the context.
	* genkey.c (genkey_status_handler): Use macro
	test_and_allocate_result.  Perform error checking at EOF.
	(gpgme_op_genkey): Just return the error from context.
	* import.c (gpgme_op_import): Return the error from context.
	(import_status_handler): Use macro test_and_allocate_result.
	* keylist.c (gpgme_op_keylist_start): Do not clear out_of_core.
	(gpgme_op_keylist_next): Return error of context.
	(keylist_colon_handler): Set error instead out_of_code.
	(finish_key): Likewise.

	* context.h: Remove member out_of_core, add member error.
	* gpgme.c (_gpgme_release_result): Clear error flag.

	* engine.h (_gpgme_engine_get_error): New prototype.
	* engine.c (_gpgme_engine_get_error): New function.
	* engine-gpgsm.c (_gpgme_gpgsm_get_error): New function.

	* engine-gpgsm.c (map_assuan_error): New function.
	(gpgsm_assuan_simple_command): Change return type to GpgmeError,
	use the new function to map error values.
	(gpgsm_set_fd): Change return type tp GpgmeError.
	(_gpgme_gpgsm_op_decrypt): Change type of ERR to GpgmeError.
	(gpgsm_set_recipients): Likewise.  Change type of return value
	equivalently.  Adjust error values.
	(_gpgme_gpgsm_op_import): Likewise.
	(_gpgme_gpgsm_op_sign): Likewise.
	(struct gpgsm_object_s): New member error.
	(gpgsm_status_handler): Set error if error occurs.  Determine
	error number from ERR line received.  If assuan_read_line fails,
	terminate the connection.
2002-02-02 03:52:59 +00:00
Marcus Brinkmann
92bbc39616 2002-02-01 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (MOSTLYCLEANFILES): New variable.
2002-02-01 20:28:59 +00:00
Marcus Brinkmann
f40bc63ac9 2002-02-01 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (EXTRA_gpgme_openpgp_la_SOURCES): New variable.
	(EXTRA_gpgme_smime_la_SOURCES): Likewise.

	* gpgmeplug.c (passphrase_cb): Fix type of third argument.
2002-02-01 20:28:35 +00:00
Marcus Brinkmann
c38622cebf Update to latest version. 2002-02-01 19:54:25 +00:00
Marcus Brinkmann
3139e2b91a 2002-02-01 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (gpgsm_status_handler): At error, terminate the
	connection to the server.
2002-02-01 18:10:19 +00:00
Marcus Brinkmann
ebd6ac7b7d Really add this file. 2002-01-31 15:27:49 +00:00
Marcus Brinkmann
129da707d1 doc/
2002-01-31  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Generating Keys): Document error at creation
	failure.

gpgme/
2002-01-31  Marcus Brinkmann  <marcus@g10code.de>

	* rungpg.h: Add STATUS_KEY_CREATED.

	* progress.c: New file.
	* Makefile.am (libgpgme_la_SOURCES): Add progress.c.

	* genkey.c (genkey_status_handler): Use
	_gpgme_progress_status_handler.  Add check for status.
	(struct genkey_result_s): New structure.
	(_gpgme_release_genkey_result): New function.
	(gpgme_op_genkey): Check for error.
	* gpgme.c (_gpgme_release_result): Call
	_gpgme_release_genkey_result.
	* ops.h (_gpgme_release_genkey_result): Add prototype.
	* types.h (GenKeyResult): New type.
	* context.h (gpgme_context_s): Add GenKeyResult to member result.
2002-01-31 00:31:44 +00:00
Marcus Brinkmann
ca5e3a09e3 2002-01-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Deleting Keys): Document new error values.
2002-01-30 22:48:09 +00:00
Marcus Brinkmann
9f622905cc 2002-01-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.c (_gpgme_release_result): Call
	_gpgme_release_delete_result.
	* ops.h (_gpgme_release_delete_result): Add prototype.
	* types.h (DeleteResult): New type.
	* context.h (gpgme_context_s): Add DeleteResult to member result.

	* delete.c (enum delete_problem): New type.
	(struct delete_result_s): New structure.
	(_gpgme_release_delete_result): New function.
	(delete_status_handler): Implement more status codes.
	(gpgme_op_delete): Return error on failure.

	* import.c (MAX_IMPORTED_FIELDS): Bump up to 14.
2002-01-30 22:45:22 +00:00
Marcus Brinkmann
088c044792 doc/
2002-01-30  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Importing Keys): Add reference to gpgme_get_op_info.

gpgme/
2002-01-30  Marcus Brinkmann  <marcus@g10code.de>

	* import.c (struct import_result_s): New structure.
	(_gpgme_release_import_result): New function.
	(append_xml_impinfo): Likewise.
	(import_status_handler): Implement.
	* gpgme.c (_gpgme_release_result): Add call to
	_gpgme_release_import_result.
	* ops.h (_gpgme_release_impoer_result): Add prototype.
	* types.h (ImportResult): New type.
	* context.h (gpgme_context_s): Add ImportResult to member result.

	* encrypt.c (gpgme_op_encrypt): Code clean up.

tests/
2002-01-30  Marcus Brinkmann  <marcus@g10code.de>

	* gpg/t-import.c (print_op_info): New function.
	(main): Use it.
2002-01-30 21:52:32 +00:00
Marcus Brinkmann
1677f80d7e Be a bit clearer. 2002-01-30 01:47:29 +00:00
Marcus Brinkmann
648db71744 2002-01-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi: Some spell checking.
2002-01-30 01:43:05 +00:00
Marcus Brinkmann
843c3f4b78 Add more about status handler. 2002-01-30 01:21:55 +00:00
Marcus Brinkmann
785991aa9a doc/
2002-01-30  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi: Add all the gpgme_op_*_start functions.
	Fill the concept index with many, many entries.

gpgme/
2002-01-30  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h: Add lots of comment and fix the formatting.  Add
	gpgme_trustlist_end prototype.
2002-01-30 01:17:30 +00:00
Marcus Brinkmann
89dd219f8d Add copyright year. 2002-01-29 22:59:15 +00:00
Marcus Brinkmann
1513ffd323 doc/
2002-01-29  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Run Control): New section.
	(Verify): Docuent gpgme_get_notation.
	(More Information): New section describing gpgme_get_op_info.

gpgme/
2002-01-29  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h: Add new type GpgmeIdleFunc.  Change type of
	gpgme_register_idle to return and accept this type.
	* wait.c (gpgme_register_idle): Fix type.
	Save and return old value of idle_function.
2002-01-29 22:58:25 +00:00
Werner Koch
1c0317ca79 * engine-gpgsm.c (_gpgme_gpgsm_op_keylist): Implement secret only mode.
* keylist.c (keylist_colon_handler): Add support for the new "crs"
record type.
2002-01-29 10:04:41 +00:00
Marcus Brinkmann
a5329adab7 Delete obsolete item. 2002-01-22 18:14:33 +00:00
Marcus Brinkmann
14fe216277 Some small updates. 2002-01-22 16:55:58 +00:00
Marcus Brinkmann
498ba7818c 2002-01-22 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (_gpgme_gpgsm_release): Call assuan_disconnect,
	not assuan_pipe_disconnect.

	* Makefile.am (libgpgme_la_LIBADD): Change to link assuan and
	jnlib (needed by assuan) statically into libgpgme.  Linking a
	static library into a shared library this way is not portable.
2002-01-22 16:36:08 +00:00
Marcus Brinkmann
4da57b04cb 2002-01-22 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (HAVE_JNLIB_LOGGING): Define always for assuan.
2002-01-22 16:34:52 +00:00
Marcus Brinkmann
b863cea7d7 Update to current version in newpg module. 2002-01-22 16:29:12 +00:00
Marcus Brinkmann
e70c184235 Remove obsolete item. 2002-01-22 15:34:17 +00:00
Marcus Brinkmann
1e1fb4724c doc/
2002-01-22  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Passphrase callback): Change GpgmePassphraseCb's
	R_HD type from void* to void**.

gpgme/
2002-01-22  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h (GpgmePassphraseCb): Change type of R_HD from void* to
	void**.

tests/
2002-01-22  Marcus Brinkmann  <marcus@g10code.de>

	* gpg/t-signers.c (passphrase_cb): Change type of r_hd to void**.
	* gpg/t-sign.c (passphrase_cb): Likewise.
	* gpg/t-decrypt-verify.c (passphrase_cb): Likewise.
	* gpg/t-decrypt.c (passphrase_cb): Likewise.
2002-01-22 15:32:44 +00:00
Marcus Brinkmann
8270a38b05 doc/
2002-01-22  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Creating data buffers): Change
	gpgme_data_new_from_filepart's LENGTH type from off_t to size_t.

gpgme/
2002-01-22  Marcus Brinkmann  <marcus@g10code.de>

	* data.c (gpgme_data_new_from_filepart): Change type of LENGTH
	from off_t to size_t.
	* gpgme.h: Likewise.
2002-01-22 15:21:42 +00:00
Marcus Brinkmann
6f7d1bc770 2002-01-22 Marcus Brinkmann <marcus@g10code.de>
* wait.c (_gpgme_wait_on_condition): If the process finished,
	reset the pending flag.  Also if the operation was cancelled.

	(struct proc_s): Rename READY to DONE.
	(wait_item_s): Likewise.
	(set_process_ready): Rename to ...
	(set_process_done): ... this.
	(_gpgme_remove_proc_from_wait_queue): Call set_process_done
	instead set_process_ready.
	(_gpgme_wait_on_condition): Likewise.
	(do_select): Rename READY to DONE.

	* verify.c (gpgme_op_verify): Do not set pending to zero here.
	* sign.c (gpgme_op_sign): Likewise.
	* import.c (gpgme_op_import): Likewise.
	* genkey.c (gpgme_op_genkey): Likewise.
	* export.c (gpgme_op_export): Likewise.
	* encrypt.c (gpgme_op_encrypt): Likewise.
	* delete.c (gpgme_op_delete): Likewise.
	* decrypt-verify.c (gpgme_op_decrypt_verify): Likewise.
	* decrypt.c (gpgme_op_decrypt): Likewise.
2002-01-22 15:11:53 +00:00
Marcus Brinkmann
abe732ef1c Fix copyright year. 2002-01-22 14:25:40 +00:00
Marcus Brinkmann
76209ac6bb Some more items. 2002-01-22 14:24:50 +00:00
Marcus Brinkmann
8ea8c8832d 2002-01-22 Marcus Brinkmann <marcus@g10code.de>
* export.c: Cleanup.
2002-01-22 14:24:38 +00:00
Marcus Brinkmann
705ff0ac99 2002-01-22 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Generating keys): New subsection.
	(Exporting keys): Likewise.
	(Importing keys): Likewise.
	(Deleting keys): Likewise.
2002-01-22 14:23:56 +00:00
Marcus Brinkmann
f9dbfb9069 2002-01-16 Marcus Brinkmann <marcus@g10code.de>
* gpgme-openpgp.c: New file.
	* Makefile.am (gpgme_openpgp_la_SOURCES): Replace gpgmeplug.c with
	gpgme-openpgp.c.
2002-01-16 17:48:23 +00:00
Marcus Brinkmann
ca28bb4f82 2002-01-16 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi: g10Code -> g10 Code

	* gpgme.texi (Top): Complete detailmenu.

	* gpgme.texi: Convert embarassing cruft to the real thing.
2002-01-16 02:17:02 +00:00
Marcus Brinkmann
7b09b1e3bc 2002-01-16 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Top): Complete detailmenu.
2002-01-16 00:54:39 +00:00
Marcus Brinkmann
738a0dacf4 2002-01-16 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi: Convert embarassing cruft to the real thing.
2002-01-16 00:52:37 +00:00
Marcus Brinkmann
2bd5bd9bd0 Update all these funny copright notices. 2002-01-16 00:46:20 +00:00
Marcus Brinkmann
6badc53695 Add information about --enable-maintainer-mode, which is required to built
the documentation from CVS.
2002-01-16 00:45:14 +00:00
Marcus Brinkmann
d159345f66 * There is a Texinfo manual documenting the API.
* New interface gpgme_op_trustlist_end() to match
   gpgme_op_keylist_end.
2002-01-16 00:44:28 +00:00
Marcus Brinkmann
f3d11ead88 2002-01-15 Marcus Brinkmann <marcus@g10code.de>
* trustlist.c: Various source clean ups.
	(my_isdigit): Removed.
	(gpgme_op_trustlist_end): New function.
2002-01-16 00:44:11 +00:00
Marcus Brinkmann
d7c0314674 2002-01-16 Marcus Brinkmann <marcus@g10code.de>
* ChangeLog: New file.
	* gpgme.texi: Likewise.
	* gpl.texi: Likewise.
	* fdl.texi: Likewise.
	* Makefile.am (info_TEXINFOS): New variable.
	(gpgme_TEXINFOS): Likewise.
2002-01-16 00:41:10 +00:00
Marcus Brinkmann
6b1277eae1 New items about various things. 2002-01-15 19:59:54 +00:00
Marcus Brinkmann
d83e746a07 2002-01-13 Marcus Brinkmann <marcus@g10code.de>
* gpgme.c: Various source clean ups, like renaming C to CTX where
	appropriate.
	(gpgme_new): Clear R_CTX before starting the work.
	(my_isdigit): Removed.
	(my_isxdigit): Likewise.

	* data.c: Various source clean ups.
	(gpgme_data_new_from_mem): Check BUFFER after clearing R_DH.
	(gpgme_data_new_with_read_cb): Similar for READ_CB.
	(gpgme_data_new_from_file): Loop over fread while EINTR.
	(gpgme_data_new_from_filepart): Rediddled a bit.  Allow LENGTH to
	be zero.  Loop over fread while EINTR.

	(my_isdigit): Removed.
	(my_isxdigit): Likewise.
2002-01-15 19:58:41 +00:00