SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML
><HEAD
><TITLE
>gFTP FAQ</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"></HEAD ><BODY
CLASS="BOOK"
BGCOLOR="FFFFFF"
TEXT="000000"

LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="BOOK"
><A
NAME="AEN1"
></A
><DIV
CLASS="TITLEPAGE"
><H1
CLASS="TITLE"
><A
NAME="AEN2"
>gFTP FAQ</A
></H1
><H3
CLASS="AUTHOR"
><A
NAME="AEN6"
></A
>Brian Masney</H3
><DIV
><DIV
CLASS="ABSTRACT"
><P
></P
><A
NAME="AEN9"
></A
><P
>This document is intended to answer questions that are

likely to be frequently asked by users of gFTP.</P ><P
></P
></DIV
></DIV
><HR></DIV
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>1. <A
HREF="AEN12"
>General Information</A
></DT
><DD
><DL
><DT
>1.1. <A
HREF="AEN14"

>What are the requirements to run gFTP?</A ></DT
><DT
>1.2. <A
HREF="AEN24"
>How do I install gFTP?</A
></DT
><DT
>1.3. <A
HREF="AEN43"

>What systems is gFTP known to run on?</A ></DT
><DT
>1.4. <A
HREF="AEN58"
>Does gFTP have a CVS repository?</A
></DT
><DT
>1.5. <A
HREF="AEN74"

>How do I report bugs in gFTP?</A
></DT
><DT
>1.6. <A
HREF="AEN80"
>How do I force running the text or gtk+ version of gFTP?</A ></DT
><DT
>1.7. <A
HREF="AEN83"

>Is there a way for gFTP to download a bunch of files/directories and then exit when it's completed?</A
></DT
><DT
>1.8. <A
HREF="AEN92"
>In the GTK+ version of gFTP, do I have to enter a port, username and password to connect to a ftp server?</A ></DT
><DT
>1.9. <A
HREF="AEN95"

>Where does gFTP store it's options?</A ></DT
><DT
>1.10. <A
HREF="AEN102"
>Why aren't the file sizes comma separated?</A ></DT
><DT
>1.11. <A
HREF="AEN109"

>When using an external editor, gFTP does not detect changes that are being made to the file.</A ></DT
><DT
>1.12. <A
HREF="AEN113"
>How can I increase the size of the fonts in gFTP?</A ></DT
></DL
></DD
><DT
>2. <A
HREF="AEN116"

>FTP Protocol</A
></DT
><DD
><DL
><DT
>2.1. <A
HREF="AEN118"
>When gFTP tries to get the remote directory listing, the remote server complains about either the -a or -L argument to LIST.</A ></DT
><DT
>2.2. <A
HREF="AEN123"

>When gFTP tries to get the remote directory listing, I receive the error: <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Cannot create a data connection: Connection refused</I
></SPAN
></A
></DT
></DL
></DD
><DT
>3. <A
HREF="AEN128"
>HTTP Protocol</A
></DT
><DD
><DL
><DT
>3.1. <A
HREF="AEN130"

>How do I set up my HTTP Proxy server?</A ></DT
></DL
></DD
><DT
>4. <A
HREF="AEN134"
>SSH Protocol</A
></DT
><DD
><DL
><DT
>4.1. <A
HREF="AEN136"

>gFTP will not log into the remote SSH server when using a non-English locale.</A
></DT
><DT
>4.2. <A
HREF="AEN150"
>I'm having problems getting SSH2 transfers to work. I keep getting the error: <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Error: Message size XXXXXXXX too big from server</I ></SPAN
></A
></DT
><DT
>4.3. <A
HREF="AEN171"

>What is the difference between the SSH and SSH2 protocols?</A ></DT
></DL
></DD
><DT
>5. <A
HREF="AEN177"
>SSL Issues</A
></DT
><DD
><DL
><DT
>5.1. <A
HREF="AEN179"

>When using the FTPS or HTTPS protocol, gFTP cannot connect if the remote server uses a self signed certificate.</A ></DT
></DL
></DD
><DT
>6. <A
HREF="AEN182"
>Compiling Problems</A
></DT
><DD
><DL
><DT
>6.1. <A
HREF="AEN184"

>When I try to compile gFTP, I see undefined symbol <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>libintl_gettext</I
></SPAN
>. Or, another error is
<SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>undefined symbol LC_ALL.</I
></SPAN
></A
></DT
></DL
></DD
></DL
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="AEN12"
></A
>Chapter 1. General Information</H1
><DIV
CLASS="SECT1"
><H2
CLASS="SECT1"
><A
NAME="AEN14"
>1.1. What are the requirements to run gFTP?</A ></H2
><P
><P
></P
><UL
><LI
><P
>GTK+ 1.2.3 or higher. GTK+/Glib is included with most systems now. If you don't have it installed, you may want to check to see if your vendor has a package available. If not, you can download the latest version of GTK+ and Glib from
<A
HREF="ftp://ftp.gtk.org/pub/gtk"
TARGET="top"
>ftp://ftp.gtk.org/pub/gtk</A
>.
gFTP will work with either version 1.2 or 2.x of GTK+, but I would recommend using GTK+ 2.x.</P
></LI
><LI
><P
>pthread libraries. Most systems already satisfy this requirement. If you are on a platform other than Linux, you may want to take a look at the FSU Pthreads library at <A
HREF="http://www.informatik.hu-berlin.de/~mueller/pthreads" TARGET="
top"
>http://www.informatik.hu-berlin.de/~mueller/pthreads</A >.</P
></LI
></UL
></P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN24"
>1.2. How do I install gFTP?</A
></H2
><P
><P
></P
><UL
><LI
><P
>If you do not want to compile gFTP yourself, you can check my webpage. I have DEBs for Debian and RPMs for RedHat available. If you're looking for Solaris binaries, check out <A
HREF="http://www.sunfreeware.com"
TARGET="top"
>http://www.sunfreeware.com</A
>.</P
></LI
><LI
><P
>If you are compiling gFTP yourself, extract the files from the distribution with tar -zxvf gftp-&lt;version&gt;.tar.gz</P ></LI
><LI
><P
>Go to the gftp-&lt;version&gt; directory and type </P ><P
CLASS="LITERALLAYOUT"
><TT
CLASS="LITERAL"
>./configure</TT
><br>
<TT
CLASS="LITERAL"
>make</TT
></P
><P
>The configure script will generate a Makefile for your machine, and make will compile a binary for your machine. By default, when you run configure, it will install gFTP with the prefix /usr/local, so the gFTP binary will be /usr/local/bin/gftp. You can change this by typing configure --prefix=/usr, and it will then install the gFTP binary to /usr/bin/gftp.</P
></LI
><LI
><P
>If the compile suceeds without any errors, you can type make install to install the binary. This will also copy some necessary files to &lt;install prefix&gt;/share/gftp. If you do not have root on your machine to install these files, copy the contents of the docs/sample.gftp/ directory to ~/.gftp. </P
></LI
><LI
><P
>You may want to glance at the USERS-GUIDE file that comes with this distribution. It contains a little bit of information about how to use it.</P ></LI
></UL
></P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN43"
>1.3. What systems is gFTP known to run on?</A ></H2
><P
>I develop gFTP on a Debian GNU/Linux machine. It should run under any other Linux distributions. Here is a list of other platforms I have received successful compile reports:</P ><P
></P
><UL
><LI
><P
>FreeBSD/NetBSD/OpenBSD/BSDI</P
></LI
><LI
><P
>Solaris</P
></LI
><LI
><P
>IRIX</P
></LI
><LI
><P
>Digital UNIX</P
></LI
><LI
><P
>HP/UX 11</P
></LI
></UL
><P
>If gFTP compiles and runs on a platform not listed here, please email me about it and I'll add it to this list. If you are having problems compiling GTK+ or gFTP on another platform, try using GNU make instead of your vendor supplied make.</P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN58"
>1.4. Does gFTP have a CVS repository?</A ></H2
><P
>gFTP is stored in GNOME's CVS repository. For instructions on how to setup your CVS client, you can visit the webpage <A
HREF="http://developer.gnome.org/tools/cvs.html" TARGET="
top"
>http://developer.gnome.org/tools/cvs.html</A > for instructions. In a nutshell, you will need to run the following commands (this assumes you are using the <SPAN CLASS="emphasis"
><I
CLASS="EMPHASIS"
>bash</I
></SPAN
>
shell):</P
><P
>&#13;<P
CLASS="LITERALLAYOUT"
><TT
CLASS="LITERAL"
>export CVSROOT=":pserver:anonymous@anoncvs.gnome.org:/cvs/gnome"</TT ><br>
<TT
CLASS="LITERAL"
>cvs login</TT
></P
>

Just hit enter at the password prompt since there is no password.

<P
CLASS="LITERALLAYOUT"
><TT
CLASS="LITERAL"
>cvs co gftp</TT
></P
>&#13;</P
><P
>To compile the CVS code, you will need <SPAN CLASS="emphasis"
><I
CLASS="EMPHASIS"
>autoconf</I
></SPAN
>,
<SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>automake 1.4</I
></SPAN
> and <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>gettext</I
></SPAN
>
installed on your system. To generate a configure script, you will need to run <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>autogen.sh</I
></SPAN
>. Once this script is
generated, you can follow the normal installation instructions.&#13;</P ></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN74"
>1.5. How do I report bugs in gFTP?</A
></H2
><P
>If you find ANY bugs in gFTP, please check to make sure that you are using the latest version of gFTP. If you are, please submit all bug reports to GNOME's Bugzilla. When sending in bug reports, please try to be as descriptive as possible. Send me what OS/version you are running, what compiler you are compiling with, the output of <SPAN CLASS="emphasis"
><I
CLASS="EMPHASIS"
>gftp --info</I
></SPAN
>
and any other important information. If you get gFTP to crash, it would be very helpful if you could send me a backtrace. If you do not know how to do a backtrace, download the source code from my website. Edit the Makefile, and make sure that -g appears in the CFLAGS variable. Then recompile gFTP, but do NOT run make install because it will install a stripped binary in $PREFIX/bin. Then type gdb ./gftp. Once you have a (gdb) prompt, type r. When gFTP crashes, go back to that terminal window, and type bt, and put that output in the bug that you file with bugzilla.</P
><P
>I also have a gftp-users mailinglist setup. I have a link to the archives on my main webpage. If it is strictly a bug report, please submit it to Bugzilla instead of the mailinglist. Bugs that are submitted to bugzilla are much easier for me to track.</P
><P
>Also, if you do not get a response back from me immediately, that is not uncommon. I usually stay very busy and I don't get to work on gFTP all of the time.</P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN80"
>1.6. How do I force running the text or gtk+ version of gFTP?</A ></H2
><P
>To run the text port, you can type gftp-text or to run the gtk+ port, you can run the gftp-gtk. The gftp command is just a shell script that checks if your DISPLAY variable is set, and if so it'll run the appropriate version.</P ></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN83"
>1.7. Is there a way for gFTP to download a bunch of files/directories and then exit when it's completed?</A
></H2
><P
>Yes, the text port of gFTP supports this well. You can type:</P ><P
><P
CLASS="LITERALLAYOUT"
><TT
CLASS="LITERAL"
>gftp-text -d ftp://ftp.somesite.com/someplace</TT ></P
></P
><P
>If someplace is a directory, it'll automatically download all of its subdirectories as well. If you want to transfer a file through ssh instead of ftp, just change the <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>ftp://</I
></SPAN
> to
<SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>ssh://</I
></SPAN
>.</P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN92"
>1.8. In the GTK+ version of gFTP, do I have to enter a port, username and password to connect to a ftp server?</A ></H2
><P
>No you don't. If you leave the port blank, it'll default to the default port for the protocol you selected (port 21 for FTP). If you leave the username blank, it will default to logging in as anonymous.</P ></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN95"
>1.9. Where does gFTP store it's options?</A ></H2
><P
>gFTP will automatically create a ~/.gftp directory when it is first run. Your config file is <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>~/.gftp/gftprc</I
></SPAN
>, and this is where
all of gFTP's settings are stored. The config file is well commented, so take a glance at it and see if there is anything you want to change. Your bookmarks are stored in the file <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>~/.gftp/bookmarks</I
></SPAN
>.</P
><P
>Every time gFTP is run, it will log the contents of the log window to <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>~/.gftp/gftp.log</I
></SPAN
>. The contents of this file will be
automatically purged this file when gFTP is started up.</P ></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN102"
>1.10. Why aren't the file sizes comma separated?</A ></H2
><P
>If gFTP was compiled with GNUSOURCE defined (run <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>gftp --info</I
></SPAN
>), then gFTP will use the printf() modifier %'ld. If your <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>LANG</I
></SPAN
> environment is set to C, then no
commas will be inserted. If you are in the US, change your <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>LANG</I
></SPAN
> environment variable to <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>en_US</I
></SPAN
>.</P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN109"
>1.11. When using an external editor, gFTP does not detect changes that are being made to the file.</A ></H2
><P
>Look at the man page for the editor you are using and see if there is a command line argument to have the editor run in the foreground (it won't fork to detact from the current terminal). If you are using one of the graphical VIM editors, you can add the <SPAN CLASS="emphasis"
><I
CLASS="EMPHASIS"
>--nofork</I
></SPAN
> argument.</P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN113"
>1.12. How can I increase the size of the fonts in gFTP?</A ></H2
><P
>You can use the gnome-font-properties program to change the fonts used by all GTK+ 2.x applications.</P
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="AEN116"
></A
>Chapter 2. FTP Protocol</H1
><DIV
CLASS="SECT1"
><H2
CLASS="SECT1"
><A
NAME="AEN118"
>2.1. When gFTP tries to get the remote directory listing, the remote server complains about either the -a or -L argument to LIST.</A ></H2
><P
>If the server is complaining about the -L option, go under <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>FTP-&#62;Options-&#62;FTP</I
></SPAN
> and disable resolve remote symlinks.
If it is complaining about the -a option, go to <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>FTP-&#62;Options-&#62;General</I
></SPAN
> and disable show hidden
files.</P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN123"
>2.2. When gFTP tries to get the remote directory listing, I receive the error: <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Cannot create a data connection: Connection refused</I
></SPAN
></A
></H2
><P
>Go under <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>FTP-&#62;Options-&#62;FTP</I
></SPAN
> and turn off passive
file transfers. Instead of sending the PASV command to open up the data connection on the server side, the data connection will be opened up on the client side, and the PORT command will be sent to the server instead.</P ></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="AEN128"
></A
>Chapter 3. HTTP Protocol</H1
><DIV
CLASS="SECT1"
><H2
CLASS="SECT1"
><A
NAME="AEN130"
>3.1. How do I set up my HTTP Proxy server?</A ></H2
><P
>Go under <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>FTP-&#62;Options</I
></SPAN
> and hit the FTP tab. Enter
HTTP as the proxy type and fill in your proxy server info on that screen. Then hit the HTTP tab and enter your same proxy server info there.</P ></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="AEN134"
></A
>Chapter 4. SSH Protocol</H1
><DIV
CLASS="SECT1"
><H2
CLASS="SECT1"
><A
NAME="AEN136"
>4.1. gFTP will not log into the remote SSH server when using a non-English locale.</A
></H2
><P
>Note: This answer only applies to versions of gFTP &gt;= 2.0.18</P ><P
>You will need to download the source code to gFTP and edit the appropriate po/&lt;lang&gt;.po file. You will need to make sure the following strings are translated exactly as they appear in the SSH client.</P ><P
></P
><UL
><LI
><P
>Enter passphrase for RSA key</P
></LI
><LI
><P
>Enter passphrase for key</P
></LI
><LI
><P
>Password</P
></LI
><LI
><P
>password</P
></LI
></UL
><P
>Please upload the changes to the PO file to GNOME's CVS or email me the updated PO file. If you email me the updates, please make sure that you grab the latest PO file from CVS.</P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN150"
>4.2. I'm having problems getting SSH2 transfers to work. I keep getting the error: <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Error: Message size XXXXXXXX too big from server</I ></SPAN
></A
></H2
><P
>Note: This answer only applies to versions of gFTP &lt;= 2.0.17</P ><P
>What probably is the problem, sftp-server isn't in your path on the remote server. When you try to connect to the remote server, you'll see the command gFTP is trying to run, and it'll look something like:</P ><P
><P
CLASS="LITERALLAYOUT"
><TT
CLASS="LITERAL"
>ssh -e none -l username hostname "echo -n xsftp ; sftp-server"</TT ></P
></P
><P
>Try running this command. If you get a prompt asking:</P ><P
><P
CLASS="LITERALLAYOUT"
><TT
CLASS="LITERAL"
>The authenticity of host 'hostname (###.###.###.##)' can't be established.</TT ><br>
<TT
CLASS="LITERAL"
>RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.</TT ><br>
<TT
CLASS="LITERAL"
>Are you sure you want to continue connecting (yes/no)?</TT ></P
></P
><P
>Tell it yes. gFTP won't even try to answer this question for you at the moment. Then, if you get the following output:</P ><P
><P
CLASS="LITERALLAYOUT"
><TT
CLASS="LITERAL"
>Enter passphrase for key '/home/brian/.ssh/id_dsa':</TT ><br>
<TT
CLASS="LITERAL"
>xsftp</TT
><br>
<TT
CLASS="LITERAL"
>bash: sftp-server: command not found</TT ></P
></P
><P
>You'll have to set the path to the sftp-server program. Alternatively you could go under FTP-&
62;Options-&#62;SSH and enable Use sftp subsys. If you enable this, then you don't have to know the remote path to your sftp executable. But if you enable this, gFTP won't be able to send your password over to the ssh client. So if you're not using ssh-agent, then ssh will spawn the ssh-askpass program to grab your password.</P ></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN171"
>4.3. What is the difference between the SSH and SSH2 protocols?</A ></H2
><P
>Note: This answer only applies to versions of gFTP &lt;= 2.0.15</P ><P
>The SSH protocol uses sftp &#62;= 0.7 from <A
HREF="http://www.xbill.org/sftp"
TARGET="top"
>http://www.xbill.org/sftp</A
>.
SSH2 uses the native file transfers found in the commercial SSH2 and in later versions of OpenSSH. The SSH2 protocol uses the sftp-server executable on the remote host and the SSH protocol uses the sftpserv executable.</P ><P
>Note: Due to confusion, the origional SSH protocol was removed in gFTP 2.0.15. It is not shown in gFTP 2.0.14, but there is a config option called enable
old_ssh to enable this protocol.</P ></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="AEN177"
></A
>Chapter 5. SSL Issues</H1
><DIV
CLASS="SECT1"
><H2
CLASS="SECT1"
><A
NAME="AEN179"
>5.1. When using the FTPS or HTTPS protocol, gFTP cannot connect if the remote server uses a self signed certificate.</A ></H2
><P
>You must add the public key of your self signed CA to your OpenSSL certs directory. On my Debian box, the OpenSSL certs are installed in /usr/lib/ssl/certs.</P
></DIV
></DIV
><DIV
CLASS="CHAPTER"
><HR><H1
><A
NAME="AEN182"
></A
>Chapter 6. Compiling Problems</H1
><DIV
CLASS="SECT1"
><H2
CLASS="SECT1"
><A
NAME="AEN184"
>6.1. When I try to compile gFTP, I see undefined symbol <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>libintl_gettext</I
></SPAN
>. Or, another error is
<SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>undefined symbol LC_ALL.</I
></SPAN
></A
></H2
><P
>Try running&#13;</P
><P
><P
CLASS="LITERALLAYOUT"
><TT
CLASS="LITERAL"
>make distclean ; configure --with-included-gettext.</TT ></P
></P
><P
>You could alternatively pass

<P
CLASS="LITERALLAYOUT"
><TT
CLASS="LITERAL"
>--disable-nls</TT
></P
>

to configure, and internationalization support will not be compiled in.</P ></DIV
></DIV
></DIV
></BODY
></HTML
>


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.