ble-reticulum/tests
torlando-tech 572204557e fix(ble): add duplicate identity check to peripheral mode
Previously, _handle_identity_handshake (peripheral mode) did not check
for duplicate identities. If a peer connected via two MACs simultaneously,
both connections could be accepted.

Now, _handle_identity_handshake calls _check_duplicate_identity before
accepting the handshake. If the identity is already connected at a
different MAC, the new connection is rejected and disconnected.

This makes both central and peripheral modes consistent in rejecting
duplicate connections during MAC rotation overlap.

Also adds tests for peripheral mode duplicate rejection.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 16:27:53 -05:00
..
conftest.py fix: update paths in installer, tests, and workflows for package rename 2025-12-29 23:58:18 -05:00
mock_ble_driver.py test: fix test suite for BLE interface changes 2026-01-01 14:03:59 -05:00
test_ble_peer_interface.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_bleak_threading_hang.py Initial commit: BLE Reticulum interface 2025-10-26 19:14:14 -04:00
test_bleak_with_exec_loading.py Initial commit: BLE Reticulum interface 2025-10-26 19:14:14 -04:00
test_bluez_state_cleanup.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_breddr_fallback_prevention.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_config_directory.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_dbus_disconnect_monitoring.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_error_recovery.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_fragmentation.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_gatt_server.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_gatt_server_readiness.py fix(ble): Add D-Bus verification to prevent GATT server initialization race 2025-11-10 19:51:23 -05:00
test_hci_error_fixes.py fix: update paths in installer, tests, and workflows for package rename 2025-12-29 23:58:18 -05:00
test_identity_cache.py test: fix test suite for BLE interface changes 2026-01-01 14:03:59 -05:00
test_identity_hash.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_identity_mapping_cleanup.py fix: Clean up identity mappings on disconnect to prevent stale connections 2025-11-13 15:37:54 -05:00
test_installer.sh refactor: make libffi-dev conditional for armhf (32-bit ARM) only 2025-10-29 11:02:51 -04:00
test_integration.py fix: update paths in installer, tests, and workflows for package rename 2025-12-29 23:58:18 -05:00
test_interface_cleanup.py test: add comprehensive tests for interface cleanup methods 2026-01-01 19:32:17 -05:00
test_mac_rotation_blacklist_bug.py fix(ble): add duplicate identity check to peripheral mode 2026-01-17 16:27:53 -05:00
test_multi_device_simulation.py Initial commit: BLE Reticulum interface 2025-10-26 19:14:14 -04:00
test_peer_address_mac_rotation.py test: add comprehensive tests for peer_address MAC rotation fix 2026-01-13 16:51:02 -05:00
test_peripheral_disconnect_cleanup.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_prioritization.py fix: update paths in installer, tests, and workflows for package rename 2025-12-29 23:58:18 -05:00
test_scanner_connection_coordination.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_stale_connection_polling.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_v2_2_identity_handshake.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00
test_v2_2_mac_sorting.py test: fix test suite for BLE interface changes 2026-01-01 14:03:59 -05:00
test_v2_2_race_conditions.py refactor: rename package from RNS.Interfaces to ble_reticulum 2025-12-29 23:30:07 -05:00