aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add additional include path in config filesAndre Heinecke2016-04-022-2/+2
| | | | | | | | * lang/cpp/src/GpgmeppConfig.cmake.in.in lang/qt/src/QGpgmeConfig.cmake.in.in: Include directory above headers. -- This ensures that code using #inlcude <gpgme++/header.h> still works.
* Qt: Fix library name in nodist variableAndre Heinecke2016-04-021-1/+1
| | | | * lang/qt/Makefile.am (nodist_qgpgme_SOURCES): Change to real name.
* Add missing files to QGpgMEAndre Heinecke2016-04-024-0/+857
| | | | | | | * lang/qt/src/gpgme_backend_debug.cpp, lang/qt/src/gpgme_backend_debug.h, lang/qt/src/predicates.h, lang/qt/src/stl_util.h: New.
* Add QGpgME code from libkleoAndre Heinecke2016-04-0283-3/+10802
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lang/qt/src/Makefile.am, lang/qt/src/abstractimportjob.h, lang/qt/src/adduseridjob.h, lang/qt/src/changeexpiryjob.h, lang/qt/src/changeownertrustjob.h, lang/qt/src/changepasswdjob.h, lang/qt/src/cryptoconfig.h, lang/qt/src/decryptjob.h, lang/qt/src/decryptverifyjob.h, lang/qt/src/deletejob.h, lang/qt/src/downloadjob.h, lang/qt/src/encryptjob.h, lang/qt/src/exportjob.h, lang/qt/src/hierarchicalkeylistjob.h, lang/qt/src/importfromkeyserverjob.h, lang/qt/src/importjob.h, lang/qt/src/job.cpp, lang/qt/src/job.h, lang/qt/src/keygenerationjob.h, lang/qt/src/keylistjob.h, lang/qt/src/listallkeysjob.h, lang/qt/src/multideletejob.h, lang/qt/src/qgpgmeadduseridjob.cpp, lang/qt/src/qgpgmeadduseridjob.h, lang/qt/src/qgpgmebackend.cpp, lang/qt/src/qgpgmebackend.h, lang/qt/src/qgpgmechangeexpiryjob.cpp, lang/qt/src/qgpgmechangeexpiryjob.h, lang/qt/src/qgpgmechangeownertrustjob.cpp, lang/qt/src/qgpgmechangeownertrustjob.h, lang/qt/src/qgpgmechangepasswdjob.cpp, lang/qt/src/qgpgmechangepasswdjob.h, lang/qt/src/qgpgmecryptoconfig.cpp, lang/qt/src/qgpgmecryptoconfig.h, lang/qt/src/qgpgmedecryptjob.cpp, lang/qt/src/qgpgmedecryptjob.h, lang/qt/src/qgpgmedecryptverifyjob.cpp, lang/qt/src/qgpgmedecryptverifyjob.h, lang/qt/src/qgpgmedeletejob.cpp, lang/qt/src/qgpgmedeletejob.h, lang/qt/src/qgpgmedownloadjob.cpp, lang/qt/src/qgpgmedownloadjob.h, lang/qt/src/qgpgmeencryptjob.cpp, lang/qt/src/qgpgmeencryptjob.h, lang/qt/src/qgpgmeexportjob.cpp, lang/qt/src/qgpgmeexportjob.h, lang/qt/src/qgpgmeimportfromkeyserverjob.cpp, lang/qt/src/qgpgmeimportfromkeyserverjob.h, lang/qt/src/qgpgmeimportjob.cpp, lang/qt/src/qgpgmeimportjob.h, lang/qt/src/qgpgmekeygenerationjob.cpp, lang/qt/src/qgpgmekeygenerationjob.h, lang/qt/src/qgpgmekeylistjob.cpp, lang/qt/src/qgpgmekeylistjob.h, lang/qt/src/qgpgmelistallkeysjob.cpp, lang/qt/src/qgpgmelistallkeysjob.h, lang/qt/src/qgpgmenewcryptoconfig.cpp, lang/qt/src/qgpgmenewcryptoconfig.h, lang/qt/src/qgpgmerefreshkeysjob.cpp, lang/qt/src/qgpgmerefreshkeysjob.h, lang/qt/src/qgpgmesecretkeyexportjob.cpp, lang/qt/src/qgpgmesecretkeyexportjob.h, lang/qt/src/qgpgmesignencryptjob.cpp, lang/qt/src/qgpgmesignencryptjob.h, lang/qt/src/qgpgmesignjob.cpp, lang/qt/src/qgpgmesignjob.h, lang/qt/src/qgpgmesignkeyjob.cpp, lang/qt/src/qgpgmesignkeyjob.h, lang/qt/src/qgpgmeverifydetachedjob.cpp, lang/qt/src/qgpgmeverifydetachedjob.h, lang/qt/src/qgpgmeverifyopaquejob.cpp, lang/qt/src/qgpgmeverifyopaquejob.h, lang/qt/src/refreshkeysjob.h, lang/qt/src/signencryptjob.h, lang/qt/src/signjob.h, lang/qt/src/signkeyjob.h, lang/qt/src/specialjob.h, lang/qt/src/threadedjobmixin.cpp, lang/qt/src/threadedjobmixin.h, lang/qt/src/verifydetachedjob.h, lang/qt/src/verifyopaquejob.h: New. * lang/qt/src/Makefile.am: -- The ShowErrorMessage calls were removed and are to be replaced by error signals / error status which the UI should then handle. This allowed to port away from KMessageBox and KLocalizedstring. Additionally this removed the old process bases qgpgmeconfigdialog, and GnuPGProcessBase. Classes using GnuPGProcessbase were changed to KProcess api. This is a first compiling version. API is subject to change to resolve the split between base jobs and qgpgme classes.
* Add qgpgme as qt language bindingAndre Heinecke2016-03-0813-16/+790
| | | | | | | | | | | | | | | | | | | | | | * configure.ac: Add version defines. Check for qt if neccessary. * lang/README: Mention qt * lang/cpp/src/GpgmeppConfig.cmake.in.in: Remove comment. Find qgpgme. * lang/qt/src/Makefile.am: New. Build qgpgme. * lang/qt/README, lang/qt/src/Makefile.am, lang/qt/src/QGpgmeConfig.cmake.in.in, lang/qt/src/QGpgmeConfigVersion.cmake.in, lang/qt/src/dataprovider.cpp, lang/qt/src/dataprovider.h, lang/qt/src/qgpgme_export.h, m4/qt.m4: New. * lang/cpp/src/GpgmeppConfig.cmake.in.in, lang/cpp/src/Makefile.am: Fix generated config file. -- For now this is just the dataprovider which was part of the KF5 Gpgmepp QGpgme variant. This is very thin but a useful class which is used downstream.
* Remove obsolete w32-qt codeAndre Heinecke2016-03-086-1952/+4
| | | | | | | | | | | | | * configure.ac (w32-qt): Remove option and Qt checks. * src/Makefile.am: Remove BUILD_W32_QT handling. * src/kdpipeiodevice.cpp, src/kdpipeiodevice.h, src/kdpipeiodevice.moc, src/w32-qt-io.cpp: Removed. -- This code was intended for Kleopatra but Kleopatra is not using it anymore. QGpgme/dataprovider is a better replacement for this.
* Add version info for gpgmeppAndre Heinecke2016-03-021-0/+2
| | | | * lang/cpp/src/Makefile.am (libgpgmepp_la_LDFLAGS): Add version info.
* Add cmake configuration filesAndre Heinecke2016-03-024-0/+176
| | | | | | | | | | * configure.ac: Add libgpgmepp version. Configure cmake files. * lang/cpp/src/Makefile.am: Add targets for cmake files. (EXTRA_DIST): Add cmake files. -- This should smooth the transition for downstream users that have worked with KF5::Gpgmepp previously.
* Fix export header and windows export macrosAndre Heinecke2016-03-021-4/+16
| | | | * lang/cpp/src/gpgme_export.h: Fix variable name. Add Windows ifdefs.
* Add header installationAndre Heinecke2016-03-021-2/+22
| | | | | * lang/cpp/src/Makefile.am: Add headers as deps and install them. (AM_CPPFLAGS): Add BUILDING_GPGMEPP to be used in export macros.
* Add enable-languages build optionAndre Heinecke2016-03-023-6/+44
| | | | | | * acinclude.m4 (LIST_MEMBER): New macro. * configure.ac (enable-languages): New option. Add info output. * lang/Makefile.am: Only add enabled language subdirs.
* Add README for gpgmeppAndre Heinecke2016-02-222-0/+55
| | | | | * lang/README: Note down cpp. * cpp/README: Add README based on original repo version.
* Add buildsystem for GpgmeppAndre Heinecke2016-02-224-1/+64
| | | | | | | * configure.ac: Configure Makefiles. * lang/Makefile.am: Add cpp subdir * lang/cpp/Makefile.am: New. Add src subdir. * lang/cpp/src/Makefile.am: New. Basic buildsystem.
* Remove feature check ifdefsAndre Heinecke2016-02-2227-692/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lang/cpp/src/assuanresult.cpp, lang/cpp/src/callbacks.cpp, lang/cpp/src/configuration.cpp, lang/cpp/src/context.cpp, lang/cpp/src/context_glib.cpp, lang/cpp/src/context_qt.cpp, lang/cpp/src/context_vanilla.cpp, lang/cpp/src/data.cpp, lang/cpp/src/decryptionresult.cpp, lang/cpp/src/defaultassuantransaction.cpp, lang/cpp/src/editinteractor.cpp, lang/cpp/src/encryptionresult.cpp, lang/cpp/src/engineinfo.cpp, lang/cpp/src/eventloopinteractor.cpp, lang/cpp/src/global.h, lang/cpp/src/gpgagentgetinfoassuantransaction.cpp, lang/cpp/src/importresult.cpp, lang/cpp/src/interfaces/assuantransaction.h, lang/cpp/src/key.cpp, lang/cpp/src/keygenerationresult.cpp, lang/cpp/src/keylistresult.cpp, lang/cpp/src/scdgetinfoassuantransaction.cpp, lang/cpp/src/signingresult.cpp, lang/cpp/src/trustitem.cpp, lang/cpp/src/util.h, lang/cpp/src/verificationresult.cpp, lang/cpp/src/vfsmountresult.cpp: Remove feature checks.
* Initial checkin of gpgmepp sourcesAndre Heinecke2016-02-2269-0/+12197
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on git.kde.org/pim/gpgmepp rev. 0e3ebc02 * lang/cpp/src/assuanresult.cpp, lang/cpp/src/assuanresult.h, lang/cpp/src/callbacks.cpp, lang/cpp/src/callbacks.h, lang/cpp/src/configuration.cpp, lang/cpp/src/configuration.h, lang/cpp/src/context.cpp, lang/cpp/src/context.h, lang/cpp/src/context_glib.cpp, lang/cpp/src/context_p.h, lang/cpp/src/context_qt.cpp, lang/cpp/src/context_vanilla.cpp, lang/cpp/src/data.cpp, lang/cpp/src/data.h, lang/cpp/src/data_p.h, lang/cpp/src/decryptionresult.cpp, lang/cpp/src/decryptionresult.h, lang/cpp/src/defaultassuantransaction.cpp, lang/cpp/src/defaultassuantransaction.h, lang/cpp/src/editinteractor.cpp, lang/cpp/src/editinteractor.h, lang/cpp/src/encryptionresult.cpp, lang/cpp/src/encryptionresult.h, lang/cpp/src/engineinfo.cpp, lang/cpp/src/engineinfo.h, lang/cpp/src/error.h, lang/cpp/src/eventloopinteractor.cpp, lang/cpp/src/eventloopinteractor.h, lang/cpp/src/exception.cpp, lang/cpp/src/exception.h, lang/cpp/src/global.h, lang/cpp/src/gpgadduserideditinteractor.cpp, lang/cpp/src/gpgadduserideditinteractor.h, lang/cpp/src/gpgagentgetinfoassuantransaction.cpp, lang/cpp/src/gpgagentgetinfoassuantransaction.h, lang/cpp/src/gpgmefw.h, lang/cpp/src/gpgmepp_export.h, lang/cpp/src/gpgsetexpirytimeeditinteractor.cpp, lang/cpp/src/gpgsetexpirytimeeditinteractor.h, lang/cpp/src/gpgsetownertrusteditinteractor.cpp, lang/cpp/src/gpgsetownertrusteditinteractor.h, lang/cpp/src/gpgsignkeyeditinteractor.cpp, lang/cpp/src/gpgsignkeyeditinteractor.h, lang/cpp/src/importresult.cpp, lang/cpp/src/importresult.h, lang/cpp/src/key.cpp, lang/cpp/src/key.h, lang/cpp/src/keygenerationresult.cpp, lang/cpp/src/keygenerationresult.h, lang/cpp/src/keylistresult.cpp, lang/cpp/src/keylistresult.h, lang/cpp/src/notation.h, lang/cpp/src/result.h, lang/cpp/src/result_p.h, lang/cpp/src/scdgetinfoassuantransaction.cpp, lang/cpp/src/scdgetinfoassuantransaction.h, lang/cpp/src/signingresult.cpp, lang/cpp/src/signingresult.h, lang/cpp/src/trustitem.cpp, lang/cpp/src/trustitem.h, lang/cpp/src/util.h, lang/cpp/src/verificationresult.cpp, lang/cpp/src/verificationresult.h, lang/cpp/src/vfsmountresult.cpp, lang/cpp/src/vfsmountresult.h, lang/cpp/src/interfaces/assuantransaction.h, lang/cpp/src/interfaces/dataprovider.h, lang/cpp/src/interfaces/passphraseprovider.h, lang/cpp/src/interfaces/progressprovider.h: New.
* Fix possible _SC_OPEN_MAX max problem on AIX.Werner Koch2016-01-151-0/+13
| | | | | | | | * src/posix-io.c [HAVE_STDINT_H]: Include stdint.h. (get_max_fds): Limit returned value for too high values. -- Signed-off-by: Werner Koch <[email protected]>
* w32: Avoid conflict with Mingw-w64 version 4.0.4-1Werner Koch2015-12-091-2/+2
| | | | | | | | | | | * src/w32-util.c (mkstemp): Rename to my_mkstemp. Change caller. -- For some reason the linker seems to use the mkstemp now provided by mingw instead of our static symbol. Strange. Reported-by: Andrej Kacian <[email protected]> Signed-off-by: Werner Koch <[email protected]>
* Return on user cancellation of delete operationDaiki Ueno2015-12-041-0/+32
| | | | | | | * src/delete.c (delete_status_handler): Return on ERROR status, if the error location is set to "delete_key.secret" and the code is either CANCELED or FULLY_CANCELED, which indicates a situation that the user selected "No" on the confirmation dialog.
* doc: Fix minor errorsDaiki Ueno2015-12-041-15/+15
| | | | | | | * doc/gpgme.texi: Fix errors and typos in the cancellation and gpgme_import_result_t documentation. Signed-off-by: Daiki Ueno <[email protected]>
* Fix typos found by codespell.Justus Winter2015-12-028-13/+13
| | | | | -- Signed-off-by: Justus Winter <[email protected]>
* Make use of user passphrase handler during passwd.Ben Kibbey2015-10-291-0/+8
| | | | | | | | * src/passwd.c (passwd_start): set engine passphrase command handler. -- This allows for inquiring a passphrase when changing a passphrase rather than requiring a pinentry.
* w32: Add extra diagnostic about possible missing gpgme-w32spawn.exe.Werner Koch2015-10-281-2/+7
| | | | | | * src/w32-io.c (_gpgme_io_spawn): Add a new diagnostic. Signed-off-by: Werner Koch <[email protected]>
* w32: Improve locating gpgconf on 64 bit systems.Werner Koch2015-10-281-2/+7
| | | | | | | * src/w32-util.c (find_program_at_standard_place): Fallback to CSIDL_PROGRAM_FILESX86. Signed-off-by: Werner Koch <[email protected]>
* w32: Add new global flag "w32-inst-dir".Werner Koch2015-10-285-1/+51
| | | | | | | | | | | | | | | * src/gpgme.c (gpgme_set_global_flag): Add flag "w32-inst-dir"; * src/posix-util.c (_gpgme_set_override_inst_dir): New stub. * src/w32-util.c (override_inst_dir): New var. (_gpgme_get_inst_dir): Return this var is set. (_gpgme_set_override_inst_dir): New. -- See https://lists.gnupg.org/pipermail/gnupg-devel/2015-September/030267.html for background. Signed-off-by: Werner Koch <[email protected]>
* cleanup: Fix type mismatch around gpgme_error_t.NIIBE Yutaka2015-10-162-2/+2
| | | | | | * src/data-compat.c (gpgme_error_to_errno): Use gpg_err_code to get error code from gpgme_error_t. * src/gpgme.c (gpgme_new): Don't use gpgme_error.
* gpgme-tool: Switch to argparse.c for option parsing.Werner Koch2015-08-314-491/+1862
| | | | | | | | | | | | | | * src/argparse.c, src/argparse.h: New. Taken from current gnupg. * src/Makefile.am (gpgme_tool_SOURCES): New. * src/gpgme-tool.c: Remove all argp.h stuff. (my_strusage): New. (main): Change to use argparse. -- As a GnuPG related tool the user should get the same experience in option parsing as with gpg et al. Thus we use the same parser. Signed-off-by: Werner Koch <[email protected]>
* Add gpgme_pubkey_algo_stringWerner Koch2015-08-308-33/+94
| | | | | | | | | | * src/gpgme.h.in (GPGME_PK_EDDSA): New. (gpgme_pubkey_algo_string): New. * src/conversion.c (_gpgme_map_pk_algo): Add new algo. * src/gpgme.c (gpgme_pubkey_algo_string): New. (gpgme_pubkey_algo_name): Reformat. Signed-off-by: Werner Koch <[email protected]>
* Post release updatesWerner Koch2015-08-262-1/+5
| | | | --
* Release 1.6.0gpgme-1.6.0Werner Koch2015-08-265-20/+90
| | | | | | * configure.ac: Set LT version to C25/A14/R0. Signed-off-by: Werner Koch <[email protected]>
* Make use of GPGRT macros is available.Werner Koch2015-08-261-12/+17
| | | | | | * src/gpgme.h.in (_GPGME_INLINE): Define using GPGRT_INLINE if possible. Fix problem with -Wundef by adding an extra "defined()". (_GPGME_GCC_VERSION): Define using GPGRT_ macro if possible.
* Avoid -Wundef warnings if gpgme.h is used by g++.Werner Koch2015-08-251-20/+24
| | | | | | | * src/gpgme.h.in (_GPGME_INLINE): Move definition into the extern-C-scope. Signed-off-by: Werner Koch <[email protected]>
* Add configure option --enable-build-timestamp.Werner Koch2015-08-251-1/+11
| | | | | | | | | | | | * configure.ac (BUILD_TIMESTAMP): Set to "<none>" by default. -- This is based on libgpg-error commit d620005fd1a655d591fccb44639e22ea445e4554 but changed to be disbaled by default. Check there for some background. Signed-off-by: Werner Koch <[email protected]>
* Relax ttyname_r error checksDaiki Ueno2015-08-255-29/+24
| | | | | | | | | | | | | | | | | * src/engine-assuan.c (llass_new): Don't treat ttyname_r error as fatal. * src/engine-g13.c (g13_new): Likewise. * src/engine-gpg.c (gpg_new): Likewise. * src/engine-gpgsm.c (gpgsm_new): Likewise. * src/engine-uiserver.c (uiserver_new): Likewise. -- Even though isatty() returns 1, ttyname_r() may fail in many ways, e.g., when /dev/pts is not accessible under chroot. Since all our uses of ttyname_r() require that the function works, we can treat the failure as if isatty() fails. Signed-off-by: Daiki Ueno <[email protected]>
* Cleanup layout of gpgme.hWerner Koch2015-08-252-167/+225
| | | | | | * src/gpgme.h.in: Reorder prototypes. Chnage some comments. Signed-off-by: Werner Koch <[email protected]>
* Improve error return by checking the FAILURE status.Werner Koch2015-08-2511-2/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | * src/gpgme.h.in (GPGME_STATUS_FAILURE): New. * src/status-table.c (FAILURE): New. * src/op-support.c (_gpgme_parse_failure): New. * src/passphrase.c (_gpgme_passphrase_status_handler): Forward FAILURE status line to the status callback. * src/decrypt.c (op_data_t): Add field failure_code. (_gpgme_decrypt_status_handler): Parse that code and act upon it on EOF. * src/encrypt.c (op_data_t): Add field failure_code. (_gpgme_encrypt_status_handler): Parse that code and act upon it on EOF. * src/genkey.c (op_data_t): Add field failure_code. (genkey_status_handler): Parse that code and act upon it on EOF. * src/passwd.c (op_data_t): Add field failure_code. (passwd_status_handler): Parse that code and act upon it on EOF. * src/sign.c (op_data_t): Add field failure_code. (_gpgme_sign_status_handler): Parse that code and act upon it on EOF. * src/verify.c (op_data_t): Add field failure_code. (_gpgme_verify_status_handler): Parse that code and act upon it on EOF. -- This requires GnuPG 2.1.8 to actually make a difference. Signed-off-by: Werner Koch <[email protected]>
* tests: Build test programs in tests/ without wrappers.Werner Koch2015-08-251-0/+1
| | | | --
* tests: Allow using run-sign to test loopback pinentry problems.Werner Koch2015-08-251-0/+26
| | | | * tests/run-sign.c: Add options --status and --loopback.
* Call status_cb for an ERROR status seen in the passphrase handler.Werner Koch2015-08-241-0/+12
| | | | | | | | | | * src/passphrase.c (_gpgme_passphrase_status_handler): Call status_cb. -- Frankly, we should have a more generic way of feeding the status_cb handler than our current ad-hoc method. Signed-off-by: Werner Koch <[email protected]>
* w32: Look for gpgconf in the new GnuPG 2.1 install dir.Werner Koch2015-08-241-6/+13
| | | | | | | * src/w32-util.c (_gpgme_get_gpgconf_path): Try another location of gpgconf.exe. Signed-off-by: Werner Koch <[email protected]>
* w32: Expect gpgme-w32spawn.exe only in the gpgme installation dir.Werner Koch2015-08-241-58/+65
| | | | | | | | | | | | | | | * src/w32-util.c (find_program_at_standard_place): Remove. (_gpgme_get_gpg_path): Make the search order more explicit. (_gpgme_get_gpgconf_path): Ditto. (_gpgme_get_w32spawn_path): Search only in the inst_dir. -- This tries to avoid possible unclear bug reports by removing the fallback to the current gpg4win installation directory for the gpgme helper. It is expected that users of gpgme installing their own gpgme version also install the matching helper. Signed-off-by: Werner Koch <[email protected]>
* w32: Print the installation directory in debug mode.Werner Koch2015-08-242-1/+15
| | | | | | | | | | * src/debug.c (debug_init) [W32]: Show libgpgme installation dir. -- I expect that gpgme will be distributed by applications and thus it will be helpful to see in the debug log which gpgme is actually used. Signed-off-by: Werner Koch <[email protected]>
* Add an export secret key feature.Werner Koch2015-08-247-20/+123
| | | | | | | | | | | | | | | | | | * src/gpgme.h.in (GPGME_EXPORT_MODE_SECRET): New. (GPGME_EXPORT_MODE_RAW): New. (GPGME_EXPORT_MODE_PKCS12): New. * src/export.c (export_start, export_ext_start): Allow new flags. * src/engine-gpg.c (export_common): Support secret key export. * src/engine-gpgsm.c (gpgsm_export, gpgsm_export_ext): Ditto. * src/gpgme-tool.c (cmd_export): Add options --secret, --raw, and --pkcs12. * tests/run-export.c (main): Likewise. -- Note that exporting secret X.509 keys requires GnuPG 2.1.8. Signed-off-by: Werner Koch <[email protected]>
* Parse INQUIRE_MAXLEN in the passphrase callback.Ben Kibbey2015-08-161-3/+15
| | | | | | | | | | | * src/passphrase.c (_gpgme_passphrase_status_handler): Parse GPGME_STATUS_INQUIRE_MAXLEN. * src/passphrase.c (_gpgme_passphrase_command_handler): Send the INQUIRE_MAXLEN status message. -- Fixes passing this status message along when decrypting symmetric data from gpg.
* Fix gpgme_{get,set}_status_cb to match documentation.Ben Kibbey2015-08-152-9/+14
| | | | | | * doc/gpgme.texi: Minor fixes. * src/gpgme.c (gpgme_get_status_cb): Set return variables to NULL and check for a valid ctx pointer.
* Parse the INQUIRE_MAXLEN status message.Ben Kibbey2015-08-155-1/+27
| | | | | | | | | | | | * src/gpgme.h.in: (gpgme_status_code_t): Add INQUIRE_MAXLEN. * src/status-table.c (status_table_s): Ditto. * src/genkey.c (genkey_status_handler): Parse INQUIRE_MAXLEN. * src/decrypt.c (_gpgme_decrypt_status_handler): Ditto. * src/sign.c (_gpgme_sign_status_handler): Ditto. This status message informs the client of the maximum length of an inquired line. It is sent from gpg and forwarded to the client via gpgme_status_cb_t.
* Add gpgme_set/get_status_cb().Ben Kibbey2015-08-156-0/+100
| | | | | | | | | | | | | | | | | * src/gpgme.h.in (gpgme_set_status_cb): New. (gpgme_get_status_cb): New. (gpgme_status_cb_t): New. * src/gpgme.c (gpgme_set_status_cb): New. (gpgme_get_status_cb): New. * src/context.h (status_cb): New. (status_cb_value): New. * src/gpgme.def: Export new symbols. * src/libgpgme.vers: Ditto. * doc/gpgme.texi: Document these new functions. -- This callback function is used to forward status messages from gpg back to the client.
* Make use of user passphrase handler during genkey.Ben Kibbey2015-08-151-0/+8
| | | | | | | | | * src/genkey.c (genkey_start): set engine passphrase command handler. -- This allows for inquiring a new passphrase during key generation rather than requiring a pinentry. Needs a patch to gnupg to make use of --command-fd with --gen-key.
* Also check the return code in gpg_sign().Ben Kibbey2015-08-121-1/+1
| | | | * src/engine-gpg.c (gpg_sign): Check return value from start().
* Check the return value when starting gpg.Ben Kibbey2015-08-111-3/+3
| | | | | * src/engine-gpg.c (gpg_decrypt, gpg_delete, gpg_passwd): Check return value of start().
* Add offline mode support for CMS keylistingAndre Heinecke2015-07-3113-15/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/gpgme.texi: Document offline mode. * src/context.h (gpgme_context): Add offline. * src/engine-backend.h (keylist, keylist_ext): Add engine_flags. * src/engine.c, src/engine.h (_gpgme_engine_op_keylist): Ditto. (_gpgme_engine_op_keylist_ext): Ditto. * src/engine.h (GPGME_ENGINE_FLAG_OFFLINE): New. * src/engine-gpg.c (gpg_keylist, gpg_keylist_ext): Ditto. * src/engine-gpgsm.c (gpgsm_keylist): Handle engine_flags. (gpgsm_keylist_ext): Ditto. * src/gpgme.c (gpgme_set_offline, gpgme_get_offline): New. * src/gpgme.def (gpgme_set_offline, gpgme_get_offline): New. * src/gpgme.h.in (gpgme_set_offline, gpgme_get_offline): New. * src/libgpgme.vers (gpgme_set_offline, gpgme_get_offline): New. * src/keylist.c (gpgme_op_keylist_start): Set offline flag. (gpgme_op_keylist_ext_start): Ditto. * tests/run-keylist.c (show_usage, main): Add offline argument. -- The offline engine option was introduced with gpgsm 2.1.6 it is mainly useful for a full keylisting that includes the certificate validation but does not depend on external information that could take an indefinite amount of time to collect. Signed-off-by: Andre Heinecke <[email protected]>