|Summary:||ftp's mget doesn't work if runique is enabled|
|Product:||[Retired] Red Hat Linux||Reporter:||Red Hat Bugzilla <bugzilla>|
|Component:||ftp||Assignee:||Cristian Gafton <gafton>|
|Status:||CLOSED CURRENTRELEASE||QA Contact:|
|Fixed In Version:||Doc Type:||Bug Fix|
|Doc Text:||Story Points:||---|
|Last Closed:||1998-12-15 23:17:04 UTC||Type:||---|
|oVirt Team:||---||RHEL 7.3 requirements from Atomic Host:|
|Cloudforms Team:||---||Target Upstream Version:|
Description Red Hat Bugzilla 1998-12-04 21:13:18 UTC
The ftp client has a bug. `mget'' doesn't get any files if ``runique'' is enabled. The problem is inconsistent naming of temporary files which contain the list of remote files to get. Example. Try this .netrc file on a directory that contains files: default login anonymous password user@host macdef init prompt runique cd /pub/files mget * quit Standard output will be something like this: ... 230 Guest login ok, access restrictions apply. prompt Interactive mode off. runique Receive unique on. cd /pub/files 250 CWD command successful. mget * quit 221 Goodbye. Note that ``mget *'' doesn't retrieve any files at all. More low-level description of the bug. A tmp file name is created in source file cmds.c, function remglob(), variable `temp''. In function recvrequest() a unique file name is created in variable `local'' from the argument char pointer in `temp''. In other words, gunique() in file ftp.c is called and appends a .1 (,.2, and so on) to a path. The output from FTP protocol command NLST is stored in file /tmp/ftpa*.1. But remglob() tries to load the file contents from the shorter name (/tmp/ftpa) that has not postfix. So the mget() function doesn't reach its download loop and exits without getting any file. Whoever is more familiar with the code should have no problems fixing this.
Comment 1 Red Hat Bugzilla 1998-12-15 23:17:59 UTC
This is fixed in the devel tree; it will appear in the next rawhide release.