3.1.5.9 Receive Fragmented Messages

The length of the first packet specified in the ASN.1 header is used to determine the number of bytes necessary to assemble the complete message. the SPNEGO Extension calls InitAssembleToken (section 3.1.5.7), where Input_Token contains the Input_Token received from the caller. To receive the next fragment, SPNG MUST return GSS_S_CONTINUE_NEEDED status with an empty OutputToken (section 3.1.5.8).

When FragmentInputToken is set to TRUE, the SPNEGO Extension calls AssembleToken (section 3.1.5.8), where Input_Token contains the Input_Token received. If the OutputToken is not empty, the message is complete and processing can continue as normal. Otherwise, to receive the next fragment, the SPNEGO Extension MUST return GSS_S_CONTINUE_NEEDED status with an empty OutputToken.

If the context is terminated before reassembly of the message is complete (for example, because the network connection to the other entity is interrupted), the entire message MUST be discarded.