4.16 FeatureExt with SESSIONRECOVERY Feature Data

A login message that contains FeatureExt data for the SESSIONRECOVERY feature:

 10 01 01 0D 00 00 01 00 05 01 00 00 04 00 00 74
 00 10 00 00 00 00 00 07 00 01 00 00 00 00 00 00
 E0 03 00 10 00 00 00 00 09 04 00 00 5E 00 00 00
 5E 00 02 00 62 00 08 00 72 00 07 00 80 00 00 00
 80 00 04 00 84 00 04 00 8C 00 00 00 8C 00 06 00
 00 50 8B E2 B7 8F 98 00 00 00 98 00 00 00 98 00
 00 00 00 00 00 00 73 00 61 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 4F 00 53 00 51 00
 4C 00 2D 00 33 00 32 00 98 00 00 00 4F 00 44 00
 42 00 43 00 74 00 65 00 6D 00 70 00 64 00 62 00
 01 67 00 00 00 56 00 00 00 06 6D 00 61 00 73 00
 74 00 65 00 72 00 05 09 04 D0 00 34 0A 75 00 73
 00 5F 00 65 00 6E 00 67 00 6C 00 69 00 73 00 68
 00 00 09 00 60 81 14 FF E7 FF FF 00 02 02 07 01
 04 01 00 05 04 FF FF FF FF 06 01 00 07 01 02 08
 08 00 00 00 00 00 00 00 00 09 04 FF FF FF FF 09
 00 00 00 00 00 00 09 04 28 23 00 00 FF
  
  
 <tds version="latest">
   <PacketHeader>
     <Type>
       <BYTE>10 </BYTE>
     </Type>
     <Status>
       <BYTE>01 </BYTE>
     </Status>
     <Length>
       <BYTE>01 </BYTE>
       <BYTE>0D </BYTE>
     </Length>
     <SPID>
       <BYTE>00 </BYTE>
       <BYTE>00 </BYTE>
     </SPID>
     <PacketID>
       <BYTE>01 </BYTE>
     </PacketID>
     <Window>
       <BYTE>00 </BYTE>
     </Window>
   </PacketHeader>
   <PacketData>
     <LOGIN7>
       <Length>
         <DWORD>05 01 00 00 </DWORD>
       </Length>
       <TDSVersion>
         <DWORD>04 00 00 74 </DWORD>
       </TDSVersion>
       <PacketSize>
         <DWORD>00 10 00 00 </DWORD>
       </PacketSize>
       <ClientProgVer>
         <DWORD>00 00 00 07 </DWORD>
       </ClientProgVer>
       <ClientPID>
         <DWORD>00 01 00 00 </DWORD>
       </ClientPID>
       <ConnectionID>
         <DWORD>00 00 00 00 </DWORD>
       </ConnectionID>
       <OptionFlags1>
         <BYTE>E0 </BYTE>
       </OptionFlags1>
       <OptionFlags2>
         <BYTE>03 </BYTE>
       </OptionFlags2>
       <TypeFlags>
         <BYTE>00 </BYTE>
       </TypeFlags>
       <OptionFlags3>
         <BYTE>10 </BYTE>
       </OptionFlags3>
       <ClientTimeZone>
         <DWORD>00 00 00 00 </DWORD>
       </ClientTimeZone>
       <ClientLCID>
         <DWORD>09 04 00 00 </DWORD>
       </ClientLCID>
       <OffsetLength>
         <ibHostName>
           <USHORT>5E 00 </USHORT>
         </ibHostName>
         <cchHostName>
           <USHORT>00 00 </USHORT>
         </cchHostName>
         <ibUserName>
           <USHORT>5E 00 </USHORT>
         </ibUserName>
         <cchUserName>
           <USHORT>02 00 </USHORT>
         </cchUserName>
         <ibPassword>
           <USHORT>62 00 </USHORT>
         </ibPassword>
         <cchPassword>
           <USHORT>08 00 </USHORT>
         </cchPassword>
         <ibAppName>
           <USHORT>72 00 </USHORT>
         </ibAppName>
         <cchAppName>
           <USHORT>07 00 </USHORT>
         </cchAppName>
         <ibServerName>
           <USHORT>80 00 </USHORT>
         </ibServerName>
         <cchServerName>
           <USHORT>00 00 </USHORT>
         </cchServerName>
         <ibExtension>
           <USHORT>80 00 </USHORT>
         </ibExtension>
         <cbExtension>
           <USHORT>04 00 </USHORT>
         </cbExtension>
         <ibCltIntName>
           <USHORT>84 00 </USHORT>
         </ibCltIntName>
         <cchCltIntName>
           <USHORT>04 00 </USHORT>
         </cchCltIntName>
         <ibLanguage>
           <USHORT>8C 00 </USHORT>
         </ibLanguage>
         <cchLanguage>
           <USHORT>00 00 </USHORT>
         </cchLanguage>
         <ibDatabase>
           <USHORT>8C 00 </USHORT>
         </ibDatabase>
         <cchDatabase>
           <USHORT>06 00 </USHORT>
         </cchDatabase>
         <ClientID>
           <BYTES>00 50 8B E2 B7 8F </BYTES>
         </ClientID>
         <ibSSPI>
           <USHORT>98 00 </USHORT>
         </ibSSPI>
         <cbSSPI>
           <USHORT>00 00 </USHORT>
         </cbSSPI>
         <ibAtchDBFile>
           <USHORT>98 00 </USHORT>
         </ibAtchDBFile>
         <cchAtchDBFile>
           <USHORT>00 00 </USHORT>
         </cchAtchDBFile>
         <ibChangePassword>
           <USHORT>98 00 </USHORT>
         </ibChangePassword>
         <cchChangePassword>
           <USHORT>00 00 </USHORT>
         </cchChangePassword>
         <cbSSPILong>
           <LONG>00 00 00 00 </LONG>
         </cbSSPILong>
       </OffsetLength>
       <Data>
         <BYTES>73 00 61 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4F 00 53 00 51 00 4C 00 2D 00 33 00 32 00 98 00 00 00 4F 00 44 00 42 00 43 00 74 00 65 00 6D 00 70 00 64 00 62 00 </BYTES>
       </Data>
       <FeatureExt>
         <FeatureOpt>
           <FeatureId>
             <BYTE>01 </BYTE>
           </FeatureId>
           <FeatureDataLen>
             <DWORD>67 00 00 00 </DWORD>
           </FeatureDataLen>
           <FeatureData>
             <InitSessionRecoveryData>
               <Length>
                 <DWORD>56 00 00 00 </DWORD>
               </Length>
               <RecoveryDatabase>
                 <B_VARCHAR>
                   <BYTE>06 </BYTE>
                   <BYTES ascii="m.a.s.t.e.r.">6D 00 61 00 73 00 74 00 65 00 72 00 </BYTES>
                 </B_VARCHAR>
               </RecoveryDatabase>
               <RecoveryCollation>
                 <BYTELEN>
                   <BYTE>05 </BYTE>
                 </BYTELEN>
                 <BYTES>09 04 D0 00 34 </BYTES>
               </RecoveryCollation>
               <RecoveryLanguage>
                 <B_VARCHAR>
                   <BYTE>0A </BYTE>
                   <BYTES ascii="u.s._.e.n.g.l.i.s.h.">75 00 73 00 5F 00 65 00 6E 00 67 00 6C 00 69 00 73 00 68 00 </BYTES>
                 </B_VARCHAR>
               </RecoveryLanguage>
               <SessionStateDataSet>
                 <SessionStateData>
                   <StateId>
                     <BYTE>00 </BYTE>
                   </StateId>
                   <StateLen>
                     <BYTE>09 </BYTE>
                   </StateLen>
                   <StateValue>
                     <BYTES>00 60 81 14 FF E7 FF FF 00 </BYTES>
                   </StateValue>
                 </SessionStateData>
                 <SessionStateData>
                   <StateId>
                     <BYTE>02 </BYTE>
                   </StateId>
                   <StateLen>
                     <BYTE>02 </BYTE>
                   </StateLen>
                   <StateValue>
                     <BYTES>07 01 </BYTES>
                   </StateValue>
                 </SessionStateData>
                 <SessionStateData>
                   <StateId>
                     <BYTE>04 </BYTE>
                   </StateId>
                   <StateLen>
                     <BYTE>01 </BYTE>
                   </StateLen>
                   <StateValue>
                     <BYTES>00 </BYTES>
                   </StateValue>
                 </SessionStateData>
                 <SessionStateData>
                   <StateId>
                     <BYTE>05 </BYTE>
                   </StateId>
                   <StateLen>
                     <BYTE>04 </BYTE>
                   </StateLen>
                   <StateValue>
                     <BYTES>FF FF FF FF </BYTES>
                   </StateValue>
                 </SessionStateData>
                 <SessionStateData>
                   <StateId>
                     <BYTE>06 </BYTE>
                   </StateId>
                   <StateLen>
                     <BYTE>01 </BYTE>
                   </StateLen>
                   <StateValue>
                     <BYTES>00 </BYTES>
                   </StateValue>
                 </SessionStateData>
                 <SessionStateData>
                   <StateId>
                     <BYTE>07 </BYTE>
                   </StateId>
                   <StateLen>
                     <BYTE>01 </BYTE>
                   </StateLen>
                   <StateValue>
                     <BYTES>02 </BYTES>
                   </StateValue>
                 </SessionStateData>
                 <SessionStateData>
                   <StateId>
                     <BYTE>08 </BYTE>
                   </StateId>
                   <StateLen>
                     <BYTE>08 </BYTE>
                   </StateLen>
                   <StateValue>
                     <BYTES>00 00 00 00 00 00 00 00 </BYTES>
                   </StateValue>
                 </SessionStateData>
                 <SessionStateData>
                   <StateId>
                     <BYTE>09 </BYTE>
                   </StateId>
                   <StateLen>
                     <BYTE>04 </BYTE>
                   </StateLen>
                   <StateValue>
                     <BYTES>FF FF FF FF </BYTES>
                   </StateValue>
                 </SessionStateData>
               </SessionStateDataSet>
             </InitSessionRecoveryData>
             <SessionRecoveryDataToBe>
               <Length>
                 <DWORD>09 00 00 00 </DWORD>
               </Length>
               <RecoveryDatabase>
                 <B_VARCHAR>
                   <BYTE>00 </BYTE>
                   <BYTES ascii="">
                   </BYTES>
                 </B_VARCHAR>
               </RecoveryDatabase>
               <RecoveryCollation>
                 <BYTELEN>
                   <BYTE>00 </BYTE>
                 </BYTELEN>
                 <BYTES>
                 </BYTES>
               </RecoveryCollation>
               <RecoveryLanguage>
                 <B_VARCHAR>
                   <BYTE>00 </BYTE>
                   <BYTES ascii="">
                   </BYTES>
                 </B_VARCHAR>
               </RecoveryLanguage>
               <SessionStateDataSet>
                 <SessionStateData>
                   <StateId>
                     <BYTE>09 </BYTE>
                   </StateId>
                   <StateLen>
                     <BYTE>04 </BYTE>
                   </StateLen>
                   <StateValue>
                     <BYTES>28 23 00 00 </BYTES>
                   </StateValue>
                 </SessionStateData>
               </SessionStateDataSet>
             </SessionRecoveryDataToBe>
           </FeatureData>
         </FeatureOpt>
         <FeatureOpt>
           <TERMINATOR>
             <BYTE>FF </BYTE>
           </TERMINATOR>
         </FeatureOpt>
       </FeatureExt>
     </LOGIN7>
   </PacketData>
 </tds>