IETF-SSH archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Case sensitivity on sftp servers



We never reached consensus on the issue
of the server advertising whether or not
files where case sensitive or not.

I think it is a good idea for the server to
tell the client about case sensitivity because:

o For globbing purposes, the client may need to
  know, depending on how the user wants to operate,
  whether a* matches Alphabet.txt on the server.

  I claim we are not smart enough to know all the
  ways people will want to use SFTP and therefor
  not smart enough to say that they will all be
  happy with globbing that uses the case rules of
  their client.

o When transfering files between a client and server
  with different case properties, the client may
  wish to warn the client about problems (instead
  of overwriting just transfered data or giving the
  user an overwrite prompt.)  The client might also
  wish to help the user resolve the problems (automatic
  renaming algorithms, or some kind of conflict resolution
  interface.)

  These kinds of things would be made easier by the client
  understanding that two different files on the server
  have the same name on the client.  Or, two different files
  on the client have the same name when transfered to the
  server.

Do we want to solve these problems in the sftp draft?

VanDyke has solved these problems between our
own clients and servers using the following
extension:

string "default-fs-attribs%vandyke.com@localhost"
string attrib-packet
    uint32 file-system-attribute-mask
    string illegal-characters [UTF8]
    uint32 reserved-name-count
        string reserved-name[1] [UTF8]
        ...
        string reserved-name[reserved-name-count] [UTF8]

file-system-attribute-mask
    Any combination of the following:

        SFTP_FSATTR_CASE_PRESERVED    = 1
        SFTP_FSATTR_CASE_SENSITIVE    = 2

illegal-characters
    Characters that can not be used in a file or directory name.

reserved-name-count
reserved-name
    Names that cna not be used for a file or directory.  For example,
    under WinNT, these include COM1, COM2, etc.

Joseph




Home | Main Index | Thread Index | Old Index