Libtpms-based TPM emulator with socket, character device, and Linux CUSE interface.
Go to file
Stefan Berger aa483aeb6d swtpm: nvstore_linear: Add support for file-backend locking
Add support for locking the storage file using fcntl(fd, F_SETLK, ...).
Since fcntl needs a file descriptor of the actual storage file, call
SWTPM_NVRAM_LinearFile_DoOpenURI() to open the file in case it has not
been opened, yet. In case of error close the file again but be careful
about the fact that it may not have been mmap'ed, yet.

Since now all backends have .lock and .unlock nvram_backend_ops, they can
be called without checking for a NULL pointer.

Extend an existing test case with a file-backend storage lock test.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2024-10-15 10:49:01 -04:00
.github CI/CD: Avoid caching of container build to get latest libtpms version 2024-09-12 10:35:47 -04:00
debian debian: Add rules for reading profiles from distro and local dirs 2024-10-02 09:35:17 -04:00
include swtpm: Define a structure to return PTM_GET_CAPABILITY result 2024-10-11 17:34:36 -04:00
man swtpm: Define a structure to return PTM_GET_CAPABILITY result 2024-10-11 17:34:36 -04:00
samples swtpm_setup: Add support for --profile-name option 2024-10-02 09:35:17 -04:00
src swtpm: nvstore_linear: Add support for file-backend locking 2024-10-15 10:49:01 -04:00
tests swtpm: nvstore_linear: Add support for file-backend locking 2024-10-15 10:49:01 -04:00
.gitignore selinux: Redevelop SELinux policy for Fedora 40 (ditch old rules) 2024-05-27 20:06:17 -04:00
.travis.yml Travis: Update from focal to jammy and from bionic to focal 2023-02-27 07:10:10 -05:00
autogen.sh build-sys: Create m4 directory on older systems 2018-12-15 10:06:03 -05:00
CHANGES CHANGES: Add documentation for changes in 0.9.0 2024-06-17 09:03:06 -04:00
configure.ac build-sys: Add -Wshadow to the CFLAGS 2024-09-24 13:22:56 -04:00
COPYING initial check-in 2014-12-05 11:16:03 -05:00
DCO1.1.txt Replace the CLA with the DCO, simply requiring a Signed-off-by: 2016-12-21 11:11:48 -05:00
docker-compose.yml ci: add testing via docker compose 2024-07-18 16:48:21 -04:00
Dockerfile Dockerfile: Fix casing of 'as' 2024-09-25 07:20:37 -04:00
INSTALL docs: Update INSTALL document 2021-07-21 09:04:24 -04:00
LICENSE swtpm: Replace the CUSE TPM with the new implementation 2015-12-07 15:01:57 -05:00
Makefile.am samples: swtpm-create-tpmca: Fix shellcheck issues and add to syntax-check target 2023-02-22 17:27:05 -05:00
README docu: Cut down the README to its minimum 2018-09-24 17:48:41 -04:00
run_tests tests: Run all tests again in run_test 2020-04-07 17:14:10 -04:00
swtpm.spec build-sys: Bump up version to 0.10.0 at beginning of dev cycle 2024-06-27 09:37:21 -04:00
swtpm.spec.in debian/rpm: Adjust changelog for 0.9.0 release 2024-06-17 09:03:06 -04:00
TODO Adding RHEL/Centos status info 2016-06-26 20:03:43 -04:00

SWTPM - Software TPM Emulator
      David Safford safford@us.ibm.com
      Stefan Berger stefanb@us.ibm.com

The SWTPM package provides TPM emulators with different front-end interfaces
to libtpms. TPM emulators provide socket interfaces (TCP/IP and Unix) and
the Linux CUSE interface for the creation of multiple native /dev/vtpm* devices.

The SWTPM package also provides several tools for using the TPM emulator,
creating certificates for a TPM, and simulating the manufacturing of
a TPM by creating a TPM's EK and platform certificates etc. Please read 
the READMEs in the individual tool's directory under src/.

Please consult the Wiki for information about swtpm:

   https://github.com/stefanberger/swtpm/wiki