869
|
1
|
|
2
|
|
3 gFTP FAQ
|
|
4
|
|
5
|
|
6 Brian Masney
|
|
7
|
|
8 This document is intended to answer questions that are likely to be frequently
|
|
9 asked by users of gFTP.
|
|
10 -------------------------------------------------------------------------------
|
|
11
|
|
12
|
|
13 Table of Contents
|
|
14
|
|
15 1. General_Information
|
|
16
|
|
17
|
|
18 1.1. What_are_the_requirements_to_run_gFTP?
|
|
19
|
|
20 1.2. How_do_I_install_gFTP?
|
|
21
|
|
22 1.3. What_systems_is_gFTP_known_to_run_on?
|
|
23
|
|
24 1.4. Does_gFTP_have_a_CVS_repository?
|
|
25
|
|
26 1.5. How_do_I_report_bugs_in_gFTP?
|
|
27
|
|
28 1.6. How_do_I_force_running_the_text_or_gtk+_version_of_gFTP?
|
|
29
|
|
30 1.7. Is_there_a_way_for_gFTP_to_download_a_bunch_of_files/directories
|
|
31 and_then_exit_when_it's_completed?
|
|
32
|
|
33 1.8. In_the_GTK+_version_of_gFTP,_do_I_have_to_enter_a_port,_username
|
|
34 and_password_to_connect_to_a_ftp_server?
|
|
35
|
|
36 1.9. Where_does_gFTP_store_it's_options?
|
|
37
|
|
38 1.10. Why_aren't_the_file_sizes_comma_separated?
|
|
39
|
|
40 1.11. When_using_an_external_editor,_gFTP_does_not_detect_changes_that
|
|
41 are_being_made_to_the_file.
|
|
42
|
|
43 1.12. How_can_I_increase_the_size_of_the_fonts_in_gFTP?
|
|
44
|
|
45 1.13. I_can't_transfer_certain_file_types_in_binary_mode_using_the_FTP
|
|
46 protocol.
|
|
47
|
|
48
|
|
49 2. FTP_Protocol
|
|
50
|
|
51
|
|
52 2.1. When_gFTP_tries_to_get_the_remote_directory_listing,_the_remote
|
|
53 server_complains_about_either_the_-a_or_-L_argument_to_LIST.
|
|
54
|
|
55 2.2. When_gFTP_tries_to_get_the_remote_directory_listing,_I_receive_the
|
|
56 error:_Cannot_create_a_data_connection:_Connection_refused
|
|
57
|
|
58
|
|
59 3. HTTP_Protocol
|
|
60
|
|
61
|
|
62 3.1. How_do_I_set_up_my_HTTP_Proxy_server?
|
|
63
|
|
64
|
|
65 4. SSH_Protocol
|
|
66
|
|
67
|
|
68 4.1. gFTP_will_not_log_into_the_remote_SSH_server_when_using_a_non-
|
|
69 English_locale.
|
|
70
|
|
71 4.2. I'm_having_problems_getting_SSH2_transfers_to_work._I_keep_getting
|
|
72 the_error:_Error:_Message_size_XXXXXXXX_too_big_from_server
|
|
73
|
|
74 4.3. What_is_the_difference_between_the_SSH_and_SSH2_protocols?
|
|
75
|
|
76
|
|
77 5. SSL_Issues
|
|
78
|
|
79
|
|
80 5.1. When_using_the_FTPS_or_HTTPS_protocol,_gFTP_cannot_connect_if_the
|
|
81 remote_server_uses_a_self_signed_certificate.
|
|
82
|
|
83
|
|
84 6. Compiling_Problems
|
|
85
|
|
86
|
|
87 6.1. When_I_try_to_compile_gFTP,_I_see_undefined_symbol
|
|
88 libintl_gettext._Or,_another_error_is_undefined_symbol_LC_ALL.
|
|
89
|
|
90
|
|
91 -------------------------------------------------------------------------------
|
|
92
|
|
93
|
|
94 Chapter 1. General Information
|
|
95
|
|
96
|
|
97 1.1. What are the requirements to run gFTP?
|
|
98
|
|
99
|
|
100 * GTK+ 1.2.3 or higher. GTK+/Glib is included with most systems now. If you
|
|
101 don't have it installed, you may want to check to see if your vendor has a
|
|
102 package available. If not, you can download the latest version of GTK+ and
|
|
103 Glib from ftp://ftp.gtk.org/pub/gtk. gFTP will work with either version 1.2
|
|
104 or 2.x of GTK+, but I would recommend using GTK+ 2.x.
|
|
105 * pthread libraries. Most systems already satisfy this requirement. If you are
|
|
106 on a platform other than Linux, you may want to take a look at the FSU
|
|
107 Pthreads library at http://www.informatik.hu-berlin.de/~mueller/pthreads.
|
|
108
|
|
109 -------------------------------------------------------------------------------
|
|
110
|
|
111 1.2. How do I install gFTP?
|
|
112
|
|
113
|
|
114 * If you do not want to compile gFTP yourself, you can check my webpage. I have
|
|
115 DEBs for Debian and RPMs for RedHat available. If you're looking for Solaris
|
|
116 binaries, check out http://www.sunfreeware.com.
|
|
117 * If you are compiling gFTP yourself, extract the files from the distribution
|
|
118 with tar -zxvf gftp-<version>.tar.gz
|
|
119 * Go to the gftp-<version> directory and type
|
|
120 ./configure
|
|
121 make
|
|
122 The configure script will generate a Makefile for your machine, and make will
|
|
123 compile a binary for your machine. By default, when you run configure, it
|
|
124 will install gFTP with the prefix /usr/local, so the gFTP binary will be /
|
|
125 usr/local/bin/gftp. You can change this by typing configure --prefix=/usr,
|
|
126 and it will then install the gFTP binary to /usr/bin/gftp.
|
|
127 * If the compile suceeds without any errors, you can type make install to
|
|
128 install the binary. This will also copy some necessary files to <install
|
|
129 prefix>/share/gftp. If you do not have root on your machine to install these
|
|
130 files, copy the contents of the docs/sample.gftp/ directory to ~/.gftp.
|
|
131 * You may want to glance at the USERS-GUIDE file that comes with this
|
|
132 distribution. It contains a little bit of information about how to use it.
|
|
133
|
|
134 -------------------------------------------------------------------------------
|
|
135
|
|
136 1.3. What systems is gFTP known to run on?
|
|
137
|
|
138 I develop gFTP on a Debian GNU/Linux machine. It should run under any other
|
|
139 Linux distributions. Here is a list of other platforms I have received
|
|
140 successful compile reports:
|
|
141
|
|
142 * FreeBSD/NetBSD/OpenBSD/BSDI
|
|
143 * Solaris
|
|
144 * IRIX
|
|
145 * Digital UNIX
|
|
146 * HP/UX 11
|
|
147
|
|
148 If gFTP compiles and runs on a platform not listed here, please email me about
|
|
149 it and I'll add it to this list. If you are having problems compiling GTK+ or
|
|
150 gFTP on another platform, try using GNU make instead of your vendor supplied
|
|
151 make.
|
|
152 -------------------------------------------------------------------------------
|
|
153
|
|
154 1.4. Does gFTP have a CVS repository?
|
|
155
|
|
156 gFTP is stored in GNOME's CVS repository. For instructions on how to setup your
|
|
157 CVS client, you can visit the webpage http://developer.gnome.org/tools/cvs.html
|
|
158 for instructions. In a nutshell, you will need to run the following commands
|
|
159 (this assumes you are using the bash shell):
|
|
160 export CVSROOT=":pserver:anonymous@anoncvs.gnome.org:/cvs/gnome"
|
|
161 cvs login
|
|
162 Just hit enter at the password prompt since there is no password.
|
|
163 cvs co gftp
|
|
164 To compile the CVS code, you will need autoconf, automake 1.4 and gettext
|
|
165 installed on your system. To generate a configure script, you will need to run
|
|
166 autogen.sh. Once this script is generated, you can follow the normal
|
|
167 installation instructions.
|
|
168 -------------------------------------------------------------------------------
|
|
169
|
|
170 1.5. How do I report bugs in gFTP?
|
|
171
|
|
172 If you find ANY bugs in gFTP, please check to make sure that you are using the
|
|
173 latest version of gFTP. If you are, please submit all bug reports to GNOME's
|
|
174 Bugzilla. When sending in bug reports, please try to be as descriptive as
|
|
175 possible. Send me what OS/version you are running, what compiler you are
|
|
176 compiling with, the output of gftp --info and any other important information.
|
|
177 If you get gFTP to crash, it would be very helpful if you could send me a
|
|
178 backtrace. If you do not know how to do a backtrace, download the source code
|
|
179 from my website. Edit the Makefile, and make sure that -g appears in the CFLAGS
|
|
180 variable. Then recompile gFTP, but do NOT run make install because it will
|
|
181 install a stripped binary in $PREFIX/bin. Then type gdb ./gftp. Once you have a
|
|
182 (gdb) prompt, type r. When gFTP crashes, go back to that terminal window, and
|
|
183 type bt, and put that output in the bug that you file with bugzilla.
|
|
184 I also have a gftp-users mailinglist setup. I have a link to the archives on my
|
|
185 main webpage. If it is strictly a bug report, please submit it to Bugzilla
|
|
186 instead of the mailinglist. Bugs that are submitted to bugzilla are much easier
|
|
187 for me to track.
|
|
188 Also, if you do not get a response back from me immediately, that is not
|
|
189 uncommon. I usually stay very busy and I don't get to work on gFTP all of the
|
|
190 time.
|
|
191 -------------------------------------------------------------------------------
|
|
192
|
|
193 1.6. How do I force running the text or gtk+ version of gFTP?
|
|
194
|
|
195 To run the text port, you can type gftp-text or to run the gtk+ port, you can
|
|
196 run the gftp-gtk. The gftp command is just a shell script that checks if your
|
|
197 DISPLAY variable is set, and if so it'll run the appropriate version.
|
|
198 -------------------------------------------------------------------------------
|
|
199
|
|
200 1.7. Is there a way for gFTP to download a bunch of files/directories and then
|
|
201 exit when it's completed?
|
|
202
|
|
203 Yes, the text port of gFTP supports this well. You can type:
|
|
204 gftp-text -d ftp://ftp.somesite.com/someplace
|
|
205 If someplace is a directory, it'll automatically download all of its
|
|
206 subdirectories as well. If you want to transfer a file through ssh instead of
|
|
207 ftp, just change the ftp:// to ssh://.
|
|
208 -------------------------------------------------------------------------------
|
|
209
|
|
210 1.8. In the GTK+ version of gFTP, do I have to enter a port, username and
|
|
211 password to connect to a ftp server?
|
|
212
|
|
213 No you don't. If you leave the port blank, it'll default to the default port
|
|
214 for the protocol you selected (port 21 for FTP). If you leave the username
|
|
215 blank, it will default to logging in as anonymous.
|
|
216 -------------------------------------------------------------------------------
|
|
217
|
|
218 1.9. Where does gFTP store it's options?
|
|
219
|
|
220 gFTP will automatically create a ~/.gftp directory when it is first run. Your
|
|
221 config file is ~/.gftp/gftprc, and this is where all of gFTP's settings are
|
|
222 stored. The config file is well commented, so take a glance at it and see if
|
|
223 there is anything you want to change. Your bookmarks are stored in the file
|
|
224 ~/.gftp/bookmarks.
|
|
225 Every time gFTP is run, it will log the contents of the log window to ~/.gftp/
|
|
226 gftp.log. The contents of this file will be automatically purged this file when
|
|
227 gFTP is started up.
|
|
228 -------------------------------------------------------------------------------
|
|
229
|
|
230 1.10. Why aren't the file sizes comma separated?
|
|
231
|
|
232 If gFTP was compiled with _GNU_SOURCE defined (run gftp --info), then gFTP will
|
|
233 use the printf() modifier %'ld. If your LANG environment is set to C, then no
|
|
234 commas will be inserted. If you are in the US, change your LANG environment
|
|
235 variable to en_US.
|
|
236 -------------------------------------------------------------------------------
|
|
237
|
|
238 1.11. When using an external editor, gFTP does not detect changes that are
|
|
239 being made to the file.
|
|
240
|
|
241 Look at the man page for the editor you are using and see if there is a command
|
|
242 line argument to have the editor run in the foreground (it won't fork to detact
|
|
243 from the current terminal). If you are using one of the graphical VIM editors,
|
|
244 you can add the --nofork argument.
|
|
245 -------------------------------------------------------------------------------
|
|
246
|
|
247 1.12. How can I increase the size of the fonts in gFTP?
|
|
248
|
|
249 You can use the gnome-font-properties program to change the fonts used by all
|
|
250 GTK+ 2.x applications.
|
|
251 -------------------------------------------------------------------------------
|
|
252
|
|
253 1.13. I can't transfer certain file types in binary mode using the FTP
|
|
254 protocol.
|
|
255
|
|
256 Edit your ~/.gftp/gftprc file and look at the ext= lines towards the bottom of
|
|
257 the file. These lines control what icon is used for each file type. It also
|
|
258 controls what mode is used for the file transfer. For example, to transfer all
|
|
259 HTML files as binary, change the following two lines:
|
|
260 ext=.htm:world.xpm:A:
|
|
261 ext=.html:world.xpm:A:
|
|
262 to the following:
|
|
263 ext=.htm:world.xpm:B:
|
|
264 ext=.html:world.xpm:B:
|
|
265 -------------------------------------------------------------------------------
|
|
266
|
|
267
|
|
268 Chapter 2. FTP Protocol
|
|
269
|
|
270
|
|
271 2.1. When gFTP tries to get the remote directory listing, the remote server
|
|
272 complains about either the -a or -L argument to LIST.
|
|
273
|
|
274 If the server is complaining about the -L option, go under FTP->Options->FTP
|
|
275 and disable resolve remote symlinks. If it is complaining about the -a option,
|
|
276 go to FTP->Options->General and disable show hidden files.
|
|
277 -------------------------------------------------------------------------------
|
|
278
|
|
279 2.2. When gFTP tries to get the remote directory listing, I receive the error:
|
|
280 Cannot create a data connection: Connection refused
|
|
281
|
|
282 Go under FTP->Options->FTP and turn off passive file transfers. Instead of
|
|
283 sending the PASV command to open up the data connection on the server side, the
|
|
284 data connection will be opened up on the client side, and the PORT command will
|
|
285 be sent to the server instead.
|
|
286 -------------------------------------------------------------------------------
|
|
287
|
|
288
|
|
289 Chapter 3. HTTP Protocol
|
|
290
|
|
291
|
|
292 3.1. How do I set up my HTTP Proxy server?
|
|
293
|
|
294 Go under FTP->Options and hit the FTP tab. Enter HTTP as the proxy type and
|
|
295 fill in your proxy server info on that screen. Then hit the HTTP tab and enter
|
|
296 your same proxy server info there.
|
|
297 -------------------------------------------------------------------------------
|
|
298
|
|
299
|
|
300 Chapter 4. SSH Protocol
|
|
301
|
|
302
|
|
303 4.1. gFTP will not log into the remote SSH server when using a non-English
|
|
304 locale.
|
|
305
|
|
306 Note: This answer only applies to versions of gFTP >= 2.0.18
|
|
307 You will need to download the source code to gFTP and edit the appropriate po/
|
|
308 <lang>.po file. You will need to make sure the following strings are translated
|
|
309 exactly as they appear in the SSH client.
|
|
310
|
|
311 * Enter passphrase for RSA key
|
|
312 * Enter passphrase for key
|
|
313 * Password
|
|
314 * password
|
|
315
|
|
316 Please upload the changes to the PO file to GNOME's CVS or email me the updated
|
|
317 PO file. If you email me the updates, please make sure that you grab the latest
|
|
318 PO file from CVS.
|
|
319 -------------------------------------------------------------------------------
|
|
320
|
|
321 4.2. I'm having problems getting SSH2 transfers to work. I keep getting the
|
|
322 error: Error: Message size XXXXXXXX too big from server
|
|
323
|
|
324 Note: This answer only applies to versions of gFTP <= 2.0.17
|
|
325 What probably is the problem, sftp-server isn't in your path on the remote
|
|
326 server. When you try to connect to the remote server, you'll see the command
|
|
327 gFTP is trying to run, and it'll look something like:
|
|
328 ssh -e none -l username hostname "echo -n xsftp ; sftp-server"
|
|
329 Try running this command. If you get a prompt asking:
|
|
330 The authenticity of host 'hostname (###.###.###.###)' can't be established.
|
|
331 RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
|
|
332 Are you sure you want to continue connecting (yes/no)?
|
|
333 Tell it yes. gFTP won't even try to answer this question for you at the moment.
|
|
334 Then, if you get the following output:
|
|
335 Enter passphrase for key '/home/brian/.ssh/id_dsa':
|
|
336 xsftp
|
|
337 bash: sftp-server: command not found
|
|
338 You'll have to set the path to the sftp-server program. Alternatively you could
|
|
339 go under FTP->Options->SSH and enable Use sftp subsys. If you enable this, then
|
|
340 you don't have to know the remote path to your sftp executable. But if you
|
|
341 enable this, gFTP won't be able to send your password over to the ssh client.
|
|
342 So if you're not using ssh-agent, then ssh will spawn the ssh-askpass program
|
|
343 to grab your password.
|
|
344 -------------------------------------------------------------------------------
|
|
345
|
|
346 4.3. What is the difference between the SSH and SSH2 protocols?
|
|
347
|
|
348 Note: This answer only applies to versions of gFTP <= 2.0.15
|
|
349 The SSH protocol uses sftp >= 0.7 from http://www.xbill.org/sftp. SSH2 uses the
|
|
350 native file transfers found in the commercial SSH2 and in later versions of
|
|
351 OpenSSH. The SSH2 protocol uses the sftp-server executable on the remote host
|
|
352 and the SSH protocol uses the sftpserv executable.
|
|
353 Note: Due to confusion, the origional SSH protocol was removed in gFTP 2.0.15.
|
|
354 It is not shown in gFTP 2.0.14, but there is a config option called
|
|
355 enable_old_ssh to enable this protocol.
|
|
356 -------------------------------------------------------------------------------
|
|
357
|
|
358
|
|
359 Chapter 5. SSL Issues
|
|
360
|
|
361
|
|
362 5.1. When using the FTPS or HTTPS protocol, gFTP cannot connect if the remote
|
|
363 server uses a self signed certificate.
|
|
364
|
|
365 You must add the public key of your self signed CA to your OpenSSL certs
|
|
366 directory. On my Debian box, the OpenSSL certs are installed in /usr/lib/ssl/
|
|
367 certs.
|
|
368 -------------------------------------------------------------------------------
|
|
369
|
|
370
|
|
371 Chapter 6. Compiling Problems
|
|
372
|
|
373
|
|
374 6.1. When I try to compile gFTP, I see undefined symbol libintl_gettext. Or,
|
|
375 another error is undefined symbol LC_ALL.
|
|
376
|
|
377 Try running
|
|
378 make distclean ; configure --with-included-gettext.
|
|
379 You could alternatively pass
|
|
380 --disable-nls
|
|
381 to configure, and internationalization support will not be compiled in.
|