Also note, I didn't test building this with autotools, only with CMake. The library silently ignores any SFTP sources listed in the InstallMgr.conf file if it is compiled without SFTP support.
--Greg On Mon, Dec 31, 2012 at 8:53 AM, Greg Hellings <greg.helli...@gmail.com> wrote: > Here is the updated patch adding CURLSFTPAVAILABLE support to CMake as > well as to the library code. It defaults to assuming no SFTP support > if either the curl-config executable cannot be found or if it returns > a value other than "1" from the quick detection process we have > settled on. > > Users of Windows builds through either VisualStudio or Borland will > need to figure out if curl-config is available on their systems and, > if not, come up with another way to detect and support SFTP for > clients using those builds. On Linux it is a Bash script, so it might > be adaptable to Manfred's XCode system in some way also. > > For those in the JSword world, I am sure there are SFTP Java clients > available which could be leveraged if they wanted to add support for > the same functionality to JSword applications. > > --Greg > > On Sun, Dec 30, 2012 at 9:11 PM, Troy A. Griffitts <scr...@crosswire.org> > wrote: >> OK Greg, >> >> I've hacked detection of CURL SFTP into the autotools build (hopefully-- it >> works for me). >> >> I've added a new compile time define with -DCURLSFTPAVAILABLE to go along >> with the existing -DCURLAVAILABLE >> >> If you'd like to update the sftp patch to conditionally compile support in >> based on this define, that would be cool. I'll do it myself soon if you >> don't have time. >> >> Troy >> >> >> >> On 12/28/2012 11:42 AM, Greg Hellings wrote: >>> >>> Further digging with help from our friends has revealed this nugget: >>> >>> $ curl-config --protocols >>> >>> produces a newline-delimited list of protocols that the particular >>> build of libcurl supports. curl-config is a shell script which can be >>> run on the build system and should satisfy both the requirements of >>> native builds and cross-compiling support. We could use this to set a >>> compiler macro indicating support (or not) for SFTP in the target >>> libcurl library. >>> >>> If someone wants to tackle that in the autotools world, I can add >>> detection to CMake as well. A simple command such as >>> $ curl-config --protocols | grep SFTP | wc -l >>> 1 >>> >>> in Fedora will result in a value of 1 or greater if SFTP is supported >>> while it should produce 0 if SFTP support is left out. An Ubuntu >>> system produce this output: >>> $ curl-config --protocols | grep SFTP | wc -l >>> 0 >>> >>> And it even works for cross-compiling: >>> $ /usr/i686-w64-mingw32/sys-root/mingw/bin/curl-config --protocols | >>> grep SFTP | wc -l >>> 1 >>> >>> >>> This appears to be our best way forward if we want to enable >>> compile-time enabling or disabling of this option. >>> >>> --Greg >>> >>> On Mon, Dec 24, 2012 at 8:43 AM, Greg Hellings <greg.helli...@gmail.com> >>> wrote: >>>> >>>> Troy, >>>> >>>> On Sun, Dec 23, 2012 at 10:39 PM, Troy A. Griffitts >>>> <scr...@crosswire.org> wrote: >>>>> >>>>> Dear Greg, >>>>> >>>>> Looking to apply this SFTP patch, could you give me some background as >>>>> to >>>>> why the check to ignore across all transports for '.' and '..'? >>>> >>>> Our downloading method runs recursively from the given directory until >>>> it runs out of directory depth. FTP servers don't usually seem to >>>> return . and .. as valid paths, and the HTTP(S) transport attempts to >>>> parse the returned HTML page to avoid the link to the parent >>>> directory. But whatever options are passed by cURL to the SFTP >>>> transport resulted in it returning . and .. as paths within the >>>> current directory. Because '.' came first in the list, the installmgr >>>> was running through an infinite loop whenever it tried to pull data >>>> from the server. >>>> >>>> I added it at the level of all transports because we don't want to >>>> either loop infinitely on '.' or accidentally pull a whole server >>>> recursively by following '..' to the root of the server. It might be a >>>> server config option that permits it, but I wanted to avoid the >>>> possibility of the InlstallMgr class getting choked up on it. >>>> >>>> --Greg >>>> >>>>> Thanks, >>>>> >>>>> Troy >>>>> >>>>> >>>>> >>>>> >>>>> On 12/03/2012 04:06 PM, Greg Hellings wrote: >>>>> >>>>> The attached patch will introduce support for SFTPSource transports in >>>>> the SWORD engine, allowing a user to access remote repositories over >>>>> SFTP (which is enabled by default when a user enables SSH). >>>>> >>>>> --Greg >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> sword-devel mailing list: sword-devel@crosswire.org >>>>> http://www.crosswire.org/mailman/listinfo/sword-devel >>>>> Instructions to unsubscribe/change your settings at above page >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> sword-devel mailing list: sword-devel@crosswire.org >>>>> http://www.crosswire.org/mailman/listinfo/sword-devel >>>>> Instructions to unsubscribe/change your settings at above page >>> >>> _______________________________________________ >>> sword-devel mailing list: sword-devel@crosswire.org >>> http://www.crosswire.org/mailman/listinfo/sword-devel >>> Instructions to unsubscribe/change your settings at above page >> >> >> >> _______________________________________________ >> sword-devel mailing list: sword-devel@crosswire.org >> http://www.crosswire.org/mailman/listinfo/sword-devel >> Instructions to unsubscribe/change your settings at above page _______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page