1
0
mirror of https://github.com/FreeOpcUa/freeopcua synced 2025-10-26 19:56:54 +08:00
Commit Graph

1344 Commits

Author SHA1 Message Date
Denis Štogl
96ab64f8aa
Add GitHub Actions CI config 2021-01-07 16:22:06 +01:00
Denis Štogl
bd13aee245
Merge pull request #366 from Sam071100/master
Updated Readme.md
2021-01-07 16:02:50 +01:00
Denis Štogl
6b6304e42a
Merge pull request #356 from morxa/use-system-spdlog
Use system spdlog if available
2020-11-23 21:20:21 +01:00
Shubham Samrat
0e558f9615
Updated Readme.md 2020-10-01 00:05:14 +05:30
Denis Štogl
d24d7806a7
Merge pull request #361 from morxa/boost-173-std-algorithm-includes
Add missing includes to algorithm header
2020-06-17 10:52:00 +02:00
Denis Štogl
f7c41d25dc
Merge pull request #359 from vmatare/master
model_impl.h: add missing <algorithm> include
2020-06-17 10:50:17 +02:00
Till Hofmann
0310faf4dc Add missing includes to algorithm header
Those were previously pulled in by boost headers, but are not anymore
with boost 1.73, resulting in a build failure.
2020-06-03 17:07:48 +02:00
Victor Mataré
f72d80cd47 model_impl.h: add missing <algorithm> include 2020-05-16 00:02:31 +02:00
Till Hofmann
eef4bb702f Add extra cflags to all pkgconfig file templates 2020-04-23 11:32:03 +02:00
Till Hofmann
f550b3974a Use target compile options when adding compile options for spdlog
Instead of setting the global compile options, add the compile options
needed for spdlog to `ADDITIONAL_PUBLIC_COMPILE_OPTIONS`, which is used
by every target. This ensures that the compile option is exported
correctly.
2020-04-23 11:30:28 +02:00
Till Hofmann
58a1174160 Add common additional compile options to all targets 2020-04-23 11:29:24 +02:00
Till Hofmann
93ff3f7423 Export interface compile options when generating pkgconfig files
This also slightly changes the signature of the function. Instead of
expecting the name of the pc file, it expects the target name. This is
necessary to fetch the respective flags from the target.
2020-04-23 11:27:29 +02:00
Till Hofmann
1995648401 Use cmake instead of pkgconfig to find cmake 2020-04-21 23:20:17 +02:00
Till Hofmann
8f0bd3b0ad Detect system-wide installation of spdlog and use if available 2020-04-21 19:53:17 +02:00
Till Hofmann
fd2e53aecc Do not log the logger's log level
With a more recent spdlog, logging the log level fails to compile, due
to an ambiguous overload.
2020-04-21 18:00:47 +02:00
Till Hofmann
958936037d Include spdlog from standard include path 2020-04-21 17:58:55 +02:00
ralf1070
da2b76f9ef
Travis (#346)
* enable VERBOSE option in travis
* fix GUID test
2019-10-10 18:07:44 +02:00
ralf1070
3055f54581
Devel (#345)
Several requested changes of pull requests revised, compatibility

  * make it compile with gcc < 4.9 again
  * compile with newer boost versions (vmatare)
  * cmake update for python (vmatare)
  * compile flags (maartendemunck)
  * strict ordering of sequence numbers (martinhaefner)
  * passwort encryption strategy (martinhaefner)
  * close sockets (DennisLemmers)
  * GUID format (DennisLemmers)
  * use ${CMAKE_INSTALL_LIBDIR} for install (morxa)
2019-10-10 14:33:08 +02:00
Fanda Vacek
6124e550e9 #332 fixed, BinaryClient: std::terminate() is called when exception is (#333)
fix uncatched exception in BinaryClient
2019-05-29 08:50:57 +02:00
ralf1070
2f2c886eb2
make it compile with boost >= 1.66.0 (#324) 2019-01-25 12:05:37 +01:00
Silvan Wegmann
18e5a08531 #292 Update travis.yml to current CI environment
Remove specific installation for GCC-4.8 and repository for Boost-1.54

These are all available in the current travis environment
2018-01-27 15:49:09 -08:00
Fanda Vacek
6ae743c21b
Merge pull request #291 from FreeOpcUa/rsa-oaep
#288 Implement rsa-oaep password encryption also for the binary client
2017-12-12 21:05:41 +01:00
Fanda Vacek
00343aaa84
Merge pull request #290 from fvacek/remove-libxml2
Remove dependency on libxml2
2017-12-12 21:04:04 +01:00
Fanda Vacek
e4172496a3 URI regexp explained 2017-12-08 14:47:15 +01:00
Fanda Vacek
dccb2f83ff MBEDTLS: no hard-coded paths in CMakeLists.txt, enabled by default 2017-12-07 10:00:09 +01:00
Fanda Vacek
1c7bef137d .gitignore updated to ignore QtCreator helper files 2017-12-06 15:51:57 +01:00
Fanda Vacek
fbd5c3a19d local variables in the camelCase according to coding style 2017-12-06 15:49:46 +01:00
Fanda Vacek
a64613feec arbitrary location of mbedtls library 2017-12-06 15:02:08 +01:00
Fanda Vacek
547ba67a5d make ~UaClient() virtual 2017-12-06 13:38:45 +01:00
Fanda Vacek
9646428910 URI CanParseFullURIWithUserAndPassword test added 2017-12-06 11:26:02 +01:00
Fanda Vacek
efda2fd0f3 Remove dependency on libxml2 2017-12-05 18:11:16 +01:00
Fanda Vacek
a68179b031 #288 Implement rsa-oaep password encryption also for the binary client 2017-12-05 15:57:44 +01:00
Jannis Voelker
955cc5b924 Fix handling of ArrayDimensions in Variant
With the current implementation, reading multi-dimensional values
does not work as expected, the ArrayDimensions information is missing.
This is caused by the Dimensions vector being ignored when creating
a Variant from another Variant.

This patch fixes the issue by copying the Dimensions vector in
Variant(const Variant &) and operator=(const Variant &).
2017-11-03 13:33:43 +01:00
sevin
7af0746ff3 cleanup autoreconf autogenerated files 2017-11-03 13:32:18 +01:00
Sevin Arnaud
736793fc5e Conversion of python script in python 3 (using 2to3) 2017-11-03 13:32:18 +01:00
Sevin Arnaud
c69c87112f debug errors with linux compilation 2017-11-03 13:32:18 +01:00
Ralf Müller
cd4841eb80 introduce Node::IsValid() method
- check if Server is not NULL in Node::GetAttribute()
  - check if Node is able to provide its NodeId attribute
2017-10-05 21:39:09 +02:00
Ralf Müller
bae882ed14 reduce stack impact of initialisation
- generate address space create blocks for each created node
  - unfortunately compilers are not forced reuse stack frames of
    blocks which are already done
  - as a result llvm created tremendously huge stack frames for
    generate address space
  - this commit creates separate functions to create nodes, which
    results in an extremly reduced stack usage
2017-10-02 19:02:27 +02:00
Ralf Müller
53335d3da3 force const char* to be stored as std::string
- OpcUa::Variant allows const char* to be stored
  - Variant::Type() is not able to deal with const char* as value
  - while initializing OpcUa node tree we add const char* as Value
    attribute
  - it is not easily possible to traverse our own tree because of that
  - so force const char* to be stored as std::string in Variant to fix
    our node tree
2017-10-02 19:01:53 +02:00
Sebastian Marsching
b49a7e4eb2 Fix Debian build. 2017-10-02 18:59:56 +02:00
ralf1070
56bc37d7bc Logging (#274)
hunting down an event subscription problem I added further debug
capabilities

* add ToString() for VariantType
* moved Event ToString() to all the other ToString's()
2017-09-29 14:48:31 +02:00
ralf1070
f180b09e54 improve debugging (#270)
hunting down an event subscription problem I added further debug
capabilities

* add ToString() for VariantType
* moved Event ToString() to all the other ToString's()
2017-09-29 14:36:43 +02:00
ralf1070
3cb1179321 Silence compiler warnings (#271)
* silence compiler warnings

* fix unused variables

  - fix unused guid variables
  - fix wrong output of ByteString to std::ostream
2017-09-21 09:14:42 +02:00
Ralf Müller
24e6b965e8 relax subscription response handling
- Softing example OPC UA server is a bit sloppy with its answers to event
subscriptions. Instead of mirroring SelectClauses it simply returns
status GOOD with an empty SelectClauses list. We can now deal with that.
  - When generating events the example server can send NULL values for some
  default properties of events. Do not fail in that case and let the
  application handle such events.
2017-09-20 07:43:03 +02:00
ralf1070
bc5a72acf1 improve logging (#264)
- add ToString() for AttributeId
  - add ToString() for ObjectId
  - add ToHexDump() for const char*
  - make codegen.py to create correctly formated files
  - make codegen.py to create ObjectId and AttributeId strings
  - tune log messages/levels
  - fix raw message dumps
  - fix naming of KeepAliveThread in log
2017-09-18 10:16:19 +02:00
ralf1070
a8b655c4cd fix generation of invalid DateTimes on OSX (#265)
No complaints so far ... merge
2017-09-18 10:15:21 +02:00
ralf1070
518ebbf603 allow multiple instances when using classic debug interface (#268)
When intruducing spdlog I tried to keep the external interface
compatible with the old style debug approach.

For multiple instances of clients or servers this failed, as spdlog
keeps track of the names of instanciated loggers and denies to create
duplicate logger names. To allow to use the classic interface with
multiple instances, check if there already is a logger with the name
we want to create.
2017-09-18 10:10:22 +02:00
Ralf Müller
fab75d5732 hopefully fix Node::getProperties()
- fix getParent() to not seg fault when called on default constructed
    node
  - fix getProperties() to not collect parent properties if node is not
    of NodeClass::ObjectType
  - add further convenience method to node to access NodeClass attribute
2017-09-17 19:22:42 +02:00
Ralf Müller
963626225c . 2017-09-17 19:22:42 +02:00
Ralf Müller
c568c23781 convenience methods to set/get AccessLevel/Writemask
- add Set/Get AccessLevel, UserAccessLevel, WriteMask and
    UserWriteMask attributes on node
  - possibly found a bug when initializing Variable nodes - need advice
    here for the values set to WriteMask and UserWriteMask in core/node.cpp
2017-09-17 19:22:42 +02:00