Commit Graph

1342 Commits

Author SHA1 Message Date
Stefan Berger
4f71e9b45d scripts: Also diff .inl files in meld-all and suppress diff error message
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-12-03 13:40:30 -05:00
Stefan Berger
b2974e70d5 tpm2: Again reduce whitespace and comment differences with upstream
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-12-03 13:40:30 -05:00
Stefan Berger
c2eb52e192 tpm2: Remove contributed SM4 support
Due to the license change in the 'new' upstream repo (versus the 'old'
upstream repo), remove the SM4 support contributed under the previous
license. We can remove this since SM4 is not enabled by default.
SM4 support can be re-added under BSD license before the next release.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-12-03 13:40:30 -05:00
Stefan Berger
f1e488a59c tpm2: Remove contributed Camellia 192 test cases
Due to the license change in the 'new' upstream repo (versus the 'old'
upstream repo), remove the Camellia-192 test cases contributed under the
previous license. The test will be re-added from data generated by the
script src/tpm2/gensymtestdata.sh before the next release.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-12-03 13:40:30 -05:00
orbea
7310725524 tpm2: use BN_BIT2 to determine RADIX_BITS
With LibreSSL 4.2.0 the THIRTY_TWO_BIT and SIXTY_FOUR_BIT_LONG defines
were removed, but BN_BITS2 has the correct value for RADIX_BITS.

Signed-off-by: orbea <orbea@riseup.net>
2025-10-15 22:20:12 -04:00
Stefan Berger
e064e54082 Remove generated tpm_library.h from repo
Add the tpm_library.h file to the files to be ignored.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-09-23 09:19:00 -04:00
Luca Boccassi
4504f47c67 automake: remove generated files on dist-clean
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2025-09-23 08:59:17 -04:00
Luca Boccassi
22855f184b man: make build reproducible via SOURCE_DATE_EPOCH
The manpages include the current build date, so they are not reproducible.
If defined, use the SOURCE_DATE_EPOCH as defined here:

https://reproducible-builds.org/docs/source-date-epoch/

Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2025-09-22 14:08:04 -04:00
Luca Boccassi
2c1deb52aa man: fix various typos found by Lintian
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2025-09-22 13:29:39 -04:00
Ernst Schwaiger
e96a61c1ef add pkg-config to ubuntu prerequisites
Signed-off-by: ernst.schwaiger@chello.at
2025-08-31 14:16:37 -04:00
Stefan Berger
b7c81f960a tpm2: Fix memory leak by freeing KDF context
Fix a memory leak by freeing the KDF context after usage.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-08-28 09:16:47 -04:00
Stefan Berger
b4d81572c1 tpm2: Define TPMI_RH_NV_DEFINED_INDEX_H_UNMARSHAL and use it
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-08-07 11:05:51 -04:00
Stefan Berger
c9ed596fe4 tpm2: Add missing ADD_FLAG to X509Certificate definition
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-08-07 11:05:51 -04:00
Stefan Berger
e7e8c38281 tpm2: Rename PlatformPCR.c to PlatformPcr.c and sync
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-08-06 13:55:46 -04:00
Stefan Berger
04bd7d4b2b tpm2: Sync (unused) structures and defines related to FIPS-140
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-08-06 10:24:30 -04:00
Stefan Berger
e02951cd05 tpm2: Add or remove empty lines to reduce diffs
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-08-05 10:47:24 -04:00
Stefan Berger
7eb43b9ebe tpm2: Remove commented-out blocks
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-08-05 10:47:24 -04:00
Stefan Berger
8fd1293d60 tpm2: Sync defines for unsupported AC_GetCapability
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-08-05 10:47:24 -04:00
Stefan Berger
bee52fbed3 tpm2: Add definitions for new algorithms and curves
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-08-05 10:47:24 -04:00
Stefan Berger
3edd48d6b1 tpm2: Sync with new defines on symmetric algorithms' sizes
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-08-05 10:47:24 -04:00
Stefan Berger
8c89e53ed4 tpm2: Move defines for commands from TpmAlgorithmDefines to TpmTypes.h
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-08-05 10:47:24 -04:00
Stefan Berger
c0a2f22226 tpm2: Add explicit casts to UINT32 to avoid UBSAN issue
UBSAN complains about the following now:

  runtime error: left shift of 129 by 24 places cannot be
     represented in type 'int'

Fix this (again) in the affected variables by casting the values to UINT32.
Some of the fixes got lost in the recent re-base, others are new due to
how the values are defined.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-08-03 17:47:15 -04:00
Stefan Berger
13a41ca095 tpm2: Add missing defines for existing structures, remove others
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-31 18:57:14 -04:00
Stefan Berger
2a5baa8800 tpm2: Sync up RunCommand.c with upstream
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-31 18:57:14 -04:00
Stefan Berger
e60fafc61a tpm2: Add missing SVN-related cases in TPMPropertyIsDefined
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-31 18:57:14 -04:00
Stefan Berger
b2839e2613 tpm2: Sync TPM_PT_MODES case in TPMPropertyIsDefined
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-31 18:57:14 -04:00
Stefan Berger
865b356292 tpm2: Add missing '|| TABLE_DRIVEN_MARSHAL' to CommandDispatcher.c
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-31 18:57:14 -04:00
Stefan Berger
fccc05845b tpm2: Add support for CRYPTO_LIB_REPORTING but do not use it
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-31 18:57:14 -04:00
Stefan Berger
74bd4ee1d6 tpm2: Use TPM2B_DIGEST in MAC_Out
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-31 18:57:14 -04:00
Stefan Berger
79e233c607 tpm2: Remove CLOCK_ defines for header since already in Clock.c
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-31 18:57:14 -04:00
Stefan Berger
1278421db9 tpm2: Add TPMI_RH_BASE_HIERARCHY type and use it
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-31 18:57:14 -04:00
Stefan Berger
04dab706c5 tpm2: Add (unused) defines to TpmTcpProtocol.h
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-31 18:57:14 -04:00
Stefan Berger
fa637145b8 tpm2: Fix definition of CertifyX509 error codes
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-31 18:57:14 -04:00
Stefan Berger
0945ad07ef tpm2: Fix definition of ChangePPS error codes
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-31 18:57:14 -04:00
Stefan Berger
a954fa214b tpm2: Fix definition of NV_ReadPublic error codes
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-31 18:57:14 -04:00
Stefan Berger
2360ec6d83 tpm2: Fix definition of HierarchyChnageAuth error codes
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-31 18:57:14 -04:00
Stefan Berger
bd282cce6a tpm2: Fix definition of SequenceUpdate error codes
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-31 18:57:14 -04:00
Stefan Berger
f8ddf879af tpm2: Replace occurrences of xorr with xor
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-31 18:57:14 -04:00
Stefan Berger
4c7dcf2db3 tpm2: Rebase on TPM v1.83: Reduce diffs
- Rename files so the filenames match
- Reduce whitespace diffs
- Other trivial changes

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-31 18:57:14 -04:00
Stefan Berger
5de6c7fe40 scripts: Implement scripts to be able to use meld on upstream codebase
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-31 18:57:14 -04:00
Stefan Berger
4c374f9994 tpm2: Have TPM2_NV_DefineSpace call NvDefineSpace
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-22 15:45:42 -04:00
Stefan Berger
7dfe310f06 configure.ac: Remove old debug enablement and commented statements
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-07 17:44:55 -04:00
Stefan Berger
826771bb4f configure.ac: Use m4sh for if statement
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-07 17:44:55 -04:00
Stefan Berger
1a7aa5a146 configure.ac: Use m4sh for hardending
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-07 17:44:55 -04:00
Stefan Berger
923ecc0994 configure.ac: Use m4sh for test-coverage
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-07 17:44:55 -04:00
Stefan Berger
aebb81b74e configure.ac: Use m4sh for OpenSSL functions-checking block
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-07 17:44:55 -04:00
Stefan Berger
05318a30c8 configure.ac: Reformat to 4 spaces indentation
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-07 17:44:55 -04:00
Stefan Berger
f1b7e02fb5 configure.ac: Use m4sh for case statments
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-07-07 17:44:55 -04:00
Stefan Berger
0453e7b7df tpm2: Helpers: Have ObjectGetPublicParameters return TPM_RC
Convert ObjectGetPublicParameters to return TPM_RC and have it return
TPM_RC_MEMORY in case of a NULL pointer returned from BN_new() and
TPM_RC_FAILURE for any other error. Adjust the 2 callers.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-06-13 17:08:18 -04:00
Stefan Berger
e369684b99 tpm2: Helpers,OpenSSL: Convert some TPM_RC_FAILURE to TPM_RC_MEMORY
Convert those TPM_RC_FAILURE return codes to TPM_RC_MEMORY where
it is certain that it is only an issue related to no memory being available
rather than anything else. The following OpenSSL functions qualify for
this:

- BN_CTX_new & BN_CTX_new_ex
- BN_new

The following ones do not qualify:

- RSA_new: could have failure with ENGINE_init() and ENGINE_get_RSA()
- EC_KEY_new: could have failure with ENGINE_init() and ENGINE_get_EC()
- BigInitialized: initializer could be NULL
- BN_bin2bn: length could be 0

Some functions now test for NULL pointers early on to return TPM_RC_MEMORY.
They would previously have failed in BigInitialized() if the BIGNUM had
been a NULL pointer.

Since TPM_RC_FAILURES should never occur, the new TPM_RC_MEMORYs should
never occur, either. So, this is primarily a clean-up.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-06-13 17:08:18 -04:00