ProFTPD 1.3.4b released

This is what I've found:

Using
Code:
FactsAdvertise off
completely breaks browsing FTP in FileZilla. All directories are seen as regular files and are not accessible in FileZilla. Though no issues in FAR for example.

ProFTPd failed to restart properly on my new CentOS 6 box, so the fact the symlinks were working fine, I guess, was caused that the old version of ProFTPd was not killed and was still running. After forced restart symlinks are no more accessible in FileZilla.

With ProFTPD 1.3.4b symlinks are not shown in FAR, EditPlus (the list might include some other FTP clients), if a reference to a directory or file begins with dot-and-slash, e.g.:

Code:
public_html -> ./domains/domain.com/public_html

if to change to

Code:
public_html -> domains/domain.com/public_html

then the symlink can be seen in FAR, EditPlus (the list might include some other FTP clients). But it still makes no difference for Filezilla.

So I'd agree this is a ProFTPD/Filezilla problem.
 
Thanks, Arieh. Your link made it all clear to me. Let me quote from that link:

Use this option to have mod_facts use the broken "OS.unix=slink" syntax, preferred by FTP clients such as FileZilla, for indicating symlinks, rather than the more correct "OS.unix=symlink" syntax. See Bug#3318 for a more detailed discussion.

Based on that information, I don't want to implement the fix. Instead, I will wait for ProFTPD and FileZilla to come to agreement, or not. This should not be ours responsibility. It is the responsibility of ProFTPD and FileZilla, and all the other FTP clients developers etc. to solve this and agree about a common interpretation of the standard. What a mess! :)
 
Last edited:
But will you revert back to 1.3.4a then? Having 1.3.4b installed, this option seem to be the best choice for user convenience.
 
No, I will not revert to 1.3.4a. However I must say that also in 1.3.4a I was having the same problem with public_html symlink not working in FileZilla. Also I think the symlink work correct in several other FTP clients. I would also be afraid of possible problems in other FTP clients if I start using the new option, and I can't test in all FTP clients out there ...

Finally I give all clients SSH access, and advice them to use SFTP, and if they use SFTP in FileZilla, there is no problems at all (because it does not use ProFTPD).
 
@Arieh, in CentOS 6.3 x64 (dev server), I tried to use
ShowSymlinks on
<IfModule mod_facts.c>
FactsOptions UseSlink
</IfModule>
but it does not show the symlinks too (even in the I ftp localhost inside SSH console)
 
In ProFTPd 1.3.4a , we can use
<IfModule mod_facts.c>
FactsAdvertise off
</IfModule>
Then, symlink can show correctly inside FTP or FileZilla in both x86 , x64 servers
 
Yes, the following config works in CentOS 6.3 x64 with ProFTPd 1.3.4b

Put the code outside the <global> scope, instead of inside <global>

Then, FileZilla can show public_html symlink correctly.

Code:
ShowSymlinks on
<IfModule mod_facts.c>
    FactsOptions UseSlink
</IfModule>

However, if I SSH to the box, and ftp localhost (CLI)
it does not show (i.e. hidden) the public_html symlink
I can issue - "cd /public_html" , then it switches to "/domains/xxx.com/public_html/" accordingly.
 
Last edited:
Are you sure about SSH? ProFTPd and issue with symlinks in it has nothing to do with SSH at all. If you don't see symlinks in a SSH session, what do you do when you don't see them? Is it

Code:
ls

command or what?
 
It is simply FTP protocol , not SFTP or else.

Code:
[root@xxx ~]# ftp localhost
Connected to localhost (127.0.0.1).
220 FTP Server Ready
Name (localhost:web????): to??????
331 Password required for to??????
Password:
230 User to?????? logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (127,0,0,1,153,105).
150 Opening ASCII mode data connection for file list
drwx--x---   7 ftp      ftp          4096 Aug 10 10:18 .
drwx--x---   7 ftp      ftp          4096 Aug 10 10:18 ..
drwx--x--x   3 ftp      ftp          4096 Jul 31 10:22 .appdata
-rw-r--r--   1 ftp      ftp            18 May 10 18:45 .bash_logout
-rw-r--r--   1 ftp      ftp           176 May 10 18:45 .bash_profile
-rw-r--r--   1 ftp      ftp           124 May 10 18:45 .bashrc
-rw-r--r--   1 ftp      ftp             0 Aug 18 01:15 .bcc_enabled
drwx--x--x   3 ftp      ftp          4096 Jul 31 08:07 domains
-rw-r--r--   1 ftp      ftp             0 Jul 31 08:07 .greylist_enabled
drwxrwx---   3 ftp      ftp          4096 Jul 31 08:07 imap
drwx--x--x   3 ftp      ftp          4096 Aug 10 10:18 .installatron
-rw-r--r--   1 ftp      ftp             0 Jul 31 08:07 .rbl_rewrite_enabled
-rw-r--r--   1 ftp      ftp             0 Jul 31 08:07 .sd_rewrite_enabled
-rw-r-----   1 ftp      ftp            34 Jul 31 08:07 .shadow
drwxrwx--x   2 ftp      ftp          4096 Aug  3 08:26 .spamassassin
226 Transfer complete
ftp> bye
221 Goodbye.
 
And what you see if you

Code:
ls -la

in a shell in that directory? And what does your /etc/proftpd.conf look like?
 
Code:
[root@xxx to?????]# pwd
/home/to?????
[root@xxx to?????]# ls -la
total 44
drwx--x---   7 to????? access   4096 Aug 10 18:18 .
drwx--x--x. 13 root     root     4096 Aug  9 12:18 ..
drwx--x--x   3 to????? to????? 4096 Jul 31 18:22 .appdata
-rw-r--r--   1 to????? to?????   18 May 11 02:45 .bash_logout
-rw-r--r--   1 to????? to?????  176 May 11 02:45 .bash_profile
-rw-r--r--   1 to????? to?????  124 May 11 02:45 .bashrc
-rw-r--r--   1 root     root        0 Aug 18 17:15 .bcc_enabled
drwx--x--x   3 to????? to????? 4096 Jul 31 16:07 domains
-rw-r--r--   1 to????? to?????    0 Jul 31 16:07 .greylist_enabled
drwxrwx---   3 to????? mail     4096 Jul 31 16:07 imap
drwx--x--x   3 to????? to????? 4096 Aug 10 18:18 .installatron
lrwxrwxrwx   1 to????? to?????   38 Jul 31 16:07 public_html -> ./domains/to?????ight.com/public_html
-rw-r--r--   1 to????? to?????    0 Jul 31 16:07 .rbl_rewrite_enabled
-rw-r--r--   1 to????? to?????    0 Jul 31 16:07 .sd_rewrite_enabled
-rw-r-----   1 to????? mail       34 Jul 31 16:07 .shadow
drwxrwx--x   2 to????? mail     4096 Aug  3 16:26 .spamassassin
[root@xxx to?????]#

For /etc/proftpd.conf , you may refer to this thread #9 (I moved the <IfModule mod_fact.c> outside the <global> scope)
 
OK, I reviewed your posts and config, and I should admit the fact that I have no idea, why this happens. By why so you need ftp the local server from a shell? And what if you ftp another server of yours from this one?
 
I think the problem is -

When upgraded to 1.3.4b, if I use some a bit old FTP client (or potentially FTP program not using MTLS), it does not show the /public_html/ symlink

I tested with CoreFTP LE, it does not show the /public_html/ symlink.
 
I guess it's a question to ProFTPd developers then, or we all should upgrade out ftp programs. By the way does anybody know if this issue is actual for PureFTPd?
 
Back
Top