IBB filetransfer doesn't work as expected
There are a lot of Problems using Spark 2.6.0 with Smack 3.2.0.
We tested file transfer with following configurations:
Spark 2.6.0 Smack 3.2.0, Win XP
Spark 2.5.8 Smack 3.0.0 Win XP
Working transfer directions
It seems to me that smack 3.2.0 is not able to handle IBB. It should use this protocol as fallback for socks5bytestream. Especially when you are behind a firewall or connecting through vpn it's necessary to use the IBB transfer mode.
The different Spark bug reports relate to several root causes:
1) Spark 2.6.3 uses IQ stanzas in IBB to transfer files. Spark 2.5.8 dos not understand IQ stanzas.
2) Spark 2.5.8 uses during negotiation a statement list-multi, which should be list-single. This causes broken negotiations.
3) Spark 2.6.3 and 2.5.8 were using multiple discovery managers that were causing failures of IBB. This is not a Smack bug.
Smack should us IQ stanzas for file transfer since it is the more advance standard. Usage of list-single during negotiation is XEP standard (in contrast to the list-multi used by Spark 2.5.8).
Patch smack to use message mode in IBB. Also included: smack-263, smack-335, smack-349.
Undo changes made by smack-334.
Still massive problems
This is also happening for Smack 3.1.0. I have checke Spark Build 79 that has Smack 3.1.0 as base. Spark 2.5.8 with Smack 3.0.0 is working.