Fixed XMPPIncomingFileTransfer stucks on state XMPPIFTStateWaitingForSIOffer #1094
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fixed
XMPPIncomingFileTransferstucks on stateXMPPIFTStateWaitingForSIOfferwhen receiving disco#info result while client is sending a file.if
XMPPOutgoingFileTransferandXMPPIncomingFileTransferare both activated,XMPPOutgoingFileTransfersends disco#info request to recipient client, and when recipient returns disco#info result, client'sXMPPIncomingFileTransfersends disco#info identity and makes its state toXMPPIFTStateWaitingForSIOffer.Since
-isDiscoInfoIQ:doesn't checks whether it's a result or request or something, unless disco#info iq was result,-isDiscoInfoIQ:will returntrue.So unless XMPPStream receives disco#info request,
XMPPIncomingfileTransfer's state is not aXMPPIFTStateNone, so disco#info result will never be sended.Therefore, it need to check whether it's a result or request, I implemented some codes which checks the iq message's state.