Commit graph

9 commits

Author SHA1 Message Date
dennis-adlink
0e6fd30a8c Validation in deserializer (#36)
* Validation in Deserializer

Added validation in CDR deserialization: max buffer length is checked
when deserializing fields and strings are checked for null-terminator
(except for wstrings, which are serialized without null-terminator).

Signed-off-by: Dennis Potman <dennis.potman@adlinktech.com>

* Catch exceptions in serdata functions

In serdata functions rmw_print, rmw_to_sample and rmw_from_sample
catch exceptions so that correct return code is given when functions
are called from ddsi.

Signed-off-by: Dennis Potman <dennis.potman@adlinktech.com>

* Improve deserialisation validation

Refactored the deserialisation validation functions so that sequence
length is checked more properly and protection against overflows.
Renamed source files for exceptions so that it conforms to ros2 /
google c++ style guide.

Signed-off-by: Dennis Potman <dennis.potman@adlinktech.com>
2019-09-19 11:56:26 +02:00
Dan Rose
b39efafd62 make cyclonedds vender package play nice with colcon (#34)
* Un-vendor cyclonedds

Upstream changes in https://github.com/eclipse-cyclonedds/cyclonedds/pull/256 should make this unnecessary and allow you to clone the package into your ROS workspace.

* Remove obsolete gitignore

* Recommend cloning eclipse-cyclonedds/cyclonedds
2019-09-18 19:49:39 +02:00
Scott K Logan
e849c71122 Address CMake and uncrustify linter violations 2019-09-18 10:26:39 +02:00
Dan Rose
3edf332573 Use rosdep (#32)
* Add Cyclone DDS build dependencies for rosdep

* Update README.md

Change apt install commands to rosdep install.

* build_depend -> buildtool_depend for maven and java

* Add vendor package to build cyclonedds from source

Remove maven and java dependency (thanks, @eboasson)

* remove --symlink-build flag

this obscures the intention of the code and sophisticated users can choose whether to use it or not.

* add rosdep to readme
2019-09-13 11:54:06 +02:00
Erik Boasson
a63cc8b84d Multi-domain support
Depends on some improvements to Cyclone, source compatible with versions
that lack those improvements.

Signed-off-by: Erik Boasson <eb@ilities.com>
2019-09-11 10:00:46 +02:00
Erik Boasson
10f18f0525 Add wstring support
Signed-off-by: Erik Boasson <eb@ilities.com>
2019-08-19 11:13:13 +02:00
Erik Boasson
c9a23a9b8a update for Cyclone DDS changes and ROS2 changes
The changes in this commit make it compile with ROS2 Crystal Clemmys and
current Cyclone DDS.  The RMW interface of ROS2 was modified in some
ways and extended in some other ways since Bouncy Bolson; and similarly,
Cyclone now has a somewhat reasonable interface for custom sample
representations and serialization, but the code in this commit probably
contains mistakes in using it.

Therefore, the expectation should be that this doesn't actually work
just yet, though it probably is quite close.  As the old state wouldn't
build at all with any version of Cyclone DDS except the early commits,
this is significant progress already.
2019-04-29 10:08:59 +02:00
Erik Boasson
40a042c6dc replace FastCDR and serialise straight into a serdata to avoid an extra copy 2018-07-19 16:37:12 +02:00
Erik Boasson
01ef31359a initial commit 2018-07-09 13:22:25 +02:00