summaryrefslogtreecommitdiffstats
path: root/configure.ac (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Post release updatesWerner Koch2024-01-251-1/+1
| | | | --
* speedo: Patch ELF binaries to use built librariesWerner Koch2024-01-121-1/+1
| | | | | | | | * build-aux/speedo.mk: Remove GUI stuff. Add patchelf feature. * Makefile.am (speedo): New target. -- GnuPG-bug-id: 6710
* tests:tpm2dtests: Modify tests with SWTPM and relax the condition.NIIBE Yutaka2023-10-061-3/+2
| | | | | | | | | | | | | | | | | * configure.ac (SWTPM_IOCTL): Remove. (TEST_LIBTSS): Fix the condition. * tests/tpm2dtests/Makefile.am (TESTS_ENVIRONMENT): Remove SWTPM_IOCTL. * tests/tpm2dtests/start_sw_tpm.sh: Add --flags to invoke SWTPM, not requiring SWTPM_IOCTL and TSSSTARTUP any more. -- Cherry-picked from master commit of: 227b3b14f4be2f33ed721818c2186e7fca4cebdf GnuPG-bug-id: 6052 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
* tests:tpm2dtests: Fix tests with SWTPM.NIIBE Yutaka2023-10-061-1/+1
| | | | | | | | | | | | | | * configure.ac (TEST_LIBTSS): Fix the condition with SWTPM. * tests/tpm2dtests/start_sw_tpm.sh: Use --daemon and --pid to run SWTPM. -- Cherry-picked from master commit of: 98dd6f7af6aa3dcce19f20c22e3f825676e6b184 GnuPG-bug-id: 6052 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
* build: Simplify detecting a TPM emulator.NIIBE Yutaka2023-10-061-4/+4
| | | | | | | | | | | | | | | * configure.ac (TPMSERVER): Don't supply hard-coded path. (SWTPM, SWTPM_IOCTL, TSSSTARTUP): Likewise. -- Cherry-picked from master commit of: f2ca727978da5b1ed84f97bf37d604e8a4e60091 Having hard-coded path has bad side effect; It may not be detected even if it's available with PATH. Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
* dirmngr: Require gnutls 3.2Werner Koch2023-09-261-1/+1
| | | | | | | | | | | | | | * dirmngr/http.c: Remove gnutls version specific code. (send_request): Factor some code out to ... (run_proxy_connect): new. (mk_proxy_request): new. (mk_std_request): new. * configure.ac (NEED_GNUTLS_VERSION): Require 3.2. -- This patch is to factor out some code and also to remove support for legacy gnutls versions. Note that gnutls 3.2 was released 10 years ago.
* dirmngr: Cleanup the http module.Werner Koch2023-09-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (NEED_NTBTLS_VERSION): Require at least 0.2.0 so that we can remove a conditional compilation. * dirmngr/http.c (struct proxy_info_s): New. (release_proxy_info): New to keep proxy information in one object. (send_request): Factor some code out to ... (get_proxy_for_url): this, (send_request_basic_checks): this, (send_request_set_sni): this, (run_ntbtls_handshake): this, (run_gnutls_handshake): and this. -- Note that this also removes some never used code. For example the NTBTLS handshake has code taken from GNUTLS which was never used due to the different ways on how the certificates are checked. The proxy code has been factored out to make to prepare further authentication methods. The proxy_info_t was introduced for the same reason. Tested against gnutls and ntbtls builds. No proxy tests yet done, because we need more sophisticated tests anyway. GnuPG-bug-id: 5768
* Post release updatesWerner Koch2023-07-041-1/+1
| | | | --
* Post release updatesWerner Koch2023-05-301-1/+1
| | | | --
* w32: Add missing manifests and set a requestedExecutionLevel.Werner Koch2023-05-241-0/+8
| | | | | | | | | | | | | | | | | | | | * agent/gpg-agent.w32-manifest.in: New. * dirmngr/dirmngr-client-w32info.rc: New. * dirmngr/dirmngr-client.w32-manifest.in: New. * dirmngr/dirmngr-w32info.rc: New. * dirmngr/dirmngr.w32-manifest.in: New. * dirmngr/dirmngr_ldap-w32info.rc: New. * dirmngr/dirmngr_ldap.w32-manifest.in: New. * g10/gpgv-w32info.rc: New. * g10/gpgv.w32-manifest.in: New. * kbx/keyboxd.w32-manifest.in: New. * scd/scdaemon.w32-manifest.in: New. * sm/gpgsm.w32-manifest.in: New. -- This avoids the use of the VirtualStore uner Windows. GnuPG-bug-id: 6503
* Post release updatesWerner Koch2023-04-281-1/+1
| | | | --
* doc: Update copyright notices.Werner Koch2023-01-201-16/+3
| | | | | | -- Note that we now print Copyright g10 Code instead of FSF.
* Post release updatesWerner Koch2022-12-161-1/+1
| | | | --
* Update NEWS for 2.4.0Werner Koch2022-12-161-4/+4
|
* build: Remove Windows CE support.NIIBE Yutaka2022-12-091-32/+2
| | | | | | | | | | | | | | | | * agent/Makefile.am [HAVE_W32CE_SYSTEM]: Remove. * am/cmacros.am [HAVE_W32CE_SYSTEM]: Remove. * autogen.sh: Remove W32ce_ variables. * configure.ac: Likewise. * dirmngr/Makefile.am (extra_bin_ldflags): Remove. * g10/Makefile.am [HAVE_W32CE_SYSTEM]: Remove. * kbx/Makefile.am: Likewise. * sm/Makefile.am (extra_bin_ldflags): Remove. * tools/Makefile.am (extra_bin_ldflags): Remove. -- Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
* agent,w32: Support Win32-OpenSSH emulation by gpg-agent.NIIBE Yutaka2022-10-141-1/+1
| | | | | | | | | | | | | | | | * agent/agent.h (start_command_handler_ssh_stream): New. * agent/command-ssh.c (start_command_handler_ssh_stream): New. * agent/gpg-agent.c (oWin32OpenSSHSupport): New. (W32_DEFAILT_AGENT_PIPE_NAME): New. (main): Add oWin32OpenSSHSupport support. (win32_openssh_thread): New. (handle_connections): Spawn win32_openssh_thread. * configure.ac (NEED_GPGRT_VERSION): Require libgpg-error 1.46. -- GnuPG-bug-id: 3883 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
* Post release updatesWerner Koch2022-10-131-1/+1
| | | | --
* Post release updatesWerner Koch2022-07-111-1/+1
| | | | --
* Post release updatesWerner Koch2022-04-251-1/+1
| | | | --
* Post release updatesWerner Koch2022-04-211-1/+1
| | | | --
* build: Update for newer autoconf.NIIBE Yutaka2021-12-221-12/+5
| | | | | | | | | | | | | | | * configure.ac (AC_PREREQ): Use >= 2.69. (AC_CONFIG_HEADERS): Use it, instead of AC_CONFIG_HEADER. (AC_HEADER_STDC, AC_HEADER_TIME): Remove obsolete macros. (sys/time.h): Add the check of the header. (time_t): Don't use TIME_WITH_SYS_TIME. * acinclude.m4 (AC_HEADER_TIME): Don't require. Don't use TIME_WITH_SYS_TIME. * dirmngr/dns.c: Don't use TIME_WITH_SYS_TIME. -- Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
* Post release updates.Werner Koch2021-12-201-1/+1
| | | | --
* w32: Prepare for the case gcrypt.h will not include winsock2.h.NIIBE Yutaka2021-12-171-1/+1
| | | | | | | | | | | | | | | * common/dynload.h: Include specific headers only. * common/exechelp-w32.c: Include <windows.h>. * common/gettime.c: Likewise. * common/utf8conv.c: Likewise. * tests/gpgscm/ffi.c: Likewise. * tools/gpgconf.c: Likewise. * configure.ac: Check winsock2.h, removing gl_HEADER_SYS_SOCKET. -- GnuPG-bug-id: 5731 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
* Post release updatesWerner Koch2021-10-121-1/+1
| | | | --
* Do not build keyxboxd if sqlite has been disabled.Werner Koch2021-10-101-1/+4
| | | | | | | * configure.ac: Move clearing of build_keyboxd out of the conditional. -- GnuPG-bug-id: 5588
* common: Fix get_signal_name for GNU/Linux.NIIBE Yutaka2021-08-261-0/+1
| | | | | | | | | | * common/signal.c (get_signal_name): Use sigdescr_np if available. * configure.ac: Check the function. -- GnuPG-bug-id: 5568 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
* Post release updatesWerner Koch2021-08-241-1/+1
| | | | --
* dirmngr: Change the default keyserver.Werner Koch2021-08-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (DIRMNGR_DEFAULT_KEYSERVER): Change to keyserver.ubuntu.com. * dirmngr/certcache.c (cert_cache_init): Disable default pool cert. * dirmngr/http-ntbtls.c (gnupg_http_tls_verify_cb): Ditto. * dirmngr/http.c (http_session_new): Ditto. * dirmngr/server.c (make_keyserver_item): Use a different mapping for the gnupg.net names. -- Due to the unfortunate shutdown of the keyserver pool, the long term defaults won't work anymore. Thus it is better to change them. For https access keyserver.ubuntu.com is now used because it can be expected that this server can stand the load from newer gnupg LTS versions. For http based access the Dutch Surfnet keyserver is used. However due to a non-standard TLS certificate this server can not easily be made the default for https. Note: that the default server will be changed again as soon as a new connected keyserver infrastructure has been established. (cherry picked from commit 47c4e3e00a7ef55f954c14b3c237496e54a853c1)
* build: Simplify for string.h and getopt.h.NIIBE Yutaka2021-08-051-1/+1
| | | | | | | | | | | | | * configure.ac (AC_CHECK_HEADERS): Remove string.h and getopt.h. * dirmngr/ks-engine-ldap.c: Remove including getopt.h. * tools/make-dns-cert.c: Likewise. -- Checking string.h is supported by AC_HEADER_STDC. Use of getopt.h is only needed for getopt_long of GNU extention. Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
* build: Remove duplication of AC_HEADER_TIME.NIIBE Yutaka2021-08-051-3/+1
| | | | | | * configure.ac: Have a single AC_HEADER_TIME. Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
* build: Update checking headers.NIIBE Yutaka2021-08-051-2/+2
| | | | | | | | | * configure.ac (AC_CHECK_HEADERS): Remove pty.h utmp.h, util.h, and libutil.h. -- Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
* tests: Rename subdir gpgsm to cms and move sample dirs.Werner Koch2021-05-311-2/+2
| | | | | | | -- It does not make sense to have the cms stuff at the top level but the openpgp at a dedicated directory. This patch fixes that.
* build: _DARWIN_C_SOURCE should be 1.NIIBE Yutaka2021-05-271-1/+1
| | | | | | | | | | * configure.ac (*-apple-darwin*): Set _DARWIN_C_SOURCE 1. -- GnuPG-bug-id: 5440 Reported-by: Jay Freeman Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
* Post release updatesWerner Koch2021-04-201-1/+1
| | | | --
* build: Allow selection of TSS library.Damien Goutte-Gattat via Gnupg-devel2021-04-191-2/+18
| | | | | | | | | | | | | | | | | | | * configure.ac: New option --with-tss to force the use of a specific TSS library. -- While most systems will probably have only one of the two TPM libraries that we support (the IBM TSS or the Intel TSS), it would still be helpful to allow which one to use in the event that both are detected, instead of always using the IBM one. This patch does that by adding a --with-tss=TSS configure-time option, where TSS can be "ibm", "intel", or "autodetect". The default value is "autodetect", which triggers the original behavior (i.e. try to detect both libraries, and prefer the IBM one if both are found). Signed-off-by: Damien Goutte-Gattat <dgouttegattat@incenp.org>
* build: Change version tag also in getswdb.shWerner Koch2021-04-091-1/+1
| | | | --
* Post release updatesWerner Koch2021-04-071-1/+1
| | | | --
* build: Require automake 1.16.3Werner Koch2021-03-311-1/+1
| | | | | | | | | | * configure.ac (min_automake_version): Bump to 1.16.3 -- This version has the now needed support for - new variable AM_DISTCHECK_DVI_TARGET, to allow overriding the "make dvi" that is done as part of distcheck.
* build: Check for the IBM TSS tools to run the tpm2d tests.Damien Goutte-Gattat via Gnupg-devel2021-03-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | * configure.ac (TEST_LIBTSS): Make that conditional depend on the detection of tssstartup. -- While the tpm2d daemon can use either the Intel TSS or the IBM TSS, the test code (specifically, the start_sw_tpm.sh script) requires some tools from the IBM TSS (tssstartup and tsspowerup). If a software TPM is detected at configure time but the IBM TSS tools are absent (e.g. because only the Intel TSS is available on the system), `make check` will attempt to run the tpm2d tests and those will fail when the start_sw_tpm.sh script is launched. This patch makes running the tpm2d tests dependent not only on the detection of a software TPM, but also on the detection of tssstartup (it is probably safe to assume that if tssstartup is present, then tsspowerup is available as well). Signed-off-by: Damien Goutte-Gattat <dgouttegattat@incenp.org>
* build: new option to disable building of tpm2daemonWerner Koch2021-03-151-23/+41
| | | | | | | | | | * configure.ac (build_tpmd): New configure option --disable-tpm2d (BUILD_WITH_TPM2D): New. * Makefile.am (tests): Use conditionally BUILD_TPM2D instead of HAVE_LIBTSS. * build-aux/speedo.mk (speedo_pkg_gnupg_configure) [W32]: Do not build tpm2d. * autogen.rc: Ditto.
* tpmd2: Add Support for the Intel TSSJames Bottomley via Gnupg-devel2021-03-111-6/+23
| | | | | | | | | | | | | | | | | | | * configure.ac: Check for Intel TSS. * tpm2d/intel-tss.h: New. * tpm2d/tpm2.h (HAVE_INTEL_TSS): Use the Intel code. -- The Intel TSS is somewhat of a moving target, so this wraps support for this TSS into tpm2daemon. Unfortunately this wrapper uses some APIs that are only present in a relatively recent Intel TSS, so it looks like it will only work with version 2.4.0 or higher. Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com> - Add header blurb; see previous patch. - Add new file to the Makefile Signed-off-by: Werner Koch <wk@gnupg.org>
* tpm2d: add tests for the tpm2daemonJames Bottomley2021-03-101-0/+13
| | | | | | | | | | | | | | | | | | | | | * configure.ac: Detect TPM emulator and enable tests. * tests/tpm2dtests/: New test suite. * tests/Makefile.am: Run tests. -- Add a set of tests that exercise tpm2daemon handling of keys and verify compatibility with non-tpm based keys. Running this test infrastructure requires a tpm emulator, which is tested for during configuration. If an emulator is not found, the tests won't be run since they require the presence of a TPM (although the TPM handling code will still be built). Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com> - Fixed tests/Makefile.am for make distcheck. Signed-off-by: Werner Koch <wk@gnupg.org>
* tpm2d: Add tpm2daemon codeJames Bottomley2021-03-101-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tpm2d: New directory. * Makefile.am (SUBDIRS): Add directory. * configure.ac: Detect libtss and decide whether to build tpm2d. * am/cmacros.am: Add a define. * util.h (GNUPG_MODULE_NAME_TPM2DAEMON): New. * common/homedir.c (gnupg_module_name): Add tpm2d. * common/mapstrings.c (macros): Add "TPM2DAEMON". * tools/gpgconf.h (GC_COMPONENT_TPM2DAEMON): New. * tools/gpgconf-comp.c (known_options_tpm2daemon): New. (gc_component): Add TPM2. (tpm2daemon_runtime_change): New. * tpm2d/Makefile.am: New. * tpm2d/command.c: New. * tpm2d/ibm-tss.h: New. * tpm2d/tpm2.c: New. * tpm2d/tpm2.h: New. * tpm2d/tpm2daemon.c: New. * tpm2d/tpm2daemon.h: New. --- This commit adds and plumbs in a tpm2daemon to the build to mirror the operation of scdaemon. The architecture of the code is that tpm2daemon.c itself is pretty much a clone of scd/scdaemon.c just with updated function prefixes (this argues there could be some further consolidation of the daemon handling code). Note that although this commit causes the daemon to be built and installed, nothing actually starts it or uses it yet. Command handling ---------------- command.c is copied from the command handler in scd.c except that the command implementation is now done in terms of tpm2 commands and the wire protocol is far simpler. The tpm2daemon only responds to 4 commands IMPORT: import a standard s-expression private key and export it to TPM2 format. This conversion cannot be undone and the private key now can *only* be used by the TPM2. To anyone who gets hold of the private key now, it's just an encrypted binary blob. PKSIGN: create a signature from the tpm2 key. The TPM2 form private key is retrieved by KEYDATA and the hash to be signed by EXTRA. Note there is no hash specifier because the tpm2 tss deduces the hash type from the length of the EXTRA data. This is actually a limitation of the tpm2 command API and it will be interesting to see how this fares if the tpm2 ever supports say sha3-256 hashes. PKDECRYPT: decrypt (RSA case) or derive (ECC case) a symmetric key. The tpm2 for private key is retrieved by KEYDATA and the information used to create the symmetric key by EXTRA. KILLTPM2D: stop the daemon All the tpm2 primitives used by command.c are in tpm2.h and all the tpm2 specific gunk is confined to tpm2.c, which is the only piece of this that actually does calls into the tss library. Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com> Changes from James' patch: - gpgconf: The displayed name is "TPM" and not "TPM2". That string is used by GUIs and should be something the user understands. For example we also use "network" instead of "Dirmngr". - Removed some commented includes. - Use 16 as emulation of GPG_ERR_SOURCE_TPM2. - Silenced a C90 compiler warning and flags unused parameters. - Removed "if HAVE_LIBS" from tpm2/Makefile.am and add missing files so that make distcheck works. Signed-off-by: Werner Koch <wk@gnupg.org>
* build: Require sqlite 3.27Werner Koch2021-02-251-1/+1
| | | | | | | | | | -- Requiring 3.28 had the problem that for example Debin distributes a 3.27 with backported fixes. There is no 3.28. So we relax this again. Fixes-commit: d763548f2e00726a40ec886c8179c07bf4e6e664
* build: Require a fixed SQlite version.Werner Koch2021-02-241-1/+1
| | | | | | | | | -- We are actually not vulnerable but it seems to be a good idea to force installation of a good copy of SQlite GnuPG-bug-id: 4510
* tools,w32: Add resource and manifest files to all binaries.Beta-2.3.0-beta1598Werner Koch2021-02-211-3/+23
| | | | --
* build: Remove now obsolete HAVE_NEWER_LIBGCRYPT AM conditional.Werner Koch2021-02-191-21/+24
| | | | | | | | * configure.ac (HAVE_NEWER_LIBGCRYPT): Remove conditional. * tools/Makefile.am (gpg_pair_tool_SOURCES): We build it always. -- This is because we require libgcrypt 1.9 anyway.
* speedo: Update w32 stuff from 2.2Werner Koch2021-02-181-1/+3
| | | | | | | | | | | | * build-aux/speedo.mk: Update from 2.2. Add target w32-msi-release. * build-aux/speedo/w32/inst.nsi: Fix location of doc files. * build-aux/speedo/w32/wixlib.wxs: Add gpg-card and fix a wrong name. * Makefile.am (release): Support a WITH_MSI variable. (wixlibfile): Improve copying to archive. (release): Use AMTAR instead of TAR. -- Signed-off-by: Werner Koch <wk@gnupg.org>
* Require GpgRT version 1.41.Werner Koch2021-02-101-6/+6
| | | | | | | | | | | | | | * configure.ac (NEED_GPG_ERROR_VERSION): Rename to NEED_GPGRT_VERSION and set to 1.41. * common/sysutils.c (gnupg_access): Remove code for older gpgrt versions. * kbx/backend-sqlite.c: Ditto. * sm/gpgsm.c (main): Ditto. -- We already have a requirement for a newer Libgcrypt and thus we can also require a more recent libgpgrt (aka libgpg-error) which was released before Libgcrypt.
* tools: Remove the symcryptrun tool.Werner Koch2021-02-091-22/+0
| | | | | | | | | | | | | * tools/symcryptrun.c: Remove. * tools/Makefile.am: Ditto. * doc/tools.texi: Remove man page. * configure.ac: Remove build option and tests used only by this tool. * Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Do not build symcryptrun. -- symcryptrun is too ancient to be of any use and has not been tested in many years. Thus we should not distribute it anymore.