<div dir="ltr"><div>Some versions of Ubuntu don&#39;t come with SFTP support included in CURL (because of --without-libssh2 being set).  If this is the case, instructions to  ensure SFTP is available in curl and libcurl can be found here:<br>
<br><a href="https://bugs.launchpad.net/ubuntu/+source/curl/+bug/311029">https://bugs.launchpad.net/ubuntu/+source/curl/+bug/311029</a><br><br></div>~A <br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Dec 28, 2012 at 1:42 PM, Greg Hellings <span dir="ltr">&lt;<a href="mailto:greg.hellings@gmail.com" target="_blank">greg.hellings@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Further digging with help from our friends has revealed this nugget:<br>
<br>
$ curl-config --protocols<br>
<br>
produces a newline-delimited list of protocols that the particular<br>
build of libcurl supports. curl-config is a shell script which can be<br>
run on the build system and should satisfy both the requirements of<br>
native builds and cross-compiling support. We could use this to set a<br>
compiler macro indicating support (or not) for SFTP in the target<br>
libcurl library.<br>
<br>
If someone wants to tackle that in the autotools world, I can add<br>
detection to CMake as well. A simple command such as<br>
$ curl-config --protocols | grep SFTP | wc -l<br>
1<br>
<br>
in Fedora will result in a value of 1 or greater if SFTP is supported<br>
while it should produce 0 if SFTP support is left out. An Ubuntu<br>
system produce this output:<br>
$ curl-config --protocols | grep SFTP | wc -l<br>
0<br>
<br>
And it even works for cross-compiling:<br>
$ /usr/i686-w64-mingw32/sys-root/mingw/bin/curl-config --protocols |<br>
grep SFTP | wc -l<br>
1<br>
<br>
<br>
This appears to be our best way forward if we want to enable<br>
compile-time enabling or disabling of this option.<br>
<span class="HOEnZb"><font color="#888888"><br>
--Greg<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Mon, Dec 24, 2012 at 8:43 AM, Greg Hellings &lt;<a href="mailto:greg.hellings@gmail.com">greg.hellings@gmail.com</a>&gt; wrote:<br>
&gt; Troy,<br>
&gt;<br>
&gt; On Sun, Dec 23, 2012 at 10:39 PM, Troy A. Griffitts<br>
&gt; &lt;<a href="mailto:scribe@crosswire.org">scribe@crosswire.org</a>&gt; wrote:<br>
&gt;&gt; Dear Greg,<br>
&gt;&gt;<br>
&gt;&gt; Looking to apply this SFTP patch, could you give me some background as to<br>
&gt;&gt; why the check to ignore across all transports for &#39;.&#39; and &#39;..&#39;?<br>
&gt;<br>
&gt; Our downloading method runs recursively from the given directory until<br>
&gt; it runs out of directory depth. FTP servers don&#39;t usually seem to<br>
&gt; return . and .. as valid paths, and the HTTP(S) transport attempts to<br>
&gt; parse the returned HTML page to avoid the link to the parent<br>
&gt; directory. But whatever options are passed by cURL to the SFTP<br>
&gt; transport resulted in it returning . and .. as paths within the<br>
&gt; current directory. Because &#39;.&#39; came first in the list, the installmgr<br>
&gt; was running through an infinite loop whenever it tried to pull data<br>
&gt; from the server.<br>
&gt;<br>
&gt; I added it at the level of all transports because we don&#39;t want to<br>
&gt; either loop infinitely on &#39;.&#39; or accidentally pull a whole server<br>
&gt; recursively by following &#39;..&#39; to the root of the server. It might be a<br>
&gt; server config option that permits it, but I wanted to avoid the<br>
&gt; possibility of the InlstallMgr class getting choked up on it.<br>
&gt;<br>
&gt; --Greg<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; Thanks,<br>
&gt;&gt;<br>
&gt;&gt; Troy<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On 12/03/2012 04:06 PM, Greg Hellings wrote:<br>
&gt;&gt;<br>
&gt;&gt; The attached patch will introduce support for SFTPSource transports in<br>
&gt;&gt; the SWORD engine, allowing a user to access remote repositories over<br>
&gt;&gt; SFTP (which is enabled by default when a user enables SSH).<br>
&gt;&gt;<br>
&gt;&gt; --Greg<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br>
&gt;&gt; <a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
&gt;&gt; Instructions to unsubscribe/change your settings at above page<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br>
&gt;&gt; <a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
&gt;&gt; Instructions to unsubscribe/change your settings at above page<br>
<br>
_______________________________________________<br>
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at above page<br>
</div></div></blockquote></div><br></div>