`
`U.S. Patent No. 6,701,365
`
`Exhibit B
`
`The Open Group, Technical Standard, Protocols for X/Open PC
`lnterworking: SMB, Version 2.0
`
`Customer No.: 8791
`
`Blakely, Sokoloff, Taylor 8: Zafman, LLP
`Sunnyvale, California 940854040
`
`Telephone (408) 720-8300
`Fax (408) 720-8383
`
`Page 1 of 535
`
`LG Electronics Exhibit 1014
`
`
`
`Technical Standard
`
`Protocols for X/Open PC lnterworking
`SMB, Version 2
`
`Page 2 of 535
`
`
`
`[This page intentionally left blank]
`
`Page 3 of 535
`
`
`
`/Open CAE Specification
`
`Protocols for X/Open PC Interw orking: SMB, Version 2
`
`X/Open Company Ltd.
`
`Page 4 of 535
`
`
`
`© September 1992 X/Open Company Lt'mited
`
`All righls reserved. No part of this publication may be reproduced, stored in a retiievaj system,
`or transmitted, in any form or by any means, electronj c. mechanical. photocopying. recording or
`otherwi se. without the prior permission of the oopynight owners.
`
`X/ Open CAE Speci fimtion
`
`Hotocols for X/ Open PC Interworkj rig: SIVIB, Version 2
`
`X/Open Document Number: C339
`
`ISBN: 187%D456
`
`Published by X/ Open Company Ltd ., U.K_
`
`Any comments relating to the material contained in this document may be su bmi tted to X/ Open
`at:
`
`></o, uea
`Apex Plaza
`Forbuiy Road
`Reading
`Berkshire, RG 1 IAX
`
`United Kingdom
`
`or by Electronic Mail to:
`
`)G)Specs@xopen.org
`
`Page 5 of 535
`
`X/ Open CA E Sped fication ( [$2
`
`
`
`ontents
`
`Inirod uction ................................................................................................ ..
`
`Why
`This DoaJment..........,...
`Oveiview of ooa.ment'ffffffffffffffffffffffffffffI
`
`SMB File-shan'ngServiceMode1 ....................................................
`SMBProIocol Pu‘
`Seamty Oven/iew
`Sharelevel Semiity ModL;fjfffffffffifffffffffffiffffffffififffffffffffififfifiiififilIII§fIIIIfiII
`User—level Seaiiity
`
`SMB Protocol Conventions ............................................................... ..
`
`Summaryof
`sivtsEnvi.—on.nentDemu03;ffIf.'fff.'.'ffffI.'.'.’.’ffffffffffffffffffffffffffiffffiflfffffffffIffff
`Share—level and User—level Seoirity
`Sharelevel SemiityMode
`User-level Secufity Mode with Extended Protocols.............,..............
`Usei‘—level Seamty with Core Piotocol
`Connection
`
`Naming
`Resource Names
`NetBIOSNames
`
`Uniform Naming
`Canonical
`
`File
`
`Open
`WiteBehaviour
`
`Locking
`
`Opportunistic
`Chaining ofExten(lecl SMB Requests
`Exoeplion and
`Disorderly LMXSession
`Errorsand En'or
`"l‘Iineouts.A...__.._A
`
`Downwal‘(l-compaIJ‘biIity Support
`
`
`
`mm§§§wBBBow5:fi555aaaEmooseowmmmbwNu_—
`
`2 2
`
`1
`22
`221
`222
`
`3 3
`
`1
`32
`33
`331
`332
`333
`34
`35
`351
`352
`353
`354
`355
`36
`37
`37.1
`37.2
`37.3
`38
`381
`382
`39
`310
`3101
`3102
`311
`3 12
`
`Chapter
`
`Chapter
`
`Protocols for X/Open PC Inlerworking: SIv‘[B, Version 2
`
`J11
`
`Page 6 of 535
`
`
`
`Contents
`
`LMXConsideran'ons ............................................................................. ..
`
`LI\/IXUsemame
`LI\/IXFilenameMapping
`LI\/IXFile
`SMBF1le Attributes
`CAE File Access Permissions
`
`File System Issues
`CAE&xmdFHa“mmMw
`Deleting or Renaming a
`
`LI\/IXFile
`Interlocking
`
`LI\/IXSe1Ver Caching
`
`SI\/[BEITor
`
`Negotiated
`Network
`
`D ata O bjects and C onstants ...............................................................
`SI\/[B Format.‘.............
`SMB Command codéffffffff."fffffffffff.'.'ffffff.'.'f.T.'.'ffffff.'f.°f.'.'ffIII."
`DataObjects
`Time
`DateF1elds.....‘....‘...
`FileAttnibutesFielas‘.-.'::::...-:3:::::::::1::::::::::::::::::::::::::::2::
`Buffers
`File—sharingCoritro1-.7:.-.-:..:.-:3.-.'.>:::::::3:::::::::::1::::::::::::::::::::
`
`Open Function
`Resource Names. Path:-iarnest
`File
`
`Tiuneouts.‘..,.‘...
`SI\/[BEIT0r
`
`SMBErI0rClass Mappings............
`Error Codes for the SUCCESSClass
`ErrorCodes for the ERRDOSClass
`ErrorCodes for the ERRSRVClass
`ErrorCodes for the ERRI-[RD
`
`
`
`R966@%&&%$&&&££&&&&8%3888%8&§E8%BBEE8888wQfi
`
`4 4
`
`1
`42
`43
`43 1
`432
`433
`434
`435
`436
`437
`44
`441
`442
`443
`45
`46
`47
`48
`49
`410
`
`5 5
`
`1
`52
`53
`53 1
`532
`533
`534
`535
`536
`537
`538
`539
`53 10
`54
`55
`56
`56 1
`562
`563
`564
`565
`
`Chapter
`
`Chapter
`
`Page 7 of 535
`
`X/ Open CA E Sped fication ( [EB
`
`
`
`Core SMB Connection ManagementRequests ......................
`S'\/[Bnegpmt Speci
`S'\/[B(oon Specification
`S'\/[Bails Speci fication
`S'\/[BexitSpecificaIjon
`
`Q
`
`re SMB File Operation Requests ...............................................
`'\/[Bcreate Specification
`'\/[Bmknew Specification
`'\/[Bopen Speci
`'\/[Bread Specification
`'\/[Bwrite
`'\/1Blseek
`'\/1BlockSpeci
`'\/[BunJ0ck
`'\/[Bflush Speci ficatjon
`SMBclose
`SI\/[Bmv Specification
`SMBunJinkSpeci ficaljon
`
`Core SMB Directory and Attribute Operations
`
`QC/it/it/it/it/it/1
`
`'\/[Bsearch Specifitntjon
`\/[BgetatrSpecification
`'\/[BsetatrSpecification
`'\/[BdskattrSpecification
`'\/[Bchkpath Specification
`
`re SMB Spool Operation Requests ..........................................
`\/[Bsplopen Speci
`
`C/)C/1C/1U)
`
`\/[Bsplcl$e Speci
`'\/[B1spltetqSpecification
`
`6 6
`
`1
`62
`63
`64
`
`7 1
`7.2
`7.3
`7.4
`7.5
`7.6
`7.7
`7.8
`7.9
`7 10
`7 11
`7 12
`
`8 1
`82
`83
`84
`85
`86
`87
`
`91
`92
`93
`94
`
`10
`D 1
`D2
`D3
`D4
`D5
`D6
`
`11
`111
`112
`113
`114
`
`Con ten ts
`
`Chapter
`
`Chapter
`
`Chapter
`
`Chapter
`
`Chapter
`
`Chapter
`
`Q8%8$
`
`B@%@$@daddQ$$
`Qéaaeaaa
`
`111
`
`113
`115
`117
`
`135
`1%
`1%
`144
`147
`
`V
`
`121
`Core Plus SMB File Operations .......................................................
`121
`SMBnegpi0t Speci
`123
`SMBreadbt"aw
`SMBwn‘tsebraw Specification 125
`SI\/lBl0cknead Specification 128
`SI\/lBwn‘teur1lock Speci
`II)
`SMBwn‘teclose Specification
`IQ
`
`Extend ed 1.0 SMB C on nection Management Requ ests
`SMBnegpi0t Speci
`
`SI\/lB(oor1XSpecificacion
`
`Protocols for X/Open PC Interworking: SIv‘[B, Version 2
`
`Page 8 of 535
`
`
`
`Con tents
`
`Extend ed 1.0SMB File Opeiations.................................................
`SMBopenXSpecificatjon
`
`151
`151
`1%
`16)
`SI\/lBreadXSpecification
`SMBwn‘tsebraw Specification 1%
`SMBwn‘teclose Specification
`163
`1%
`SMBreadbmpxSpecification 171
`SMBwn‘tsebmpxSpecification 174
`
`Extend ed 1.0 SMB Directory and Attribute Op e1at1'ons....
`
`179
`179
`181
`1&2
`SI\/lBfun1'queSpeci
`183
`SMBgetattrE Speci
`SMBsetartrE Specification 185
`
`Extend ed 1.0 SMB Miscellaneous Requests .............................
`SMBoopy
`SMBecho
`SMBioctl Specification
`
`187
`187
`191
`193
`191
`
`Extend ed 2.0 From col Additions and Modifications...........
`
`197
`
`197
`2D1
`SMBoopy
`SMBfindncIose Z2
`Z13
`SMBuloggo['fXSpecification Z34
`
`Extend ed 2.0 Proto col SMBtrans2 ................................................. .. 207
`
`Z37
`Z19
`210
`
`212
`
`212
`Err01sEncour1teted When Creating
`Encapsulat1'or10fEAsir1theSMBProtocol...............................,......... 212
`212
`214
`CEASI;mctu1e
`214
`Ir1f0rmaI;ion Levels
`Defined 214
`
`Chapter
`
`Chapter
`
`Chapter
`
`Chapter
`
`Chapter
`
`12
`121
`122
`123
`124
`125
`126
`127
`128
`
`13
`13 1
`132
`133
`134
`135
`
`14
`141
`142
`143
`144
`
`15
`15 1
`152
`153
`154
`155
`
`16
`16 1
`16 1. 1
`16 1.2
`16 1.3
`16 1.4
`16 1.5
`16 15 1
`16 152
`16 1.53
`16 1.54
`16 1.6
`16 1.7
`162
`163
`164
`165
`166
`
`V1
`
`Page 9 of 535
`
`X/ Open CA E Sped fication ( [EB
`
`
`
`Contents
`
`167
`168
`169
`16 10
`16 11
`16 12
`16 13
`
`Appendix A
`A.1
`A2
`A3
`
`SMB Transmission Analysis .............................................................. 251
`E1
`252
`259
`
`A p p endix B
`B. 1
`B.2
`B3
`B4
`BA1
`BA2
`B.5
`B.51
`B52
`B.6
`B.61
`B.62
`B.7
`B.7.1
`B.7.2
`B.7.3
`B.8
`
`LAN Managei-Remote Administration Protocol ................... 263
`$3
`RemoteAPI $4
`
`LMXAooess ControlLists 25
`Transaction API Request
`%7
`Parameter
`$7
`%7
`
`Transaction API Response
`Parameter
`
`13binLerTypt5 and Returned
`
`X8
`Z8
`ZB
`
`271
`272
`272
`272
`273
`
`Appendix C
`C.1
`C.2
`
`The X/Op en 5 ecurity Package ........................................................... 277
`E0 Functions 277
`U()
`278
`
`Appendix D
`D.1
`D. 1.1
`D.].2
`
`Appendix E
`
`Appendix F
`
`SMB Enciyption Techniques ........................................................... .. 279
`279
`
`SI\/[BnegprotResponse..................
`SI\/[Btcon, SIv[BtconX,
`
`279
`279
`
`TOP/N etBIOS ............................................................................................ .. 281
`
`RFC ICDI ....................................................................................................... .. 349
`
`Protocols for )(/Open PC Interworki ng: Slv[B, Version 2
`
`vii
`
`Page 10 of 535
`
`
`
`Contents
`
`Appendix 0
`
`RFC 1002 ......................................................................................................... 419
`
`Gloss-my .......................................................................................................... 505
`
`Index ................................................................................................................ .. 511
`
`V111
`
`X/Open CAESpec1' fication (IE3
`
`Page 11 of 535
`
`
`
`efa ce
`
`X/Open
`
`X/Open is an independent. worldwide. open systems organisation supported by most of the
`worlds largest information systems suppliers. user organisations and software companies. Its
`mission is to bn' ng to users greater value from computing. through the practical rrnplementation
`of open systems.
`
`X/Opens strategy for achieving this goal is to combine existing and emerging standards into a
`comprehensive.
`integrated. high—value and usable open system environment. called the
`Common Applications Environment (CAB). This environment covers the standards. above the
`hardware level.
`that are needed to support open systems, It provides for portability and
`interoperability of applications, and so protects investment in existing software while enabling
`additions and enhancements. It also allows users to move between systems with a minimum of
`retraining.
`
`X/Open defines this CAB in a set of specifications which include an evolving portfolio of
`application programming interfaces
`(AP]s) which significantly enhance portability of
`application programs at the source code level, along with definitions of and references to
`protocols and protocol profiles which significantly enhance the interoperability of applications
`and systems.
`
`The X/Open CAB isimplemented in real products and recognised by a distinctive trade mark —
`the X/Open brand — that is licensed by X/Open and may be used on products which have
`demonstrated their conformance.
`
`X/Open Technical Publications
`
`X/Open publishes a wide range of technical literature. the main part of which is focussed on
`specification development. but which also includes Guides. Snapshots, Technical Studies.
`Brandi ng/Testing documents. industry surveys, and business ti tles.
`
`There are two types of X/Open specification:
`
`. CA E Specifications
`
`CAB (Common Applications Environment) specifications are the stable specifications that
`form t.he basis for X/Open-bra ncled products. These specifications are intended to be used
`widely within the industry for product development and promrement purposes.
`
`Anyone developing products that implement an X/Open CAB specification can enjoy the
`benefits of a single. widely supported standard.
`In addition.
`they can demonstrate
`compliance with the majority of X/ Open CAB specifications once these specifications are
`referenced in an X/Open component or profile definition and included in the X/Open
`branding programme.
`
`CAB specifications are published as soon as they are developed, not published to ooincicle
`with the launch of a particular X/Open brand. By making iLS specifications available in this
`way. X/ Open makes it possible for confonnant products to be developed as soon as is
`practicabl e. so enhandng the value of the X/ Open brand as a procurement aid to users.
`
`Protocols for X/Open PC Interworking: SIv‘[B, Version 2
`
`ix
`
`Page 12 of 535
`
`
`
`Preface
`
`s Preliminary Specifications
`
`These specifications, which often address an emerging area of technology and consequently
`are not yet supported by multiple sources of stable oonformant implementations, are
`released in a controlled manner for the purpose of validation through implementation of
`products. A Preliminary specification is not a draft specification. In fact, it is as stable as
`X/ Open can make it, and on publication has gone through the same rigorous X/Open
`development and review procedures as a CAE specification.
`
`Preliminary specifications are analogous to the trial-use standards issued by formal standards
`organisations, and product development t.eams are encouraged to develop products on the
`basis of them. However, because of the nature of the technology t.hat a Preliminary
`specification is addressing, it may be untried in multiple independent implementations, and
`may therefore char1ge before being published as a CAB specification. There is always the
`intent to progmss to a oorresponding CAE specification, but the ability to do so depends on
`oonsensus among X/Open members. In all cases, any resulting CAE specification is made as
`upwards—0ompatible as possible. However, complete upwards—oompatibility from the
`Preliminary to the CAB specification cannot be guaranteed.
`
`In addition, X/ Open publishes:
`
`~ Guides
`
`These provide information that X/ Open believes is useful in the evaluation, procurement,
`development or management of open systems, particularly those that are X/Open-
`oompliant. X/ Open Guides are advisory, not normative, and should not be referenced for
`purposes of specifying or claiming X/ Open conformance.
`
`~ Technical Stu dies
`
`X/ Open Technical Studies present results of analyses performed by X/Open on subjects of
`interest
`in areas relevant
`to X/Open's Technical Programme. They are intended to
`communicate the findings to the outside world and, where appropriate, stimulate discussion
`and actions by other bodies and the industry in general.
`
`~ Snapshots
`
`These provide a mechanism for X/Open to disseminate information on its current direction
`and thinking, in advance of possible development of a Specification, Guide or Technical
`Study, The intention is to stimulate industry debate and prototyping, and solicit feedback. A
`Snapshot represents the interim results of an X/Open technical activity. Although at the time
`of its publication. there may be an intention to progress the activity towards publication of a
`Specification, Guide or Technical Study, X/Open is a consensus organisation, and makes no
`oomrnitment regarding future development and further publication. Similarly, a Snapshot
`does r1ot represent any Commitment by X/ Open members to develop any specific products.
`
`Versions and Issues of Specifications
`
`in this case as the subject
`live documents. CAE Specifications require revision,
`As with all
`technology develops and to align with emerging associated international standards. X/Open
`makes a distinction between revised specifications which are fully backward oompatible and
`those w hich are not:
`
`s a new Version indicates that this publication includes all the same (unchanged) definitive
`information from the previous publication of that title, but also includes extensions or
`additional information. As such, it replaces the previous publication.
`
`Page 13 of 535
`
`X/ Open CA E Speci fication ( [$2
`
`
`
`Preface
`
`s a new Issue does include changes to the definitive information contained in the previous
`publication of that title (and may also include extensions or additional information). As such,
`X/Open maj ntai ns both the previous and new issue as currentpublications.
`
`Corrigenda
`
`the leading edge of open systems
`Most X/ Open publications deal with technology at
`development. Feedback from implementation experience gained from using t.hese publimtions
`occasionally uncovers errors or inconsistencies. Significant errors or recommended solutions to
`reported problems are communicated by means of Corrigenda.
`
`The reader of this doarment is advised t.o check periodically if any Conigenda apply to this
`publication. This may be done in any one of the following ways:
`
`~ anonymous ftp to ftp.xcpen.org
`
`~ ftpmail (see below)
`
`~ reference to the Corrigend a list in the latest X/ Open Publications Pri oe List.
`
`To request Corrigenda information using ftpmail. send a message to ftpmail@xopen.org with the
`following four lines in the body of the message:
`
`open
`
`Cd pub/Corrigenda
`get
`index
`quit
`
`renu rn the index of publications for which Corrigenda exist. Use the same email
`This will
`address to request a copy of the full corrigendum information following the email instru ctions.
`
`This Document
`
`Of all the types of computers, personal computers are the most abundant. Originally intended
`to be a personal productivity tool, an ever—increasing number of them are being connected to
`computer networks, thus becoming parts of distributed information systems.
`
`Personal computers normally run under single—user operating systems with interfaces differing
`from those specified in the X/ Open Portability Guide. However, X/Open realises how
`important it is to facilitate interworking between personal computers and X/Open—compliant
`systems in a standardised way.
`
`Two areas have to be addressed to achieve this goal: interoperability, and programming
`interfaces to server functions facilitating applications portability. Interoperability means that
`personal computers and X/Open—compliant systems can interchange information using the
`same network protocols. Standardisation of programming interfaces to server functions, in
`addition to standardisation of protocols, makes it possible to write distributed client/server‘
`applications w hose server component will be portable to all X/ Open—cornpliant systems.
`
`For interoperability via asynchronous serial links, X/ Open has already defined in the X/Open
`Portability Guide, Issue 3a file transfer protocol and a set of features provided on X/Open-
`cornpliant systems for terminal emulators. Now it is ti me t.o address interworking in local area
`networks (LANS).
`
`In the X/Open (PC)NFS and SMB Developers’ Specifications interoperability of personal
`computers and X/Open—compliant systems is addressed. The applications portability
`components. containing definitions of programmatic interfaces to server functions, are
`documented in the X/Open CAE Specification, IPC Mechanisms for SMB and the X/Open CAE
`Specification, Use of XTI to Access l\letBIOS.
`
`Protocols for X/Open PC lnterwcrking: Slv‘[B, Version 2
`
`xi
`
`Page 14 of 535
`
`
`
`Preface
`
`When connecting personal computers and X/Open-compliant systems via standard transport
`protocols, there appear to be two possibly overlapping but distinct market segments. In the first
`one, personal computers are added to existing networks of X/Open—oompIiant systems which
`already have a distributexl file system, the most widely-adopted one being the Network File
`System originally designed by Sun Mjcrosystems. In the second one, X/Open—compliant servers
`are added to LANs consisting primarily of personal computers. For personal computers runni ng
`under D06 or OS/2operating systems, which is the vast majority, the generally accepted non-
`proprietary protocol is the Server Message Block from Microsoft Corporation.
`
`Therefore, for connecting personal computers to X/Open—oompIiant systems, both the (PC)NFS
`(see the X/ Open Developers’ Speci ficatjon, Protocols for X/ Open PC Interworking: (PC)NFS)
`and the SMB protocols have been adopted by X/Open.
`
`The following diagram illustrates the relationship of the service protocols (defined in the
`X/ Open (PC)NFS and SMB Developers’ Specifications) to their underlying transport protocols.
`It also reflects the organisation of the two documents. The (PC)NFS specification describes the
`protocols for NFS, RFC and XDR. The SMB specification describes the protocols for Sl\/IB, the
`mapping of NetBIOS over an OS] transport (TOP/NetBIOS) and the mapping of NeLBIOS over
`an Internet Protocol Suite transport (RFC 1(1) 1/RFC KID.
`
`Since SMB and NFS protocols do not easily map onto the seven layer OSI Reference Mod el. the
`diagram does not use i 1..
`
`Xll
`
`Page 15 of 535
`
`X/ Open CA E Sped ficaticn ( [$2
`
`
`
`Preface
`
`Throughout the specification “DOS" is used to refer to the MS-DOS or PCDOS persona]
`oomputer operating system.
`
`Protocols for X/Open PC Inlerworking: SIv‘[B, Version 2
`
`X111
`
`Page 16 of 535
`
`
`
`rade Marks
`
`Ethemet® is a registered trade mark of Xerox Corporation.
`
`LAN Ma nagerm is a trade mark of Microsoft Corporation.
`MS-DO6® is a registered trade mark of Microsoft Corporation.
`NFS® is a registered trade mark of Sun Mjcrosystems.
`OS/2® is a registered trade mark of International Business Machines Corporation.
`PaIatino® is a registered trade mark of Linotype AG and/or its subsidiaries.
`
`PONFSTM is a trade mark of Sun Microsystems.
`UNIX® is a registered trade mark of UNIX System Laboratories Inc. in the U.S.A. and other
`oountries.
`
`X/Open“ and the “X” devioe are trade marks of X/Open Company Ltd. in the UK. and other
`oountries.
`
`XIV
`
`X/ Open CAE Sped fication ( [922
`
`Page 17 of 535
`
`
`
`eferen ced Documents
`
`The following (1 oaiments are referenced in this specification:
`
`IPC
`
`X/Open CAB Specification. IPC Mechanisms for SM3
`(Document No.: C 196 ISBN: 1—8’73:TD28€3.
`
`NetBIOS
`
`X/Open CAE Specification, Use of XT1 to Acoess NetBIOS. contained in X/Open CAE
`Specification. X/Open Transport Interface (XII)
`(Document No.: C 1% ISBN: 1-8’/'%D294).
`
`OS/2
`
`Microsoft 06/ 2Progiammer‘s Reference. Volume 4.
`
`(PC)NFS
`X/Open Developers’ Specification, Protocols for X/Open PC Interworkjng: (PC)NFS
`(Document No.: DCIXD. ISBN: 1—8'7Z5ZD(I)6.
`
`SMB
`
`X/Open Developers’ Specification, Protocols for X/Open PC Interworkjng: Six/[B
`(Document No.: D 110. ISBN: 1-8’733DOl—4j.
`
`XNFS
`
`X/Open CAB Specification. Protocols for X/ Open Interworkjngz )d\IFS. Issue 4
`(Document No.: C218 ISBN: 1—8’7E33%9.
`
`XPG3
`
`X/Open Portability Guide. Issue 3 January 1933
`
`Protocols for )(/Open PC Inlerworking: Slv[B, Version 2
`
`xv
`
`Page 18 of 535
`
`
`
`Referenced Documents
`
`xvi
`
`Page 19 of 535
`
`X/ Open CA E Sped fication ( [EB
`
`
`
`Chapter I
`
`trodu ction
`
`1.1 Why Republish
`
`A previous version of this specification has been published, The previous version described the
`SMB protocol up to a dialect level called extended. Since that tr me, a new diaiect has been added
`and several errors and omissions were found in the specifimtion. This version of the
`specification corrects the errors and omissions and contains the definit.ion for the extended 20
`SMB dialect. The extended protocol of the previous version of this document is now called
`extended 10which is to bedistinguished from t.he new extended 20diaJect.
`
`1.2
`
`This Document
`
`The relevant parts of this CAB Specification include the speci fication of the SMB protocol itself.
`definition of the conventions used in mapping SMB redirector semantics onto X/Open
`sernant_ics. specifications of the binding of the NetB106 interface to popular protocol stacks. and
`selection of protocol profiles to pennil interoperability.
`
`Information regarding Nel'_'B]O6 is provided beaiuse the great majority of Sl\/[B redirector
`implementations of the SMB protocols rely on NetB]OS as well.
`
`The interface to the NetBIO6 implementation on the CAE system is outside the scope of this
`specification. Within this document only the NetBIOS service definition to the lntemet Protocol
`Suite (RFC K131/ICDZ (see Appendices F and G) and an O6] transport (TOP/ NetB106) (see
`Appendix E on page $1) are considered.
`
`In this second publication, the SMB definitions necessary for 1nter—prooess Communication (IPC)
`from SMB redirectors to processes executing on the same CAE system as the LMX server have
`been removed. These definitions are found in the X/Open CAE Specification. IPC Mechanisms
`for‘ S]\/[B.
`
`This specification does include the SMB protocol and the SMB Service definition to be
`implemented by an LMX server. The SMB service definition of the SMB redirector as well as
`user‘ interfaces necessary to access network resources are outside the scope of this specification.
`
`Protocols for X/Open PC Interworking: Slv‘[B, Version 2
`
`1
`
`Page 20 of 535
`
`
`
`Overview of Document Layout
`
`Introduction
`
`1.3
`
`0 verview of D ocument Layout
`
`Chapter 2 p rovidefi an overview of the service and security model for the SI\/[B protoool.
`
`Chapter Sdistusses the conventions related to the rules the SMB protocol maintains. This
`chapter descuibes the environments maintained within the SMB protocol model as well as rules
`governing file locking and user security.
`
`Chapter 4 describes conventions that can be Followed for mapping the SMB protocol model
`desclibed in Chapter 3into the CAB environment. This chapter provides guidelines for such
`things as how filenames in the CAE environment are viewed by the SMB protocol environment.
`
`Chapter Sdefines the basic structure, data items and constant definitions For the SMB protocol.
`
`The cone dialect is defined in Chapter Bthrough Chapter 9
`
`Additions t.o the core dialect that make up the core plus dialect are found in Chapter 10
`
`Chapter llthrough Chapter 14define the extended lOSl\/TB dialect.
`
`The additions for the extended 2OSMBdia]ect are covered in Chapter 15and Chapter 16
`
`requests,
`A description of the mapping of DOS and OS/ 2 system calls to SMB piotoool
`descliptjons of support of NetBIOS names on TCP/IP and OSI protocols, and additional SIVIB
`protocols that may be used for LMX server administration are contained in the appendices to
`this specification.
`
`Page 21 of 535
`
`X/ Open CA E Speci fication ( [$2
`
`
`
`Chapter 2
`
`MB File—shar1'ng Service Mode}
`
`This CAE Specifimtion describes the X/ Open LAN Manager (LMX) architecuire. the Server
`Message Block (SMB) protocol. and their appliaability to interoperability between )UOpen—
`oompliant LAN Manager implementations running in an )0 Open Common Applications
`Environment (CAE) and SMBredirectois iunni ng D06 or OS/2
`
`LMX provides a file and pn‘nt—sharing service which preserves. as far as possible, the same
`semantics as provided by a DOS or 08/ 2 system to an application. This service is provided by
`mapping the Sl\/[B redirector semantics onto those supported by the CAB system in which the
`LMXserver mns.
`
`This model is in oontiasl to a l“Ile—shan'ng service, in which the LMX sewer provides a oomplete
`emulation of the SMB redirector's file storage architecuire. but does not permit access to that
`emulation from applications running on the same CAE system. The intent behind the LMX
`approach is to permit applications existing on SMB redirectois and CAE systems to cooperate in
`the processing of information. Within this architecture the SMB redirector can assume that only
`the file contents are stored in the same format as in the SMB redirector’s operating system. That
`is. directory information does not need to be stored on the CAB system in a file or have the same
`layout as in the SMB redi rectors operating system.
`
`I n Llvlxresouroes are shared by making the name of the resource available for aooess from the
`network. For example. the LMXsen/er named XOPEN will make a resouroe DOCUMENTS that
`contains this document available. This allows users on SMB redirectois to connect to this
`
`resource and aooess this data. In this example the resource DOCUMENTS could point to a
`directory tree that contains the files belonging to this document. The user will see this directory
`and its files as if they are on the loail SMB redi rectors system.
`
`Protocols for X/Open PC Inlerworking: SIv‘[B, Version 2
`
`3
`
`Page 22 of 535
`
`
`
`SMB Protocol Prin cjples
`
`SMB File-sharing Service Model
`
`2.1
`
`SMB Protocol Principles
`
`File and print sharing are implemented using the SMB protocol. This protocol is used between
`two types of system: SMB redirectors and LMX servers.
`‘When a user‘ on an SIVEB redirector
`wants to make use of SMB file and print services available in the network the user needs an SIVIB
`redirector implementation of the SMB protocol. Upon request the SMB redirector will connect to
`an LMXser'ver. Throughout this document the term LMX server dom not imply any particular‘
`design.
`
`The SMB protocol requires a reliable connection—oriented virtual circuit provided by a I\letBIOS
`implementation.
`
`Each LMXserver in the network will oflfer resources. V\/hen a user on an SMB redirector wishes
`
`to use a resource, or resources, from an LMXser\rer, t.he user of the Sl\/[B redirector will cause the
`
`SMB redi rector‘ to set up a single LMXsession with the desired l_.lvlXserver using NetBIOS. The
`action of setting up the LMX session includes using N etBIOS to locate the system in the network
`then negotiating t.l1e level of Sl\/{B support desired by the SMB redirector. If multiple resources
`are desired by the SIVIB redirector, the SMB redirector will use the single LMXsession to perform
`all SMB exchanges. So, if the user requests use of bot.h a file system share and a printer share on
`the same LMX server, then only one LMX session exists between the Sl\/[B redirector and this
`LMX server system.
`
`Once the LMX session has been established the SMB redirector will take initiative to request
`services offered by the LMX server by sending SMB requests across the LMXsession. Each SIVIB
`request is executed by the LMX server and the result is sent back to the SM3 redirector in an
`SMB response.
`SMB redirector
`implementations may support multiple simultaneous
`connections to diflferent LMX servers.
`
`The Sl\/[B protocols can be dividexl into:
`
`- core protocol
`
`- core plusprotocol
`
`- extended ].OprotocoI
`
`- extended 20protocoI
`
`each one being a superset of the previous one. The extended protocols olfer a richer set of
`functionality and are required for some of the IPC mechanisms described in the X/Open CAE
`Speci fication, IPC Mechanisms for Sl\/TB.
`
`In the extended protocols, mechanisms exist to l1ave users authorised by the LMX server (see
`Section 22). If an SMB protocol supporting user authorisation is negotiated the LMXserver will
`authorise the one user working on the SIVEB redi rector upon request of the SMB redirector. This
`is commonly referred to as a logon procedure.
`
`Once the level of protocol is negotiated, and if necessary the user has been authorised, the SIVIB
`redirector will request access to a specific resource. The resource requested may be a directory
`tree, spooled device, I/O device, etc. If the requested resource has been made available by the
`LMX server for access by that user, file and spool operations can be executed (for example, open
`file, show prim queue) from now on.
`
`Page 23 of 535
`
`X/ Open CA E Spec‘ fication ( [$2
`
`
`
`SMB Pile-sharing Service Model
`
`Security Overview
`
`2.2
`
`Security Overview
`
`The networks using the SMB protocol will contain not only multi—user systems with user—based
`security models, but also single-user systems that have no concept of user IDs or permissions
`Once these systems are connected to t.he network, however,
`they are in a multi—user
`environment and need a method of access control. First, unsecure systems need t.o be able to
`provide some sort of bona titles to other systems in the network which do have permissions.
`Second, unsecure nodes need to control access to their resources by others.
`
`The SMB protocol defines a mechanism that enables the network software to provide the
`security where it is missing from the operating system, and supports user—based security where
`it is provided by t.he operating system. The mechanism also allows systems with no concept of
`user ID t.o demonstiate access authon sation to systems which do have a permission mechanism.
`
`The LMXsen/erwill define the security mode that is being used; it cannot be negotiated by the
`SMB redirector. \/Vithjn t.he SMB protocols two forms of secu rity exist:
`
`- share—level security mode
`
`Can be applied to restrict the access to a shared resou roe, placing access control at the level of
`the resource.
`
`- user—level security mode
`
`Can assign user context to anyone establishing an LMX session. This way different access
`rights can be granted to people connecting to the same resource. This form of sec1_m’ty can
`only be used when an extended SMB protocol has been negotiated.
`
`2.2.1
`
`Share-levelsecurity Mode
`
`A share—level security mode Ll\/lX5Cl\’Cl‘ makes a resource available to all users on the network.
`Any user who knows the name of the LMX server, the name of the resource, and t.l1e password,
`has the same access to everything (for example, read—0nJy) within a resource. The password is
`optional.
`
`For example, the LIVIX server named XOPEN olfeis the resource DOCUMENTS. This is a file
`system subtree where each individual file or directory will have the same permissions for all
`users, for example, read—only or read/write. Access to this resource is conu'olled by a password.
`The LMXsen/er could make a second resource available with a dilferent password and different
`access rights pointing to the same directory with the files belonging to this document.
`
`2.2.2
`
`User-level Security Mode
`
`A user—level secuiity mode LMXsewer also maka a raouroe available, but in addition requirs
`the user to provide a username and optional password in order to gai n access.
`
`Thus the L1\/D( sewer is now able to allow dil‘fen'ng acass rights depending on the validated
`user. The 2ICC$S fights may not only be specified per resource but may be set individually for
`each file