ports/81787: [patch] port ftp/fmirror 0.8.4 -r <remotedir> required: does not work with / or .

Fred Cox sailorfred at yahoo.com
Thu Jun 2 01:00:24 UTC 2005


>Number:         81787
>Category:       ports
>Synopsis:       [patch] port ftp/fmirror 0.8.4 -r <remotedir> required: does not work with / or .
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jun 02 01:00:12 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Fred Cox
>Release:        FreeBSD 5.2.1-RELEASE-p5 i386
>Organization:
Himself
>Environment:
System: FreeBSD fcox.net 5.2.1-RELEASE-p5 FreeBSD 5.2.1-RELEASE-p5 #0: Wed Apr 21 01:44:27 GMT 2004 admin at www.sereneorchids.com:/usr/obj/usr/src/sys/GENERIC i386
>Description:
An FTP server that I must mirror does not place the content into a
subdirectory such as "pub".  I can't know a priori what files and directories
are in the top level directory.  Leaving off the -r flag causes this error:
fmirror: remotedir not set

Using -r . or -r / causes output like this:

01:45:21 . @ xxx.com -> .
01:45:21 Connecting to xxx.com...
01:45:21 Connected.
01:45:23 Remote timezone: 420 minutes from GMT
01:45:23 Operation failed: 553 Permission denied.
01:45:23 Could not CWD to '..', aborting

The authors' emails bounce, and the maintainer does not respond.

>How-To-Repeat:
	Use -r . or -r / or leave -r off.
>Fix:

Here's a minimal fix that lets me use "-r /".  Another would be to no
longer require -r.

*** fmirror.c.pre       Mon Mar 21 23:45:36 2005
--- fmirror.c   Mon Mar 21 23:46:41 2005
***************
*** 1101,1107 ****
        }
      }
  dirdone:
!     if (gotodir) {
        cmd("CWD %s", "..");
        if (!success()) {
                LOG(0, failure, ("Could not CWD to '..', aborting"));
--- 1101,1107 ----
        }
      }
  dirdone:
!     if (gotodir && strcmp(gotodir, "/") != 0) {
        cmd("CWD %s", "..");
        if (!success()) {
                LOG(0, failure, ("Could not CWD to '..', aborting"));



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list