Changes

134 bytes added ,  02:32, 28 May 2020
no edit summary
Line 1,113: Line 1,113:  
! Description
 
! Description
 
|-
 
|-
| 0x0 || 0x1 || Type? Must be 0x1-0xF. Always set to 0x3 ([1.0.0-?] 0x1 [?-5.1.0] 0x2) by the Station/AccessPoint.
+
| 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 <0x3). [6.0.0+] The Authentication challenge is only used/enabled if that value is >=0x3, and [[#IUserLocalCommunicationService]] is being used.
+
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 Type is <0x3). [6.0.0+] The AccessPoint will only use/enable the Authentication challenge when the +0x0 Type is >=0x3, and [[#IUserLocalCommunicationService]] is being used. This data will not be included in the frame if the status field indicates error.
+
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 (Type >= 0x3). Unused by the Station.
+
| 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 (Type >= 0x3). Unused by the Station.
+
| 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 || Must be 0x1-0xF. Copied to [[#NetworkInfo]]+0x63. When comparing with a previous frame is enabled, this must match the value from the previous frame. During network creation this is always set to 0x3.
+
| 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.