aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gpgscm: Remove framework for immediate values.Justus Winter2017-03-171-40/+29
| | | | | | | | | | | | | | | | | | | | | | | | | * tests/gpgscm/scheme.c (IMMEDIATE_TAG): Remove macro. (is_immediate): Likewise. (set_immediate): Likewise. (clr_immediate): Likewise. (enum scheme_types): Set the LSB in every value. (fill_vector): Adapt. (vector_elem): Likewise. (set_vector_elem): Likewise. (mark): Likewise. (gc): Test for the LSB to tell typeflags apart from pointers stored in the same memory location. -- Supporting immediate values would require invasive changes to the interpreter and is likely not worth the trouble. On the other hand, tagging pointers in vectors complicated the hash table implementation needlessly. Therefore, I remove this again. This fixes a crash on big endian architectures. GnuPG-bug-id: 2996 Signed-off-by: Justus Winter <[email protected]>
* agent,g10: Remove redundant SERIALNO request.NIIBE Yutaka2017-03-163-22/+109
| | | | | | | | | | * agent/learncard.c (agent_handle_learn): Don't call agent_card_serialno. Get the serialno in status response. * g10/call-agent.c (agent_scd_learn): Don't request "SCD SERIALNO". (agent_scd_serialno): New. (card_cardlist_cb, agent_scd_cardlist): New. Signed-off-by: NIIBE Yutaka <[email protected]>
* tests: Fix using tools from the build directory.Justus Winter2017-03-151-8/+8
| | | | | | | | | | | | | | | | * tests/openpgp/defs.scm (gpg-conf'): Explicitly pass the build prefix to gpgconf here... (gpg-components): ... instead of only here. -- Previously, gpgconf was not invoked with '--build-prefix' when changing the configuration. This made tests using this facility fail (e.g. the TOFU test). This only affected release builds, because in development builds gpgconf picks up the build prefix from the environment. GnuPG-bug-id: 2979 Signed-off-by: Justus Winter <[email protected]>
* tests: Dump the tools that the tests are going to use.Justus Winter2017-03-151-0/+18
| | | | | | | | | * tests/openpgp/setup.scm: Dump the tools that the tests are going to use. This will help us diagnose problems with the tests picking the wrong paths in the future. GnuPG-bug-id: 2979 Signed-off-by: Justus Winter <[email protected]>
* build: Remove '--disable-tools' configuration option.Justus Winter2017-03-152-8/+1
| | | | | | | | | | * Makefile.am (SUBDIRS): Unconditionally include 'tools'. * configure.ac: Remove '--disable-tools' configuration option. -- gpgconf is a core component nowadays and is always required. GnuPG-bug-id: 2993 Signed-off-by: Justus Winter <[email protected]>
* g10: Fix check of serialno.NIIBE Yutaka2017-03-151-1/+1
| | | | | | * g10/card-util.c (card_status): Fix. Signed-off-by: NIIBE Yutaka <[email protected]>
* g10: Remove unused function.NIIBE Yutaka2017-03-151-92/+0
| | | | | | | | | | | * g10/call-agent.c (select_openpgp): Remove. -- By this change, the function get_serialno_cb will be also unused. But please don't remove the function, because it will be soon used. Signed-off-by: NIIBE Yutaka <[email protected]>
* tests: Fix running python condition.NIIBE Yutaka2017-03-151-6/+7
| | | | | | * tests/gpgme/gpgme-defs.scm (run-python-tests?): We need Python. Signed-off-by: NIIBE Yutaka <[email protected]>
* tests: Skip Python tests if the bindings are not built.Justus Winter2017-03-143-4/+13
| | | | | | | | | | * tests/gpgme/wrap.scm (python): Move variable... * tests/gpgme/gpgme-defs.scm (python): ... here. (run-python-tests?): New function. * tests/gpgme/run-tests.scm: Only run Python tests if the bindings can be located in GPGME's build directory. Signed-off-by: Justus Winter <[email protected]>
* doc: Explain in README how to create /run/user directories.Werner Koch2017-03-141-0/+24
| | | | | | -- Signed-off-by: Werner Koch <[email protected]>
* gpg: Flush stdout before printing stats with --check-sigs.Werner Koch2017-03-131-1/+5
| | | | | | | * g10/keylist.c (print_signature_stats): Flush stdout. (list_keyblock_colon): Use es_flush instead of fflush. Signed-off-by: Werner Koch <[email protected]>
* tests: Run the tests for the Python bindings of GPGME.Justus Winter2017-03-093-15/+51
| | | | | | | | | | | | * tests/gpgme/gpgme-defs.scm (create-file): Write lines. (create-gpgmehome): Extend function to create the right environment for the Python tests. * tests/gpgme/run-tests.scm: Make an environment cache for the Python tests and enable them. * tests/gpgme/wrap.scm: Do not hardcode the path of the Python interpreter. Signed-off-by: Justus Winter <[email protected]>
* tests: Rework environment setup.Justus Winter2017-03-095-48/+58
| | | | | | | | | | | | | | | | | | | * tests/gpgscm/tests.scm (test::scm): Add a setup argument. (test::binary): Likewise. (run-tests-parallel): Remove setup parameter. (run-tests-sequential): Likewise. (make-environment-cache): New function that handles the cache protocol. * tests/gpgme/run-tests.scm: Adapt accordingly. * tests/gpgsm/run-tests.scm: Likewise. * tests/migrations/run-tests.scm: Likewise. * tests/openpgp/run-tests.scm: Likewise. -- This change allows us to have different environments for tests. This is needed to run more GPGME tests, and to increase concurrency while running all tests. Signed-off-by: Justus Winter <[email protected]>
* wks: Put stdout into binary mode for Windows at another place.Werner Koch2017-03-081-1/+5
| | | | | | * tools/wks-util.c (wks_send_mime): Set stdout to binary. Signed-off-by: Werner Koch <[email protected]>
* wks: Put stdout into binary mode for Windows.Werner Koch2017-03-081-5/+15
| | | | | | | | | | | | * tools/send-mail.c (send_mail_to_file): Call es_set_binary. -- Without that, output to stdout via --send is mangled: The "\r\n" is translated to "\r\r\n" which is bad because other software (e.g. Thunderbird) translates this again to "\n\n" and thus put all mail header liens after the first into the body. Signed-off-by: Werner Koch <[email protected]>
* build: Use macOS' compatibility macros to enable all features.Justus Winter2017-03-081-0/+4
| | | | | | | | | | | | * configure.ac: On macOS, use the compatibility macros to expose every feature of the libc. This is the equivalent of _GNU_SOURCE on GNU libc. -- Not defining this leads to compilation errors or superfluous warnings on macOS. GnuPG-bug-id: 2910 Signed-off-by: Justus Winter <[email protected]>
* g10: Move more flags into the flag bitfield.Justus Winter2017-03-0815-92/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * g10/packet.h (PKT_user_id): Move 'is_primary', 'is_revoked', and 'is_expired' into the flags bitfield, and drop the prefix. * g10/call-dirmngr.c: Adapt accordingly. * g10/export.c: Likewise. * g10/getkey.c: Likewise. * g10/import.c: Likewise. * g10/kbnode.c: Likewise. * g10/keyedit.c: Likewise. * g10/keylist.c: Likewise. * g10/keyserver.c: Likewise. * g10/mainproc.c: Likewise. * g10/pkclist.c: Likewise. * g10/pubkey-enc.c: Likewise. * g10/tofu.c: Likewise. * g10/trust.c: Likewise. * g10/trustdb.c: Likewise. -- This patch has been created by applying the following semantic patch: @@ expression E; @@ -E->is_expired +E->flags.expired @@ expression E; @@ -E->is_primary +E->flags.primary @@ expression E; @@ -E->is_revoked +E->flags.revoked Signed-off-by: Justus Winter <[email protected]>
* dirmngr: Do not put a keyserver into a new dirmngr.confWerner Koch2017-03-081-7/+11
| | | | | * g10/dirmngr-conf.skel: Do not define keyservers. --
* doc: Add a note to the trust model direct.Werner Koch2017-03-081-8/+12
| | | | | * doc/gpg.texi (GPG Configuration Options): Add note. Chnage Index from trust-mode:foo to trust-model:foo.
* Revert "build: Improve CFLAGS handling."Justus Winter2017-03-071-9/+7
| | | | This reverts commit 4b57359ef3ce0b87e15889e12ef0fcd23f62dcb4.
* build: Improve CFLAGS handling.Justus Winter2017-03-071-7/+9
| | | | | | | | | | | | | * configure.ac: Strip any flags matching '-Werror' from CFLAGS before running the tests, and add them back later on. -- Previously, the tests were run with empty CFLAGS. This caused problems, e.g. on Fedora mmap was not detected due to some missing CFLAGS while running the tests. GnuPG-bug-id: 2423 Fixes-commit: 02eb9fc9d5863abcfed6af704e618f8cac7cc2e8 Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Use system strlwr if available.Michael Haubenwallner2017-03-072-5/+5
| | | | | | | | * tests/gpgscm/scheme.c: Define local strlwr only when HAVE_STRLWR is not defined in config.h. * tests/gpgscm/scheme-config.h: Remove hack. Signed-off-by: Justus Winter <[email protected]>
* gpg: Do not allow the user to revoke the last valid UID.Justus Winter2017-03-072-1/+45
| | | | | | | | | | | * g10/keyedit.c (keyedit_quick_revuid): Merge self signatures, then make sure that we do not revoke the last valid UID. (menu_revuid): Make sure that we do not revoke the last valid UID. * tests/openpgp/quick-key-manipulation.scm: Demonstrate that '--quick-revoke-uid' can not be used to revoke the last valid UID. GnuPG-bug-id: 2960 Signed-off-by: Justus Winter <[email protected]>
* tools: Removal of -Icommon.NIIBE Yutaka2017-03-071-8/+8
| | | | | | * tools/gpg-wks-server.c: Follow the change. Signed-off-by: NIIBE Yutaka <[email protected]>
* More change for common.NIIBE Yutaka2017-03-075-8/+8
| | | | | | * g10, scd, test, tools: Follow the change of removal of -Icommon. Signed-off-by: NIIBE Yutaka <[email protected]>
* Remove -I option to common.NIIBE Yutaka2017-03-07164-451/+446
| | | | | | | | | | | | | * dirmngr/Makefile.am (AM_CPPFLAGS): Remove -I$(top_srcdir)/common. * g10/Makefile.am (AM_CPPFLAGS): Ditto. * g13/Makefile.am (AM_CPPFLAGS): Ditto. * kbx/Makefile.am (AM_CPPFLAGS): Ditto. * scd/Makefile.am (AM_CPPFLAGS): Ditto. * sm/Makefile.am (AM_CPPFLAGS): Ditto. * tools/Makefile.am (AM_CPPFLAGS): Ditto. * Throughout: Follow the change. Signed-off-by: NIIBE Yutaka <[email protected]>
* tests: Avoid overflowing signed 32 bit time_t.Justus Winter2017-03-071-4/+11
| | | | | | | | | | * tests/openpgp/quick-key-manipulation.scm: Use expiration times in the year 2038 instead of 2105 to avoid overflowing 32 bit time_t. time_t is used internally to parse the expiraton time from the iso timestamp. GnuPG-bug-id: 2988 Signed-off-by: Justus Winter <[email protected]>
* agent: Resolve conflict of util.h.NIIBE Yutaka2017-03-0716-31/+31
| | | | | | | | | | | | | | | | | * agent/Makefile.am (AM_CPPFLAGS): Remove -I$(top_srcdir)/common. * agent/call-pinentry.c, agent/call-scd.c: Follow the change. * agent/command-ssh.c, agent/command.c, agent/cvt-openpgp.c: Ditto. * agent/divert-scd.c, agent/findkey.c, agent/genkey.c: Ditto. * agent/gpg-agent.c, agent/pksign.c, agent/preset-passphrase.c: Ditto. * agent/protect-tool.c, agent/protect.c, agent/trustlist.c: Ditto. * agent/w32main.c: Ditto. -- For openpty function, we need to include util.h on some OS. We also have util.h in common/, so this change is needed. Signed-off-by: NIIBE Yutaka <[email protected]>
* doc: Replace README.maint content.Werner Koch2017-03-072-83/+3
| | | | --
* agent: Add include files.NIIBE Yutaka2017-03-071-0/+4
| | | | | | * agent/command-ssh.c: Add sys/socket.h and sys/un.h. Signed-off-by: NIIBE Yutaka <[email protected]>
* agent: Fix get_client_pid for portability.NIIBE Yutaka2017-03-072-53/+39
| | | | | | | | | | | | | | | | | | | * configure.ac: Simply check getpeerucred and ucred.h, and structure members. * agent/command-ssh.c: Include ucred.h. (get_client_pid) [HAVE_STRUCT_SOCKPEERCRED_PID]: Use sockpeercred structure for OpenBSD. [LOCAL_PEERPID]: Use LOCAL_PEERPID for macOS. [LOCAL_PEEREID]: Use LOCAL_PEEREID for NetBSD. [HAVE_GETPEERUCRED]: Use getpeerucred for OpenSolaris. -- This change also addresses following bug. GnuPG-bug-id: 2981. Signed-off-by: NIIBE Yutaka <[email protected]>
* common: Fix warning for portability.NIIBE Yutaka2017-03-071-0/+1
| | | | | | | | * common/localename.c (do_nl_locale_name): We don't use CATEGORY. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* tools: More portable for openpty use.NIIBE Yutaka2017-03-072-1/+14
| | | | | | | | | | | * configure.ac (AC_CHECK_HEADERS): Add util.h libutil.h and termios.h. * tools/symcryptrun.c: Include those headers. -- This is for OpenBSD and FreeBSD. Signed-off-by: NIIBE Yutaka <[email protected]>
* scd: Close THE_EVENT handle.NIIBE Yutaka2017-03-071-0/+4
| | | | | | | | * scd/scdaemon.c (handle_connections): Close the handle. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* tests: Harmonize temporary and socket directory handling.Justus Winter2017-03-0613-63/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tests/gpgscm/tests.scm (mkdtemp): Do not magically obey the environment variable 'TMP', make sure to always return an absolute path. * tests/gpgme/Makefile.am (TMP): Drop variable. (TESTS_ENVIRONMENT): Drop 'TMP'. * tests/gpgme/gpgme-defs.scm (create-gpgmehome): Start the agent. Do not create private key store, the agent does that for us. * tests/gpgsm/Makefile.am (TMP): Drop variable. (TESTS_ENVIRONMENT): Drop 'TMP'. * tests/gpgme/gpgme-defs.scm (create-gpgsmhome): Start the agent. Do not create private key store, the agent does that for us. * tests/migrations/Makefile.am (TMP): Drop variable. (TESTS_ENVIRONMENT): Drop 'TMP'. * tests/migrations/common.scm (gpgconf): New variable. (run-test): Create and remove socket directory. * tests/migrations/extended-pkf.scm (src-tarball): Remove variable. (setup): Remove function. (trigger-migration): Likewise. Use 'run-test' to execute the test. * tests/migrations/from-classic.scm (src-tarball): Remove variable. (setup): Remove function. Use 'run-test' to execute the tests. * tests/openpgp/Makefile.am (TMP): Drop variable. (TESTS_ENVIRONMENT): Drop 'TMP'. * tests/openpgp/README: Do not mention 'TMP'. * tests/openpgp/defs.scm (with-home-directory): New macro. (create-legacy-gpghome): Do not create private key store, the agent does that for us. (start-agent): Make sure to terminate the right agent with 'atexit'. -- Previously, the test suite relied upon creating home directories in '/tmp'. This has been problematic in some build environments, although POSIX mandates that '/tmp' must be available. We now rely on 'gpgconf --create-socketdir' to create a suitable socket directory for us. This allows us to get rid of some cruft. It also aligns the environment the tests are run in closer with the environment that we intend that GnuPG runs in. Signed-off-by: Justus Winter <[email protected]>
* gpgscm: Fix creation of temporary directories.Justus Winter2017-03-061-1/+6
| | | | | | | * tests/gpgscm/ffi.c (do_mkdtemp): Use a larger buffer for the template. Signed-off-by: Justus Winter <[email protected]>
* wks: Set published keys world-readable.Werner Koch2017-03-061-0/+5
| | | | | | * tools/gpg-wks-server.c (check_and_publish): Set the permissions. Signed-off-by: Werner Koch <[email protected]>
* gpg: Fix attempt to double free an UID structure.Werner Koch2017-03-061-2/+7
| | | | | | | | | | | | | | | * g10/getkey.c (get_best_pubkey_byname): Set released .UID to NULL. -- Phil Pennock reported an assertion failure when doing % gpg --auto-key-locate dane --locate-keys someone gpg: Ohhhh jeeee: Assertion "uid->ref > 0" in \ free_user_id failed (free-packet.c:310) on his keyring. This patch is not tested but a good guess. Signed-off-by: Werner Koch <[email protected]>
* scd: Fix compiler warnings for app-openpgp.c.NIIBE Yutaka2017-03-061-4/+2
| | | | | | | | * scd/app-openpgp.c (retrieve_key_material): Remove touching I. (do_change_pin): Make sure going to leave if PINVALUE == 0. (rsa_writekey): Emit simpler log. Signed-off-by: NIIBE Yutaka <[email protected]>
* scd: More cleanup of old code.NIIBE Yutaka2017-03-063-8/+5
| | | | | | | | | | | | | * scd/app-dinsig.c (do_sign): Remove assignment to HASHALGO. * scd/app-p15.c (parse_keyusage_flags): Remove assign to MASK. (read_ef_aodf): Likewise. (read_ef_cdf): Change the control to parse_error. * scd/app-sc-hsm.c (parse_keyusage_flags): Remove assign to MASK. (read_ef_prkd): Remove assign to S. (read_ef_prkd): Check if PRKDF is not null. (read_ef_cd): Likewise for CDF. Signed-off-by: NIIBE Yutaka <[email protected]>
* scd: Clean up old code.NIIBE Yutaka2017-03-061-1145/+22
| | | | | | | | | | | | | | * scd/apdu.c (CT_init, CT_data, CT_close): Remove. (ct_error_string, ct_activate_card, close_ct_reader, reset_ct_reader) (ct_get_status, ct_send_apdu, open_ct_reader): Remove. (new_reader_slot) [NEED_PCSC_WRAPPER]: Remove fd and pid handling. (writen, readn): Remove. (pcsc_get_status, pcsc_send_apdu, control_pcsc, close_pcsc_reader) (reset_pcsc_reader, open_pcsc_reader): Only DIRECT version. (apdu_open_one_reader): Remove CT_api handling. (apdu_get_status_internal, send_le): Fix to stop warnings. Signed-off-by: NIIBE Yutaka <[email protected]>
* scd: Fix API of select_file/_path.NIIBE Yutaka2017-03-067-48/+25
| | | | | | | | | | | | | | | | * scd/iso7816.c (iso7816_select_file, iso7816_select_path): Remove unused arguments. * scd/app-dinsig.c (do_readcert): Follow the change. * scd/app-help.c (app_help_read_length_of_cert): Likewise. * scd/app-nks.c (keygripstr_from_pk_file, do_readcert, do_readkey) (switch_application): Likewise. * scd/app-p15.c (select_and_read_binary, select_ef_by_path) (micardo_mse, app_select_p15): Likewise. * scd/app.c (app_new_register): Likewise. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* po: Update Japanese translation.NIIBE Yutaka2017-03-061-24/+15
| | | | | | -- Signed-off-by: NIIBE Yutaka <[email protected]>
* agent: For SSH, robustly handling scdaemon's errors.NIIBE Yutaka2017-03-061-10/+9
| | | | | | | | | | | | * agent/command-ssh.c (card_key_list): Return 0 when agent_card_serialno returns an error. (ssh_handler_request_identities): Handle errors for card listing and proceed to other cases. -- GnuPG-bug-id: 2980 Signed-off-by: NIIBE Yutaka <[email protected]>
* dirmngr: Fix commit de6d8313Werner Koch2017-03-031-1/+1
| | | | | | | | * dirmngr/http-common.c (get_default_keyserver): Fix assert. -- Fixes-commit: de6d8313f6df32aaa151bee74e1db269ac1e0fed Signed-off-by: Werner Koch <[email protected]>
* scd: Fix scd_kick_the_loop.NIIBE Yutaka2017-03-031-31/+56
| | | | | | | | | | | | | | | | * scd/scdaemon.c (notify_fd): Remove. (the_event) [W32]: New. (main_thread_pid) [!W32]: New. (handle_signal): Handle SIGCONT. (scd_kick_the_loop): Use signal on UNIX and event on Windows. (handle_connections): Likewise. -- Code with CreateEvent is copied from gpg-agent.c. Code for signal is copied from dkg's gpg-agent-idling in Debian. GnuPG-bug-id: 2982 Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg: Fix possible segv when attribute packets are filtered.Werner Koch2017-03-031-6/+6
| | | | | | | | | | | | * g10/import.c (impex_filter_getval): Handle PKT_ATTRIBUTE the same as PKT_USER_ID (apply_drop_sig_filter): Ditto. -- The old code was plainly wrong in that it considered PKT_ATTRIBUTE to use a PKT_signature object. Signed-off-by: Werner Koch <[email protected]>
* gpg: Add new variables to the import and export filters.Werner Koch2017-03-033-10/+48
| | | | | | | * g10/import.c (impex_filter_getval): Add new variables "expired", "revoked", and "disabled". Signed-off-by: Werner Koch <[email protected]>
* tools: Fix compile error with older gcc versions.Werner Koch2017-03-021-4/+2
| | | | | | | | | * tools/mime-parser.h: Include rfc822parse.h. (struct rfc822parse_context): Remove duplicate definition. -- GnuPG-bug-id: 2851 Signed-off-by: Werner Koch <[email protected]>
* dirmngr: Rearrange files to fix de6d831.Werner Koch2017-03-028-31/+81
| | | | | | | | | | | | | | * dirmngr/http-common.c: New. * dirmngr/http-common.h: New. * dirmngr/Makefile.am (dirmngr_SOURCES): Add them. (t_http_SOURCES): Add them. (t_ldap_parse_uri_SOURCES): Add them. * dirmngr/misc.c (get_default_keyserver): Move to ... * dirmngr/http-common.c: here. * dirmngr/http.c: Include http-common.h instead of misc.h. * dirmngr/http-ntbtls.c: Ditto. Signed-off-by: Werner Koch <[email protected]>