Commit Graph
55 Commits
Author SHA1 Message Date
Stefan Profanter 0a6ccdbe44 feat(server): Integrate node id header generation into nodeset compiler 2020-04-10 15:30:03 +02:00
Julius Pfrommer da7eebebe2 build(core): Rename UA_COMPILE_AS_CXX to UA_FORCE_CPP
For consistent naming of flags that force compiler settings.
2020-02-17 22:26:03 +01:00
Julius Pfrommer 1c03dd500a fix(build): The check library has removed the compat target on win32 2020-01-06 09:27:53 +01:00
Stefan Profanter 33c93905da fix(cmake): Add IMPORT_BSD option from generate_datatypes to upper generate_ns_and_datatypes 2019-12-09 12:28:20 +01:00
Stefan Profanter f68e134460 feat(ns): Add possibility to blacklist nodes from nodeset generator
Blacklisting nodes is now possible through a special blacklist file.
If a node is blacklisted, the node itself and all references to that node are deleted.

Example blacklist file content for blacklisting specific node ids

(lines starting with `#` are comments/deactivated)

```text
i=79
i=83
i=94
#i=95
#i=96
i=97
i=98
i=99

ns=http://opcfoundation.org/UA/DI/;i=6555
ns=http://opcfoundation.org/UA/DI/;i=6564
#ns=http://opcfoundation.org/UA/DI/;i=15031
#ns=http://opcfoundation.org/UA/DI/;i=15032
```
2019-11-22 13:10:16 +01:00
Julius Pfrommer c04429b824 fix(build): Fix use of check_c_compiler_flag and avoid add_definitions 2019-10-30 14:07:57 +01:00
Julius Pfrommer b188c309e9 Merge branch '1.0' 2019-09-19 16:04:36 +02:00
Christian Hitz 441ac87bfa build: mark mbedTLS libraries as imported
This prevents absolute paths for these libraries in open62541Targets.cmake
2019-09-16 17:10:31 +02:00
Julius Pfrommer 4386ba3a78 CMake: Fix using check on Debian Buster 2019-08-22 18:14:35 +02:00
Julius Pfrommer 70b81fc432 CMake: Fix using check on Debian Buster 2019-08-22 07:51:39 +02:00
Julius Pfrommer 3bf63f8cf6 Update FindCheck to upstream version 2019-08-22 07:51:39 +02:00
Stefan Profanter bfdb9953dd Merge remote-tracking branch 'upstream/1.0' into master 2019-08-14 18:17:47 +02:00
Julius Pfrommer a709ff6bd5 Update FindCheck to upstream version 2019-08-13 07:08:14 +02:00
Stefan Profanter 58d2864454 docs: Add note about OPEN62541_VERSION option 2019-08-13 06:21:47 +02:00
Stefan Profanter 24e82255a7 Merge branch 'auto_version' into master 2019-08-09 12:59:05 +02:00
Stefan Profanter 7a651fcc86 ci: Auto-generate version numbers from git describe output 2019-08-09 11:07:43 +02:00
matkonnerth 347a486f53 WebSocketTransport: base implementation
add compile definitions for websocket server
	geändert:       CMakeLists.txt
	geändert:       plugins/ua_config_default.c

fix CMakeLists

fix missing callback for UA_Connection

remove mountpoint, not necessary

set timeout of lws_service to zero, otherwise it will block the main event loop

narrow scope of variable

add logging

rework serverconfig
	geändert:       CMakeLists.txt
	geändert:       examples/tutorial_server_variable.c
	geändert:       plugins/include/open62541/server_config_default.h
	geändert:       plugins/ua_config_default.c

add send queue

fix rx,tx buffer size

fix memory leaks, cmake config

apply code formatter
	modified:   arch/network_ws.c

remove global variables

remove global vars
	geändert:       CMakeLists.txt
	geändert:       arch/network_ws.c

remove unnecessary comments
2019-07-24 20:05:10 +02:00
Stefan Profanter 6418309cf5 DatatypeGenerator: Allow to import additional types as dependency
Fixes #2896

Exemplary call for GDS:

```
    # Generate types and namespace for GDS
    ua_generate_datatypes(
        NAME "types_gds"
        TARGET_SUFFIX "types-gds"
        NAMESPACE_IDX 0
        FILE_CSV "${FILE_NS_DIRPREFIX}/GDS/OpcUaGdsModel.csv"
        FILES_BSD "${FILE_NS_DIRPREFIX}/GDS/Opc.Ua.Gds.Types.bsd"
        IMPORT_BSD "UA_TYPES#${FILE_NS_DIRPREFIX}/Schema/Opc.Ua.Types.bsd"
    )
```
2019-07-23 12:26:26 +02:00
miehe-dup 614891fca5 Update FindClangTools.cmake
Clang tools typo
2019-07-16 14:27:03 +02:00
Julius Pfrommer 031be7f301 Tests: Fix FindCheck on MinGW 2019-06-06 02:32:09 +02:00
Stefan Profanter 6cb5799a74 NodesetCompiler: remove unused generate-ns0 option 2019-05-08 09:07:38 +02:00
Stefan Profanter c7d2daa58a NodesetCompiler: Remove unused --encode-binary-size 2019-05-08 09:07:38 +02:00
Stefan Profanter fcbbf7db7a CMake: Copy missing files to build dir to allow usage of -Dopen62541_DIR 2019-04-05 12:15:36 +00:00
Stefan Profanter 63f3653ff1 Additional header cleanup and consistent name of ns generated files 2019-03-21 20:16:31 +01:00
Julius Pfrommer c9c818868f Move header files to a more unix-like structure
This commit drops the 'ua_' prefix and changes the public includes
to the form `#include <open62541/server.h>` instead of the old
`#include <ua_server.h>`
2019-03-21 20:16:31 +01:00
Stefan Profanter 58d08d5dc2 Linting: Additional fixes and cleanup 2019-03-13 14:51:01 +01:00
Benjamin Bara 648498145b CMake: add static analyzer during build process (by option) 2019-03-13 14:51:01 +01:00
bbara ea6b129ae7 CMake: enable IPO and additional hardening (#1732)
Hey,

looked into #1680. Checked provided info ([1]), but also additional sources.

- Added functionality to check if flag is supported by compiler.
- Activated stack-protector-strong (should be default anyway) for the normal build. Not sure why Release was built without.
- Added additional run-time buffer overflow detection (which needs at least -O1).
- (Therefore) Activated -O2 as default Release optimization.
- Added Link-Time-Optimization (-flto)/Inter-Procedural-Optimization (IPO).
- Added two future compiler checks, which currently signalize their activity with a cmake warning.

- Added Release unit testing on Travis.

Any further ideas?

[1] https://developers.redhat.com/blog/2018/03/21/compiler-and-linker-flags-gcc/
[2] https://blog.regehr.org/archives/1307
[3] https://wiki.debian.org/Hardening
[4] https://blog.quarkslab.com/clang-hardening-cheat-sheet.html
2019-03-11 09:07:33 +01:00
Stefan Profanter 8c77bf35d5 DatatypeGenerator: Check for valid node id in csv
If there's a type definition in the .bsd file, but there is no corresponding
entry in the .csv, then the old code silently set the type id to NODEID_NULL.

This will then cause the server to fail on a later stage. To avoid this,
the datatype generator should check this immediately and inform the user.
2019-02-27 11:43:53 +01:00
Silvio Traversaro 5604203989 Fix macros_public.cmake when used with Unix Makefiles CMake generator 2019-02-26 01:38:19 +01:00
Julius Pfrommer e2df239750 CMake: Make the default examples not depend on the ua-nodeset submodule 2019-02-20 17:40:10 +01:00
Stefan Profanter 4b2c73cd54 CMake: Add specific target for nodeid header generator 2018-12-04 14:50:45 +01:00
Stefan Profanter 05d4cd4f45 CMake: Correctly handle generation macros when installed 2018-12-04 14:50:45 +01:00
Stefan Profanter a17733c46c Add ua_generate_nodeset_and_datatypes macro to simplify nodeset generation 2018-11-05 15:40:11 +01:00
Stefan Profanter 7d5be84376 NodesetCompiler: Add ua_generate_nodeset CMake macro
This makes nodeset compilation easier by providing a wrapper macro.
2018-11-05 15:40:11 +01:00
Stefan Profanter 0840848622 NodesetCompiler: Add ua_generate_datatypes CMake macro
This macro simplyfies the usage of the generate_datatypes.py script
2018-11-05 15:40:11 +01:00
Jose Cabral ae149eb6d5 Merge branch 'master' into feature/architectures 2018-06-27 09:05:30 +02:00
Stefan Profanter 6d44b199ef Use Dockerized travis builds and add gcc8 build to matrix 2018-06-27 07:08:13 +02:00
Jose Cabral 38fb5bb338 Fix wrongly included common architecture files 2018-05-30 11:27:26 +02:00
Stefan Profanter a0d6e2b166 Further adaption to architecture folder
# Conflicts:
#	plugins/ua_log_socket_error.h
2018-04-16 13:13:00 +02:00
Jose Cabral 108fcddbba Split architecture related functions to separated folder 2018-04-16 13:11:46 +02:00
Jose Cabral 57b342a889 Create skeleton of folders and move tcp defines 2018-04-16 13:11:46 +02:00
Stefan Profanter 4da21f73c2 Add cmake option for different platforms 2018-04-16 13:11:46 +02:00
Stefan Profanter 3ccef0c033 Use static linking for oss-fuzz 2018-02-15 21:38:36 +01:00
Stefan Profanter 2be85c4381 Add mbedtls installation 2018-02-08 07:28:00 +00:00
Infinity95 adf793b2ef Implement SecurityPolicy#Basic128Rsa15 with mbedTLS
seed rng correctly, don't use md_internal.h

move sha1 message digest into policy context

less casting in methods
2018-01-17 15:05:00 +01:00
Stefan Profanter 3619afb6bd Add unit test for windows 2017-11-22 15:56:50 +01:00
Pierre cdfc51b138 Update open62541-config.cmake.in
Missing the open62541_TOOLS_DIR variable
2017-07-06 13:07:09 +02:00
Kravtsov Maksim 71c772adea Configuration for the compile under QNX6.5 (#995)
* Configuration for the compile under QNX6.5

* Errors corrected

* Errors corrected
2017-03-17 21:13:41 +01:00
XB32Z cd3ea46cc4 Modern cmake for a self configurable relocatable install patern 2017-02-27 10:14:30 +01:00