aboutsummaryrefslogtreecommitdiffstats
path: root/lang (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-01-26python: Ensure quick-random is used if gpg is gpg2Andre Heinecke1-0/+2
* lang/python/tests/Makefile.am (gpg.conf): Configure agent-program accordingly.
2017-01-25python: default op_keylist_start parameters.Tobias Mueller2-0/+21
* lang/python/gpgme.i: Added gpgme_op_keylist_start with defaults * lang/python/tests/t-keylist.py: Added tests for default parameters -- To increase the ease of use, op_keylist_start parameters default to sensible values. The empty string matches all keys. We assume that the user wants to retrieve public keys most of the time, so we default to public keys rather than secret keys. Signed-off-by: Tobias Mueller <[email protected]>
2017-01-16qt: Use QVERIFY instead of Q_ASSERT in conf testAndre Heinecke1-3/+3
* lang/qt/tests/t-config.cpp: Use QVERIFY instead of Q_ASSERT.
2017-01-16qt: Add test for CryptoConfigAndre Heinecke2-3/+98
* lang/qt/tests/t-config.cpp: New. * lang/qt/tests/Makefile.am: Update accordingly.
2017-01-12qt: Add support for stringValueList in CryptoConfAndre Heinecke5-1/+68
* lang/qt/src/Makefile.am (qgpgme_sources): Add cryptoconfig.cpp * lang/qt/src/cryptoconfig.cpp: New. * lang/qt/src/cryptoconfig.h (CryptoConfigEntry::stringValueList): New. * lang/qt/src/qgpgmenewcryptoconfig.cpp (QGpgMENewCryptoConfigEntry::stringValueList): New. * lang/qt/src/qgpgmenewcryptoconfig.h: Update accordingly. -- This is a pardigm change in cryptoconfig.h to avoid ABI breaks with each new config value we support it now has an implementation that is directly related to qgpgmenewcryptoconfig, which is now the only one.
2017-01-12qt: Don't use qstrdup in test passphrase cbAndre Heinecke1-1/+5
* lang/qt/tests/t-support.h (TestPassphraseProvider::getPassphrase): Use gpgrt_asprintf instead of strdup. -- To avoid problems on MacOS we want to avoid strdup so that qgpgme can be built without extensions. But qstrdup allocates with new and not with malloc, so use gpgrt_asprintf instead.
2017-01-11qt: Clean up test dirs on failureAndre Heinecke8-174/+174
* t-encrypt.cpp, t-keylist.cpp, t-keylocate.cpp, t-ownertrust.cpp, t-tofuinfo.cpp, t-various.cpp, t-verify.cpp, t-wkspublish.cpp: Use QVERIFY instead of Q_ASSERT
2017-01-11qt: Add test for uid functionsAndre Heinecke2-3/+131
* lang/qt/tests/t-various.cpp: New. * lang/qt/tests/Makefile.am: Update accordingly.
2017-01-11cpp: Add revuid and adduid supportAndre Heinecke4-0/+76
* lang/cpp/src/context.cpp (Context::revUid, Context::startRevUid), (Context::addUid, Context::startAddUid): New. * lang/cpp/src/context.h: Declare new functions. * lang/cpp/src/key.cpp (Key::UserID::revoke) (Key::addUid): Idomatic helpers. lang/cpp/src/key.h: Declare new functions. * NEWS: Update accordingly.
2017-01-11Fix Qgpgme build for macosAndre Heinecke2-2/+4
* lang/qt/src/dn.cpp: Include string.h (parse_dn_part): Use qstrdup. * lang/qt/tests/t-support.h (getPassphrase): Use qstrdup.
2017-01-11Fix cmake configuration files for MacOSAndre Heinecke4-2/+16
* configure.ac: Set HAVE_MACOS_SYSTEM conditional. * lang/qt/src/Makefile.am, lang/cpp/src/Makefile.am, lang/qt/src/QGpgmeConfig.cmake.in.in, lang/cpp/src/GpgmeConfig.cmake.in.in: Use libsuffix again to distinguish between macos .dylib -- GnuPG-Bug-Id: 2884
2017-01-03python: Improve compatibility with Scheme tests.Justus Winter1-0/+2
* lang/python/tests/run-tests.py: Add stub --parallel option. Signed-off-by: Justus Winter <[email protected]>
2017-01-03python: Add a switch '--quiet' to the test runner.Justus Winter1-5/+12
* lang/python/tests/run-tests.py: Add and honor a switch '--quiet'. This way we can use this script to run Python tests one by one without the noise, and the script will setup the necessary environment for us. Signed-off-by: Justus Winter <[email protected]>
2017-01-02qt: Update config sync doc / commentAndre Heinecke2-12/+6
* lang/qt/src/cryptoconfig.h (CryptoConfig::sync): Document that runtime option is always set. * lang/qt/Src/qgpgmenewcryptoconfig.cpp (QGpgMENewCryptoConfigComponent::sync): Remove outdated comment and warn on error.
2016-12-16cpp: Ensure that hasSecret is correct after updateAndre Heinecke1-1/+6
* lang/cpp/src/key.cpp (Key::update): Check for a secret key first before listing public keys. -- This is a performance delay but the update should only be called in a non gui thread anyway. The information if we have the secret key for this key is important to provide after update.
2016-12-15cpp: Fix addrSpec for keys without emailAndre Heinecke1-1/+6
* lang/cpp/src/key.cpp (UserID::addrSpec): Use uid->address instead of normalizing again. (&operator<<(std::ostream &, const UserID &): Print it. -- This saves a normalization and fixes the case where a user id is just a mail address without name, in that case gpgme sets "address" but not email. Because the email is then the name.
2016-12-15cpp: Fix update of partial key in verifyresultAndre Heinecke1-1/+2
* lang/cpp/src/verificationresult.cpp (Signature::key(bool,bool)): Don't update the returned copy but the actual key of the signature. -- The whole point of the update is to change the partial key from the signature (e.g. only fingerprint and one uid as we would have from tofu) to a fully keylisted one.
2016-12-05python: Try to be more helpful when given a string to encrypt().Tobias Mueller2-2/+19
* lang/python/helpers.c (_gpg_obj2gpgme_data_t): Extended error message. * lang/python/tests/t-encrypt.py: Test for "encode" in error message. -- The motivation is to help the user when encrypting fails. I claim that it is not obvious to not being able to encrypt a string directly. To nudge the user into encoding it to bytes, the error message is a bit extended. Signed-off-by: Tobias Mueller <[email protected]>
2016-12-05python: Define a macro for wrapping fragile result objects.Tobias Mueller1-57/+12
* lang/python/gpgme.i (wrapresult): New Macro. -- This reduces the amount of copy and pasted code at the expense of a slightly more complicated logic with a macro. Signed-off-by: Tobias Mueller <[email protected]>
2016-12-01python: Check "buffer" when writing to sys.stdout for python2 compat.Tobias Mueller1-1/+5
* lang/python/tests/support.py (print_data): Add check for buffer. -- When running with something like make -C lang/python check verbose=2 the test would fail under python2, because the file objects do not have a buffer property. Signed-off-by: Tobias Mueller <[email protected]>
2016-12-01python: Make Context have a repr method.Tobias Mueller1-0/+8
* lang/python/gpg/core.py (Context.__repr__): New function. -- This makes Context objects look nicer in a REPL. Signed-off-by: Tobias Mueller <[email protected]>
2016-12-01python: Make Results have a nicer __repr__.Tobias Mueller1-3/+3
* lang/python/gpg/results.py (Result.__str__): Renamed to '__repr__' ... * lang/python/gpg/results.py (Result.__repr__): ... and added fields. -- So that it looks a bit nicer in the Python REPL. It looked like this before: In [2]: gpg.core.get_engine_info()[0] Out[2]: <gpg.results.EngineInfo at 0x7fb23509a240> Now the output is In [2]: gpg.core.get_engine_info()[0] Out[2]: EngineInfo(file_name='/usr/bin/gpg2', home_dir=None, protocol=0, req_version='1.4.0', version='2.1.11') This also applies to other results, e.g. the ImportResult. Note that the format now changed from "<Class >" to "Class()". The Python documentation on repr states: "For many object types, including most builtins, eval(repr(obj)) == obj." Signed-off-by: Tobias Mueller <[email protected]>
2016-11-25python: Fix removing the TOFU database.Justus Winter2-2/+2
* lang/python/Makefile.am (CLEANFILES): Move 'tofu.db'... * lang/python/tests/Makefile.am (CLEANFILES): ... here. Fixes-commit: 9b22f82afc5518961e4bea1fc516b79800e379a2 Signed-off-by: Justus Winter <[email protected]>
2016-11-25tests: Remove tofu.db.Justus Winter1-1/+1
* lang/python/Makefile.am (CLEANFILES): Add 'tofu.db'. * tests/gpg/Makefile.am (CLEANFILES): Likewise. Signed-off-by: Justus Winter <[email protected]>
2016-11-17Remove a forgotten instance of @libsuffix@Heiko Becker1-1/+1
* lang/cpp/src/GpgmeppConfig.cmake.in.in: Remove a forgotten instance of @libsuffix@. -- b2c07bd47bd608afa5cc819b60a7b5bb8c9dd96a removed @libsuffix@ from cmake config files, but missed one instance. Signed-off-by: Heiko Becker <[email protected]>
2016-11-15qt, cpp: Add cmake config files for w32Andre Heinecke6-15/+223
* lang/cpp/src/GpgmeppConfig-w32.cmake.in.in lang/qt/src/QGpgmeConfig-w32.cmake.in.in: New. * lang/cpp/src/GpgmeppConfig.cmake.in.in, lang/qt/src/QGpgmeConfig.cmake.in.in: Remove libsuffix handling. * lang/cpp/src/Makefile.am, lang/qt/src/Makefile.am: Create / install w32 config files. * configure.ac: Configure them. -- To work with DLL's cmake needs to know about the implib and the final DLL. So the config files look different enough that it's better to use alternative files.
2016-11-15qt: Use new style connect in th..mixinAndre Heinecke1-1/+2
* lang/qt/src/threadedjobmixin.h (ThreadedJobMixin::lateInitialization): Use new style connect.
2016-11-14qt: Add API to get the context for a JobAndre Heinecke4-2/+36
* lang/qt/src/job.cpp, lang/qt/src/job.h (Job::context): New. * lang/qt/src/threadedjobmixin.cpp (ThreadedJobMixin::~ThreadedJobMixin): New. Unregister context. (ThreadedJobMixin::lateInitialization): Register context. * NEWS: Update for cpp and qt. -- The global map hack is necessary because the job class does not know about the context which is held in threadedjobmixin. Adding a virtual function in Job would be an ABI break which I'd like to avoid at this point. Although QGpgME's API will need a big ABI break to make it ABI maintainable. The virtual jobs -> implementation classes are nearly unmaintainable ABI wise. The context is exposed to provide more flexibility to users, e.g. to add a passphrase callback or to set the sender in a context.
2016-11-14cpp: Add get / set Sender APIAndre Heinecke2-0/+14
* cpp/src/context.cpp, cpp/src/context.h (Context::setSender), (Context::getSender): Add simple wrappers.
2016-11-14qt, cpp: Enable dll build for windowsAndre Heinecke2-2/+2
* lang/cpp/src/Makefile.am, lang/qt/src/Makefile.am: Add -no-undefined to LDFLAGS.
2016-11-11tests,python: Atomic directory creationAlon Bar-Lev1-1/+1
* lang/python/tests/Makefile.am: Use MIDIR_P. * tests/gpg/Makefile.am: Ditto. * tests/gpgsm/Makefile.am: Ditto. -- Solves race in parallel build when mkdir fails if directory exists. Signed-off-by: Alon Bar-Lev <[email protected]> - Tweaked the ChangeLog Signed-off-by: Werner Koch <[email protected]>
2016-11-09python: Require at least GPGME 1.7 for out-of-tree builds.Justus Winter1-2/+2
* lang/python/setup.py.in: Bump required version to 1.7. Signed-off-by: Justus Winter <[email protected]>
2016-11-04cpp: Add API for swdb queriesAndre Heinecke3-2/+361
* lang/cpp/src/swdbresult.cpp, lang/cpp/src/swdbresult.h (SwdbResult): New. * lang/cpp/src/Makefile.am: Update accordingly.
2016-11-04cpp: Add more EngineInfo::Version ctorsAndre Heinecke1-0/+16
* lang/cpp/src/engineinfo.h (EngineInfo::Version::Version(const char*)), (EngineInfo::Version::Version()): New.
2016-11-04cpp: Don't include gpgme.h in tofuinfo headerAndre Heinecke1-2/+0
* lang/cpp/src/tofuinfo.h: Don't include gpgme.h -- No public header should include gpgme.h
2016-11-04cpp: Extend gpgmefw for tofuinfo and swdb queryAndre Heinecke1-0/+6
* lang/cpp/src/gpgmefw.h (gpgme_tofu_info_t) (gpgme_query_swdb_result_t): New forwards.
2016-11-03qt: Change license of export / version headerAndre Heinecke2-34/+54
* lang/qt/src/qgpgme_export.h, lang/qt/src/qgpgme_version.h: Change license to GPLv2+ -- These files were based on copies from the cpp version/export headers. This change is meant to clarify the licensing by bringing it in line with the overall licesense of the qgpgme library.
2016-11-02qt: Fix build with g++ 4.8.xAndras Mantia1-3/+3
* lang/qt/src/defaultkeygenerationjob.cpp (DefaultKeyGenerationJob::start): Explicitly connect pointer in the QPointer. -- Commit message written by Andre Heinecke <[email protected]>
2016-11-02qt, cpp: Fix versioning in cmake config and headerAndre Heinecke4-13/+12
* configure.ac (VERSION_MAJOR, VERSION_MINOR, VERSION_MICRO): New subst variables for the version header. * lang/cpp/src/GpgmeppConfigVersion.cmake.in, lang/cpp/src/gpgmepp_version.h.in, lang/qt/src/QGpgmeConfigVersion.cmake.in, lang/qt/src/qgpgme_version.h.in: Use new variables. -- Using the LT_* variables was just wrong. Reporting the package version also makes more sense then the library version. Having different versions might make ABI breaks more visible by increasing the major version number, but to have different versions in the same package is too confusing imo and gpgme uses a versioning that is unrelated to the library version number.
2016-11-02qt: Install cmake config into qgpgme subdirAndre Heinecke1-6/+6
* lang/qt/src/Makefile.am: Install cmake config file in qgpgme subdir. -- Putting it together with Gpgmepp was done for historic reasons but the proper way is for each library to have its own subdir.
2016-11-02qt: Require gpgmepp from cmake config scriptAndre Heinecke1-0/+3
* lang/qt/src/QGpgmeConfig.cmake.in.in: Require cpp. -- This fixes an error if a user only does find_package(QGpgme)
2016-11-02qt, cpp: Add all generated files to cleanfilesAndre Heinecke2-2/+5
* cpp/src/Makefile.am (CLEANFILES), qt/src/Makefile.am (CLEANFILES): Add all generated files to cleanfiles.
2016-11-01qt: Add Distinguished Name parser from libkleoAndre Heinecke3-2/+636
* lang/qt/src/dn.cpp (DN, DN::Attribute): New public API. * lang/qt/src/dn.h: New. * lang/qt/src/Makefile.am: Update accordingly. -- This is a general useful API to work with X509 distinguished names and is useful when doing CMS with GpgME. Adding this class from libkleo allows kmails messagelib to avoid any KDE UI Frameworks and so can be used more versatile in the future. This class can be combined with libkleos DNAttributeMapper to have the same bevavior as before in libkleo when using DN::prettyDN calls can be converted from: Kleo::DN(uid).prettyDN(); to: QGpgME::DN dn(uid); uid.setAttributeOrder( Kleo::DNAttributeMapper::instance()->attributeOrder()); dn.prettyDN();
2016-11-01qt, cpp: Install version headers in subdirsAndre Heinecke2-2/+2
* lang/cpp/src/Makefile.am, lang/qt/src/Makefile.am: Install version headers in include subdirs. -- This change was requested on the gnupg-devel mailing list to avoid placing these headers into the top level include directories. There is currently no known user of these headers so changing it now should not break things downstream.
2016-10-31python: Use vanity modules for constants in tests and examples.Justus Winter25-78/+103
* lang/python/gpg/constants/sig/notation.py: New file. * lang/python/gpg/constants/sig/__init__.py: Import new module. * lang/python/examples/assuan.py: Use more specific module for constants, e.g. 'protocol.ASSUAN' instead of 'PROTOCOL_ASSUAN'. * lang/python/examples/testCMSgetkey.py: Likewise. * lang/python/tests/initial.py: Likewise. * lang/python/tests/t-callbacks.py: Likewise. * lang/python/tests/t-decrypt-verify.py: Likewise. * lang/python/tests/t-decrypt.py: Likewise. * lang/python/tests/t-edit.py: Likewise. * lang/python/tests/t-encrypt-large.py: Likewise. * lang/python/tests/t-encrypt-sign.py: Likewise. * lang/python/tests/t-encrypt-sym.py: Likewise. * lang/python/tests/t-encrypt.py: Likewise. * lang/python/tests/t-export.py: Likewise. * lang/python/tests/t-file-name.py: Likewise. * lang/python/tests/t-idiomatic.py: Likewise. * lang/python/tests/t-import.py: Likewise. * lang/python/tests/t-keylist.py: Likewise. * lang/python/tests/t-protocol-assuan.py: Likewise. * lang/python/tests/t-sig-notation.py: Likewise. * lang/python/tests/t-sign.py: Likewise. * lang/python/tests/t-signers.py: Likewise. * lang/python/tests/t-trustlist.py: Likewise. * lang/python/tests/t-verify.py: Likewise. * lang/python/tests/t-wait.py: Likewise. Signed-off-by: Justus Winter <[email protected]>
2016-10-31python: Import the topmost module in tests and examples.Justus Winter22-225/+215
* examples/verifydetails.py: Only import the topmost module 'gpg' and update the code accordingly. * tests/support.py: Likewise. * tests/t-callbacks.py: Likewise. * tests/t-data.py: Likewise. * tests/t-decrypt-verify.py: Likewise. * tests/t-decrypt.py: Likewise. * tests/t-edit.py: Likewise. * tests/t-encrypt-large.py: Likewise. * tests/t-encrypt-sign.py: Likewise. * tests/t-encrypt-sym.py: Likewise. * tests/t-encrypt.py: Likewise. * tests/t-export.py: Likewise. * tests/t-file-name.py: Likewise. * tests/t-import.py: Likewise. * tests/t-keylist.py: Likewise. * tests/t-sig-notation.py: Likewise. * tests/t-sign.py: Likewise. * tests/t-signers.py: Likewise. * tests/t-trustlist.py: Likewise. * tests/t-verify.py: Likewise. * tests/t-wait.py: Likewise. * tests/t-wrapper.py: Likewise. Signed-off-by: Justus Winter <[email protected]>
2016-10-31python: Improve constants module.Justus Winter12-0/+39
* lang/python/gpg/constants/__init__.py: Import all modules below 'constants/'. Interface hygiene: delete 'util'. * lang/python/gpg/constants/data/encoding.py: Delete 'util'. * lang/python/gpg/constants/event.py: Likewise. * lang/python/gpg/constants/import.py: Likewise. * lang/python/gpg/constants/keylist/mode.py: Likewise. * lang/python/gpg/constants/md.py: Likewise. * lang/python/gpg/constants/pk.py: Likewise. * lang/python/gpg/constants/protocol.py: Likewise. * lang/python/gpg/constants/sig/mode.py: Likewise. * lang/python/gpg/constants/sigsum.py: Likewise. * lang/python/gpg/constants/validity.py: Likewise. * lang/python/gpg/errors.py: Likewise. Signed-off-by: Justus Winter <[email protected]>
2016-10-31python: Rename Python module from PyME to gpg.Daniel Kahn Gillmor68-287/+287
This follows weeks of discussion on the gnupg-devel mailing list. Hopefully it will make it easier for people using Python to use GnuPG in the future. Signed-off-by: Daniel Kahn Gillmor <[email protected]>
2016-10-19qt: Improve WKSPublishJob apidocAndre Heinecke1-4/+13
* lang/qt/src/wkspublishjob.h: Improve doc.
2016-10-14python: Call ln(1) in a portable way.Werner Koch1-2/+2
* lang/python/Makefile.am: Specify target dir for ln. Signed-off-by: Werner Koch <[email protected]>