aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* js: remove openpgp modeMaximilian Krambach2018-05-2312-578/+9
| | | | | | | -- * After discussion, that mode is not required, and can result in being quite misleading and a maintenance hassle later on.
* js: transfer encoding changesMaximilian Krambach2018-05-227-106/+173
| | | | | | | | | | | | -- * Uint8Arrays are not supported for now there are unsolved issues in conversion, and they are lower priority * encrypt gains a new option to indicate that input values are base64 encoded * as decrypted values are always base64 encoded, the option base64 will not try to decode the result into utf, but leave it as it is
* js: Testing lare messagesMaximilian Krambach2018-05-143-29/+51
| | | | | | | | | | -- * Some assumption on messages were wrong. Now the tests use more reasonable sizes. * bigString now uses the full utf8-extent, with the exception of U+0000. This code gets dropped during the encryption-decryption process.
* js: remove non-browser testsMaximilian Krambach2018-05-146-264/+0
| | | | | | | | | -- * The majority of tests needs to be run in a nativeMessaging context. Offering the few tests that don't need this context at two places introduces issues with maintainability. All tests now removed can be found in ./unittests.js
* js: Tests and improvements for openpgp modeMaximilian Krambach2018-05-1410-161/+346
| | | | | | | | | | | | | -- * Added openpgp - Mode tests to the browsertest Extension. These tests require openpgp, which should not be a hard dependency for the main project. Packing openpgpjs into the extension is still TODO * Fixes: - openpgp mode API now correctly handles parameters as an object, similar to openpgpjs - proper check and parsing of openpgpjs Message Objects
* js: more testing of nativeMessaging connectionMaximilian Krambach2018-05-0912-162/+328
| | | | | | | | | | | | | -- * There were some inconsistencies between utf-8, transfer and browsers' utf16, which broke characters that were split between individual messages. src/Connection now contains a workaround that reassembles javascripts' format from passed base64 strings. This needs someone more experienced looking. * Added several new tests which were failing during initial debugging of this issue * reorganized BrowsertestExtension to avoid cluttering.
* Merge branch 'master' into javascript-bindingMaximilian Krambach2018-05-095-14/+35
|\
| * json: Improve auto-base64 encoding to not split UTF-8 chars.Werner Koch2018-05-091-8/+14
| | | | | | | | | | | | | | * src/gpgme-json.c (make_data_object): Switch to Base64 also for UTF-8 characters. Signed-off-by: Werner Koch <[email protected]>
| * core: Make the status-fd monitor work for all gpgsm commands.Werner Koch2018-05-091-1/+10
| | | | | | | | | | | | | | * src/engine-gpgsm.c (status_handler): Call the status monitor also here. Signed-off-by: Werner Koch <[email protected]>
| * python: key expiration datetime stamp testsBen McGinnes2018-05-051-1/+1
| | | | | | | | | | | | | | | | | | * Changed the expiration date for the generated test key to NYE this century, rather than the NYE this millennium as originally suggested in job #3815. * This covers the lifetimes of current users (except, maybe, some very healthy millennials) as well as the 32-bit clock end date in 2038; without falling foul of OpenPGP's 2106 expiration.
| * qt: Respect --disable-gpg-test for testsAndre Heinecke2018-05-041-1/+7
| | | | | | | | | | | | | | * lang/qt/Makefile.am: Respect --disable-gpg-test -- This is similar to the core switch to disable the tests.
| * qt: Fix filename handling in cryptoconfigAndre Heinecke2018-04-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | * src/qgpgmenewcryptoconfig.cpp (QGpgMENewCryptoConfigEntry::urlValue): Build url from local file. (QGpgMENewCryptoConfigEntry::setURLValue): Set native seperated path. -- This fixes setting files through cryptoconfig on Windows. GnuPG-Bug-Id: T3939
* | js: more testingMaximilian Krambach2018-05-087-19/+342
| | | | | | | | | | | | | | | | | | | | | | | | -- * Tests: Under certain circumstances, some data change during encrypt-decrypt. Committing the current state so the problem can be discussed. * Fixes: - disconnecting the test ports after tests are complete - fixed passing of the error message from gpgme-json
* | js: fixing errors found by testing: encrypt/decryptMaximilian Krambach2018-05-077-23/+219
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- * Key.js: Error code for wrong parameter in createKey should be "PARAM_WRONG" * Helpers.js: The property openpgpjs-like Objects were checked for in toKeyIdArray was not defined. * src/permittedOperations.js: updated more expectations and assumptions for the native API * new Problems: - There seems to be a message size limit of about 21 MB for nativeMessaging, much lower than the documented 4GB. - Some bytes are lost with random data in an encrypt-decrypt roundtrip. The culprit is unclear.
* | js: fixing errors found by testingMaximilian Krambach2018-05-044-23/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | -- * Key.js: Error code for wrong parameter in createKey should be "PARAM_WRONG" * Helpers.js: The property openpgpjs-like Objects were checked for in toKeyIdArray was not defined. * src/permittedOperations.js: updated more expectations and assumptions for the native API
* | js: Added browser testing for unit testsMaximilian Krambach2018-05-0311-16/+436
| | | | | | | | | | | | | | | | | | | | | | -- * Added unittests to be run inside a Browser. To be able to access the non-exposed functions and classes, a testing bundle will be created, containing the tests (unittests.js) and the items to be tested. * src/Helpelpers, src/Key, src/Keyring: fixed some errors found during testing.
* | js: changed Key class stubMaximilian Krambach2018-05-035-68/+110
| | | | | | | | | | | | | | | | -- * src/Key.js: A Key object cannot offer more than basic functionality outside a connection, so it now requires a connection to be present.
* | js: more testingMaximilian Krambach2018-04-2716-114/+416
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- * Tests: initialization of the two modes, encryption * gpgme.js: reintroduced message check before calling Connection.post() * gpgmejs_openpgp.js: Fixed openpgp mode not passing keys * index.js: fixed some confusion in parseconfig() * Inserted some TODO stubs for missing error handling
* | js: fixed empty operation setter in MessageMaximilian Krambach2018-04-271-2/+9
| | | | | | | | | | | | | | -- * src/Message.js Messages failed because they were not assigned operations
* | js: fixed wrong paths in DemoExtensionMaximilian Krambach2018-04-263-3/+3
| | | | | | | | | | | | -- * Some forgotten internal links after the move to a subdir and cleaning
* | js: created TestExtension and smaller fixesMaximilian Krambach2018-04-2628-143/+429
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- * Extensions: - Moved testapplication to Demoextension - Created BrowserTestExtension. Includes mocha and chai. For running tests that cannot be run outside a WebExtension Both Extensions can be found zipped in build/extensions after running build_extensions.sh * Code changes: - src/Config: Place for the configuration - small fixes raised during testing in Keyring.js, Message.js, - src/gpgmejs_openpgpjs.js don't offer direct GpgME object to the outside, as it only causes confusion - index.js init() now checks the config for validity * Tests: - Reordered tests in test/. - Input values are now in a separate file which may be of use for bulk testing * moved the build directory from dist to build
* | js: First testing and improvementsMaximilian Krambach2018-04-2512-56/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- * Introduced Mocha/chai as testsuite. After development build 'npm test' should run the unit tests. Functionality exclusive to Browsers/WebExtensions cannot be run this way, so some other testing is still needed. - package.json: Added required development packages - .babelrc indirect configuration for mocha. ES6 transpiling needs some babel configuration, but mocha has no setting for it. - test/mocha.opts Vonfiguration for mocha runs * Fixed errors: - Helpers.js toKeyIdArray; isLongId is now exported - Key.js Key constructor failed - Message.js will not throw an Error during construction, a new message is now created with createMessage, which can return an Error or a GPGME_Message object * Tests: - test/Helpers: exports from Helpers.js, GPGME_Error handling - test/Message: first init test with bad parameters
* | js: Configuration and Error handlingMaximilian Krambach2018-04-2510-207/+309
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- * gpgmejs_openpgpjs - unsuported values with no negative consequences can now reject, warn or be ignored, according to config.unconsidered_params - cleanup of unsupported/supported parameters and TODOS * A src/index.js init() now accepts a configuration object * Errors will now be derived from Error, offering more info and a stacktrace. * Fixed Connection.post() timeout triggering on wrong cases * Added comments in permittedOperations.js, which gpgme interactions are still unimplemented and should be added next
* | js: reactivate timeout on connectionMaximilian Krambach2018-04-254-12/+19
| | | | | | | | | | | | | | | | -- * A timeout of 5 seconds is activated for functions that do not require a pinentry. This definition is written to src/permittedOperations.js * testapplication.js now alerts the proper error codes and messages. * src/Errors.js fixed two typos in error handling
* | js: change in Error behaviourMaximilian Krambach2018-04-258-156/+132
| | | | | | | | | | | | | | | | -- * Error objects will now return the error code if defined as error type in src/Errors.js, or do a console.log if it is a warning. Errors from the native gpgme-json will be marked as GNUPG_ERROR.
* | js: allow openpgp-like Message objects as DataMaximilian Krambach2018-04-251-0/+7
| | | | | | | | | | | | | | -- * src/gpgmejs.js: If a message offers a getText, consider it as the message's content
* | js: Key object adjustments after discussionMaximilian Krambach2018-04-243-15/+64
| | | | | | | | | | | | | | | | | | | | | | | | -- * src/aKey.js changed fingerprint to setter (to avoid overwrites) * src/gpgmejs_openpgpjs.js - Added a class GPGME_Key_openpgpmode, which allows for renaming and deviation from GPGME. - renamed classes *_openPGPCompatibility to *_openpgpmode. They are not fully compatible, but only offer a subset of properties. Also, the name seems less clunky
* | js: change in initialization ancd connection handlingMaximilian Krambach2018-04-246-114/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | -- * The Connection will now be started before an object is created, to better account for failures. * index.js: now exposes an init(), which returns a Promise of configurable <GpgME | gpgmeGpgME_openPGPCompatibility> with an established connection. * TODO: There is currently no way to recover from a "connection lost" * Connection.js offers Connection.isConnected, which toggles on port closing.
* | js: don't allow message operation changesMaximilian Krambach2018-04-233-30/+24
| | | | | | | | | | | | | | -- Once an operation is changed, their set of allowed/required parameters will change. So we shouldn't set/change the operation later.
* | js: Key handling stubs, Error handling, refactoringMaximilian Krambach2018-04-238-131/+756
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- * Error handling: introduced GPGMEJS_Error class that handles errors at a more centralized and consistent position * src/Connection.js: The nativeMessaging port now opens per session instead of per message. Some methods were added that reflect this change - added methods disconnect() and reconnect() - added connection status query * src/gpgmejs.js - stub for key deletion - error handling - high level API for changing connection status * src/gpgmejs_openpgpjs.js - added stubs for Key/Keyring handling according to current state of discussion. It is still subject to change * src/Helpers.js - toKeyIdArray creates an array of KeyIds, now accepting fingerprints, GPGMEJS_Key objects and openpgp Key objects. * Key objects (src/Key.js) Querying information about a key directly from gnupg. Currently a stub, only the Key.fingerprint is functional. * Keyring queries (src/Keyring.js): Listing and searching keys. Currently a stub.
* | js: encrypt improvement and decrypt methodMaximilian Krambach2018-04-2018-306/+887
| | | | | | | | | | | | | | | | | | | | | | * Compatibility class gpgme_openpgpjs offers an API that should accept openpgpjs syntax, throwing errors if a parameter is unexpected/not implemented * tried to be more generic in methods * waiting for multiple answers if 'more' is in the answer * more consistency checking on sending and receiving * updated the example extension --
* | Merge branch 'master' into javascript-bindingMaximilian Krambach2018-04-2037-535/+1993
|\|
| * core: Do not modify args for ignored failuresAndre Heinecke2018-04-201-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | * src/op-support.c (_gpgme_parse_failure): Ignore gpg-exit failures before modifying args. -- For op_decrypt_verify the status handler for both decrypt and verify would parse the failure when the first parser ignored the failure. This resulted in an ERR_INV_ENGINE as the first call to parse_failure modified the args. GnuPG-Bug-Id: T3919
| * Post release updatesWerner Koch2018-04-202-1/+5
| | | | | | | | --
| * Release 1.11.1gpgme-1.11.1Werner Koch2018-04-202-5/+12
| | | | | | | | | | | | | | * configure.ac: Bump LT version to C31/A20/R1. For cpp to C13/A7/R0. For qt to: C10/A3/R2. Signed-off-by: Werner Koch <[email protected]>
| * core: Remove another debug output leftover.Werner Koch2018-04-201-1/+0
| | | | | | | | | | | | * src/decrypt.c (_gpgme_decrypt_status_handler): Remove log debug. Signed-off-by: Werner Koch <[email protected]>
| * build: More release creation automation.Werner Koch2018-04-201-1/+58
| | | | | | | | | | | | * Makefile.am: Add release and sign-release targets. Signed-off-by: Werner Koch <[email protected]>
| * doc: Suggest the use of strconcat for recipient strings.Werner Koch2018-04-201-0/+55
| | | | | | | | | | | | | | -- GnuPG-bug-id: 3775 Signed-off-by: Werner Koch <[email protected]>
| * json: Remove the -noinstall flag used during development.Werner Koch2018-04-191-2/+0
| | | | | | | | | | | | | | | | * src/Makefile.am (gpgme-json_LDFLAGS): Remove. -- Reported-by: Alon Bar-Lev <[email protected]> Signed-off-by: Werner Koch <[email protected]>
| * cpp: Add origin and last_update to UserIDAndre Heinecke2018-04-193-19/+49
| | | | | | | | | | | | | | * NEWS: Mention it. * lang/cpp/src/key.cpp, lang/cpp/src/key.h (UserID::lastUpdate), (UserID::origin): New. (gpgme_origin_to_pp_origin): New helper.
| * cpp: Add origin and last_updateAndre Heinecke2018-04-193-0/+56
| | | | | | | | | | | | * NEWS: mention interface change. * lang/cpp/src/key.cpp (Key::origin, Key::lastUpdate): New. * lang/cpp/src/key.h (Key::Origin): New enum.
| * core: Remove leftover debug output.Werner Koch2018-04-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | * src/verify.c (_gpgme_verify_status_handler): Remove debug output. -- Actually this is a real bug because it uses a debug function available only in the new libgpg-error versions. Time to call Jenkins back from vacation; there are rumors that he has been seen in the city looking for a new Ryzen tail coat. Signed-off-by: Werner Koch <[email protected]>
| * tests: Fix t-verify test for GnuPG < 2.2.7.Werner Koch2018-04-191-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * tests/gpg/t-verify.c (check_result): Tweak for gnupg < 2.2.7. -- The not yet releases 2.2.7-beta may print a full fingerprint in the ERRSIG status. This is compliant with the dscription but the new t-verify test case did not took in account that older GnuPG versions print only a keyid. Fixes-commit: b99502274ae5efdf6df0d967900ec3d1e64373d7 GnUPG-bug-id: 3920 Signed-off-by: Werner Koch <[email protected]>
| * Post release updatesWerner Koch2018-04-182-3/+6
| | | | | | | | --
| * Release 1.11.0gpgme-1.11.0Werner Koch2018-04-182-9/+11
| | | | | | | | | | | | | | * configure.ac: Bump LT version to C31/A20/R0. For cpp to C12/A6/R0. For qt to: C10/A3/R1. Signed-off-by: Werner Koch <[email protected]>
| * json: Add stpcpy replacement.Werner Koch2018-04-181-0/+13
| | | | | | | | | | | | * src/gpgme-json.c [!HAVE_STPCPY](_my_stpcpy): New. Signed-off-by: Werner Koch <[email protected]>
| * doc: Update copyright years and change two URLs.Werner Koch2018-04-187-17/+17
| | | | | | | | | | | | -- Signed-off-by: Werner Koch <[email protected]>
| * doc: Unify comment style in gpgme.hWerner Koch2018-04-181-160/+175
| | | | | | | | | | | | -- Signed-off-by: Werner Koch <[email protected]>
| * core: New convenience constant GPGME_KEYLIST_MODE_LOCATE.Werner Koch2018-04-184-3/+48
| | | | | | | | | | | | * src/gpgme.h.in (GPGME_KEYLIST_MODE_LOCATE): New. Signed-off-by: Werner Koch <[email protected]>
| * json: Add command "decrypt" to gpgme-json.Werner Koch2018-04-181-7/+139
| | | | | | | | | | | | | | | | | | | | * src/gpgme-json.c (make_data_object): Enable auto-detection of base-64. (op_encrypt): Support a 'mime' flag. (op_decrypt): New. (process_request): Add command "encrypt". Signed-off-by: Werner Koch <[email protected]>