CPSV vs SSCN
From what i have found online, these commands do the same thing, however the as experienced in the past i have found many servers will support one and not the other causing compatibility issues (usually its CPSV thats unsupported). I was sparked into doing a little research into these command extentions due to my experience with failed fxp's in flashfxp, however i have been able to find almost no reliable sources for such information.
I did some testing and it seems that flashfxp favors CPSV, my question is when and why does flashfxp favor one over the other, how does it decide which to use.
This question arises because of fxp failure problem i have between some sites (in this case between drftpd and ioftpd). The problem occurs because ioftpd supports neither FEAT command nor CPSV, but it does support SSCN meaning that it is most certainly possible to negotiate a secure fxp. However because flashfxp favors CPSV and i can not seem to find a way to override this to make flashfxp use SSCN instead, i can not get a secure fxp to or from the ioftpd server working. FlashFXP simply halts on the 500 error reporting that secure site to site transfer is not supported by the ioftpd server, when infact it is.
FTPRush however seems to take a different approach to this, firstly it seems to favor SSCN by default, but more importantly (when you mark a site as not support FEAT and tell it to specifically use CPSV instead) it attemps to reverse the negotiation, assuming the other site support CPSV, the secure fxp then works.
I am not sure if what FTPRush does after recieving the 500 numeric is allowed according to the ftp protocol standards, or if the client is supposed to explicitly halt further operations, but it is certainly useful that it is able to get it working. (of corse if the second server also had no support for CPSV it would still fail, when forced to use that method)
I am not entirely sure of my purpose for making this thread.. i suppose on the one hand i am curious as the FlashFXP's logic and methods in determining if it should use CPSV or SSCN. While on the other hand i am interested in the possibility of extending this logic in a similar way to how FTPRush does, in order to improve FlashFXP's ability to negotiate secure fxp transfers.
A few things come to mind with this. Firstly attempting to reverse the CPSV negotiation the way FTPRush does (only if its conforms to the protocol standards correctly)... at least in cases where FlashFXP knows that the other site involved (from the FEAT response) infact supports CPSV. Secondly, if at all feasable, attempting to fall back on SSCN and get the secure fxp transfer working that way. Or thirdly, a way to override the use of SSCN/CPSV on a per-site basis so you can configure a site to use one over the other...
I am not sure if their is much interest or use by the rest of flashfxp userbase for a generic global & per-site FEAT overide feature (like what FTPRush has, which is how i was able to force it to use CPSV and notice it successfully reverse the fxp negotiation and get the secure transfer working with CPSV where flashfxp couldnt), but even just the ability to toggle between CPSV and SSCN on a per-site basis (i guess in the secure site to site transfers section of the site manager) would easily solve compatibility issues between servers supporting one and not the other.
|