`
`U.S. Patent No. 6,701,365
`
`Exhibit B
`
`The Open Group, Technical Standard, Protocols for X/Open PC
`Interworking: SMB, Version 2.0
`
`Customer No.: 8791
`
`Blakely, Sokoloff, Taylor & Zafman, LLP
`
`Sunnyvale, California 94085-4040
`
`Telephone (408) 720-8300
`
`Fax (408) 720-8383
`
`Page 1 of 535
`
`LG Electronics Exhibit 1014
`
`
`
`Technical Standard
`
`—
`
`Protocols for X/Open PC lntenrvorking:
`SMB, Version 2
`
`\
`
`\\\*\% -\
`\\ \\
`\\\\\\\\\\\\\\\
`
`&\\\\\\\\\\\\\\\\3\\\\\\\\\\\\\\\\\\\\\\\‘‘
`\\\\\\\\\\\\\\\‘A\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
`
`\\\\\\\\\\\\\\\\\\\\\\\\‘x\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ E
`
`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 Limited
`
`All fights reseived. No part of this publimtion may be repioduoed,stored in a retrieval system,
`or transmitted, in any form or by any means. electmnic, mechanical, photooopying, reooitling or
`otherwise, without the prior permission of the oopyiight owners.
`
`X/Open CAE Specification
`
`Protocols for X/ Open PC Inteiworking: SMB. Version 2
`
`X/Open Document Number: CZB
`
`ISBN: 18%D456
`
`Published by X/Open Company Ltd., U.l(.
`
`Any comments relating to the material contai ned in this document may be submitted to X/Open
`at:
`
`X/Open Company Limited
`Apex Plaza
`Forbury Road
`Reading
`Berkshiie,RG 1 IAX
`
`United Kingdom
`
`or by Electronic Mail to:
`
`XoSpe<;<.@xopei 1 .org
`
`Page 5 of 535
`
`X/ Open CAE Speci fication ( IEIB
`
`
`
`Con ten ts
`
`Introduction ................................................................................................ ..
`
`This Document
`
`Overview of Document
`
`SMB Fi1e—shar1‘ngSe1viceMode1 .................................................. ..
`SMBProtocolPfinciples....................
`.
`Security Overview............
`Sha1e—|evei Seculity MoéiéfffffffffffffffffffffIIfffffffffffffffffffffiiiffffffffffiifffflll
`User—IeveI Security
`
`SMB Protocol Conventions ............................................................... ..
`Summaly of SMBS
`SMB Environment Definiljons
`
`Sha1e—Ieve1 and User-level Security
`Sha1e—leveJ Seculity Mode.................
`User—leveI Seculity Mode with Extended Protocols............................
`User—Ieve1 Security with Core Piotoool
`Connection Piotoools
`
`Naming
`ResourceNames
`NetBIOSNames
`
`Unifonn Naming
`Canoniml
`
`Long
`
`File
`Regularfiles
`Open
`\/ViteBehaviour
`
`Locking Conventions
`ByteLocI<jng...............
`Opportunistic
`Chainjng of Extended sma RequesiéfffffffffffffffflffffffffffflllllfffffffililllIlffff
`Excepljon and Enor
`Disoltlerly LMXSession
`Errors and Enor
`T1meouLs..........
`Dow..wa.-d-oo.iI.3;£{u3iiiE§'éLI.$}5LSJ{IIIIffffffffff...............fffffiffffIIIII...............
`
`
`
`mm§§EBBBB@mw::aa5aaaEammmboummmbwm__~
`
`1
`11
`12
`13
`
`2 2
`
`1
`22
`221
`222
`
`3 3
`
`1
`32
`33
`331
`332
`333
`34
`35
`351
`352
`353
`354
`355
`36
`37
`371
`372
`373
`38
`381
`382
`39
`310
`3101
`3102
`311
`3 12
`
`Chapter
`
`Chapter
`
`Chapter
`
`Protocols for X/ Open PC Inteiworkingz SMB. Version 2
`
`iii
`
`Page 6 of 535
`
`
`
`Con ten ts
`
`
`
`R38‘@tE%t%&t5?>%aS*5EE5EF5&:E£t'f56bt%t%t5&%°38%Es%Es%E5%Efi%E3%§E§E3&3‘££°B&’E3E~3E~3E3[§;I;>,B
`
`. . ..
`
`LMXCo11siderations ............................................................................. ..
`
`LMXUsemame
`LMXFilename
`LMXFile
`SMBFiIeAtmbutes
`CAEF"|Ie Access Permissions
`
`F"|IeSy5tem
`CAESpecia1
`Deletingor Renaming a File
`
`ExtendedAttributes
`
`LMXFile
`
`Read—only
`LMXSe1'ver
`
`Sl\/1BEn‘or
`
`Security
`Negotiated
`Network
`
`Data Objects and Constants ............................................................. ..
`Sl\/1BFonnat...............
`SMB Command
`Data
`
`Date Field5.............
`F“|leAtLn'butesFiel5;.-.-.-I::...::::::S:::::::::::::::::::::::::::::::1:Z:S:
`Bulfels
`F"|le—sharing céiifién".‘.‘f.’.‘.‘f.‘f.’ffffff.'.'.'fffffffffffffIIIIIIIIfffffiiiiiiffiIIIIIZIIIICIII
`
`Open Function
`Resou me Names. Pathname5-,-
`File
`
`T1meouLs..........
`SMBEn‘or
`
`Sl\/fl3EnorCla.ss l\/Iapping5............
`Erro1‘Codes for the SUCCESS Class
`Erro1‘Codes for the ERRDOSClass
`Erro1‘Codes for the ERRSRV Class
`Erro1‘Codes for the ERRHRD
`
`4 4
`
`1
`42
`43
`431
`432
`433
`434
`435
`436
`437
`44
`441
`442
`443
`45
`46
`47
`48
`49
`410
`
`5 5
`
`1
`52
`53
`531
`532
`533
`534
`535
`536
`537
`538
`539
`53 1O
`54
`55
`56
`561
`562
`563
`564
`565
`
`Chapter
`
`Chapter
`
`iv
`
`Page 7 of 535
`
`X/ Open CAE Speci fication ( IEIB
`
`
`
`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
`711
`7. 12
`
`81
`82
`83
`84
`85
`86
`87
`
`91
`92
`93
`94
`
`10
`101
`102
`103
`104
`105
`106
`
`ll
`11]
`112
`11.3
`114
`
`Con ten ts
`
`Chapter
`
`Chapter
`
`Chapter
`
`Chapter
`
`Chapter
`
`Chapter
`
`C ore SMB Directo1y and Attnibute Operations ................... ..
`S\/1BmI<dirSpecificaLion
`
`('3QE/’JE/’JE/’JE/JE/JE/‘J
`
`\/1Bsearch Specification
`'\/1Bgetatr Specification
`\/1BtsetatrSpecifimLion
`\/1Bdskact1‘SpecifimLion
`\/1Bchkpath Speci fication
`
`re SMB Spool Operation Requests ........................................ ..
`\/1BsplopenSpecifimtion.................................
`wmenwraweammmhmmmMMMNNMMMQIIZIXKIZIXKIIZ
`\/1BspIclose
`\/1BspIre(q Speci fication
`
`E/JE/JE/JE/‘J
`
`C ore Plus SMB File Operations ..................................................... ..
`SMBnegp1otSpecifimt;ion....................
`SMBreadbraw
`SI\/[Bwritebraw
`SMBIock1ead Speci fication
`SI\/[Bwriteurflock Speci fication
`SI\/[Bwriteclose Specification
`
`Extend ed 1.0S MB C onnection Ma11agen1e11t Requests
`SMBnegp1otSpecifimtion.....................................
`nmmmgwmmmmmwmwwmwffififlgfififi
`
`SMB£oonXSpecification
`
`147
`
`Protocols for X/ Open PC Inteiworkingz SMB. Version 2
`
`Page 8 of 535
`
`Core SMB Connection Managen1entRequests .................... ..
`S\/1Bnegp1otSpecifimLion...................
`swmmnnamdamumimmmmmmmm::IIffmQI:::fff:::f
`S\/1B£di5 Specifimtion
`S\/1Bexit Specification
`
`('3 o re SMB File O peratio11 Requests ............................................. ..
`\/1Bcreate Specification
`\/1Bmknew Specification
`\/1Bopen
`\/1Bread Specification
`
`\/1BlseekSpeci fication
`
`\/1BunlocI<
`\/1BfiusI1 Specifimtion
`SI\/[BcloseSpecification
`SMBmv Speci fication
`SMBunlinkSpecification
`
`E/’JE/’JE/’JE/’JE/’JE/JE/’JE/’JE/‘J
`
`
`
`
`
`$§96ess8eeeseeaaaaaoaeases
`
`
`
`Con ten ts
`
`Extended l.0SMB File Operations ............................................... .. 151
`151
`1%
`16)
`163
`1%
`1%
`171
`174
`
`SMB.readXSpecificaIjon
`S1\/[Bwntebraw
`S1v[Bw1‘itec1ose Specification
`
`SMB.readbmpx Specification
`S1v[Bwn’tebmpx
`
`Extended 1.0SMB Directo1y and Att11’bute Operatio11s.... 179
`S1\/flifiist
`179
`SMBfclose
`181
`1&
`1%
`1%
`
`S1v[Bgetatt1‘E
`SMBsetatL1‘E Specification
`
`Extended l.0SMB Miscellaneous Requests ........................... .. 187
`SMBoopy Specifimtiorl 187
`SMBecho
`191
`SMBiocLl Specificaljon
`1%
`194
`
`Extended 2.0Protoco1 Additions and Modifications ......... .. 197
`
`197
`Z31
`212
`Z13
`Z34
`
`Extended 2.0Protoco1 SMBtmns2 ................................................. .. 207
`
`ZU7
`Z39
`210
`
`212
`
`212
`Em)13Encounte1ed Vkvhen Cleaning
`EncapsuIaLionofEA3intheSMBProtoool......................................... 212
`212
`214
`214
`214
`
`Information Levels
`Defined
`
`Chapter
`
`Chapter
`
`Chapter
`
`Chapter
`
`Chapter
`
`12
`121
`122
`123
`124
`125
`126
`127
`128
`
`13
`131
`132
`133
`134
`135
`
`14
`141
`142
`143
`144
`
`15
`151
`152
`153
`154
`155
`
`16
`161
`16 11
`16 12
`16 13
`16 14
`16 15
`16 151
`16 152
`16 153
`16 154
`16 16
`16 17
`162
`163
`164
`165
`166
`
`vi
`
`Page 9 of 535
`
`X/ Open CAE Speci ficaLion ( IEIB
`
`
`
`Contents
`
`16 7
`168
`169
`16 1O
`16 11
`16 12
`16 13
`
`Appendix A
`A.1
`A.2
`A3
`
`A p p end ix B
`B. 1
`13.2
`13.3
`B4
`B4 1
`13.42
`13.5
`13.5 1
`13.52
`36
`13.6 1
`13.62
`13.7
`13.7. 1
`13.7.2
`13.7.3
`38
`
`Appendix
`
`[\)n—I
`
`I-‘I-"“‘[\)I—I
`
`Appendix
`
`Appendix"'1“'59.0.55000
`
`Appendix
`
`TRANSACT2_F'INDNOTIF'YNEXF
`
`SMB T1'ans111ission Analysis ............................................................ ..
`Inuoduccion.............................
`DOS
`
`LAN Manager Remote A dn1i11istmtio11 Protocol ................. ..
`Overview
`Remote API
`
`LMXAooess Control Lists
`Transacljon AP] Request
`Parameter
`Data Section
`
`Transacljon AP] Response
`Parameter
`Data Section
`
`Descfiptoi‘
`Descriptor Suing
`Pointer Types and Returned Data
`Examples
`
`The X/Open S ecuiity Package ......................................................... ..
`E() Functions
`U()
`
`SMB Enciyption Techniques ........................................................... ..
`SMBAuthenLimI;ion........................
`smianegprorResponse.................23:IIIIIIIIIf111111ZIIIIIIIIIIIICIZIZXIIIII
`SMB(oon, SMB£oonX, Sl\/1BsessseLupXRequesl;5..................................
`
`TOP/N etBIOS ............................................................................................ ..
`
`RFC 1031 ....................................................................................................... ..
`
`Protocols for X/ Open PC Inteiworkingz SMB. Version 2
`
`Page 10 of 535
`
`236
`
`241
`
`246
`249
`
`281
`
`349
`
`vii
`
`
`
`Con ten ts
`
`Appendix G
`
`RFC 1032 ......................................................................................................... 419
`
`Glossary ........................................................................................................ .. 505
`
`I11dex ................................................................................................................ .. 511
`
`viii
`
`X/ Open CAE Spedficafion ( 132
`
`Page 11 of 535
`
`
`
`reface
`
`X/Open
`
`X/Open is an independent. worldwide, open systems organisation supported by most of the
`world‘s largest information systems suppliers, user organisations and software companies. Its
`mission is to bring to users greater value from computing, through the practical implementation
`of open systems.
`
`X/ Open's 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 (CAE). 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 CAE in a set of specifications which include an evolving portfolio of
`application programming interfaces
`(APIs) 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 CAE is implemented 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/Op en Technical Publications
`
`X/Open publishes a wide range of technical literature, the main part of which is fooussed on
`specification development, but which also inciudes Guides, Snapshots, Technical Studies,
`Branding/ Testing documents, industry surveys, and business titles.
`
`There are two types of X/ Open sped fimtion:
`
`- CAE Specifications
`
`CAE (Common Applications Environment) specifications are the stable specifications that
`form the basis for X/Open—branded products. These specifications are intended to be used
`widely within the industry for product development and procurement purposes.
`
`Anyone developing products that implement an X/ Open CAE specification can enjoy the
`benefits of a single, widely supported standard.
`In addition,
`they can demonstrate
`compliance with the majority of X/ Open CAE specifications once these specifications are
`referenced in an X/ Open component or profile definition and inciuded in the X/Open
`branding programme.
`
`CAE specifications are published as soon as they are developed, not published to coincide
`with the launch of a particular X/Open brand. By making its specifications available in this
`way, X/ Open makes it possible for conformant products to be developed as soon as is
`practicable, so enhancing the value of the X/Open brand as a procurement aid to users.
`
`Protocols for X/ Open PC Interworking: SMB. Version 2
`
`ix
`
`Page 12 of 535
`
`
`
`Preface
`
`a Preliminary Specifications
`
`These specifications, which often address an emerging area of technology and oonsequently
`are not yet supported by multiple sources of stable conformant 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 prooedures as a CAB specification.
`
`Preliminary specifications are analogous to the triai- use standards issued by formal standards
`organisations, and product development teams are encouraged to develop products on the
`basis of them. However, because of the nature of the technology that a Preliminary
`specification is addressing, it may be untried in multiple independent implementations, and
`may therefore change before being published as a CAE specification. There is always the
`intent to progress to a corresponding CAE specification, but the ability to do so depends on
`consensus among X/Open members. In all cases, any resulting CAE specification is made as
`upwards—oompatible as possible. However, complete upwards—oompatibility from the
`Preliminary to the CAE specification cannot be guaranteed.
`
`In addition, X/Open publishes:
`
`a Guides
`
`These provide information that X/ Open believes is useful in the evaluation, proourement,
`development or management of open systems, particularly those that are X/Open-
`compliant. X/ Open Guides are advisory, not normative, and should not be referenced for
`purposes of specifyi ng or claj ming X/Open conformanoe.
`a Technical Studies
`
`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.
`
`a 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
`commitment regarding future development and further publication. Similarly, a Snapshot
`does not represent any commitment by X’ Open members to develop any specific products.
`
`Versions and Issues of Specifications
`
`live documents, CAE Specifications require revision, in this case as the subject
`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 which are not:
`
`- 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 CAE Speci fication ( IEIB
`
`
`
`Preface
`
`o a new Issue does include changes to the definitive information oontained in the previous
`publimtion of that title (and may also include extensions or additional information). As such,
`X/Open maintains both the previous and new issue as current publications.
`
`Corrigenda
`
`the leading edge of open systems
`Most X/ Open publications deal with technology at
`development. Feedback from implementation experience gained from using these publications
`occasionally uncovers errors or inoonsistendes. Significant errors or recommended solutions to
`reported problems are communicated by means of Corrigenda.
`
`The reader‘ of this document is advised to check periodically if any Corrigenda apply to this
`publication. This may be done in any one of the following ways:
`
`- anonymous ftp to ftp .xopen .org
`
`o ftpmail (see below)
`
`- reference to the Corrigenda list in the latest X/ Open Publications Price List.
`
`To request Coriigenda 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
`
`This will return the index of publications for which Corrigenda exist. Use the same email
`address to request a copy of the full ooriigendum information following the email instructions.
`
`This D ocument
`
`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
`oomputer 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—cornpliant
`systems in a standardised way.
`
`interoperability, and programming
`Two areas have to be addressed to achieve this goal;
`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 whose server component will be portable to all X/ Open—compliant systems.
`
`For interoperability via asynchronous serial links, X/Open has already deFu1ed in the X/Open
`Portability Guide, Issue 3a file transfer‘ protocol and a set of features provided on X/Open-
`oompliant systems for terminal emulators. Now it is time to address interworking in local area
`networks (LANs).
`
`In the X/ Open (PC)NFS and SMB Developers‘ Specifications interoperability of personal
`oomputers and X/Open—compliant
`systems
`is addressed. The applications portability
`oomponents, containing definitions of programmatic interfaces to server
`functions, are
`documented in the X/ Open CAE Specification, IPC Mec.hanisms for SMB and the X/ Open CAE
`Specification, Use of XT'l to Access NetBIOS.
`
`Protocols for X/ Open PC Interworking: SMB. Version 2
`
`Page 14 of 535
`
`
`
`Preface
`
`V\«hen connecting peisonal oomputeis and X/Open—oompliant systems via standard transport
`protoools, there appear to be two possibly overlapping but distinct market segments In the fiist
`one, peisonal computers are added to existing networks of X/Open—compliant systems which
`already have a distiibuted file system, the most wideIy—adopted one being the Network File
`System oiiginally designed by Sun Microsystems. In the second one, X/Open—oompliant serveis
`are added to LA Ns consisting primaiily of peisonal oomputeis. For personal computers iunning
`under DOS or OS/2 operating systems, which is the vast majority, the generally acoepted non-
`propiietary piotocol is the Sewer Message Block from Microsoft Corporation.
`
`Therefore, for connecting pensona] computets to X/Open—compliant systems, both the (PC)NFS
`(see the X/ Open Developers‘ Specification, 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 protoools (defined in the
`X/ Open (PC)NFS and SI\/lB Developeis' Specifications) to their underlying transport protoools.
`It also reflects the organisation of the two documents. The (PC)NFS specification describes the
`protoools for NFS, RFC and XDR. The SI\/lB specifimtion describes the piotocols for SMB, the
`mapping of NetBIOS over an OS] transport (TOP/NetBIOS) and the mapping of NetBIOS over
`an Internet Protocol Suite transport (RFC 1CD1/RFC 102.
`
`Connectionless
`
`Transport
`Services
`
`Defined
`outside the
`
`Speci fication
`
`Com 1ection—
`oiiented
`
`Transport
`Services
`
`(ISP TA 5])
`
`Defined
`ou tside the
`
`Speci fimti on
`
`11’
`
`Defined
`outside the
`
`Specification
`
`Sinoe SMB and NFS protocols do not easily map onto the seven layer OSI Refeience Model, the
`diagram does not use it.
`
`X/ Open CAE Speci fication ( IEIB
`
`Page 15 of 535
`
`
`
`Preface
`
`Throughout the specifimtion “DOS" is used to wafer to the MS—DOS or PCDOS personal
`oomputer operalj ng system.
`
`Protocols for X/ Open PC Inteiworkingz SMB. Version 2
`
`xiii
`
`Page 16 of 535
`
`
`
`Trade Marks
`
`Ethernet® is a registered trade mark of Xerox Corporation.
`
`LAN Managerm is a trade mark of l\/Iicmsoft Coipoiation.
`MS—DOS® is a registered trade mark of Microsoft Corporation.
`NF‘S® is a registered trade mark of Sun Mjcrosystems.
`OS/ 2® is a registered trade mark of International Business Machi nes Corporation.
`Palati no® 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 Laboratoiies Inc. in the U.S.A. and other
`oountiies.
`
`X/Openm and the “X' devioe are trade marks of X/Open Company Ltd. in the U.I(. and other
`oountn'es.
`
`xiv
`
`X/ Open CAE Specification (132
`
`Page 17 of 535
`
`
`
`eferen ced Documents
`
`The following documents are referenced in this specification:
`
`IPC
`
`X/Open CAE Specification, IPC Mechanisms for SMB
`(Document No.: C 196 ISBN: 1—8’%D$6.
`
`NetBIOS
`
`to Access NetBIOS, contained in )UOpen CAE
`X/Open CAE Specification, Use of XTI
`Specification. X/ Open Transport Interfaoe (XII)
`(Document No.: C 1% ISBN: 1—87%3)E4D.
`
`OS/ 2
`
`Microsoft OS/ 2Programmer‘s Reference, Volume 4
`
`(PC)NFS
`X/ Open Developers’ Specifimtion, Protocols for X/ Open PC Interworkjng: (PC)NFS
`(Document No.: D(E), ISBN: 1—87%3}(D6.
`
`SMB
`
`X/Open Developers’ Specification, Protocols for X/Open PC Interworking: SMB
`(Document No.: D ID ISBN: 1—8’%DO1—4).
`
`XNFS
`
`X/Open CAE Specification, Piotocols for )UOpen Inteiworkjng: XNFS, Issue 4
`(Document No.: C218 ISBN: 1—87%3)6B9.
`
`XPG3
`
`X/Open Portability Guide, Issue 3 linuaiy 1&9
`
`Protocols for X/ Open PC Inteiworking: SMB. Version 2
`
`xv
`
`Page 18 of 535
`
`
`
`Referenced Documents
`
`xvi
`
`Page 19 of 535
`
`X/ Open CAE Speci ficaLion ( IEIB
`
`
`
`Chapter 1
`
`n trodu ction
`
`1.1 Why Republish
`
`A pievious veision of this specifimtion has been published. The pievious veision desciibed the
`SMB protoool up to a dialect level called extended. Since that time, a new dialect has been added
`and seveial
`€l‘I‘Ol‘S
`and omissions were found in the specifimtion. This veision of the
`specification oon‘ects the en‘ors and omissions and oontains the definition for the extended 2O
`SMB dialect. The extended protoool of the previous veision of this document is now called
`extended l_Owhich is to be distinguished from the new extended 20dialect.
`
`1.2
`
`This Document
`
`The relevant parts of this CAE Specifimtion include the specification of the SMB piotocol itself,
`definition of the oonventions used in mapping SMB redirector semantics onto X/Open
`semantics, specifications of the binding of the NetBlOS interface to popular piotocol stacks, and
`selection of piotocol profiles to permit inteiopeiability.
`
`Information regarding NetBIOS is provided because the great majonity of SMB redirector
`implementations of the SMB protocols rely on NetBIO6 as well.
`
`The interface to the NetBIOS implementation on the CAE system is outside the scope of this
`specification.
`\Mthin this document only the NetBIOS sen/ice definition to the Intemet Protoool
`Suite (RFC 1(D1/ 102 (see Appendices F and G) and an OS] tiansport (TOP/NetBIOS) (see
`Appendix E on page $1) are considered.
`
`In this second publication, the SMB definitions necessary for Inter—prooess Communication (IPC)
`from SMB redirectois to prooesses 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 SMB.
`
`This specification does include the SMB piotocol and the SMB sen/ice definition to be
`implemented by an LMX sewer. The SMB sen/ice definition of the SMB iediiector as well as
`user interfaces necessary to access network resources are outside the scope of this speci ficatj on.
`
`Protocols for X/ Open PC Inteiworking: SMB. Version 2
`
`1
`
`Page 20 of 535
`
`
`
`Overview of Document Layout
`
`Introduction
`
`1.3
`
`0 v ervi ew of D o cum ent Layout
`
`Chapter Zprovides an overview of the service and security model for the SMB protocol.
`
`Chapter 3discusses the conventions related to the rules the SMB protocol maintains. This
`chapter describes the environments maintained within the SMB protocol model as well as rules
`governing file locking and user security.
`
`Chapter 4 desciibes conventions that can be followed for mapping the SMB protocol model
`described in Chapter 3into the CAE environment. This chapter provides guidelines for such
`things as how filenames in the CAE environment are viewed by the SMB protoc.ol environment.
`
`Chapter Sdefines the basic stmctu re, data items and constant definitions for the SMB protocol.
`
`The core dialect is defined in Chapter Gthrough Chapter 9
`
`Additions to the core dialect that make up the core plus dialect are found in Chapter 10
`
`Chapter llthrough Chapter 14define the extended LOSMB dialect.
`
`The additions for the extended ZOSMB dialect are covered in Chapter 15and Chapter 16
`
`A desciipijon of the mapping of DOS and OS/2 system calls to SMB protocol requests,
`descriptions of support of NetBIOS names on T‘CP/IP and O61 protocols, and additional SMB
`protocols that may be used for LMX sewer administration are contained in the appendices to
`this specification.
`
`Page 21 of 535
`
`X/ Open CAE Speci fication ( IEIB
`
`
`
`Chapter 2
`
`MB File-sharing Service Mode]
`
`This CAE Specification describes the X/ Open LAN Manager (LMX) architecture, the Server
`Message Block (SMB) protocol, and their applicability to interoperability between X/Open-
`oornpliant LAN Manager implementations running in an X/Open Common Applications
`Environment (CAE) and SMB redirectors runni ng D06 or O6/2
`
`L\/IX provides a file and print—shan’ng service which preserves, as far‘ as possible, the same
`semantics as provided by a DOS or OS/Zsystem to an application. This service is provided by
`mapping the SMB redirector‘ semantics onto those supported by the CAB system in which the
`L\/lXser\/er runs.
`
`This model is in contrast to a fi]e—sharing service, in which the LMXser\/er provides a complete
`emulation of the SMB redirector’s file storage architecture, but does not permit acoess to that
`emulation from applications running on the same CAE system. The intent behind the LMX
`approach is to permit applications existing on SMB redi rectors 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 CAE system in a file or have the same
`layout as in the SMB redi rector‘s operating system.
`
`In LMX resources are shared by making the name of the resource available for access from the
`network. For example, the LMXser‘ver‘ named XOPEN will make a resource DOCUMENTS that
`oontains this document available. This allows users on SMB redirectors to oonnect to this
`
`In this example the resource DOCUMENTS oould point to a
`resource and access this data.
`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 loml SMB re(lirector's system.
`
`Protocols for X/ Open PC Interworking: SMB. Version 2
`
`3
`
`Page 22 of 535
`
`
`
`SMB Protocol Prr'ncr'ples
`
`SMB Fr'Ie—sh2irr'ng 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 SMB redirector
`wants to make use ofSMB file and print services available in the network the user needs an SMB
`redirector implementation of the SMB protocol. Upon request the SMB redi rector will connect to
`an LMX server. Throughout this doournent the term LMX server does not imply any particular
`design.
`
`The SMB protocol requires a reliable connection—oriented virtual circuit provided by a NetBIOS
`implementation.
`
`Each LMXser\/er in the network will offer resources. When a user on an SMB redirector wishes
`
`to use a resource, or resources, from an LMXser\/er, the user of the SMB redirectorwill cause the
`
`SMB redirector to set up a single LMXsession with the desired LMXser\/er using NetBIOS. The
`action of setting up the LMXsession indudes using NetBIOS to locate the system in the network
`then negotiating the level of SMB support desired by the SMB redirector. If multiple resources
`are desired by the SMB redirector, the SMB redirector will use the single LMXsession to perform
`all SMB exchanges. So, if the user requests use of both a file system share and a printer share on
`the same LMX server, then only one LMX session exists between the SMB redirector and this
`LMXser\rer system.
`
`Once the LMX session has been established the SMB redirector will take initiative to request
`services offered by the LMXser\/er by sending SMB requests across the LMXsession. Each SMB
`request is executed by the LMX server‘ and the result is sent back to the SMB redirector‘ in an
`SMB response.
`SMB redirector‘
`implementations may support multiple simultaneous
`connections to different LMXservers.
`
`The SMB protocols can be divided into:
`
`o core protocol
`
`. core plus protocol
`
`o extended lOprotocol
`
`- extended 20protoc.ol
`
`each one being a superset of the previous one. The extended protocols offer‘ a richer‘ set of
`functionality and are required for some of the IPC mechanisms described in the X/ Open CAE
`Specification, IPC Mechanisms for SMB.
`
`In the extended protocols, mechanisms exist to have users authorised by the LMX server (see
`Section 23. If an SMB protoc.ol supporting user authorisation is negotiated the LMXserver will
`authorise the one user working on the SMB redirector 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 SMB
`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 (an be executed (for example, open
`file, show print queue) from now on.
`
`Page 23 of 535
`
`X/ Open CAE Speci fication ( IEIB
`
`
`
`SMB FiIe—shari'ng Service Model
`
`Security Overview
`
`2.2
`
`Secutity Overview
`
`The networks using the SMB protocol will contain not only multi—user systems with user—based
`secuiity models, but also single—user systems that have no concept of user IDs or permissions.
`Once these systems are connected to the network, however,
`they are in a multi—user
`environment and need a method of access control. Fiist, unsecure systems need to be able to
`provide some sort of bone tides to other systems in the network which do have permissions.
`Second, unsecure nodes need to control access to their resources by otheis.
`
`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 secuiity where
`it is provided by the operating system. The mechanism also allows systems with no concept of
`user ID to demonstrate access authoiisation to systems which do have a permission mechanism.
`
`The LMXsewer will define the secunty mode that is being used; it cannot be negotiated by the
`SMB redirector. Wlthi n the SMB protocols two fonns of seou n'ty exist:
`
`o share—leveI secuiity mode
`
`Can be applied to restrict the access to a shared resource, placing access control at the level of
`the resource.
`
`o user—level secuiity mode
`
`Can assign user context to anyone establishing an LMX session. This way different access
`lights can be granted to people connecting to the same resource. This form of seouiity can
`only be used when an extended SMB protocol has been negotiated.
`
`2.2.1
`
`Share-level Security Mode
`
`A share—level secuiity mode LMXsewer makes a resource available to all Ll.S€l‘S on the network.
`Any user who knows the name of the LMX server, the name of the resource, and the passwoicl,
`has the same access to eveiydiing (for example, read—only) within a resource. The passwoicl is
`optional.
`
`For example, the LMX sewer named XOPE