aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* doc: Remove UI Server documentationAndre Heinecke2019-11-123-639/+1
| | | | | | | | | | | | | | | * doc/Makefile.am: Remove uiserver.texi * doc/gpgme.texi: Remove UI-Server mentions. * doc/uiserver.texi: Removed. -- This prepares the removal of UI Server from implementing applications like Kleopatra. The only user of the UI Server is GpgEX and even that does not need it at all and is better served with process calls. GnuPG-Bug-Id: T4030
* qt,tests: Take care for old DSA key using deprecated digest algo.NIIBE Yutaka2019-11-071-0/+4
| | | | | | | | * lang/qt/tests/t-remarks.cpp (initTestCase): Supply allow-weak-key-signatures flag for GnuPG 2.3, which normally rejects use of SHA1 digest. Signed-off-by: NIIBE Yutaka <[email protected]>
* qt, tests: Add check for supported versionsAndre Heinecke2019-11-064-21/+41
| | | | | | | | | | | * lang/qt/tests/t-encrypt.cpp (decryptSupported): Moved to t-support as loopbackSupported. * lang/qt/tests/t-remarks.cpp: Check for loopbackSupported. * lang/qt/tests/t-support.cpp, lang/qt/tests/t-support.h (loopbackSupported): New. -- This ensures that the tests do not fail with GnuPG 2.0.x
* qt, tests: Replace accidentally commited assertAndre Heinecke2019-11-061-1/+1
| | | | | | | | | | | * lang/qt/test/t-remarks.cpp (testRemarkReplaceSingleUIDExportable): Use QVERIFY instead of assert. -- An assert causes the temp directory not to be cleaned up. I use this to analyze test failures. If you want to see the tests home directory after a failure you can just change a failing verify to an assert.
* qt,tests: Add test to add an exportable certifyAndre Heinecke2019-11-061-0/+88
| | | | | | | | * lang/qt/test/t-remarks.cpp (testRemarkReplaceSingleUIDExportable): New. -- Just checking in case the edit-key offers new states for that.
* python: Fix how to generate documentation.NIIBE Yutaka2019-11-061-46/+35
| | | | | | | | * lang/python/doc/Makefile.am: Explicitly write rules to generate rst and texinfo files. Fixes-commit: 36428d8cf153a33faac6a951752cdc76e23f9737 Signed-off-by: NIIBE Yutaka <[email protected]>
* qt, tests: Add testcase for multiple remarskAndre Heinecke2019-11-041-0/+88
| | | | * lang/qt/tests/t-remarks.cpp (testMultipleRemarks): New.
* cpp: Add API to obtain mutliple remarksAndre Heinecke2019-11-043-0/+21
| | | | | | | | | | | * lang/cpp/src/key.cpp, lang/cpp/src/key.h (UserID::remarks): New. * NEWS: Mention this. -- This can be useful if we want to show remarks made by others, too. For: GnuPG-Bug-Id: T4734
* qt,tests: Move remarks test out and extend itAndre Heinecke2019-11-043-114/+325
| | | | | | | | | | | * lang/qt/tests/t-various.cpp (testRemarks): Move out. * lang/qt/tests/t-remarks.cpp: New. * lang/qt/tests/Makefile.am: Update accordingly. -- While t-various is nice to add a quick test for more extensive stuff it is better to move it in its own test. This also tests with a key that has only a single uid.
* cpp: Fix dupe_ok state for single uidAndre Heinecke2019-11-041-0/+1
| | | | | * lang/cpp/src/gpgsignkeyeditinteractor.cpp (makeTable): Add transition from command to dupe_ok
* doc: Note the need for a base tag.Werner Koch2019-11-041-3/+5
| | | | --
* qt: Allow adding empty remarksAndre Heinecke2019-11-011-1/+1
| | | | | * lang/qt/src/qgpgmesignkeyjob.cpp (sign_key): Allow empty remarks.
* cpp: Minor optimization in remark lookupAndre Heinecke2019-11-011-2/+6
| | | | | | | | * lang/cpp/src/key.cpp (UserID::remark): Use C-API. -- The other parts of that function already use the C API so we can also avoid function calls for the keyListMode.
* cpp: Fix adding duplicated sigs on multiple uidsAndre Heinecke2019-11-011-0/+5
| | | | | | | | | | | | * lang/cpp/src/gpgsignkeyeditinteractor.cpp: Add another state DUPE_OK2 to allow gpg looping over all uids. -- When duplicated signatures should be added to multiple user ids GnuPG will ask for each uid so we have to add a transition for that. GnuPG-Bug-Id: T4734
* cpp: Add env var to control editinteractor debugAndre Heinecke2019-11-011-2/+17
| | | | | | | | | | | | * lang/cpp/src/editinteractor.cpp (EditInteractor::Private::Private): Read "GPGMEPP_INTERACTOR_DEBUG" env var. (EditInteractor::Private::~Private): Close debug file. -- While it was possible for the application to control the debug through setDebugChannel it is often times helpful to just debug without changing the application using GPGME
* core: Fix parsing of userid sigs after a subpkgAndre Heinecke2019-10-291-2/+3
| | | | | | | | | | * src/keylist.c (keylist_colon_handler): Do not clear out the tmp_uid when a subpacket line is encountered. -- When the uid is cleared no more signatures following the subpacket are parsed, so we now no longer clear it when a subpacket is encountered.
* qt,tests: Add test for remarksAndre Heinecke2019-10-291-0/+111
| | | | * lang/qt/tests/t-various.cpp (testRemark): New.
* qt: Extend signkeyjob to handle remarks and dupsAndre Heinecke2019-10-294-3/+61
| | | | | | | | | | | * lang/qt/src/qgpgmesignkeyjob.cpp: Handle remarks and dupeOK. * lang/qt/src/signkeyjob.h (SignKeyJob::setDupeOk), (SignKeyJob::setRemark): New. -- This API makes it easy for Kleopatra to add remarks for: GnuPG-Bug-Id: T4734
* cpp: Add support for multiple keysigs in editAndre Heinecke2019-10-293-1/+26
| | | | | | | | | | | | | | | | * lang/cpp/src/gpgsignkeyeditinteractor.cpp (GpgSignKeyEditInteractor::setDupeOk): New. (makeTable): Add new tansitions. (SignKeyState): Add DUPE_OK Status. (GpgSignKeyEditInteractor::action): Handle DUPE_OK. (GpgSignKeyEditInteractor::Private::Private): Carry flag. -- When extended-edit is enabled this can be used to answer the "dupe_ok" query from the edit-key with yes. This is for: GnuPG-Bug-Id: T4734
* cpp: Add convenience API to obtain remarksAndre Heinecke2019-10-292-0/+67
| | | | | | | | | | | * lang/cpp/src/key.h, lang/cpp/src/key.cpp (UserID::remark): New. -- A remark made by one key on another is a signature notation on a user id certification signature with the name "[email protected]". This helps with: GnuPG-Bug-Id: T4734
* core: Add cert-notation support and extended-editAndre Heinecke2019-10-295-5/+38
| | | | | | | | | | | | | | | | | | | | | * src/context.h (gpgme_context): Add new flag for extended-edit. * src/engine-gpg.c (append_args_from_sig_notations): Add flags to control the kind of notations. (gpg_edit): Respect extended-edit and notations. (gpg_encrypt_sign, gpg_sign): Update call to append_args_from_sig_notations. * src/gpgme.c (gpgme_set_ctx_flag, gpgme_get_ctx_flag): Support extended-edit. * NEWS, doc/gpgme.texi: Mention extended-edit. -- This provides a way to get the extended key-edit interface without breaking bad state machines that rely on the current command flow. A use case for this is to enable multiple local signatures, which can be used together with annotations for: GnuPG-Bug-Id: T4734
* cpp: Minor coding style fixAndre Heinecke2019-10-291-3/+2
| | | | --
* core,w32: Initialize dbg_help for socket debuggingAndre Heinecke2019-10-281-1/+1
| | | | | | | | * src/w32-io.c (_gpgme_io_select): Initialize dbg_help. -- This fixes a crash on Windows because dbg_help might be used unitialized.
* doc: Remove cruft from a doc entry.Werner Koch2019-10-011-1/+1
| | | | | | -- Reported-by: [email protected]
* json: Fix t-decrypt-verify.out for GnuPG >= 2.3.NIIBE Yutaka2019-08-061-5/+0
| | | | | | | | | | | | | | | | | | | | | | * tests/json/t-decrypt-verify.out.json: Remove check with key of 04071FB807287134. -- GnuPG 2.3 changes how public key decryption works; It collects list of PUBKEY_ENC packets and then processes an ENCRYPTED* packet. At the stage of processing an ENCRYPTED* packet, it checks if private keys can decrypt any of PUBKEY_ENC packets. It does not necessarily examine all of PUBKEY_ENC packets. Only when it finds a PUBKEY_ENC packet cannot be decrypted, it reports STATUS_NO_SECKEY with keyid of that packet. GnuPG 2.2 or older tries PUBKEY_ENC packets in order, and the first successful PUBKEY_ENC packet is used. Rest of PUBKEY_ENC packets are not examined, but STATUS_NO_SECKEY with keyid is reported even when there is a valid private key. Signed-off-by: NIIBE Yutaka <[email protected]>
* core: Fix arg counting in enginge-gpgAndre Heinecke2019-07-161-4/+26
| | | | | | | | | | | | | | | | * src/engine-gpg.c (build_argv): Properly check for all arguments and allocate memory for them. -- This fixes a potential buffer overflow which could be created by using unusual and partially contradictory options. Like offline and auto-key-locate together while using ignore-mdc-error. As the list of arguments should not be user controlled the impact of this is very low. To ensure that this does not happen in the future an assert is also added with this patch.
* python: doc: Remove generated files, put rules in Makefile.NIIBE Yutaka2019-07-1213-8017/+39
| | | | | | | | | | | * lang/python/doc/Makefile.am (EXTRA_DIST): Remove files not distributed like files under meta. * Add rules to generate .rst and .texi files. * lang/python/doc/rst: Remove .rst files to be generated. * lang/python/doc/texinfo: Remove .texi files to be generated. GnuPG-bug-id: 4275 Signed-off-by: NIIBE Yutaka <[email protected]>
* python: doc: Add suffix for org files.NIIBE Yutaka2019-07-126-0/+0
| | | | Signed-off-by: NIIBE Yutaka <[email protected]>
* js: improve connection checkMaximilian Krambach2019-07-032-25/+47
| | | | | | | | | -- * Connection.js: In some cases, the browser disconnect does not happen inmediately (e.g. wrong extension for the app). I added a delay of 25 ms to see if the connection was closed by the browser. Also, I tried to make the checkConnection more readable.
* js: Error handling for browser errorsMaximilian Krambach2019-06-194-27/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | -- * Connection.js - Add some meaningful nativeMessaging feedback for failing communication due to misconfiguration or other browser-originated fails - add an "isDisconnected" property - "isNativeHostUnknown" tries to match browser's feedback string if the browser does not find gpgme-json * init.js - initialization will now reject with a more meaningful error if the configuration is not set up or other browser-based errors (chrome.runtime.lastError) are present. This should speed up the normal initialization (not having to waiting for a timeout any more in case of improper setup) * errors.js - CONN_NATIVEMESSAGE: New error that passes the browser's nativeMessaging error - CONN_NO_CONFIG: native messaging error indicating that the nativeMessaging host was not set up properly * unittests.js: - added the "isDisconnected" property to the startup tests - added tests for proper behavior of connection checks
* Post release updatesgpgme-1.14-baseWerner Koch2019-06-132-2/+10
| | | | --
* Release 1.13.1gpgme-1.13.1Werner Koch2019-06-132-21/+21
| | | | | | | * configure.ac: Bump LT versions to c=C33/A22/R1 cpp=C16/A10/R0 qt=C10/A3/R4. Signed-off-by: Werner Koch <[email protected]>
* python: Fix regression in t-decrypt-verify test.Werner Koch2019-06-131-11/+11
| | | | | | | | * lang/python/tests/t-decrypt-verify.py: Comment recent changes. -- Fixes-commit: bd2d282e572b5d02669238c9e087259b85638477 GnuPG-bug-id: 4276
* python: Set a default-key into gpg.conf for the tests.Werner Koch2019-06-131-2/+1
| | | | | | | | | | | | | | | | | | | | * lang/python/tests/Makefile.am (gpg.conf): Set a default key. -- It seems we need to set a default key because at least t-sign.py does not specify the key to use and we do not want to rely on the order of keys in the keyring. Also Fixes-commit: f3ca2c9ce9fd4a03e293065f10b92589a7e642d6 gpg 2.0 is end-of-life and we don't need these extra options anymore. In fact they for the use of some gpg version and don't use the version gpgconf knows about. This also aligns the python tests to what we use for the C test suite. Signed-off-by: Werner Koch <[email protected]>
* core: At debug levels up to 9 print only an ascii dump.Werner Koch2019-06-131-27/+59
| | | | | | | | | | | | * src/debug.c (_gpgme_debug_buffer): Switch between two output formats. -- The new format is much more practical than the bunch of hex digits followed by just 16 ascii chars. To get the old behaviour use a debug level of 10. Signed-off-by: Werner Koch <[email protected]>
* tests: Minor fix to run-threaded.c.Werner Koch2019-06-061-1/+5
| | | | | | | | | | * tests/run-threaded.c (random_data_close): Correct FD test. -- An invalid DS is -1 and not 0; this fix is for correctness and does not chnage anything in the real world. Signed-off-by: Werner Koch <[email protected]>
* core: Add commented debug helper to posix-io.c.Werner Koch2019-06-061-21/+71
| | | | | | | | | | * src/posix-io.c (_gpgme_is_fd_valid): New out-commented function. -- This code is sometimes useful to track down invalid file descriptors. We keep it commented in the code. Signed-off-by: Werner Koch <[email protected]>
* core: Fix error return value of _gpgme_run_io_cb.Werner Koch2019-06-061-5/+8
| | | | | | | | | * src/wait.c (_gpgme_run_io_cb): Fix return code. -- The function needs to return an gpg_error_t and not ERRNO. Signed-off-by: Werner Koch <[email protected]>
* tests: Add option "allow-del" to run-threadedAndre Heinecke2019-06-061-0/+74
| | | | | | | | | | | | | | | * tests/run-threaded.c (main): Handle allow-del. (allow-del): New. Variable to allow deletion of keys. (import): Delete key after import if allow-del is set. (delete_impres): Delete keys from an import result. (delete_fpr): Delete a key by fingerprint. -- This is intended to test write access and locking of the keyring by repeatedly importing and deleting pubkeys. It is an option because it might cause keyring corruption etc. so it should be explicitly enabled.
* tests: Implement import in run-threadedAndre Heinecke2019-06-051-0/+36
| | | | | * tests/run-threaded.c (import): New. (do_data_op): Call it.
* core: Prettify _gpgme_io_select debug output again and fix TRACE_SYSRES.Werner Koch2019-06-052-6/+18
| | | | | | | | | | | | * src/debug.c (_gpgme_debug): Take better care of NULL userinfo. (_gpgme_debug_end): Rework. (_trace_sysres): Print ERRNO and not the supplied RES. -- The TRACE_SYSRES patch fixes Regression-due-to: 7a1e7006d06fdbab86ea79a197c316744b09d933 Signed-off-by: Werner Koch <[email protected]>
* tests: Use synced output for error in run-threadedAndre Heinecke2019-06-051-2/+2
| | | | * tests/run-threaded.c (do_data_op): Use synced out macro.
* tests: Avoid variable named the same as a macroAndre Heinecke2019-06-051-8/+8
| | | | | | | | * tests/run-threaded.c (decrypt, verify): Don't use a variable name that is also a macro. -- It just looks confusing and strange at first glance.
* tests,w32: Fix thread creation in run-threadedAndre Heinecke2019-06-051-2/+4
| | | | | * tests/run-threaded.c (create_thread): Check proper return value and not return value of CloseHandle.
* core: Improve the debug messages even more.Werner Koch2019-06-0518-140/+116
| | | | | | | | | | | | | | | * src/debug.c (_gpgme_debug): Add arg LINE. Chnage all callers. (_gpgme_debug_begin): Remove. * src/debug.h (TRACE_SEQ): Use the LINE arg of _gpgme_debug. -- This includes chnages to always print fds in decimal as weel as tweaking the TARCE_SEQ function to make use of the new machinery. The standard 'tag' can now always be NULL and no tag information will be printed. Signed-off-by: Werner Koch <[email protected]>
* core: Avoid explicit locks in the debug code.Werner Koch2019-06-051-46/+46
| | | | | | | | | | | | | | | | | * src/debug.c (debug_lock): Remove. Also remove all users. (_gpgme_debug): Use gpgrt_bsprintf to prepare the output and finally print using standard fprintf. Reformat to prefix to be narrower. -- Note that the locks are now implicitly done using the systems stdio. The threadid is now printed with 4 digits in hex and thus without the angle brackets and the 0x. However it is still a hex number even if it may look like an octal number. The hex letters are uppercase to make searching in locks easier iff the threadid happens to have a letter in it. Signed-off-by: Werner Koch <[email protected]>
* json: Print "nan", "-inf", "inf" if needed.Werner Koch2019-06-041-1/+7
| | | | | | | | * src/cJSON.c (print_number): Print NaN and INF. -- GnuPG-bug-id: 4328 Signed-off-by: Werner Koch <[email protected]>
* json: Improve handling of large exponents in the JSON parsor.Werner Koch2019-06-041-7/+33
| | | | | | | | | * src/cJSON.c: Include stdint.h. (parse_number): Avoid overflob in SUBSCALE and cap integer values. -- GnuPG-bug-id: 4330 Signed-off-by: Werner Koch <[email protected]>
* core: Implement recpstring option parsing for gpgsm.Werner Koch2019-06-042-16/+26
| | | | | | | | | | | | | | * src/engine-gpg.c (append_args_from_recipients_string): Detect bad options. * src/engine-gpgsm.c (set_recipients_from_string): Implement option parsing. -- The only option we actually implement is "--" but the code layout is now very simlar to engine-gpg and can easily be extended if ever needed. Signed-off-by: Werner Koch <[email protected]>
* core: Make gpgme_op_encrypt_ext work for CMS.Werner Koch2019-06-041-1/+1
| | | | | | | | | | | | | * src/engine-gpgsm.c (gpgsm_encrypt): Fix argument check. -- It is pretty obvious thar the string based new encrypt function has never been tested for S/MIME. The fix was easy. A followup patch will extend it to allow for keywords in the future. GnuPG-bug-id: 4556 Fixes-commit: a1f76b3b54b75a150fe272b804d85ffd40a507a6 Signed-off-by: Werner Koch <[email protected]>