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

Listening on udp/0.0.0.0:7447 the interceptors (downsampling, access control) are not correctly applied per interface #1126

Open
JEnoch opened this issue Jun 12, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@JEnoch
Copy link
Member

JEnoch commented Jun 12, 2024

Describe the bug

This issue has been solved for TCP, TLS, QUIC and WS in #1093.
But the solution for UDP when listening on ANY interface is more complex, since the received frame doesn't directly gave information on the interface the message came from.

To reproduce

  1. Run zenohd with this conf file that denies put on WiFi interface:
{
  listen: {
    endpoints: [ "udp/0.0.0.0:7447" ]
  },
  access_control:{
    enabled:true,
    default_permission:"allow",
    rules:[
      {
        permission:"deny", actions:["put"],
        flows:["ingress"], interfaces: ["wlp1s0"],
        key_exprs:["demo/**"]
      },
    ]
  },
}
  1. Run z_sub -m client -e udp/localhost:7447
  2. Run z_pub -m client -e udp/localhost:7447

The subscriber doesn't receive the publications. It should receive because the traffic only goes via lo interface, and the deny rule is only for WiFi interface.

System info

@JEnoch JEnoch added the bug Something isn't working label Jun 12, 2024
@JEnoch
Copy link
Member Author

JEnoch commented Jun 12, 2024

Solving this issue is not a high priority, since we've seen few usage of UDP transport so far, and without downsampling or access control.
Please shout here if you need a fix 👇 (or better: submit a PR 😉 )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant