- Both implementations implement `AdvertisementDecoder` interface and provide the
concrete implementation for AdvertisementDecoderImpl
- cleanup missing includes as complained about by clang-tidy
PiperOrigin-RevId: 621187625
- Removes banned_data_types_, PUBLIC identity advertisements will never have
any corresponding credentials anyways, so decryption will always be skipped
and this is now guarenteed by asserts in UpdatePublicCredentials
- Filtering adv based on identity is moved into advertisement Filter which
already contains the requested identity info from scan_request
- LegacyPresenceScanFilter is no longer used by AdvertisementDecoder since
this is not being used anywhere at the moment
- Cleanup miscellaneous clang-tidy lints about missing or unused includes
PiperOrigin-RevId: 620086399
- this decouples filtering logic from advertisement decoding logic
in preparation for introducing a Rust backed impl of
AdvertisementDecoder
- this change is only a refactor and does not change functionality
in any way
PiperOrigin-RevId: 618978564
Once the encryption protocol has been completed successfully, authentication the connection using the registered DeviceProvider from the ClientProxy. For the Nearby Presence MVP, this will be the PresenceDeviceProvider and will only support outgoing connections, which is why the responder role is not used. The result (success or failure) is passed back to callers via the EndpointManager. See go/cros-nearby-presence-np-nc-authentication for details.
PiperOrigin-RevId: 611255632
In order to construct the `ConnectionsAuthenticationTransport` and authentication the connection with the `DeviceProvider`, the remote NearbyDevice and EndpointManager used in RequestConnectionV3() must be passed through the encryption protocol as parameters. This CL accomplishes this; it passes the remote NearbyDevice and EndpointManager through a successful encryption flow by introducting new functions to support this V3 protocol. They will be used in a follow up CL to authenticate the connection. See go/cros-nearby-presence-np-nc-authentication for details.
PiperOrigin-RevId: 610810602
Adds authentication status to `ConnectionInfo`, which will pass the result of the authentication to clients when the connection is complete. See go/cros-nearby-presence-np-nc-authentication for details. This will be used in follow up CL to communicate the authentication status to clients of RequestConnectionV3().
PiperOrigin-RevId: 606789503
Constructs a Presence frame using BuildSignedMessageAsInitiator() and write to the AuthenticationTransport for authentication. In follow up CL's, authentication protocol will read the message from the remote device and verify it - see go/cros-nearby-presence-np-nc-authentication for details.
PiperOrigin-RevId: 603776791
Fetch the local credentials and select the correct local credential by verifying the validity of the time. This CL will be followed by
using the selected local credential for authentication. See go/cros-nearby-presence-np-nc-authentication for details.
PiperOrigin-RevId: 603772266
Expose APIs to fetch local credentials from the CredentialManager, which will be used to fetch a local credential to be used for authentication in follow up CL's. See go/cros-nearby-presence-np-nc-authentication for details.
PiperOrigin-RevId: 601781066
Cache the manager app id sent in UpdateLocalDeviceMetadata() (which is called
every time the service is started up). The manager app id and the account name (which is stored in the already cached Metadata) is needed to fetch the credentials used during connection authentication.
See [Anay's one pager](https://docs.google.com/document/d/1bffDNH-he4qteN3MxkbUz-P2xFoIniO088sRiTc-kkE/edit?usp=sharing) for more details.
PiperOrigin-RevId: 572067964
To make the nearby_presence_unittests.cc more percise, the test should create the metadata and pass it to the fake client instead of the client creating it. This change also allows for the unittests to use RunLoop instead of RunUntilIdeal in multiple places.
Bug: b/285015071
PiperOrigin-RevId: 553297388