LDN services: Difference between revisions
No edit summary |
|||
| Line 1,113: | Line 1,113: | ||
! Description | ! Description | ||
|- | |- | ||
| 0x0 || 0x1 || | | 0x0 || 0x1 || [[#AuthVersion]] | ||
|- | |- | ||
| 0x1 || 0x1 || Low u8 for the size. | | 0x1 || 0x1 || Low u8 for the size. | ||
| Line 1,119: | Line 1,119: | ||
| 0x2 || 0x1 || Status. 0 = success, non-zero = error. | | 0x2 || 0x1 || Status. 0 = success, non-zero = error. | ||
|- | |- | ||
| 0x3 || 0x1 || [?+] bool flag. The AccessPoint verifies that this is not set. Always set to 1 by the AccessPoint in the response. | | 0x3 || 0x1 || [?+] bool flag. The AccessPoint verifies that this is not set. Always set to 1 by the AccessPoint in the response. The Station only uses this when the [[#AuthVersion]] is >=2. | ||
|- | |- | ||
| 0x4 || 0x1 || [6.0.0+] High u8 for the size. | | 0x4 || 0x1 || [6.0.0+] High u8 for the size. | ||
| Line 1,136: | Line 1,136: | ||
|} | |} | ||
The Station sets the above size to 0x40 ([6.0.0+] if [[#NetworkInfo]]+0x13 is < | The Station sets the above size to 0x40 ([6.0.0+] if [[#NetworkInfo]]+0x13 is <3). [6.0.0+] The Authentication challenge is only used/enabled if that value is >=3, and [[#IUserLocalCommunicationService]] is being used. | ||
The AccessPoint sets the above size to 0x0 ([6.0.0+] if the +0x0 | The AccessPoint sets the above size to 0x0 ([6.0.0+] if the +0x0 [[#AuthVersion]] is <3). [6.0.0+] The AccessPoint will only use/enable the Authentication challenge when the +0x0 [[#AuthVersion]] is >=3, and [[#IUserLocalCommunicationService]] is being used. This data will not be included in the frame if the status field indicates error. | ||
[6.0.0+] Support for the Authentication challenge with [[ETicket_services|es]] cmds 1501-1504 was added. | [6.0.0+] Support for the Authentication challenge with [[ETicket_services|es]] cmds 1501-1504 was added. | ||
| Line 1,175: | Line 1,175: | ||
| 0x38 || 0x10 || +0x38 from the data originally sent by the Station. The Station verifies that this matches the previously sent data. | | 0x38 || 0x10 || +0x38 from the data originally sent by the Station. The Station verifies that this matches the previously sent data. | ||
|- | |- | ||
| 0x48 || 0x40 || Zeros. [6.0.0+] Only included in the frame if it's enabled ( | | 0x48 || 0x40 || Zeros. [6.0.0+] Only included in the frame if it's enabled (+0x0 [[#AuthVersion]] >= 3). Unused by the Station. | ||
|- | |- | ||
| 0x88 || 0x44 || [6.0.0+] Only included in the frame if it's enabled ( | | 0x88 || 0x44 || [6.0.0+] Only included in the frame if it's enabled (+0x0 [[#AuthVersion]] >= 3). Unused by the Station. | ||
|- | |- | ||
| 0xCC || 0x100 || [6.0.0+] If enabled, Authentication challenge response data. Not included in the frame if it's not enabled. | | 0xCC || 0x100 || [6.0.0+] If enabled, Authentication challenge response data. Not included in the frame if it's not enabled. | ||
|} | |||
===== AuthVersion ===== | |||
Must be 0x1-0xF. | |||
{| class="wikitable" border="1" | |||
|- | |||
! Value || SystemVersion | |||
|- | |||
| 1 || [1.0.0+] | |||
|- | |||
| 2 || [?+] | |||
|- | |||
| 3 || [6.0.0+] | |||
|} | |} | ||
| Line 1,214: | Line 1,228: | ||
| 0x0 || 0x20 || [[#NetworkInfo]]+0x0. The u64/u16 are big-endian. Outside of [[#Scan]]/[[#ScanPrivate]], this must match the previously loaded data for this. | | 0x0 || 0x20 || [[#NetworkInfo]]+0x0. The u64/u16 are big-endian. Outside of [[#Scan]]/[[#ScanPrivate]], this must match the previously loaded data for this. | ||
|- | |- | ||
| 0x20 || 0x1 || | | 0x20 || 0x1 || [[#AuthVersion]]. Copied to [[#NetworkInfo]]+0x63. When comparing with a previous frame is enabled, this must match the value from the previous frame. | ||
|- | |- | ||
| 0x21 || 0x1 || Encryption type: 1 = plaintext, 2 = encrypted, {frames with other values are ignored by [[#Scan]]/[[#ScanPrivate]]}. Must match the type which is currently being used: with [[#Scan]]/[[#ScanPrivate]] this is determined via this field, otherwise [[#SecurityConfig]] is used to determine this. | | 0x21 || 0x1 || Encryption type: 1 = plaintext, 2 = encrypted, {frames with other values are ignored by [[#Scan]]/[[#ScanPrivate]]}. Must match the type which is currently being used: with [[#Scan]]/[[#ScanPrivate]] this is determined via this field, otherwise [[#SecurityConfig]] is used to determine this. | ||