commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jbre...@wi.rr.com (Jeffrey D. Brekke)
Subject [net] NT FTP Server & DIRSTYLE (was Re: [net] [vote] Release Commons-Net 1.2)
Date Wed, 31 Mar 2004 19:05:53 GMT
The only way we've found is to use the output of the SITE DIRSTYLE
command itself, calling it twice:

ftp> site DIRSTYLE
200 MSDOS-like directory output is off
ftp> site DIRSTYLE
200 MSDOS-like directory output is on

Then parse that last line:

  /**                                                                                    
                            
   * Method isMSDOSDirstyle.                                                             
                            
   * @return String                                                                      
                            
   */
    public boolean isMSDOSDirstyle()
    {
        boolean retVal = false;
        try
        {
            if (sendSiteCommand("DIRSTYLE"))
            {
                sendSiteCommand("DIRSTYLE");
                retVal = (getReplyString().indexOf("on") > 0);
            }
        }
        catch (IOException e)
        {
            retVal = false;
        }
        return (retVal);
    }

That might work nicely, until the output of site DIRSTYLE changes ;)

>>>>> On Tue, 30 Mar 2004 20:05:33 -0600, Steve Cohen <scohen@javactivity.org>
said:

> Maybe we're wrong to rely exclusively on the SYST command.  Jeff,
> since you evidently have admin access to an NT FTP server, maybe you
> can find a quick way to distinguish between an NT server in Unix
> DIRSTYLE mode and one in NT mode.  LIke maybe the header information
> uses different text or something.

> Maybe we could have something like this:

> if "Windows" == syst() result { // do a list command just to look at
> the header if header is unix style return unix else return windows.
> }

> If not, we can always go the FAQ route.

> Steve


> On Monday 29 March 2004 12:08 pm, Jeffrey D. Brekke wrote:
>> Here on a Windows2003 server toggling the DIRSTYLE doesn't change
>> the output of the SYS command.  It still reports Windows NT 5.0, so
>> if the MSDOS dirstyle is off, then the wrong parser will get
>> autoselected.  I guess we could put this in the FAQ or something
>> with some examples maybe.
>> 
>> >>>>> On Mon, 29 Mar 2004 06:47:25 -0600, Steve Cohen >>>>>
>> <scohen@javactivity.org> said:
>> >
>> > I think you may be referring to something said by a user last
>> week, > in which he "solved" the problem by configuring his NT FTP
>> server to > use the "Unix display format".  I didn't know before
>> that that was > an option.  What I still don't know is if one takes
>> that option, > does the SYST command return "Windows" or "Unix"?
>> If it's the > former, then we have a problem.  It's not an
>> unsolvable problem > because you can always use the form of
>> listFiles() that takes a > parser class name or a different SYST
>> value (e.g. listFiles("UNIX") > ) as a parameter, although you
>> can't at present do this from Ant.  > (But adding this capability
>> to Ant is what I'm striving towards.)
>> >
>> > A little investigation would be good here.  But we need to
>> remember > the point of autodetection.  It's not foolproof, can't
>> be foolproof, > since it depends on SYST identification which is
>> not necessarily > cast in stone.  It is an attempt to raise the
>> default success rate > of using listFiles() out of the box from
>> maybe 90% to 98%, by > autodetecting other cases, the most common
>> of which is Windows but > also OS2, VMS, OS400, etc.  So while we
>> need to strive to become as > good as possible, I don't think we'll
>> ever hit 100%.  FTP is too > loosely specced for that to happen.
>> >
>> > Default falling back to unix if other methods fail would involve
>> a > much more complex mechanism in which the program would have to
>> > decide ("this isn't working") and try something else.  While I >
>> wouldn't totally rule that out, I don't at present feel there is >
>> enough solid information to justify that effort.
>> >
>> > On Sunday 28 March 2004 11:59 pm, Mario Ivankovits wrote:
>> >> +1
>> >>
>> >> >2.  Autodetection of system type - a BIG feature for the Ant
>> user >> > community and others.  We missed the last Ant release and
>> I'd
>> >>
>> >> like not to > miss another.
>> >>
>> >> There is a littly thing whe should try to enhance in the future.
>> >> Using "Windows" for the NTFTPEntryParser is too strict as it
>> might >> depend on a "directory listing format" which is
>> configureable.  >> Maybe a automatic fallback to UnixFTPEntryParser
>> might help here?
>> >>
>> >>
>> >> -- Mario
>> >>
>> >>
>> >>
>> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail:
>> commons-dev-unsubscribe@jakarta.apache.org >> For additional
>> commands, e-mail: >> commons-dev-help@jakarta.apache.org
>> >
>> >
>> ---------------------------------------------------------------------
>> > To unsubscribe, e-mail:
>> commons-dev-unsubscribe@jakarta.apache.org > For additional
>> commands, e-mail: commons-dev-help@jakarta.apache.org


> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org

-- 
=====================================================================
Jeffrey D. Brekke                                   jbrekke@wi.rr.com
Wisconsin,  USA                                     brekke@apache.org
                                                    ekkerbj@yahoo.com


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message