* src/assuan-support.c (my_spawn): Fix using strtoul for
a long.
--
This was commented on in129def87b262 and is correct.
It is signed here to better handle cases where an
invalid handle value (-1) would be passed.
* NEWS: Mention interface change.
* lang/cpp/src/gpggencardkeyinteractor.cpp
(GpgGenCardKeyInteractor::setAlgo): New.
(GpgGenCardKeyInteractor::action),
(GpgGenCardKeyInteractor::nextState: Handle new interface.
--
Tested that this workes with the old interface of GnuPG 2.2.5
and the new interface since GnuPG 2.2.6
GnuPG-Bug-Id: T4428
* src/assuan-support.c (my_spawn): Add hack to
mark the logger fd for w32spawn translation.
--
The w32 spawn code needs to modify argv with
an updated fd that matches the real id
in the spawned process.
It uses spawn_fd_item_s.arg_loc for that.
We hack it here so that the arg_loc is set
for gpgsm's logger-fd without changing
the assuan API.
GnuPG-Bug-Id: T4426
* src/engine-gpgsm.c (struct engine_gpgsm): Add fields diag_cb and
diagnostics.
(close_notify_handler): Close the diag fd on status fd close.
Handle diag close.
(gpgsm_cancel): Handle diag.
(gpgsm_release): Free DIAGNOSTICS.
(gpgsm_new): Support the diag feature.
(start): Set a handler for the diag fd.
(gpgsm_getauditlog): Support GPGME_AUDITLOG_DIAG.
--
Co-authored-by: Andre Heinecke <aheinecke@gnupg.org>
Signed-off-by: Werner Koch <wk@gnupg.org>
* lang/cpp/src/context.cpp (Error::hasSystemError): Invert logic to
do what it says.
--
This is safe because according to codesearch it is only used
in QGpgME
* tests/run-verify.c (print_result): Chack is_de_vs.
* tests/run-import.c (main): Fix bad parameter for format string.
Signed-off-by: Werner Koch <wk@gnupg.org>
* src/cJSON.c (MAX_DEPTH): New. Maximum recursion depth.
(parse_value, parse_array, parse_object): Carry and check
depth argument.
(cJSON_ParseWithOpts): Initialize depth.
--
This fixes a stack overflow if we get weird recursive
json data.
GnuPG-Bug-Id: T4331
* lang/cpp/src/data.cpp (GpgME::Data::toKeys): Rewind afterards.
--
This fixes unexpected behavior that the seek pointer is changed
after calling the const toKeys.
* src/w32-util.c (_gpgme_get_gpgconf_path): Add NULL top strconcat.
--
Fortunately this is called early and the stack like cleared out so
that we have not seen wrong behaviour until now. We should really fix
all these annoying HANDLE/int cast warnings and alike so that real
bugs are not drowned by them.
GnuPG-bug-id: 4369
Signed-off-by: Werner Koch <wk@gnupg.org>
* A rather obvious variant of the existing key import examples, except
directed at Mailvelope's keyserver.
* Yeah, Werner, I know ... but it exists because I used it and there's
no harm in sharing.
Tested-by: Ben McGinnes <ben@adversary.org>
Signed-off-by: Ben McGinnes <ben@adversary.org>
* Version bump in preparation for whenever GPGME 1.13.0 happens.
* Ran the post_installer.py for docs preparation again.
Signed-off-by: Ben McGinnes <ben@adversary.org>
* Removed auto-generated .texi files from doc/src/ so only the
corrected versions are left.
* Which means now it is complete, but with the initial work to expand
it with info file generation later.
* Moved post_installer.py into the examples/howto/ directory.
* Added instructions for its use to the Python Bindings HOWTO.
* Ran it as intended from the lang/python/ directory in order to both
prove it works and quickly and easily get the updated howto
replicated. Also to fix all those .texi files.
Tested-by: Ben McGinnes <ben@adversary.org>
Signed-off-by: Ben McGinnes <ben@adversary.org>
* src/gpgme-json.c (subkey_to_json): here
--
Avoid Windows ugliness of allowing different CRTs in the same
process.
Fixes-commit: 7f24233719
Signed-off-by: Werner Koch <wk@gnupg.org>
* Merging post installer script.
* Included ammended Sphinx config file to try to reduce the
auto-generated EPUB validation failures it produces.
Signed-off-by: Ben McGinnes <ben@adversary.org>
* Fixed inter-edit.py so it will actually work now.
* made 3 others executable.
* Fixed the semantics of assuan.py's instructions.
Tested-by: Ben McGinnes <ben@adversary.org>
Signed-off-by: Ben McGinnes <ben@adversary.org>
* Fixed inter-edit.py so it will actually work now.
* made 3 others executable.
* Fixed the semantics of assuan.py's instructions.
Tested-by: Ben McGinnes <ben@adversary.org>
Signed-off-by: Ben McGinnes <ben@adversary.org>
* Added some EPUB specific config options to the Sphinx config file
which might help reduce some of Sphinx's more stupid default errors
with EPUB validation.
* Added lang/python/post_installer.py script for automating the
generation of .texi and .rst "source" files from the real source
files written in Org mode. Includes recreating the Sphinx Makefile
which is excluded due to the m4 toolchain in parent directories, it
also handles the rewriting of the reST index file properly and
rewrites the .texi files so they don't impale themselves on Unicode.
Tested-by: Ben McGinnes <ben@adversary.org>
Signed-off-by: Ben McGinnes <ben@adversary.org>
* Found a bug in org-mode's export to texinfo function which will
require either manual modification of each file or a customs sed run
over the generated files for all updates.
* Manually updated the current files for now, but will need to add
some post-install processing scripts for future use (I already have
some of these for my specific setup, they just need to be made a
little more generic and platform independent for here).
Tested-by: Ben McGinnes <ben@adversary.org>
Signed-off-by: Ben McGinnes <ben@adversary.org>
* Dropped the ASCII copyright line, since even MS have conceded their
battle against Unicode enough to load UTF-8.
* Fixed the drafts section since there will be less need of multiple
output format testing from next year.
* configure.ac: Add -Wno-format-truncation and
-Wno-sizeof-pointer-div.
* src/b64dec.c (_gpgme_b64dec_proc): Add fallthrough annotation.
* src/cJSON.c (parse_string): Ditto.
* src/gpgme-json.c (main): Ditto.
--
gcc 8 enables a couple of new warnings. Some of them are useless for
us. In particular:
util.h:42:26: warning: division 'sizeof (char *) / sizeof (char)'
does not compute the number of array elements [-Wsizeof-pointer-div]
#define DIM(v) (sizeof(v)/sizeof((v)[0])) ^
trustlist.c:101:22: note:
in expansion of macro 'DIM' if (strlen (p) == DIM(item->keyid) - 1)
Which is a real standard way to use DIM, here the right hand side is
equivalent to sizeof but nevertheless it is correct. Yes sir, we know
C.
The format string warnings I have seen were assuming that the time
structure returns valued out of scope - but if the system is that
broken, the s_n_printf catches this.
Signed-off-by: Werner Koch <wk@gnupg.org>
* Tightening up both the documentation and some of the example code.
Tested-by: Ben McGinnes <ben@adversary.org>
Signed-off-by: Ben McGinnes <ben@adversary.org>
* Fixed a bug in the ProtonMail importers (pmkey-*.py) where multiple
keys found for a username would always result in the last email
address checked being returned in the printed output for all located
keys.
* Though Keybase really should not be encouraged due to
disengenuosness and FUD emanating from that souce, this new script
will obtain a key hosted on that site and import it when supplied
with the keybase username.
Tested-by: Ben McGinnes <ben@adversary.org>
Signed-off-by: Ben McGinnes <ben@adversary.org>
* Added small requirements.txt file for additional modules not in the
standard python library and not including the bindings themselves
and not including Cython, which is for more advanced examples.
* Tweaked it slightly to avoid repetition of key searches when there
is only one search pattern to check (i.e. usually a single key ID or
fingerprint).
* Tweaked the code again so that it can also handle the cases where
someone has included a hexadecimal string in their user ID.
* Updated the HOWTO to match.
* Exported to .rst and .texi.
* Fixed the logic used to search for any given pattern.
* Added a sensible method of checking whether a pattern is a key ID or
fingerprint.
Tested-by: Ben McGinnes <ben@adversary.org>
Signed-off-by: Ben McGinnes <ben@adversary.org>
* Multiple updates, expanding on the Windows installation issues.
* Also adding to the new maintenance mode reference document.
* Includes content relating to the resolution of T4271 and T4191.
Tested-by: Ben McGinnes <ben@adversary.org>
Signed-off-by: Ben McGinnes <ben@adversary.org>
* src/genkey.c (gpgme_op_genkey_start): Fix check for
parms.
--
This fixes a regression introduced by:
174af15725
So that the error was triggered by usual args.
GnuPG-Bug-Id: T4265
* lang/python/src/core.py (Context.decrypt): simplify and clarify the
logic behind handling verify=False.
* lang/python/tests/t-decrypt.py: ensure that we test verify=False
--
The function-internal variables were pretty unclear to the reader, and
the logic caused pretty nasty breakage when verify=False.
GnuPG-Bug-Id: 4271
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
* lang/python/src/core.py (Context.decrypt): document odd
error-handling behavior as a potential problem to be addressed.
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>