13 Appendix E CIFS Macintosh Extension

13 Appendix E CIFS Macintosh Extension

13.1 Introduction

The purpose of these extensions is to allow the Macintosh to better interoperate in a CIFS network. With these extensions Macintosh Clients will be able to reduce network traffic generated by the Macintosh, which in turn would speed up file access by the Client. These extensions will allow non-Macintosh Clients access to Macintosh files and also allow for the server to decide how to store Macintosh files and folders.

The CIFS Macintosh Extension is intended for use by all systems that implement the CIFS protocol.

13.2 Principles

These are a set of principles that the extensions meet.

Minimal changes

To make the extensions easier to implement, the number of changes and additions were minimized.

Can be implemented on non-Macintosh systems

While being useful for Macintosh, the extension allows one end of the connection to be a non-Macintosh system. This is so that other CIFS servers and clients can better integrate with a Macintosh CIFS client or server.

Use current commands

The changes only affect current commands. There is no need for CIFS clients to use CIFS commands marked as obsolete, nor should there be any changes to obsolete requests .

Retain existing CIFS semantics

The existing semantics of CIFS are retained.

Use CIFS security model

The standard CIFS security model is still used. This requires each distinct user to be logged into the server.

Addition to dialect

These items are an addition to the CIFS dialect, currently NT LM 0.12. These extensions are turn on by the server responding with out an error to the TRANS2_QUERY_FS_INFORMATION call with an info level of Trans2_GetSMB_MAC_QUERY_FS_INFO.

Future resilient

Future enhancements MUST not modify or change the meaning of previous implementations of the specification.

13.3 CIFS Protocol Modifications

This section details the require changes to the CIFS protocol that are needed to support CIFS Macintosh Extensions. These extensions require support of the NT LM 0.12 dialect with some minor additions. The Server must support the NT stream format for the opening of the resource, comments, and data streams of a file. A summary of the changes is listed below.

Reserve information levels numbers 0x300-0x3FF in the TRANS2_QUERY_FS_INFORMATION, TRANS2_QUERY_PATH_INFO, TRANS2_SET_PATH_INFO, TRANS2_FINDFIRST, and TRANS2_FINDNEXT SMBs for CIFS Extensions for Macintosh.

13.4 Modified SMBs

SMB

Modification

TRANS2_QUERY_FS_INFORMATION

Added Following Information Levels:

 

SMB_QUERY_MAC_FS_INFO (0x301) See 4.1.6.7

TRANS2_FINDFIRST

Added following Information Levels:

 

SMB_FINDBOTH_MAC_HFS_INFO (0X302) See 4.3.4.9

TRANS2_FINDNEXT

Same modification as done in TRANS2_FINDFIRST

TRANS2_SET_PATH_INFORMATION

Added Following Information Levels:

 

SMB_MAC_SET_FINDER_INFO (0x303) See 4.2.18.6

 

SMB_MAC_DT_ADD_APPL (0x304) See 4.2.18.7

 

SMB_MAC_DT_REMOVE_APPL (0x305) See 4.2.18.8

 

SMB_MAC_DT_ADD_ICON (0x309) See 4.2.18.9

TRANS2_QUERY_PATH_INFORMATION

Added Following Information Levels:

 

SMB_MAC_DT_GET_APPL (0x306) See 4.2.16.14

 

SMB_MAC_DT_GET_ICON (0x307) See 4.2.16.15

 

SMB_MAC_DT_GET_ICON_INFO (0x308) See 4.2.16.16

13.5 Guidelines for implementers

  • These extensions will be processed on share-by-share bases. This means that the Client will have to confirm that each share supports these extensions not just that the Server supports these extensions. This will allow a server to have some shares that are Macintosh aware and others that are not.

  • When a file or folder is deleted then all streams and information stored on the sever associated with that file or folder should be removed. When a file or folder is Copied/Renamed/Moved then all streams and information stored on the sever associated with that file or folder should be Copied/Renamed/Moved.

  • Clients or servers using this extension should have no specific reserved filenames (e.g. CON, AUX, PRN), and should not need to take specific action to protect the other end of the connection from them. If they have any such requirements, they must do them internally. This also applies to reserved characters in filenames (e.g. : \ ).

  • Clients should operate in UNICODE if at all possible.

  • Supporting the Desktop Database calls requires having a way to store information in a database. There are two kinds of information store in the database. Applications path that is associated with an application signature. Icons are stored based on size, icon type, file creator, and file type.



Implementing CIFS. The Common Internet File System
Implementing CIFS: The Common Internet File System
ISBN: 013047116X
EAN: 2147483647
Year: 2002
Pages: 210

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net