Cargo Features

RustDDS has no features set by default.

[dependencies]
rustdds = { version = "0.11.0", features = ["security", "build_openssl"] }

the science-robotics category is because of ROS2

security

Feature "security" implements the OMG "DDS Security" specification v 1.1
It adds a large amount of new code and dependencies.

Enables bcder

ASN.1 DER encoding

and cms

for ASN.1 parsing

and glob

for reading spec-mandated XML config files

and mailparse

for reading S/MIME-encoded (XML) config files

and ring

Cryptographic primitives

and serde-xml-rs

For DDS Security:
for reading spec-mandated XML config files

and x509-certificate ^0.23

for configuration certificates

and newline-converter and openssl

newline-converter:

helper for handling S/MIME

and tempfile and x509-cert

tempfile:

for calling external openssl command. Remove when no longer used.

and const-oid, cryptoki, and der

const-oid:

more ASN.1

Affects qos::policy.Property, qos::policy.DataTag, statusevents::ParticipantDescription.supports_security, sedp_messages::PublicationBuiltinTopicData.security_info, spdp_participant_data::SpdpDiscoveredParticipantData.identity_token, spdp_participant_data::SpdpDiscoveredParticipantData.permissions_token, spdp_participant_data::SpdpDiscoveredParticipantData.property, spdp_participant_data::SpdpDiscoveredParticipantData.security_info, elements::crypto_content, elements::crypto_footer, elements::crypto_header, submessage::SecuritySubmessage, submessages::secure_body, submessages::secure_postfix, submessages::secure_prefix, submessages::secure_rtps_postfix, submessages::secure_rtps_prefix, constant::AUTHENTICATION_BUILTIN_READERS_INIT_LIST, constant::AUTHENTICATION_BUILTIN_WRITERS_INIT_LIST, constant::SECURE_BUILTIN_READERS_INIT_LIST

build_openssl

If feature "build_openssl" is enabled (along with feature "security"),
a local copy of OpenSSL will be built.
Otherwise, we try to use the system installation of OpenSSL.

Enables vendored of optional openssl