summaryrefslogtreecommitdiff
path: root/src/libcamera
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcamera')
-rw-r--r--src/libcamera/include/ipa_manager.h2
-rw-r--r--src/libcamera/ipa_manager.cpp4
-rw-r--r--src/libcamera/ipa_pub_key.cpp.in4
-rw-r--r--src/libcamera/meson.build16
4 files changed, 18 insertions, 8 deletions
diff --git a/src/libcamera/include/ipa_manager.h b/src/libcamera/include/ipa_manager.h
index 0b5fd2ac..6165efb8 100644
--- a/src/libcamera/include/ipa_manager.h
+++ b/src/libcamera/include/ipa_manager.h
@@ -40,8 +40,10 @@ private:
bool isSignatureValid(IPAModule *ipa) const;
+#if HAVE_IPA_PUBKEY
static const uint8_t publicKeyData_[];
static const PubKey pubKey_;
+#endif
};
} /* namespace libcamera */
diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp
index 7de1404e..50b6792d 100644
--- a/src/libcamera/ipa_manager.cpp
+++ b/src/libcamera/ipa_manager.cpp
@@ -304,6 +304,7 @@ std::unique_ptr<IPAInterface> IPAManager::createIPA(PipelineHandler *pipe,
bool IPAManager::isSignatureValid(IPAModule *ipa) const
{
+#if HAVE_IPA_PUBKEY
File file{ ipa->path() };
if (!file.open(File::ReadOnly))
return false;
@@ -319,6 +320,9 @@ bool IPAManager::isSignatureValid(IPAModule *ipa) const
<< (valid ? "valid" : "not valid");
return valid;
+#else
+ return false;
+#endif
}
} /* namespace libcamera */
diff --git a/src/libcamera/ipa_pub_key.cpp.in b/src/libcamera/ipa_pub_key.cpp.in
index e1fe287c..7ffc1e24 100644
--- a/src/libcamera/ipa_pub_key.cpp.in
+++ b/src/libcamera/ipa_pub_key.cpp.in
@@ -2,7 +2,7 @@
/*
* Copyright (C) 2020, Laurent Pinchart <laurent.pinchart@ideasonboard.com>
*
- * ipa_key.cpp - IPA module signing public key
+ * ipa_pub_key.cpp - IPA module signing public key
*
* This file is auto-generated. Do not edit.
*/
@@ -11,10 +11,12 @@
namespace libcamera {
+#if HAVE_IPA_PUBKEY
const uint8_t IPAManager::publicKeyData_[] = {
${ipa_key}
};
const PubKey IPAManager::pubKey_{ { IPAManager::publicKeyData_ } };
+#endif
} /* namespace libcamera */
diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build
index c502450c..dcd2fb49 100644
--- a/src/libcamera/meson.build
+++ b/src/libcamera/meson.build
@@ -101,13 +101,15 @@ version_cpp = vcs_tag(command : [gen_version, meson.build_root()],
libcamera_sources += version_cpp
-gen_ipa_pub_key = files('gen-ipa-pub-key.py')
-ipa_pub_key_cpp = custom_target('ipa_pub_key_cpp',
- input : [ ipa_priv_key, 'ipa_pub_key.cpp.in' ],
- output : 'ipa_pub_key.cpp',
- command : [ gen_ipa_pub_key, '@INPUT@', '@OUTPUT@' ])
-
-libcamera_sources += ipa_pub_key_cpp
+if ipa_sign_module
+ gen_ipa_pub_key = files('gen-ipa-pub-key.py')
+ ipa_pub_key_cpp = custom_target('ipa_pub_key_cpp',
+ input : [ ipa_priv_key, 'ipa_pub_key.cpp.in' ],
+ output : 'ipa_pub_key.cpp',
+ command : [ gen_ipa_pub_key, '@INPUT@', '@OUTPUT@' ])
+
+ libcamera_sources += ipa_pub_key_cpp
+endif
libcamera_deps = [
libatomic,