Commit Graph
504 Commits
Author SHA1 Message Date
Anay Wadhera 6a5626d057 Deprecate use_medium_in_connection_info flag.
PiperOrigin-RevId: 659623189
2024-08-05 11:33:34 -07:00
Anay Wadhera b6829008f2 Deprecate flag kProcessBwuFrameAfterPcpConnected
PiperOrigin-RevId: 659611911
2024-08-05 11:06:05 -07:00
Anay Wadhera 6a638f3042 Split core_internal_test into more manageable targets.
PiperOrigin-RevId: 659571860
2024-08-05 09:04:17 -07:00
Guogang Li c4812a2082 Optimized instant on lost
PiperOrigin-RevId: 659567920
2024-08-05 08:49:36 -07:00
Anay Wadhera 26d5055b13 Deprecate flag kIgnoreUpgradePathAvailableFrameForAdvertiser
PiperOrigin-RevId: 659123571
2024-08-03 11:08:50 -07:00
hai007 6deec6a735 Fix bwu_manager_test.cc
PiperOrigin-RevId: 658595183
2024-08-01 17:33:44 -07:00
hai007 673af15b5a The shutdown flag should be set to true when all virtual sockets are disconnected.
PiperOrigin-RevId: 658149636
2024-07-31 14:49:24 -07:00
hai007 1973a803a8 Fix the flaky test of multiplex_socket_test.
PiperOrigin-RevId: 657728480
2024-07-30 14:21:04 -07:00
hai007 bc77c39d84 This CL logs the safe disconnection result in the analytics recorder.
PiperOrigin-RevId: 655757596
2024-07-24 17:41:00 -07:00
Guogang Li 52c80303e3 Enhance on advertising
PiperOrigin-RevId: 655044204
2024-07-22 23:57:16 -07:00
Anay Wadhera e2aac58f2f Remove CORE_ADAPTER_DLL define
PiperOrigin-RevId: 654136693
2024-07-19 15:05:57 -07:00
hai007 09094110c8 Replace dynamic_cast with down_cast
PiperOrigin-RevId: 654066599
2024-07-19 11:17:05 -07:00
Guogang Li 9cbc4c0950 Add flag for instant on lost feature
PiperOrigin-RevId: 653075398
2024-07-16 20:43:09 -07:00
hai007 25deb0962f Implement Bluetooth Multiplex.
PiperOrigin-RevId: 651921709
2024-07-12 16:52:46 -07:00
hai007 4dccfb192a Automated Code Change
PiperOrigin-RevId: 650801511
2024-07-09 17:03:40 -07:00
Guogang Li d539f6faa6 Added more test cases for reducing BT scanning
PiperOrigin-RevId: 648746008
2024-07-02 09:37:22 -07:00
Guogang Li c5869cf5fc Allow multiple clients to discover on BTC
PiperOrigin-RevId: 648735657
2024-07-02 09:01:50 -07:00
Guogang Li 32cee3439b Pause Bluetooth classic discovery
PiperOrigin-RevId: 647333108
2024-06-27 08:52:58 -07:00
Guogang Li 7db26f40c5 Report found legacy device
PiperOrigin-RevId: 646495727
2024-06-25 08:55:40 -07:00
Guogang Li 755b22f048 Enable Fast Initiate BTC bit for non BLE extended device
PiperOrigin-RevId: 645066590
2024-06-20 09:53:56 -07:00
Guogang Li 735927ccad Add a flag to disable Bluetooth classic scanning.
PiperOrigin-RevId: 644612052
2024-06-18 21:36:05 -07:00
Guogang Li 6c167124aa Fixed a crash in HelloConnections
PiperOrigin-RevId: 644543789
2024-06-18 16:19:24 -07:00
Guogang Li abaf7718e2 Avoid long sleep during client proxy test
PiperOrigin-RevId: 644444222
2024-06-18 10:56:38 -07:00
Guogang Li 4f386b95db Added logic to stabilize endpoint IDs
PiperOrigin-RevId: 644407047
2024-06-18 09:11:51 -07:00
Crisrael Lucero acc38a809b [Nearby Presence] Update ScanManager to trigger changed and lost events
PiperOrigin-RevId: 644072733
2024-06-17 11:17:00 -07:00
hai007 5098934e8c Update C wrapper to use pointers, instead of references, which is not supported by C.
PiperOrigin-RevId: 643505769
2024-06-14 18:37:56 -07:00
Guogang Li 7d86d17ba6 Add a flag to control whether to use stable endpoint ID.
PiperOrigin-RevId: 643041599
2024-06-13 10:21:51 -07:00
Guogang Li bf5f843dfe Added logic to stabilize endpoint IDs
PiperOrigin-RevId: 642774719
2024-06-12 16:23:34 -07:00
Guogang Li b2f8233294 Added logic to stabilize endpoint IDs
PiperOrigin-RevId: 642624940
2024-06-12 08:36:57 -07:00
Guogang Li bc66c63a48 Fixed the issues to handle on lost advertisement
PiperOrigin-RevId: 641268507
2024-06-07 09:14:10 -07:00
Edwin Wu 152cabab7c Fix a bug in file payload.
PiperOrigin-RevId: 640494382
2024-06-05 05:43:02 -07:00
Edwin Wu 334ef7a3e1 [JNI] Refactor Payload and PayloadId/PayloadType
PiperOrigin-RevId: 640490438
2024-06-05 05:25:29 -07:00
Guogang Li 9b8d708a7f Add use_stable_endpoint_id to AdvertisingOptions
PiperOrigin-RevId: 638501216
2024-05-29 20:25:48 -07:00
Eiden Kim 51dcfe807d Fix a crash in BasePcpHandler::BreakTie.
PiperOrigin-RevId: 638412219
2024-05-29 14:26:23 -07:00
Eiden Kim 76b4f6c51a Block any upgrade path available frames in Advertising side
PiperOrigin-RevId: 636753678
2024-05-23 19:29:19 -07:00
Eiden Kim dca2997f5d Added more checks to file path validation.
PiperOrigin-RevId: 635580793
2024-05-20 15:03:50 -07:00
Eiden Kim b224f8660c Check illegal characters from the file and parent folder name
PiperOrigin-RevId: 634941778
2024-05-17 18:46:26 -07:00
Eiden Kim 33d66fd169 Check illegal characters from the file and parent folder name
PiperOrigin-RevId: 634598623
2024-05-16 18:54:45 -07:00
hai007 00e8286021 add connection mode
PiperOrigin-RevId: 633706665
2024-05-14 14:28:03 -07:00
hai007 1c8395eede Fix the bug that the multiplex socket is not closed properly.
PiperOrigin-RevId: 633675141
2024-05-14 12:47:19 -07:00
hai007 7c72774167 Multiplex implementation - Create Multiplex Socket
PiperOrigin-RevId: 632628955
2024-05-10 16:11:26 -07:00
Eiden Kim 6d4f2c2606 Add a flag to check illegal characters in the file name and parent folder
PiperOrigin-RevId: 632577432
2024-05-10 12:50:45 -07:00
Hai Shang ce030a76b6 internal cleanup
PiperOrigin-RevId: 632285218
2024-05-09 15:20:03 -07:00
Anay Wadhera 5d6735371b Make sure we never generate a payload ID of 0.
PiperOrigin-RevId: 632210716
2024-05-09 11:15:02 -07:00
Anay Wadhera f26d25ed01 Provide a platform abstraction for RandBytes instead of swapping headers
The `RandBytes` functions were being placed in the `crypto` namespace,
which collides with Chromium's namespace of the same name. Within,
`RandBytes` was defined with almost-the-same API. Then in Chromium
builds, the Chromium header would be used instead (though somewhat
inconsistently).

This creates a lot of pain for Chromium development as there's a
third-party repository directly depending on headers from Chromium's
source tree, and is against the third-party policies for that reason.
There are a number of other headers that mirror Chromium and are
swapped out in the Chromium build that will cause similar pain, such as:
```
include "crypto/aead.h"
include "crypto/ec_private_key.h"
include "crypto/hkdf.h"
```

This CL provides a template for how to get rid of these header swaps and
give a platform abstraction in nearby instead.

We provide a platform abstraction in `platform/crypto.h` (really in
`platform/implementation/crypto.h`) which is implemented in
`platform/implementation/shared/crypto.cc`. However that implementation
is removed by `#ifdef` when in the Chromium build.

Then, in the Chromium repo, we will add (separately) an implementation
of the same abstraction in `//third_party/nearby/platform_impl` with GN
rules to include it in the build. It will replace the implementation
from the nearby repo.

Copybara import of the project:

--
6ca8099 by danakj <danakj@chromium.org>:

Provide a platform abstraction for RandBytes instead of swapping headers

The `RandBytes` functions were being placed in the `crypto` namespace,
which collides with Chromium's namespace of the same name. Within,
`RandBytes` was defined with almost-the-same API. Then in Chromium
builds, the Chromium header would be used instead (though somewhat
inconsistently).

This creates a lot of pain for Chromium development as there's a
third-party repository directly depending on headers from Chromium's
source tree, and is against the third-party policies for that reason.
There are a number of other headers that mirror Chromium and are
swapped out in the Chromium build that will cause similar pain, such as:
```
include "crypto/aead.h"
include "crypto/ec_private_key.h"
include "crypto/hkdf.h"
```

This CL provides a template for how to get rid of these header swaps and
give a platform abstraction in nearby instead.

We provide a platform abstraction in `platform/crypto.h` (really in
`platform/implementation/crypto.h`) which is implemented in
`platform/implementation/shared/crypto.cc`. However that implementation
is removed by `#ifdef` when in the Chromium build.

Then, in the Chromium repo, we will add (separately) an implementation
of the same abstraction in `//third_party/nearby/platform_impl` with GN
rules to include it in the build. It will replace the implementation
from the nearby repo.

--
9c2654b by danakj <danakj@chromium.org>:

Remove CryptoSpan, use absl::Span

The header swapping of Chromium crypto libraries is
problematic, but absl::Span will convert to base::span
so there's no need for the typedef even without
removing the header swapping yet.

--
df1135d by danakj <danakj@chromium.org>:

Add missing files

--
ab18a15 by danakj <danakj@chromium.org>:

Remove the random_unittest.cc from Swift build

The file moved, so the Swift package needs its path
updated.

--
2038f78 by danakj <danakj@chromium.org>:

Combine crypto unittests into crypto_test.cc

--
f7ad176 by danakj <danakj@chromium.org>:

Add stdint and stddef includes for uint8_t and size_t

--
9f04590 by danakj <danakj@chromium.org>:

Mark the shared crypto implementation compatable_with non_prod

--
18eeafd by danakj <danakj@chromium.org>:

Add IWYU pragma for crypto implementation

PiperOrigin-RevId: 632150866
2024-05-09 08:02:50 -07:00
Anay Wadhera 3b701c78f3 Deny and abort payloads with ID 0.
PiperOrigin-RevId: 631864387
2024-05-08 11:24:21 -07:00
Anay Wadhera 85ebca532e Fix not rejecting a frame with an empty endpoint ID.
PiperOrigin-RevId: 631563161
2024-05-07 15:12:09 -07:00
Anay Wadhera bf23ee5851 Remove endpoint ID CHECKs from Core
PiperOrigin-RevId: 631535509
2024-05-07 13:47:36 -07:00
Hai Shang 77515694c8 Internal fix.
PiperOrigin-RevId: 628181275
2024-04-25 13:56:13 -07:00
Hai Shang bcad0cae6e Last CL for the 1 bit solution in BLE v2.
PiperOrigin-RevId: 625856655
2024-04-17 17:31:38 -07:00