Browse Source

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 years ago
parent
commit
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_ */