aboutsummaryrefslogtreecommitdiffstats
path: root/lang (follow)
Commit message (Collapse)AuthorAgeFilesLines
* cpp: Fix update of partial key in verifyresultAndre Heinecke2016-12-151-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.
* python: Try to be more helpful when given a string to encrypt().Tobias Mueller2016-12-052-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]>
* python: Define a macro for wrapping fragile result objects.Tobias Mueller2016-12-051-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]>
* python: Check "buffer" when writing to sys.stdout for python2 compat.Tobias Mueller2016-12-011-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]>
* python: Make Context have a repr method.Tobias Mueller2016-12-011-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]>
* python: Make Results have a nicer __repr__.Tobias Mueller2016-12-011-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]>
* python: Fix removing the TOFU database.Justus Winter2016-11-252-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]>
* tests: Remove tofu.db.Justus Winter2016-11-251-1/+1
| | | | | | | * lang/python/Makefile.am (CLEANFILES): Add 'tofu.db'. * tests/gpg/Makefile.am (CLEANFILES): Likewise. Signed-off-by: Justus Winter <[email protected]>
* Remove a forgotten instance of @libsuffix@Heiko Becker2016-11-171-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]>
* qt, cpp: Add cmake config files for w32Andre Heinecke2016-11-156-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.
* qt: Use new style connect in th..mixinAndre Heinecke2016-11-151-1/+2
| | | | | * lang/qt/src/threadedjobmixin.h (ThreadedJobMixin::lateInitialization): Use new style connect.
* qt: Add API to get the context for a JobAndre Heinecke2016-11-144-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.
* cpp: Add get / set Sender APIAndre Heinecke2016-11-142-0/+14
| | | | | * cpp/src/context.cpp, cpp/src/context.h (Context::setSender), (Context::getSender): Add simple wrappers.
* qt, cpp: Enable dll build for windowsAndre Heinecke2016-11-142-2/+2
| | | | | * lang/cpp/src/Makefile.am, lang/qt/src/Makefile.am: Add -no-undefined to LDFLAGS.
* tests,python: Atomic directory creationAlon Bar-Lev2016-11-111-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]>
* python: Require at least GPGME 1.7 for out-of-tree builds.Justus Winter2016-11-091-2/+2
| | | | | | * lang/python/setup.py.in: Bump required version to 1.7. Signed-off-by: Justus Winter <[email protected]>
* cpp: Add API for swdb queriesAndre Heinecke2016-11-043-2/+361
| | | | | | * lang/cpp/src/swdbresult.cpp, lang/cpp/src/swdbresult.h (SwdbResult): New. * lang/cpp/src/Makefile.am: Update accordingly.
* cpp: Add more EngineInfo::Version ctorsAndre Heinecke2016-11-041-0/+16
| | | | | | * lang/cpp/src/engineinfo.h (EngineInfo::Version::Version(const char*)), (EngineInfo::Version::Version()): New.
* cpp: Don't include gpgme.h in tofuinfo headerAndre Heinecke2016-11-041-2/+0
| | | | | | | * lang/cpp/src/tofuinfo.h: Don't include gpgme.h -- No public header should include gpgme.h
* cpp: Extend gpgmefw for tofuinfo and swdb queryAndre Heinecke2016-11-041-0/+6
| | | | | * lang/cpp/src/gpgmefw.h (gpgme_tofu_info_t) (gpgme_query_swdb_result_t): New forwards.
* qt: Change license of export / version headerAndre Heinecke2016-11-032-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.
* qt: Fix build with g++ 4.8.xAndras Mantia2016-11-021-3/+3
| | | | | | | | | * lang/qt/src/defaultkeygenerationjob.cpp (DefaultKeyGenerationJob::start): Explicitly connect pointer in the QPointer. -- Commit message written by Andre Heinecke <[email protected]>
* qt, cpp: Fix versioning in cmake config and headerAndre Heinecke2016-11-024-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.
* qt: Install cmake config into qgpgme subdirAndre Heinecke2016-11-021-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.
* qt: Require gpgmepp from cmake config scriptAndre Heinecke2016-11-021-0/+3
| | | | | | | * lang/qt/src/QGpgmeConfig.cmake.in.in: Require cpp. -- This fixes an error if a user only does find_package(QGpgme)
* qt, cpp: Add all generated files to cleanfilesAndre Heinecke2016-11-022-2/+5
| | | | | | * cpp/src/Makefile.am (CLEANFILES), qt/src/Makefile.am (CLEANFILES): Add all generated files to cleanfiles.
* qt: Add Distinguished Name parser from libkleoAndre Heinecke2016-11-013-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();
* qt, cpp: Install version headers in subdirsAndre Heinecke2016-11-012-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.
* python: Use vanity modules for constants in tests and examples.Justus Winter2016-10-3125-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]>
* python: Import the topmost module in tests and examples.Justus Winter2016-10-3122-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]>
* python: Improve constants module.Justus Winter2016-10-3112-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]>
* python: Rename Python module from PyME to gpg.Daniel Kahn Gillmor2016-10-3168-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]>
* qt: Improve WKSPublishJob apidocAndre Heinecke2016-10-191-4/+13
| | | | * lang/qt/src/wkspublishjob.h: Improve doc.
* python: Call ln(1) in a portable way.Werner Koch2016-10-141-2/+2
| | | | | | * lang/python/Makefile.am: Specify target dir for ln. Signed-off-by: Werner Koch <[email protected]>
* cpp: Fix init of string from nullAndre Heinecke2016-10-141-3/+6
| | | | | * lang/cpp/src/key.cpp (UserID::addrSpecFromString): Check return value before creating the string.
* python: Make 'get_key' more idiomatic.Justus Winter2016-10-134-4/+52
| | | | | | | | | | | | * lang/python/pyme/core.py (Context.get_key): Raise errors.KeyNotFound if the key is not found. This error is both a KeyError for idiomatic error handling as well as a GPGMEError so we don't break existing code. * lang/python/pyme/errors.py (KeyNotFound): New class. * lang/python/tests/support.py (no_such_key): New variable. * lang/python/tests/t-keylist.py: Test the new behavior. Signed-off-by: Justus Winter <[email protected]>
* python: Return public keys by default.Justus Winter2016-10-133-7/+18
| | | | | | | | | | * lang/python/pyme/core.py (Core.get_key): Return public keys by default, improve docstring. * lang/python/examples/testCMSgetkey.py: Update example. * lang/python/examples/verifydetails.py: Likewise. GnuPG-bug-id: 2751 Signed-off-by: Justus Winter <[email protected]>
* python: Fix example.Justus Winter2016-10-131-2/+2
| | | | | | | * lang/python/examples/inter-edit.py: Fix example. Fixes-commit: a458e7fe Signed-off-by: Justus Winter <[email protected]>
* qt, cpp: Fix permissions of Config filesAndre Heinecke2016-10-132-4/+4
| | | | | * lang/cpp/src/Makefile.am, lang/qt/src/Makefile.am: Do not install config files as executable.
* qt: Install SpecialJobAndre Heinecke2016-10-131-1/+2
| | | | | | | | * lang/qt/src/Makefile.am: Install SpecialJob * NEWS: mention it. -- SpecialJob was and is public API. So it needs to be installed.
* qt, cpp: Fix expected targets in Config filesAndre Heinecke2016-10-132-2/+2
| | | | | * lang/cpp/src/GpgmeppConfig.cmake.in.in, lang/qt/src/QGpgmeConfig.cmake.in.in: Remove KF5 variants.
* qt: Add missing implementation of MultiDeleteJobDaniel Vrátil2016-10-113-2/+120
| | | | | | | * lang/qt/src/multideletejob.h: Fix include, cryptobackend.h is now called protocol.h * lang/qt/src/multideletejob.cpp: New file. * lang/qt/src/Makefile.am: Add multideletejob.cpp.
* qt: Install abstractimportjob.hDaniel Vrátil2016-10-111-1/+1
| | | | | | | | * lang/cpp/src/Makefile.am: Install abstractimportjob.h since it's included from importjob.h -- Fixes build when someone inclues importjob.h in their code.
* cpp: Add API for gpgme_addrspec_from_uidAndre Heinecke2016-10-112-0/+31
| | | | | | | * lang/cpp/src/key.cpp (UserID::addrSpecFromString): New static function to expose addrspec from uid. (UserID::addrSpec): New. Get addrSpec from Userid. * NEWS: Update accordingly.
* Add convenience function to get key from sigAndre Heinecke2016-10-102-0/+53
| | | | | | | | | | | | | | * lang/cpp/src/verificationresult.cpp (Signature::key(bool, bool)): New. Can be used to search / update the key associcated with this signature. -- By using update a caller can ensure that an incomplete key obtainable through the new key() function is fully loaded. With search the key can be looked up in the internal keyring. As the results are cached this can be done in the crypto thread and the result then better used in the UI thread.
* cpp: Return null key if the signature had no keyAndre Heinecke2016-10-101-0/+2
| | | | | | | | | * lang/cpp/src/verificationresult.cpp (Private): Add null key to list when there is no key associated with the signature. -- This fixes an out of bounds read when a verification did not have a key.
* qt: Add simple verify testAndre Heinecke2016-10-102-3/+97
| | | | | | * lang/qt/tests/t-verify.cpp: New. Small test if a signature returns a key with fingerprint. * lang/qt/tests/Makefile.am: Add new test.
* Add missing includes.Justus Winter2016-10-061-0/+1
| | | | | | | | * lang/cpp/src/key.cpp: Include <strings.h> for 'strcasecmp'. * tests/gpg/t-cancel.c: Include <sys/select.h> for 'fd_set' and friends. Signed-off-by: Justus Winter <[email protected]>
* qt: Fix spelling error in WKSPublishJobAndre Heinecke2016-10-054-7/+7
| | | | | | | | | | | | | | | | * src/qgpgmewkspublishjob.cpp, src/qgpgmewkspublishjob.h, src/wkspublishjob.h, tests/t-wkspublish.cpp: Fix spelling of received. * src/configure.ac (LIBQGPGME_LT_CURRENT): Bump accordingly. -- While this is an API break I've decided to fix this now instead of deprecating / keeping it around forever in the API. The only known users of QGpgME are KDE Applications and there it is not yet used.
* qt: Disable tests that require a password for 2.0Andre Heinecke2016-10-051-0/+26
| | | | | | | | | | | * lang/qt/tests/t-encrypt.cpp: Disable tests that require a password for 2.0. -- The passphrase_cb apparently does not work with 2.0 so we would need a fake pinentry to get this to work. We just disable the test instead as this is a rarely used feature and works with 1.4 and 2.1.