[libcamera-devel] [PATCH] libcamera: ipa_manager: Fix build without openssl
Kieran Bingham
kieran.bingham at ideasonboard.com
Wed Sep 14 10:14:12 CEST 2022
Quoting Matthias Fend via libcamera-devel (2022-09-14 08:00:25)
> Since commit bedef55d9500 ("libcamera: pub_key: Gracefully handle failures
> to load public key'") the build will fail if openssl is not found on the
> host system.
> Use the existing HAVE_IPA_PUBKEY define to avoid accessing pubKey_ which
> does not exist when building without openssl.
>
> Signed-off-by: Matthias Fend <matthias.fend at emfend.at>
> ---
> src/libcamera/ipa_manager.cpp | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp
> index 2f96a207..030ef43f 100644
> --- a/src/libcamera/ipa_manager.cpp
> +++ b/src/libcamera/ipa_manager.cpp
> @@ -109,8 +109,10 @@ IPAManager::IPAManager()
> LOG(IPAManager, Fatal)
> << "Multiple IPAManager objects are not allowed";
>
> +#if HAVE_IPA_PUBKEY
If we have to add a #if here, it feels to me like the implementation
for handling the key itself isn't right.
The alternative is to construct an invalid public key at
src/libcamera/ipa_pub_key.cpp.in to ensure we always have a key.. but
I'm not sure that sounds a lot better either...
This is limited to the IPA manager which knows about the keys anyway, so
... worst case I could see this as a solution ... but I think I would
always want to push against ifdeffery spreading
Could you check if it's reasonable to instantiate a pubKey_ which isn't
valid please?
But given here in ipa_manager - we already use #if HAVE_IPA_PUBKEY in
IPAManager::isSignatureValid() I think I'd let this through.
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> if (!pubKey_.isValid())
> LOG(IPAManager, Warning) << "Public key not valid";
> +#endif
>
> unsigned int ipaCount = 0;
>
> --
> 2.25.1
>
More information about the libcamera-devel
mailing list