| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
* src/w32-io.c (_gpgme_io_spawn_sans_helper): Inherit HANDLES
correctly, even when an argument is not modified.
--
Fixes-commit: 64f80903ec9bc8897f9b2dcebb7068c02ff9ae07
GnuPG-bug-id: 7127
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/gpgme.h.in (GPGME_SIG_NOTATION_UNPROTECTED): New.
(struct _gpgme_sig_notation): Add field 'unprotected'.
* src/sig-notation.c (sig_notation_set_flags): Set flag.
* src/engine-gpgsm.c (gpgsm_sign): Implement setting of notations.
* tests/run-support.h: Add conversion macros.
* tests/run-sign.c (struct mystringlist_s): New.
(xmalloc): New.
(xstrtokenize): New.
(print_result): Add arg fp and adjust callers.
(main): Add options --binary and --notation.
|
| |
|
|
|
|
|
|
| |
* src/engine-gpgconf.c (gpgconf_read): Update to 2048.
--
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* src/assuan-support.c (my_pipe, my_close, my_read, my_write, my_spawn)
(my_socketpair, my_connect): Cast assuan_fd_t between int.
* src/engine-assuan.c (start): Likewise.
* src/engine-g13.c (start): Likewise.
* src/engine-gpgsm.c (gpgsm_new, prepare): Likewise.
--
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
| |
* src/engine-gpg.c (have_usable_session_hash): New.
(gpg_decrypt): Use here.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/gpgme.h.in (_gpgme_op_decrypt_result): Add field session_hash.
(gpgme_decrypt_flags_t): Add flag GPGME_DECRYPT_SESSION_HASH.
(gpgme_status_code_t): Add flags GPGME_STATUS_SESSION_HASH.
* src/status-table.c (status_table): Add "SESSION_HASH".
* src/decrypt.c (release_op_data): Free new field.
(_gpgme_decrypt_status_handler): Handle new status code.
* src/engine-gpg.c (gpg_decrypt): Implement
GPGME_DECRYPT_SESSION_HASH.
* tests/run-decrypt.c (print_result): Print session_hash.
(main): Add option --show-session-hash.
|
| |
|
|
| |
* src/dirinfo.c (get_gpgconf_item): Add blanks to a string.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/encrypt.c (_gpgme_encrypt_status_handler): Handle the compliance
status line.
* src/gpgme.h.in (struct _gpgme_op_encrypt_result): Add fields is_de_vs
and beta_compliance.
(gpgme_status_code_t): Add status code for the encryption compliance
status line.
* src/status-table.c (status_table): Add encryption compliance status
line.
* tests/run-encrypt.c (print_encrypt_result): Print compliance.
--
This allows checking whether the encrypt operation is in compliance with
the VS-NfD criteria.
GnuPG-bug-id: 6702
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/engine-gpgsm.c (gpgsm_assuan_simple_command): Add a loop to read
all pending lines.
--
This fixes the problem that gpgme waited indefinitely for the completion
of the "simple command" if the reply consisted of more than one line.
For example, if an invalid recipient is sent to gpgsm then gpgsm
replies something like
S INV_RECP 10 798413A50E4C66292914361E8358AC45668F412A<LF>
ERR 50331746 Not trusted <GpgSM><LF>
gpgsm_assuan_simple_command read the first line and then waited forever
for more data sent by gpgsm.
GnuPG-bug-id: 8187
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* src/passphrase.c (op_data_t): Add "canceled" field.
(_gpgme_passphrase_status_handler): Mark "canceled" when it sees
GPGME_STATUS_CANCELED_BY_USER. Reset at
GPGME_STATUS_PINENTRY_LAUNCHED. Return GPG_ERR_CANCELED when
"canceled" is marked at GPGME_STATUS_EOF.
--
GnuPG-bug-id: 8172
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
* src/passphrase.c (_gpgme_passphrase_status_handler): Reset
no_passphrase and bad_passphrase field.
--
GnuPG-bug-id: 7339
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
* src/conversion.c (_gpgme_parse_timestamp): On Windows, disable hack
for 32-bit time_t.
--
On Windows, SystemTimeToFileTime is used for converting the timestamp
to seconds since epoch and this API doesn't have a year 2038 problem.
GnuPG-bug-id: 8088
|
| |
|
|
|
|
|
|
|
|
| |
* src/assuan-support.c: Include util.h for the assuan_pid_t
definition.
--
Fixes-commit: 77b9e1de7d7614e8e7eb79f507a1de292efb30a7
Signed-off-by: Collin Funk <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/context.h (struct gpgme_context): New field export_filter.
* src/engine-backend.h (struct engine_ops): Add arg export_filter to
field 'export' and field 'export_ext'.
* src/engine-gpg.c (export_common): Add arg export_filter and pass
option --export-filter with argument value to gpg.
(gpg_export, gpg_export_ext): Add arg export_filter and pass it to
export_common. Adjust all callers of the two functions.
* src/engine-gpgsm.c (gpgsm_export, gpgsm_export_ext): Add dummy arg
export_filter.
* src/gpgme.c (gpgme_release): Free 'export_filter'.
(gpgme_set_ctx_flag, gpgme_get_ctx_flag): New flag "export-filter".
* tests/run-export.c (main): Add option --export-filter.
--
This makes the --export-filter option available in the GPGME API for
key exports.
GnuPG-bug-id: 8033
|
| |
|
|
|
|
|
|
|
|
| |
* src/w32-io.c (_gpgme_io_spawn_sans_helper): New.
(_gpgme_io_spawn): Use _gpgme_io_spawn_sans_helper.
--
GnuPG-bug-id: 7127
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
| |
* src/w32-io.c (_gpgme_io_pipe): Create a pipe with bInheritHandle =
TRUE, and then clear an end by SetHandleInformation.
--
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
* src/assuan-support.c (my_waitpid): Call __assuan_waitpid for
libassuan 3.
* src/w32-io.c (_gpgme_io_spawn): Use process handle for libassuan 3.
--
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
* src/w32-io.c (release_hddesc): Cast SOCKET to (void *) and use %p.
(reader, create_reader, destroy_reader, writer): Likewise.
(create_writer, find_writer): Likewise.
(_gpgme_io_socket): Likewise. Add "z" modifier for NFDS.
--
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/priv-io.h (struct spawn_fd_item_s): Use HANDLE for peer_name
field.
* src/dirinfo.c (read_gpgconf_dirs): Use ASSUAN_INVALID_FD for default
value for peer_name field of CFD.
* src/engine-gpgconf.c (gpgconf_read, gpgconf_write)
(gpgconf_query_swdb): Likewise.
* src/version.c (_gpgme_get_program_version): Likewise.
* src/w32-io.c (handle_to_fd): Remove.
(_gpgme_io_spawn): Assign HD to the peer_name field. Use %p for
printing the value of peer_name field.
* src/gpgme-w32spawn.c (my_spawn): Use peer_name field with no cast.
Use %p for printing the value of peer_name field. Remove wrong
CloseHandle calls.
(translate_get_from_file): Use HANDLE type for the TO variable.
Use strtoull on 64-bit machine. Use ASSUAN_INVALID_FD.
--
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
* src/keylist.c (gpgme_get_key): Don't call gpgme_set_ctx_flag when
it's "".
--
Fixes-commit: 964bc14ccfba84b050c20dc5035414438b10bd74
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
* src/assuan-support.c (my_read, my_write): Use ssize_t.
(my_socket, my_connect): Use int instead of assuan_fd_t for older
libassuan.
* tests/gpg/t-encrypt-large.c (read_cb, write_cb): Use gpgme_ssize_t.
--
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
| |
* src/util.h (assuan_pid_t): Typedef if not available.
--
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/assuan-support.c (my_spawn, my_waitpid): Use assuan_pid_t.
(my_socket, my_connect): Use assuan_fd_t.
* src/engine-gpg.c (start): Remove unused PID.
* src/engine-spawn.c (engspawn_start): Likewise.
* src/gpgme-w32spawn.c: Add util.h for assuan types.
* src/version.c: Likewise.
* src/wait-user.c: Likewise.
* src/posix-io.c (_gpgme_io_spawn): Use assuan_pid_t.
* src/priv-io.h (_gpgme_io_spawn): Likewise.
* src/w32-io.c (_gpgme_io_spawn): Likewise.
* src/wait-private.c: Include util.h earlier.
--
GnuPG-bug-id: 7968
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* src/Makefile.am (gpgme_w32spawn_CFLAGS): Add AM_CFLAGS.
* src/gpgme-w32spawn.c (my_spawn): GetProcAddress returns an address
for the symbol. The correctness should be checked by human when
writing the code (not by the function prototype).
--
GnuPG-bug-id: 7968
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
| |
* src/stpcpy.c (__stpcpy): Supply function prototype.
--
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* src/engine-gpg.c (gpg_new): Do not pass option --display if DISPLAY
is set to the empty string.
* src/engine-gpgsm.c (gpgsm_new): Likewiese for sending the display
option.
* src/engine-g13.c (g13_new): Ditto.
* src/engine-assuan.c (llass_new): Ditto.
* src/engine-uiserver.c (uiserver_new): Ditto.
--
GnuPG-bug-id: 7919
|
| | |
|
| |
|
|
|
|
|
|
|
| |
* doc/gpgme.texi (section Data type gpgme_subkey_t): Amend documentation
of keygrip member.
* src/gpgme.h.in (_gpgme_subkey): Ditto.
--
GnuPG-bug-id: 7883
|
| |
|
|
|
| |
* src/engine-gpgsm.c (gpgsm_assuan_simple_command): More tracing
calls.
|
| |
|
|
| |
--
|
| |
|
|
|
|
|
| |
--
See
GnuPG-bug-id: 7807
|
| |
|
|
|
|
|
|
|
|
| |
* src/engine-gpgsm.c (gpgsm_assuan_simple_command): Take care about
diag output.
--
GnuPG-bug-id: 7759
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/engine-gpgsm.c (prepare): Move the first part from...
(start): ... here.
(gpgsm_decrypt, gpgsm_delete, gpgsm_encrypt)
(gpgsm_export, gpgsm_export_ext, gpgsm_genkey)
(gpgsm_import, gpgsm_keylist, gpgsm_keylist_ext)
(gpgsm_sign, gpgsm_verify, gpgsm_getauditlog)
(gpgsm_passwd): Follow the change.
--
GnuPG-bug-id: 7759
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
| |
--
|
| |
|
|
|
|
|
|
|
| |
* src/gpgme.h.in: Use forward declarations for the key objects.
--
We may need to have one forward declaration anyway. Use them now for
all objects so that the order of definitions doesn't matter and we can
avoid huge diffs due to re-arranging the layout of the header.
|
| |
|
|
|
| |
* src/key.c (_gpgme_key_add_sig): Rename to ...
(_gpgme_key_add_uid_sig): this.
|
| |
|
|
|
|
|
|
|
|
| |
* src/engine-gpg.c (gpg_getdirect): Initialize ERR to zero to satisfy
the loop condition.
--
Fixes-commit: 0a64c7d0c6d0463cf2e06b3a01ef5be4d879bcf0
Signed-off-by: Collin Funk <[email protected]>
|
| |
|
|
|
|
| |
* src/keylist.c (parse_sec_field15): Remove duplicate '0' character.
Signed-off-by: Collin Funk <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* src/posix-io.c (max_fds_fallback): New.
[_SC_OPEN_MAX] (_gpgme_io_subsystem_init): Set max_fds_fallback.
(get_max_fds): Use max_fds_fallback.
--
GnuPG-bug-id: 7694
Fixes-commit: e8e5434cc4f5cc3c322659792cc1850a5c5b26b8
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
| |
* src/posix-io.c (_gpgme_io_select_poll): Emit the file descriptor
information just like _gpgme_io_select_select.
--
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* src/posix-io.c (get_max_fds): Return type is int.
Ifdef-out TRACE.
Remove call to sysconf.
Use long for R and POS.
Use aligned buffer for struct linux_dirent64.
--
GnuPG-bug-id: 7694
Signed-off-by: NIIBE Yutaka <[email protected]>
|
| |
|
|
|
|
|
|
| |
* src/json-common.h (GPGME_JSON_COMMON_H): Fix guard.
--
Reported-by: Collin Funk <[email protected]>
Fixes-commit: d7267db472a4e4f65c8139f68d9d976c64b79636
|
| |
|
|
|
| |
* src/json-core.c (json_core_process_request): Fix leak and worng
formatting in interactive mode in case of an error.
|
| |
|
|
|
|
|
|
| |
* src/gpgme-json.c: Factor large chunks of code out to ...
* src/json-core.c: new file and ...
* src/json-util.c: new file and ...
* src/json-common.h: new file.
* src/Makefile.am (gpgme_json_SOURCES): Add new files.
|
| |
|
|
|
|
|
| |
* src/engine-gpg.c (gpg_add_algo_usage_expire): Add "default" as
algorithm argument if algo is NULL or an empty string.
--
|
| |
|
|
|
|
|
|
|
|
| |
* src/engine-gpg.c (gpg_add_algo_usage_expire): Check flags for
GPGME_CREATE_GROUP flag.
--
With this change a cert-only group-owned key will be created if only the
group flag is set.
|
| |
|
|
|
|
| |
* src/gpgme.h.in (GPGME_CREATE_GROUP): New.
* src/engine-gpg.c (gpg_add_algo_usage_expire): Pass to engine.
* tests/run-genkey.c (parse_usage_string): Support here too.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* src/gpgme.h.in (struct _gpgme_subkey): Chnage timestamp and expires.
(struct _gpgme_key_sig): Ditto.
(struct _gpgme_new_signature): Ditto.
--
Note that unsigned long has always been used for gpgme_signature_t.
A change to time_t would be a real ABI change and require may users of
gpgme to adjust their code. The signed/unsigned change is sufficient
and mostly invisible.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/engine-gpg.c (append_args_from_signers): Detect exactly
specified keys and apped the '!' suffix.
--
Due to the ABI break which removed long long deprecated functions we
can also risk to introduce a slight semantic change in the way signer
keys are specified. The change is that iff a subkey-fingerprint with
the '!' suffix was used to lookup a signer's key we now use this
specific subkey and not any key gpg considers to be a good signing
subkey. Most people would have considered the old behaviour anyway as
a bug because it differs from what gpg uses at the command line.
GnuPG-bug-id: 3325
Suggested-by: Benjamin Kibbey
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/gpgme.h.in (struct _gpgme_subkey): New flag subkey_match.
* src/keylist.c (spacep): New.
(op_data_t): Add field requested_subkey.
(release_op_data): Free it.
(exact_match_pattern): New.
(maybe_setup_for_requested_subkey): New.
(gpgme_op_keylist_start): Call it here.
(gpgme_op_keylist_ext_start): Call it for each pattern until one
found.
(gpgme_op_keylist_next): Set the subkey_match field.
---
This is needed for
GnuPG-bug-id: 3325
|