Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow rule and Deny rule not checked in create_topic? #4336

Open
1 task done
mirusu400 opened this issue Jan 30, 2024 · 0 comments
Open
1 task done

Allow rule and Deny rule not checked in create_topic? #4336

mirusu400 opened this issue Jan 30, 2024 · 0 comments
Labels
triage Issue pending classification

Comments

@mirusu400
Copy link

mirusu400 commented Jan 30, 2024

Is there an already existing issue for this?

  • I have searched the existing issues

Expected behavior

When we add a topic in deny_rule using governance.xml and permissions.xml, we should cannot make topic given DomainParticipant::create_topic function.

Current behavior

When we add a topic in deny_rule using governance.xml and permissions.xml, DomainParticipant::create_topic are just worked even topics are in deny_rule.

static bool check_rule(
const char* topic_name,
const Rule& rule,
const std::vector<std::string>& partitions,
const std::vector<Criteria>& criterias,
SecurityException& exception)
{
bool returned_value = false;
if (rule.allow)

The check_rule function which checks rule of topis only runs on these functions: Permissions::check_create_datawriter, Permissions::check_create_datareader, Permissions::check_remote_datawriter, Permissions::check_remote_datareader, but not on topic.

Steps to reproduce

FastDDS-api-poc.zip

  1. unzip given poc file.
mkdir build
cd buid
cmake ..
make
./main

We cannot make topic, but PoC publisher successfully make topic and running 10 samples.

Fast DDS version/commit

  • FastCDR commit 3c6195aefd11d46395caf7d8b29019b5ef5aaefd (HEAD -> master, origin/master, origin/HEAD, origin/2.1.x)
  • FastDDS commit e94c4b1 (HEAD -> 2.13.1, tag: v2.13.1, origin/2.13.1)
  • clang 11

Platform/Architecture

Other. Please specify in Additional context section.

Transport layer

UDPv4

Additional context

We should check rules when creating a topic.

Relevant sections of DDS Security v1.1 include:
8.4.2.9.6 Operation: check_create_topic
8.8.5 AccessControl behavior with local domain entity creation
9.4.3 DDS:Access:Permissions plugin behavior

XML configuration file

No response

Relevant log output

No response

Network traffic capture

No response

@mirusu400 mirusu400 added the triage Issue pending classification label Jan 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage Issue pending classification
Projects
None yet
Development

No branches or pull requests

1 participant