Closed fscheiner closed 4 years ago
What do you think @msalle?
Also putting @matyasselmeci and @ellert in CC as they're not watching this repo.
Hi @fscheiner the layout is a bit odd, it now looks like you're quoting someone? I also think for a README we definitely should make the text quite a bit shorter. The crucial point is that with the new default EPSV (as required to support IPv6) it's necessary to have the service configured to enable both epsv_ip 1 and epsv_match 1 iff the server is split over multiple hosts. Not sure we need any more information here.
Hi @fscheiner the layout is a bit odd, it now looks like you're quoting someone?
I use the "quote" to visually emphasize the notice for a user (like in https://github.com/fr4nk5ch31n3r/gtransfer/blob/master/README.md).
I also think for a README we definitely should make the text quite a bit shorter. The crucial point is that with the new default EPSV (as required to support IPv6) it's necessary to have the service configured to enable both epsv_ip 1 and epsv_match 1 iff the server is split over multiple hosts. Not sure we need any more information here.
Ok, then maybe just the part above tl;dr
with some added information about the use of EPSV
in UberFTP. I'll force-push an update. The - then removed - longer text could be a candidate for the GCT or the GCT documentation.
@msalle
What do you think of the new version of the EPSV
compatibility notice? If the quote markup is still a problem, I can remove that, but for visual reasons I'd actually like to keep it.
A rendered version of the changed README.md can be seen at https://github.com/fscheiner/UberFTP/tree/document-epsv-requirements-for-multi-host-gridftp-servers.
@msalle
I still find the quote-style a bit confusing but other than that looks good to me.
~Even when rendered or especially when rendered?~
~My PR #10 will add a short description beforehand, which might change the overall look (again).~
Ah, ok, I overlooked that you already approved the PR.
I'll rebase my two PRs, when your changes in PR #8 have been merged.
https://github.com/gridcf/UberFTP/commit/1f28d62f2e688d0a4bfc89a754dfdf3424ef9ed7 enables IPv6 compatibility for UberFTP but also introduced an "incompatibility" with Globus GridFTP servers in split-process configuration (i.e. separate processes for PI and DTP) where the DTP is located on a different host than the PI (also true for multiple DTPs and PIs).
This is due to the use of the EPSV command (see RFC 2428 for details), specifically because of:
Example log for a directory listing tried on a Globus GridFTP server in split-process configuration with DTP(s) on different hosts than the PI:
Providing only the TCP port number of the listening connection can't work if the DTP is not located on the same host as the PI. Without also providing the IP address of the corresponding host it can only work for Globus GridFTP servers where DTP(s) and PI are located on a singular host, but then even in split-process configuration. Example log for such a configuration:
This problem can be solved by activating
epsv_ip
for a multi-host Globus GridFTP server. I also recommend to activateepsv_match
at the same time so the address family for the DTP's address in the response toEPSV
is in sync to what was used to make the connection to the PI (although I now assume this is only relevant for dual-stack servers).This PR documents that new requirement for Globus GridFTP servers to continue working with the (upcoming) UberFTP 2.9. I want to document it also here in the README.md for UberFTP, because the described behaviour is new and might otherwise irritate users and lead them to false conclusions about the functionality of the new UberFTP version.