@@ -131,8 +131,8 @@ private unsafe struct MessageField
131131 private int _payloadOffset ;
132132 public int PayloadOffset
133133 {
134- readonly get => BitConverter . IsLittleEndian ? _payloadOffset : BinaryPrimitives . ReverseEndianness ( _payloadOffset ) ;
135- set => _payloadOffset = BitConverter . IsLittleEndian ? value : BinaryPrimitives . ReverseEndianness ( value ) ;
134+ readonly get => BitConverter . IsLittleEndian ? _payloadOffset : BinaryPrimitives . ReverseEndianness ( _payloadOffset ) ;
135+ set => _payloadOffset = BitConverter . IsLittleEndian ? value : BinaryPrimitives . ReverseEndianness ( value ) ;
136136 }
137137 }
138138
@@ -158,8 +158,8 @@ private unsafe struct Version
158158 public byte CurrentRevision ;
159159 public ushort ProductBuild
160160 {
161- readonly get => BitConverter . IsLittleEndian ? _productBuild : BinaryPrimitives . ReverseEndianness ( _productBuild ) ;
162- set => _productBuild = BitConverter . IsLittleEndian ? value : BinaryPrimitives . ReverseEndianness ( value ) ;
161+ readonly get => BitConverter . IsLittleEndian ? _productBuild : BinaryPrimitives . ReverseEndianness ( _productBuild ) ;
162+ set => _productBuild = BitConverter . IsLittleEndian ? value : BinaryPrimitives . ReverseEndianness ( value ) ;
163163 }
164164 }
165165
@@ -174,8 +174,8 @@ private unsafe struct NegotiateMessage
174174 public Version Version ;
175175 public Flags Flags
176176 {
177- readonly get => BitConverter . IsLittleEndian ? _flags : ( Flags ) BinaryPrimitives . ReverseEndianness ( ( uint ) _flags ) ;
178- set => _flags = BitConverter . IsLittleEndian ? value : ( Flags ) BinaryPrimitives . ReverseEndianness ( ( uint ) value ) ;
177+ readonly get => BitConverter . IsLittleEndian ? _flags : ( Flags ) BinaryPrimitives . ReverseEndianness ( ( uint ) _flags ) ;
178+ set => _flags = BitConverter . IsLittleEndian ? value : ( Flags ) BinaryPrimitives . ReverseEndianness ( ( uint ) value ) ;
179179 }
180180 }
181181
@@ -185,8 +185,13 @@ private unsafe struct ChallengeMessage
185185 {
186186 public MessageHeader Header ;
187187 public MessageField TargetName ;
188- public Flags Flags ;
189188 public fixed byte ServerChallenge [ ChallengeLength ] ;
189+ private Flags _flags ;
190+ public Flags Flags
191+ {
192+ readonly get => BitConverter . IsLittleEndian ? _flags : ( Flags ) BinaryPrimitives . ReverseEndianness ( ( uint ) _flags ) ;
193+ set => _flags = BitConverter . IsLittleEndian ? value : ( Flags ) BinaryPrimitives . ReverseEndianness ( ( uint ) value ) ;
194+ }
190195 private ulong _unused ;
191196 public MessageField TargetInfo ;
192197 public Version Version ;
@@ -203,7 +208,12 @@ private unsafe struct AuthenticateMessage
203208 public MessageField UserName ;
204209 public MessageField Workstation ;
205210 public MessageField EncryptedRandomSessionKey ;
206- public Flags Flags ;
211+ private Flags _flags ;
212+ public Flags Flags
213+ {
214+ readonly get => BitConverter . IsLittleEndian ? _flags : ( Flags ) BinaryPrimitives . ReverseEndianness ( ( uint ) _flags ) ;
215+ set => _flags = BitConverter . IsLittleEndian ? value : ( Flags ) BinaryPrimitives . ReverseEndianness ( ( uint ) value ) ;
216+ }
207217 public Version Version ;
208218 public fixed byte Mic [ 16 ] ;
209219 }
@@ -589,7 +599,7 @@ private static byte[] DeriveKey(ReadOnlySpan<byte> exportedSessionKey, ReadOnlyS
589599 return null ;
590600 }
591601
592- Flags flags = BitConverter . IsLittleEndian ? challengeMessage . Flags : ( Flags ) BinaryPrimitives . ReverseEndianness ( ( uint ) challengeMessage . Flags ) ;
602+ Flags flags = challengeMessage . Flags ;
593603 ReadOnlySpan < byte > targetName = GetField ( challengeMessage . TargetName , blob ) ;
594604
595605 // Only NTLMv2 with MIC is supported
0 commit comments