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

TargetVideoPlayerInfo::Initialize assumes that CASE connection is synchronous #13044

Open
sharadb-amazon opened this issue Dec 15, 2021 · 8 comments

Comments

@sharadb-amazon
Copy link
Contributor

sharadb-amazon commented Dec 15, 2021

Problem

FindSecureSessionForNode() is being used for legacy tests which use nodeId to send packets and for the tv-casting-app that uses the TV's node ID to find the associated secure session. It is based on using NodeId to locate the SecureSession.
Instead use FindOrEstablishSession()

Complete by by 12/31

Proposed Solution

Get this fixed by making changes to the CHIPDeviceCommissioner
Look into DnssdServer::AdvertiseOperational()
When creating a fabric and a nodeId for itself when commissioning another device, make sure that those get picked up by DnssdServer

@sharadb-amazon sharadb-amazon changed the title Deprecate SessionManager::FindSecureSessionForNode() Deprecate usage of SessionManager::FindSecureSessionForNode() in tv-casting-app Dec 18, 2021
@woody-apple woody-apple added app-clusters Application cluster work spec Mismatch between spec and implementation labels Feb 8, 2022
@bzbarsky-apple
Copy link
Contributor

In #17266 this code was updated to no longer use back-door APIs, but now it's assuming sync callbacks from an operation that might be async (CASE establishment).

@bzbarsky-apple
Copy link
Contributor

That said, this is a problem for this specific example; it's not a spec issue or an app cluster issue.

@bzbarsky-apple bzbarsky-apple added V1.X and removed V1.0 spec Mismatch between spec and implementation app-clusters Application cluster work labels May 5, 2022
@chrisdecenzo
Copy link
Contributor

This issue no longer exists (and the latest code does not have a sync callback dependence), so this can be closed

@bzbarsky-apple
Copy link
Contributor

The sync behavior is still there; it's just moved to TargetVideoPlayerInfo::Initialize

@bzbarsky-apple bzbarsky-apple reopened this May 5, 2022
@bzbarsky-apple bzbarsky-apple changed the title Deprecate usage of SessionManager::FindSecureSessionForNode() in tv-casting-app TargetVideoPlayerInfo::Initialize assumes that CASE connection is synchronous May 5, 2022
@chrisdecenzo
Copy link
Contributor

ok, the Initialization returns an error in the async case but the callback correctly completes the init. This code could be cleaned up but this is not a launch blocker.

@bzbarsky-apple
Copy link
Contributor

but this is not a launch blocker

Agreed; hence the label changes above.

@stale
Copy link

stale bot commented Dec 26, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the stale Stale issue or PR label Dec 26, 2022
@bzbarsky-apple bzbarsky-apple removed the stale Stale issue or PR label Jan 3, 2023
@stale
Copy link

stale bot commented Jul 11, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the stale Stale issue or PR label Jul 11, 2023
@bzbarsky-apple bzbarsky-apple removed the stale Stale issue or PR label Jul 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Todo
Development

No branches or pull requests

5 participants