Просмотр исходного кода

Always include security policies in the amalgamated source file

This allows enabling or disabling security at build time when
the amalgamated distribution is used.
Jannis Voelker лет назад: 6
Родитель
Сommit
88980e971f

+ 7 - 9
CMakeLists.txt

@@ -661,15 +661,13 @@ if(UA_GENERATED_NAMESPACE_ZERO)
     list(APPEND lib_sources ${PROJECT_BINARY_DIR}/src_generated/ua_namespace0.c)
 endif()
 
-if(UA_ENABLE_ENCRYPTION)
-    list(APPEND default_plugin_headers
-         ${PROJECT_SOURCE_DIR}/plugins/securityPolicies/ua_securitypolicy_mbedtls_common.h)
-    list(APPEND default_plugin_sources
-         ${PROJECT_SOURCE_DIR}/plugins/securityPolicies/ua_securitypolicy_mbedtls_common.c
-         ${PROJECT_SOURCE_DIR}/plugins/securityPolicies/ua_securitypolicy_basic128rsa15.c
-         ${PROJECT_SOURCE_DIR}/plugins/securityPolicies/ua_securitypolicy_basic256.c
-         ${PROJECT_SOURCE_DIR}/plugins/securityPolicies/ua_securitypolicy_basic256sha256.c)
-endif()
+list(APPEND default_plugin_headers
+    ${PROJECT_SOURCE_DIR}/plugins/securityPolicies/ua_securitypolicy_mbedtls_common.h)
+list(APPEND default_plugin_sources
+    ${PROJECT_SOURCE_DIR}/plugins/securityPolicies/ua_securitypolicy_mbedtls_common.c
+    ${PROJECT_SOURCE_DIR}/plugins/securityPolicies/ua_securitypolicy_basic128rsa15.c
+    ${PROJECT_SOURCE_DIR}/plugins/securityPolicies/ua_securitypolicy_basic256.c
+    ${PROJECT_SOURCE_DIR}/plugins/securityPolicies/ua_securitypolicy_basic256sha256.c)
 
 if(UA_ENABLE_DISCOVERY)
     list(INSERT internal_headers 13 ${PROJECT_SOURCE_DIR}/src/server/ua_discovery_manager.h)

+ 11 - 7
plugins/securityPolicies/ua_securitypolicy_basic128rsa15.c

@@ -5,6 +5,15 @@
  *    Copyright 2018 (c) Mark Giraud, Fraunhofer IOSB
  */
 
+#include "ua_types.h"
+#include "ua_plugin_pki.h"
+#include "ua_securitypolicies.h"
+#include "ua_securitypolicy_mbedtls_common.h"
+#include "ua_types_generated_handling.h"
+#include "ua_util.h"
+
+#ifdef UA_ENABLE_ENCRYPTION
+
 #include <mbedtls/aes.h>
 #include <mbedtls/md.h>
 #include <mbedtls/x509_crt.h>
@@ -15,13 +24,6 @@
 #include <mbedtls/version.h>
 #include <mbedtls/sha1.h>
 
-#include "ua_types.h"
-#include "ua_plugin_pki.h"
-#include "ua_securitypolicies.h"
-#include "ua_securitypolicy_mbedtls_common.h"
-#include "ua_types_generated_handling.h"
-#include "ua_util.h"
-
 /* Notes:
  * mbedTLS' AES allows in-place encryption and decryption. Sow we don't have to
  * allocate temp buffers.
@@ -864,3 +866,5 @@ UA_SecurityPolicy_Basic128Rsa15(UA_SecurityPolicy *policy,
 
     return policyContext_newContext_sp_basic128rsa15(policy, localPrivateKey);
 }
+
+#endif

+ 11 - 7
plugins/securityPolicies/ua_securitypolicy_basic256.c

@@ -6,13 +6,6 @@
  *    Copyright 2018 (c) Daniel Feist, Precitec GmbH & Co. KG
  */
 
-#include <mbedtls/aes.h>
-#include <mbedtls/entropy.h>
-#include <mbedtls/entropy_poll.h>
-#include <mbedtls/error.h>
-#include <mbedtls/version.h>
-#include <mbedtls/sha1.h>
-
 #include "ua_types.h"
 #include "ua_plugin_pki.h"
 #include "ua_securitypolicies.h"
@@ -20,6 +13,15 @@
 #include "ua_types_generated_handling.h"
 #include "ua_util.h"
 
+#ifdef UA_ENABLE_ENCRYPTION
+
+#include <mbedtls/aes.h>
+#include <mbedtls/entropy.h>
+#include <mbedtls/entropy_poll.h>
+#include <mbedtls/error.h>
+#include <mbedtls/version.h>
+#include <mbedtls/sha1.h>
+
 /* Notes:
  * mbedTLS' AES allows in-place encryption and decryption. Sow we don't have to
  * allocate temp buffers.
@@ -811,3 +813,5 @@ UA_SecurityPolicy_Basic256(UA_SecurityPolicy *policy,
 
     return policyContext_newContext_sp_basic256(policy, localPrivateKey);
 }
+
+#endif

+ 11 - 7
plugins/securityPolicies/ua_securitypolicy_basic256sha256.c

@@ -6,6 +6,15 @@
  *    Copyright 2018 (c) Daniel Feist, Precitec GmbH & Co. KG
  */
 
+#include "ua_types.h"
+#include "ua_plugin_pki.h"
+#include "ua_securitypolicies.h"
+#include "ua_securitypolicy_mbedtls_common.h"
+#include "ua_types_generated_handling.h"
+#include "ua_util.h"
+
+#ifdef UA_ENABLE_ENCRYPTION
+
 #include <mbedtls/aes.h>
 #include <mbedtls/md.h>
 #include <mbedtls/sha256.h>
@@ -17,13 +26,6 @@
 #include <mbedtls/version.h>
 #include <mbedtls/sha1.h>
 
-#include "ua_types.h"
-#include "ua_plugin_pki.h"
-#include "ua_securitypolicies.h"
-#include "ua_securitypolicy_mbedtls_common.h"
-#include "ua_types_generated_handling.h"
-#include "ua_util.h"
-
 /* Notes:
  * mbedTLS' AES allows in-place encryption and decryption. Sow we don't have to
  * allocate temp buffers.
@@ -857,3 +859,5 @@ UA_SecurityPolicy_Basic256Sha256(UA_SecurityPolicy *policy,
 
     return policyContext_newContext_sp_basic256sha256(policy, localPrivateKey);
 }
+
+#endif

+ 9 - 5
plugins/securityPolicies/ua_securitypolicy_mbedtls_common.c

@@ -1,3 +1,10 @@
+#include "ua_types.h"
+#include "ua_plugin_pki.h"
+#include "ua_securitypolicies.h"
+#include "ua_securitypolicy_mbedtls_common.h"
+
+#ifdef UA_ENABLE_ENCRYPTION
+
 #include <mbedtls/aes.h>
 #include <mbedtls/md.h>
 #include <mbedtls/x509_crt.h>
@@ -8,11 +15,6 @@
 #include <mbedtls/version.h>
 #include <mbedtls/sha1.h>
 
-#include "ua_types.h"
-#include "ua_plugin_pki.h"
-#include "ua_securitypolicies.h"
-#include "ua_securitypolicy_mbedtls_common.h"
-
 void
 swapBuffers(UA_ByteString *const bufA, UA_ByteString *const bufB) {
     UA_ByteString tmp = *bufA;
@@ -237,3 +239,5 @@ mbedtls_decrypt_rsaOaep(mbedtls_pk_context *localPrivateKey,
     data->length = outOffset;
     return UA_STATUSCODE_GOOD;
 }
+
+#endif

+ 5 - 4
plugins/securityPolicies/ua_securitypolicy_mbedtls_common.h

@@ -8,6 +8,9 @@
 #define UA_SECURITYPOLICY_MBEDTLS_COMMON_H_
 
 #include "ua_plugin_securitypolicy.h"
+
+#ifdef UA_ENABLE_ENCRYPTION
+
 #include <mbedtls/md.h>
 #include <mbedtls/x509_crt.h>
 #include <mbedtls/ctr_drbg.h>
@@ -16,8 +19,6 @@
 
 _UA_BEGIN_DECLS
 
-#ifdef UA_ENABLE_ENCRYPTION
-
 void
 swapBuffers(UA_ByteString *const bufA, UA_ByteString *const bufB);
 
@@ -56,8 +57,8 @@ mbedtls_decrypt_rsaOaep(mbedtls_pk_context *localPrivateKey,
                         mbedtls_ctr_drbg_context *drbgContext,
                         UA_ByteString *data);
 
-#endif
-
 _UA_END_DECLS
 
+#endif
+
 #endif /* UA_SECURITYPOLICY_MBEDTLS_COMMON_H_ */