[MS-CDP]: Connected Devices Platform Protocol Version 3

This topic lists Errata found in [MS-CDP] since it was last published. Since this topic is updated frequently, we recommend that you subscribe to this RSS feed to receive update notifications.

Errata are subject to the same terms as the Open Specifications documentation referenced.

RSS

To view a PDF file of the errata for the previous versions of this document, see the following ERRATA Archives:

June 1, 2017 - Download

April 29, 2022 - Download

Errata below are for Protocol Document Version V7.0 – 2022/10/03.

Errata Published*

Description

2023/01/30

In Section 2.2.2.1.1, "Common Header," changed "inner buffer" to "Payload field" in the descriptions of deserialization.

Changed from:

Message deserialization is split into two phases. The first phase consists of parsing the header, validating authenticity, deduping, and decryption. The inner buffer is sent to the owner to manage the second part of the deserialization.

Changed to:

Message deserialization is split into two phases. The first phase consists of parsing the header, validating authenticity, deduping, and decryption. The Payload field is sent to the owner to manage the second part of the deserialization.

Changed from:

Message deserialization will therefore be split into two phases. With the first phase consisting of the parsing header, validating authenticity, deduping, and decryption. The inner buffer will be passed up to the owner to manage the second part of the deserialization.

Changed to:

Message deserialization will therefore be split into two phases. With the first phase consisting of the parsing header, validating authenticity, deduping, and decryption. The Payload field will be passed up to the owner to manage the second part of the deserialization.

2022/11/29

In section 2.2.2.2.3, "Bluetooth Advertising Beacon," added flag values and provided additional details about packet field structure and length.

Changed from:

Beacon Data (24 bytes): The beacon data section is further broken down. Note that the Scenario and Subtype Specific Data section requirements will differ based on the Scenario and Subtype.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Scenario  Type

Version  and Device Type

Version  and Flags

Reserved

Salt

Device  Hash (16 bytes)

...

...

Scenario Type (1 byte): Set to 1

Version and Device Type (1 byte): The high two bits are set to 00 for the version number; the lower6 bits are set to Device Type values as in section 2.2.2.2.2:

Changed to:

Beacon Data (24 bytes): The beacon data section is further broken down. Note that the Scenario and Subtype Specific Data section requirements will differ based on the Scenario and Subtype.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Scenario_Type

Version_and_Device_Type

Version_and_Flags

Flags_and_Device_Status

Salt

Device_Hash  (19 bytes)

...

...

...

Scenario_Type (1 byte): Set to 1 (Bluetooth scenario).

Version_and_Device_Type (1 byte): The high three bits are set to 001 for the version number; the lower 5 bits are set to Device Type values as in section 2.2.2.2.2:

Changed from:

Version and Flags (1 byte): The high 3 bits are set to 001; the lower 3 bits to 00000.

Reserved (1 byte): Currently set to zero.

Salt (4 bytes): Four random bytes.

Device Hash (16 bytes): SHA256 Hash of Salt plus Device Thumbprint. Truncated to 16 bytes.

Changed to:

Version_and_Flags (1 byte): The high 3 bits are set to 001; the lower 5 bits are set to 00000 or 00001. Setting the lower 5 bits to 00001 indicates that the NearBy share setting is everyone rather than only my devices.

Flags_and_Device_Status (1 byte): The field has the following structure:

0

1

2

3

4

5

6

7

A

B

C

D

A (2 bits): Unused.

B - Bluetooth_Address_As_Device_ID (1 bit): When set, indicates that the Bluetooth address can be used as the device ID.

C (1 bit): Unused.

D - ExtendedDeviceStatus (4 bits):

One of the values in the following table. Values may be ORed.

Meaning

Value

Description

None

0x00

None.

RemoteSessionsHosted

0x01

Hosted by remote session.

RemoteSessionsNotHosted

0x02

Indicates the device does not have session hosting status available.<5>

NearShareAuthPolicySameUser

0x04

Indicates the device supports NearShare if  the user is the same for the other device.

NearShareAuthPolicyPermissive

0x08

Indicates the device supports NearShare.<6>

Salt (4 bytes): Four random bytes.

Device_Hash (19 bytes): SHA256 Hash of Salt plus Device Thumbprint.

*Date format: YYYY/MM/DD