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

Problem with routing when name of destination is added to the request key #6286

Closed
lamabro23 opened this issue Jul 27, 2022 · 2 comments
Closed
Assignees
Labels
Closed: Fixed Issue was closed as fixed. Future work

Comments

@lamabro23
Copy link
Contributor

During my development of a centralized D-Bus topology, I have run into a problem with routing SetActive and SetInconsistent method triggers after the changes in from this commit are applied to SSSD.

The current workaround is to comment out SSS_BUS_IFP from all_clients[] in dp_resp_client.c (as can be seen here) after which everything works without a problem.

@pbrezina
Copy link
Member

Related to #6257

pbrezina added a commit to pbrezina/sssd that referenced this issue Oct 4, 2023
We do not require any reply from the destination so signals are
much better format for these calls.

Resolves: SSSD#6286
pbrezina added a commit to pbrezina/sssd that referenced this issue Oct 4, 2023
We do not require any reply from the destination so signals are
much better format for these calls.

Resolves: SSSD#6286
pbrezina added a commit to pbrezina/sssd that referenced this issue Oct 5, 2023
We are moving to have a single dbus server, therefore we need to
consider the destination when chaining individuall requests.

This actually revealed a bug in current implementation of provider
notifications from dp_resp_client.c. Since all requests were send
over single bus (the monitor), they were changed any only the first
request (to nss responder) reached the destination and other processes
were never notified.

With the destination added to the key, the requests are no longer
chained and all processes are notified, including PAM which suddenly
broke smartcards tests that were using the files provider. The files
domain were inconsistent and under refresh when the authentication
was attempted. We need to wait for the refresh to be finished so the
test can continue.

Resolves: SSSD#6286
pbrezina added a commit to pbrezina/sssd that referenced this issue Oct 26, 2023
We are moving to have a single dbus server, therefore we need to
consider the destination when chaining individual requests.

This actually revealed a bug in current implementation of provider
notifications from dp_resp_client.c. Since all requests were send
over single bus (the monitor), they were chained any only the first
request (to nss responder) reached the destination and other processes
were never notified.

With the destination added to the key, the requests are no longer
chained and all processes are notified, including PAM which suddenly
broke smartcards tests that were using the files provider. The files
domain were inconsistent and under refresh when the authentication
was attempted. We need to wait for the refresh to be finished so the
test can continue.

Resolves: SSSD#6286
pbrezina added a commit to pbrezina/sssd that referenced this issue Oct 27, 2023
We are moving to have a single dbus server, therefore we need to
consider the destination when chaining individual requests.

This actually revealed a bug in current implementation of provider
notifications from dp_resp_client.c. Since all requests were send
over single bus (the monitor), they were chained any only the first
request (to nss responder) reached the destination and other processes
were never notified.

With the destination added to the key, the requests are no longer
chained and all processes are notified, including PAM which suddenly
broke smartcards tests that were using the files provider. The files
domain were inconsistent and under refresh when the authentication
was attempted. We need to wait for the refresh to be finished so the
test can continue.

Resolves: SSSD#6286
@pbrezina
Copy link
Member

pbrezina commented Nov 1, 2023

Pushed PR: #6971

  • master
    • 9ece4e1 - dp: build dp_sbus_domain_active/inconsistent only with files provider
    • 10c1942 - sbus: make sbus_connect_private_send static
    • 174fb9e - sbus: log sender of received message
    • 9a47e2b - dp: remove client registration code
    • 8b47a9a - backend: connect to private dbus in a blocking way
    • 529af40 - sss_iface: split connection to dbus server and service registration
    • d9b2b8e - sbus: disable chaining for SetActive and SetInconsistent
    • ab486cb - sbus: convert calls in dp_resp_client.c into signals
    • a25b16e - sbus: correctly handle reply on signal chaining
    • 9f8551a - sbus: centralize communication to a single dbus server
    • b9c1d7d - sbus: add destination to request key
    • 83eec36 - sbus: store dbus connection name in domain.conn_name

@pbrezina pbrezina added the Closed: Fixed Issue was closed as fixed. label Nov 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Closed: Fixed Issue was closed as fixed. Future work
Projects
None yet
Development

No branches or pull requests

3 participants