| CHANGES - changes for swtpm |
| |
| version 0.8.0: |
| - swtpm: |
| - Implement release-lock-outgoing parameter for --migration option |
| - Introduce --migration option and 'incoming' parameter |
| - Implement terminate parameter for ctrl channel loss |
| - Add a chroot option |
| - Introduce disable-auto-shutdown flag for --flags option |
| - If necessary send TPM2_Shutdown() before TPMLIB_Terminate() |
| - Add some more recent syscalls to seccomp profile |
| - Disable OpenSSL FIPS mode to avoid libtpms failures |
| - Avoid locking directory multiple times |
| - Remove support for pre-v0.1 state files without header |
| - Use uint64_t in tlv_data_append() to avoid integer overflows |
| - Use uint64_t to avoid integer wrap-around when adding a uint32_t |
| - Do not chdir(/) when using --daemon |
| - Check header size indicator against expected size (CVE-2022-23645) |
| - Fixes for gcc 12.2.1 -fanalyzer |
| - build-sys: |
| - Fix configure script to support _FORTIFY_SOURCE=3 |
| - Define __USE_LINUX_IOCTL_DEFS in header file (Cygwin) |
| - swtpm-localca: |
| - Re-implement variable resolution for swtpm-localca.conf |
| - Test for available issuercert before creating CA |
| - swtpm_setup: |
| - Configure swtpm to log to stdout/err if needed (glib >=2.74) |
| - tests: |
| - Use ${WORKDIR} in config files to test env. var replacement |
| - Patch IBM TSS2 test suite for OpenSSL 3.x |
| - build-sys: |
| - Add probing for -fstack-protector |
| |
| version 0.7.0: |
| - swtpm: |
| - Support for linear file storage backend (file://) |
| - Report 'tpm-1.2' & 'tpm-2.0' in --print-capabilities depending what |
| libtpms supports |
| - Add implementation of SWTPM_HMAC using OpenSSL 3.0 APIs |
| - Wipe keys from stack and heap |
| - Many other small changes |
| - Make --daemon not racy |
| - swtpm_setup: |
| - Only activate SHA256 PCR bank, not SHA1 bank anymore by default |
| - Support for linear file storage backend (file://) |
| - Implement option --create-config-files to create config files |
| - Use non-deprecated APIs to contruct RSA key (OSSL 3) |
| - Report stderr as returned by external tool (swtpm-localcal) |
| - Replace '+' and ',' characters in VMId's to make work with |
| common name in X509 subject |
| - Add support for --reconfigure flag to change active PCR banks |
| - swtpm_localca: |
| - Created certificates for CAs and TPM that do not expire |
| - swtpm_cert: |
| - Allow passing -1 for days to get a non-expiring certificate |
| - test: |
| - ASAN-related test changes and skipping of tests if ASAN is used |
| - Fix tests using tpm2-abrmd by preventing concurrency |
| - Skip chardev related tests after checking for chardev support |
| - exit with error code if mktemp fails |
| - OSSL 3: Make TPM 1.2 test compile; skip IBM TSS 2 test |
| - build-sys: |
| - Introduce --enable-sanitizers to configure |
| - Remove check for pip3 that was used by python swtpm_setup |
| - Allow passing of aditional CFLAGS during build |
| |
| version 0.6.0: |
| - swtpm: |
| - Fix --print-capabilities for 'swtpm chardev' |
| - Various cleanups and fixes (coverity) |
| - Addressed potential symlink attack issue (CVE-2020-28407) |
| - swtpm_setup: |
| - Rewritten in 'C'; needs json-glib |
| - Addressed potential symlink attack issue (CVE-2020-28407) |
| - swtpm_ioctl: |
| - Use timeouts for communicating with swtpm (Unix socket) |
| - swtpm-localca: |
| - Rewritten in 'C' |
| - tests: |
| - Use the IBM TSS2 v1.6.0's test suite |
| - Store and also restore the volatile state at every step when running |
| IBM TSS2 test suite |
| - Various cleanup |
| - build-sys: |
| - Add HARDENING_CFLAGS and _LDFLAGS to all C programs |
| |
| version 0.5.0: |
| - swtpm: |
| - Write files atomically using a temp file and then renaming |
| - swtpm_setup: |
| - Removed remaining 'c' wrapper program |
| - Do not truncate logfile when testing write-access (regression) |
| - Remove TPM state file in case error occurred |
| - swtpm-localca: |
| - Rewrite in python |
| - Allow passing pkcs11 PIN using signingkey_password |
| - Allow passing environment variables needed for pkcs11 modules using |
| swtpm-localca.conf and format 'env:VARNAME=VALUE'. |
| - build-sys: |
| - Add python-install and python-uninstall targets |
| - Add configure option to disable installation of Python module |
| - Use -Wl,-z,relro and -Wl,-z,now only when linking (clang) |
| - Use AC_LINK_IFELSE to check whether support for hardening flags |
| |
| version 0.4.0: |
| - swtpm: |
| - Invoke print capabilities after choosing TPM version |
| - Add some recent syscalls to seccomp blacklist |
| - swtpm_cert: |
| - Support --ecc-curveid option to pass curve id |
| - swtpm_setup & related scripts: |
| - Rewrite swtpm_setup.sh in python with TPM 1.2 not requiring tcsd |
| and TPM tools anymore; new dependencies: |
| - python3: pip, cryptography, setuptools |
| dropped dependencies for swtpm_setup: |
| - tcsd, expect, tpm-tools (some still needed for pkcs11 tests) |
| - Added support for RSA 3072 keys (for libtpms-0.8.0) and moved to |
| ECC NIST P384 curve; default RSA key size is still 2048 |
| - Added support for --rsa-keysize option |
| - Extend script to create a CA using a TPM 2 for signing |
| - tests: |
| - Use the IBM TSS2 v1.5.0's test suite |
| - Add test case for loading of an NVRAM completely full with keys |
| - Have softhsm_setup use temporary directory for softhsm config & state |
| - various other improvements |
| - man pages: |
| - Improvements |
| - build-sys: |
| - clang: properly test for linker flag 'now' and 'relro' |
| - Gentoo: explicitly link libswtpm_libtpms with -lcrypto |
| - Ownership of /var/lib/swtpm-localca is now tss:root and |
| mode flags 0750. |
| |
| version 0.3.0: |
| - swtpm: |
| - Support for applying 'TPM Startup' command during initialization |
| - Use writev_full rather than writev; fixes --vtpm-proxy EIO error |
| - Only accept() new client ctrl connection if we have none (bugfix) |
| - swtpm_setup & related scripts: |
| - Support whitespaces in filenames and paths |
| - Do not fail on future PCR banks' hashes |
| - swtpm_cert: |
| - Fix OIDs for TPM 2 platforms data |
| - Option parsing cleanup |
| - Support for passing password in various forms |
| - Use gnutls_x509_crt_get_subject_key_id API call for subj keyId |
| - Support 64bit serial numbers read from command line |
| - swtpm_ioctl: |
| - Block SIGPIPE so we can get EPIPE on write() |
| - swtpm_bios: |
| - Block SIGPIPE so we can get EPIPE on write() |
| - tests: |
| - Increased timeouts and better support for running tests with |
| executables run by valgrind |
| - Allow running tests with choice of seccomp profile option |
| (SWTPM_TEST_SECCOMP_OPT) to enable building for Ubuntu |
| - Various cleanups & fixes |
| - SELinux: |
| - More rules added for support on F30 |
| |
| version 0.2.0: |
| - Linux: swtpm now runs with a seccomp profile (blacklist) if compiled with |
| libseccomp support |
| - Added subpport for passing key and passphrase via file descriptor |
| - TPM 2 commands can now be prefixed by 'the TCG header' and responses will |
| have a 4-byte prefix and 4-byte suffix. |
| - Added --print-capabilities command line option |
| - Proper handling on EINTR on read, poll, and write |
| |
| version 0.1.0: |
| first public release |