throbber
TRANSACT2_MKD1R
`
`Extended 2.0 Protocol SMBtrans2
`
`smb_dscnt
`
`Number of data bytes being sent in this buffer.
`
`smb_dso1T
`
`Offset from the start of an SlVlB header to the data bytes.
`
`smb_dsd1'sp
`
`Byte displacement for these data bytes.
`
`smb_fid
`
`smb_bcc
`
`Value = Oxffff. No FID in this request.
`
`Total bytes following including pad bytes.
`
`smb_data[]
`
`Data bytes (size = smb_dscnt).
`
`Re sponse Form at
`
`smb_wct
`
`Value = 10.
`
`smb_tprcnt
`
`Value = 2.
`
`smb_tdrcnt
`
`Value = 0. No data bytes.
`
`smb_rsvd
`
`Reserved. Must be zero.
`
`smb_prcnt
`
`Value = 2. Parameter bytes being returned.
`
`smb_prolT
`
`Offset from the start of an SlVlB header to the parameter bytes.
`
`smb_prd1'sp
`
`Value = 0. Byte displacement for these parameter bytes.
`
`smb_bcc
`
`Total bytes following including pad bytes.
`
`smb_param[]
`
`The parameter block for the TRANSACT2_MKD1R function response is the
`mkdir—specific return information in the following form at:
`
`Location
`
`Nam e
`
`l'Ult.-aning
`
`smb_param[0—1] mkdir_ofl%rror Offset into FEALIST data of first error
`which
`occurred while
`setting
`the
`extended attributes.
`
`250
`
`X/Open CAE Specification (1992)
`
`Page 268 of 534
`
`Verizon Exhibit 1004
`
`

`
` Appendix A
`
`SIVIB Transmission Analysis
`
`A.1
`
`Introduction
`
`This appendix describes the mapping between DOS and OS/2 system calls on an Sl\/[B
`redirector, and the associated SMB requests sent from the SIVIB redirector to an LMX server. The
`DOS SMB redirector is assumed to be using the core SMB protocols, and the OS/2 SIVIB
`redirector is assumed to be using the LAN Manager extended SIVIB protocols. While an OS/2
`Sl\/[B redirector will use core Sl\/[B requests to communicate with a core Ll\/IX server, and a DOS
`LAN Manager client will use extended SIVIB requests to communicate with an OS/2 server, these
`situations will not be considered here.
`
`The mappings given here do not com pletely describe the behaviour of all SMB redirectors; they
`do not take into account various optimisations which Sl\/[B redirectors may do which will result
`in behaviour which differs from that described here. In particular, the extended SMB protocol
`contains a number of facilities which allow a redirector to improve performance. These include:
`SIVIB chaining, opportunistic locking, caching and various specialised Sl\/[B requests, such as
`Read Block Multiplex, Write Block Multiplex, Read Block Raw and Write Block Raw. Redirectors
`which make use of these facilities may not behave exactly as described here.
`
`It should also be noted that the OS/2 SIVIB redirector and file system make extensive use of
`internal buffers and heuristics that make it difficult to determine an exact mapping between
`OS/2 API calls and SIVIB emissions. The listed API calls give an indication of which Sl\/lBs are
`sent when invoked, and where possible, an explanation is given regarding any special
`circumstances.
`
`DOS and OS/2 system calls which are not listed here will not normally result in SIVIB requests
`being transmitted.
`
`Protocols for X/Open PC Interworking: SIVIB, Version 2
`
`251
`
`Page 269 of 534
`
`

`
`DOS Functions
`
`SMB Transmission Analysis
`
`A.2
`
`DOS Functions
`
`Function Number
`
`DOS Function
`
`0x00
`0x05
`0x0d
`0x0f
`0x10
`0x11
`0x12
`0x13
`0x14
`0x15
`0x16
`0x17
`Oxlb
`Oxlc
`0x21
`0x22
`0x23
`0x27
`0x28
`0x36
`0x39
`0x3a
`0x3b
`0x3C
`0x3d
`0x3e
`0x3f
`0x40
`0x41
`0x42
`0x43
`0x4b
`0x4C
`0x4e
`0x4f
`0x56
`0x57
`0x5a
`0x5b
`0x5C
`0x5f
`0x68
`
`Term inate Program m e
`Print Character
`Reset Disk
`
`Open File (FCB I/ O)
`Close File (FCB I/ O)
`Search For First Entry
`Search For Next Entry
`Delete File (FCB I/ O)
`Sequential Read (FCB I/O)
`Sequential Write (FCB I/ O)
`Create File (FCB I/ O)
`Renam e File (FCB I/O)
`Get Default Drive Data
`Get Drive Data
`
`Random Read (FCB I/ O)
`Random Write (FCB I/ O)
`Get File Size (FCB I/ O)
`Random Block Read (FCB I/ O)
`Random Block Write (FCB I/ O)
`Get Disk Free Space
`Create Directory
`Rem ove Directory
`Change Current Directory
`Create File Handle
`
`Open File Handle
`Close File Handle
`Read Via File Handle
`Write Via File Handle
`
`Delete Directory Entry
`Move File Pointer
`Set/Get File Attributes
`
`Load and Execute Program me/Load Overlay
`End Process
`Find First File
`Find Next File
`
`Change Directory Entry
`Set/Get Date/Time of File
`
`Create Temporary File Handle
`Create New File
`Unlock/Lock File
`
`Get Assign List Entry
`Flush Buffer
`
`252
`
`Page 270 of 534
`
`X/ Open CAE Specification (1992)
`
`

`
`SMB Transmission Analysis
`
`DOS Functions
`
`Change Curre nt Dire ctory
`
`Function number
`
`0x3b.
`
`SIVIB sent
`
`Reason
`
`SIVlBchkpth.
`
`Change directory.
`
`Change Directory Entry
`
`Function number
`
`0x56.
`
`SIVIB sent
`
`Reason
`
`SIVlBmV.
`
`Rename file.
`
`Close File (FCB I/O)
`
`Function number
`
`0x10.
`
`SIVIB sent
`
`S1VlBc1ose.
`
`Reason
`
`Close file (FCB I/O).
`
`Close File Handle
`
`Function number
`
`0x3e.
`
`SIVIB sent
`
`Reason
`
`S1VlBc1ose, SMBsp1close (printer device).
`
`Close file.
`
`Create Directory
`
`Function number
`
`0x39.
`
`SIVIB sent
`
`SIVlBmkd1'r.
`
`Reason
`
`Make directory.
`
`Create File (FCB I/O)
`
`Function number
`
`0x16.
`
`SIVIB sent
`
`Reason
`
`S1VlBcreate.
`
`Create file.
`
`Create File Handle
`
`Function number
`
`0x3c.
`
`SIVIB sent
`
`Reason
`
`S1VlBcreate.
`
`Create file.
`
`Protocols for X/ Open PC Interworking: SIVIB, Version 2
`
`253
`
`Page 271 of 534
`
`

`
`DOS Functions
`
`SMB Transmission Analysis
`
`Create New File
`
`Function number
`
`0x5b.
`
`SIVIB sent
`
`Reason
`
`SA/Bmknew.
`
`Create file.
`
`Delete Dire ctory Entry
`
`Function number
`
`0x41.
`
`SIVIB sent
`
`Reason
`
`SIVlBun1inI(.
`
`Delete file.
`
`Delete File (FCB I/O)
`
`Function number
`
`0x13.
`
`SIVIB sent
`
`SIVlBun1inI(.
`
`Reason
`
`Delete file (FCB I/O).
`
`End Proce ss
`
`Function number
`
`0x4c.
`
`SIVIB sent
`
`SIVlBeXit.
`
`Reason
`
`Exit program in e.
`
`Find First File
`
`Function number
`
`0x4e.
`
`SIVIB sent
`
`S1VlBsearch.
`
`Reason
`
`Find first matching filenam e.
`
`Find Next File
`
`Function number
`
`0x4f.
`
`SIVIB sent
`
`S1VlBsearch.
`
`Reason
`
`Find next matching filenam e.
`
`Flush Buffe r
`
`Function number
`
`0x68.
`
`SIVIB sent
`
`Reason
`
`S1VlBflush.
`
`Comm it file.
`
`254
`
`X/ Open CAE Specification (1992)
`
`Page 272 of 534
`
`

`
`SMB Transmission Analysis
`
`DOS Functions
`
`Get Assign List Entry
`
`Function number
`
`0x5f.
`
`SIVIB sent
`
`Reason
`
`S1VlBtcon, S1VlBtd1's.
`
`Redirect device, cancel redirection.
`
`Get De fault Drive Data
`
`Function number
`
`Oxlb.
`
`SIVIB sent
`
`Reason
`
`S1VlBdskattr.
`
`Get data on the default drive.
`
`Get Disk Free Space
`
`Function number
`
`0x36.
`
`SIVIB sent
`
`S1VlBdskattr.
`
`Reason
`
`Get free space on disk.
`
`Get Drive data
`
`Function number
`
`Oxlc.
`
`SIVIB sent
`
`Reason
`
`S1VlBdskattr.
`
`Get data on a drive.
`
`Get File Size (FCB I/O)
`
`Function number
`
`0x23.
`
`SIVIB sent
`
`Reason
`
`S1VlBsearch.
`
`File size in records.
`
`Load and Execute Programme /Load Overlay
`
`Function number
`
`0x4b.
`
`SIVIB sent
`
`Reason
`
`SIVlBopen, S1VlBread, SIVlBc1ose.
`
`Load/execute program III e.
`
`Move File Pointer
`
`Function number
`
`0x42.
`
`SIVIB sent
`
`S1VlB1seek.
`
`Reason
`
`Set position in file.
`
`Protocols for X/ Open PC Interworking: SIVIB, Version 2
`
`255
`
`Page 273 of 534
`
`

`
`DOS Functions
`
`SMB Transmiss1'on Analysis
`
`Open File (FCB I/O)
`
`Function number
`
`0x0f.
`
`SIVIB sent
`
`Reason
`
`SIVlBopen (read/write/share set to Oxfl).
`
`Open file (FCB I/O).
`
`Ope n File Handle
`
`Function number
`
`0x3d.
`
`SIVIB sent
`
`Reason
`
`Print Charac te r
`
`SIVlBopen, SIVlBso1open (printer device).
`
`Open file.
`
`Function number
`
`0x05.
`
`SIVIB sent
`
`Reason
`
`S1VlBsp1open, SIVlBsp1wr, SIVlBsp1c1ose.
`
`Printer output.
`
`Random Block Re ad (FCB I/O)
`
`Function number
`
`0x27.
`
`SIVIB sent
`
`S1VlBread.
`
`Reason
`
`Random block read (FCB I/O).
`
`Random Block Write (FCB I/O)
`
`Function number
`
`0x28.
`
`SIVIB sent
`
`SMBwrite.
`
`Reason
`
`Random block write (FCB I/O).
`
`Random Re ad (FCB LO)
`
`Function number
`
`0x21.
`
`SIVIB sent
`
`SIVlBread.
`
`Reason
`
`Random read (FCB I/O).
`
`Random Write (FCB I/O)
`
`Function number
`
`0x22.
`
`SIVIB sent
`
`Reason
`
`SIVlBwrite.
`
`Random write.
`
`256
`
`X/ Open CAE Specification (1992)
`
`Page 274 of 534
`
`

`
`SMB Transmission Analysis
`
`DOS Functions
`
`Re ad Via File Handle
`
`Function number
`
`0x3f.
`
`SIVIB sent
`
`Reason
`
`S1VlBread.
`
`Read file.
`
`Re In ove Dire ctory
`
`Function number
`
`0x3a.
`
`SIVIB sent
`
`SIVlBrmdir.
`
`Reason
`
`Rem ove directory.
`
`Rename File (FCB I/O)
`
`Function number
`
`0x17.
`
`SIVIB sent
`
`Reason
`
`Re se t Disk
`
`S1VlBmV.
`
`Renam e file.
`
`Function number
`
`0x0d.
`
`SIVIB sent
`
`S1VlBflush.
`
`Reason
`
`Disk reset (flush file bufl°ers).
`
`Search For First Entry
`
`Function number
`
`0x11.
`
`SIVIB sent
`
`SIVlBsearch.
`
`Reason
`
`Search first matching entry.
`
`3 e arch For Ne xt Entry
`
`Function number
`
`0x12.
`
`SIVIB sent
`
`SIVlBsearch.
`
`Reason
`
`Search next matching entry.
`
`Se que ntial Re ad (FCB I/O)
`
`Function number
`
`0x14.
`
`SIVIB sent
`
`S1VlBread.
`
`Reason
`
`Sequential read (FCB I/O).
`
`Protocols for X/ Open PC Interworking: SIVIB, Version 2
`
`257
`
`Page 275 of 534
`
`

`
`DOS Functions
`
`SMB Transmission Analysis
`
`Sequential Write (FCB I/O)
`
`Function number
`
`0x15.
`
`SIVIB sent
`
`SIVlBwrite.
`
`Reason
`
`Sequential write (FCB I/ O).
`
`Set/Get Date /Time of File
`
`Function number
`
`0x57.
`
`SIVIB sent
`
`Reason
`
`SIVlBsearch, SA/lBsetatr.
`
`Get/set file date and time.
`
`S e t/Get File Attribute s
`
`Function number
`
`0x43.
`
`SIVIB sent
`
`SIVlBsetatr.
`
`Reason
`
`Change file attributes.
`
`Te rm inate Program m e
`
`Function number
`
`0x00.
`
`SIVIB sent
`
`S1VlBeXit.
`
`Reason
`
`Program III e term inate.
`
`Unlock/Lock File
`
`Function number
`
`0x5c.
`
`SIVIB sent
`
`Reason
`
`SMB1ock, SIVlBun1ock.
`
`Lock/Unlock file.
`
`Write Via File Handle
`
`Function number
`
`0x40.
`
`SIVIB sent
`
`Reason
`
`SIVlBwr1'te, SA/lBsp1Wr (printer device).
`
`Write file.
`
`258
`
`X/ Open CAE Specification (1992)
`
`Page 276 of 534
`
`

`
`SIVIB Transmission Analysis
`
`O82 Functions
`
`A.3
`
`OS/Z Functions
`
`The SMB requests generated from OS/2 redirectors will vary based on the protocol dialect
`negotiated. This variation is highlighted in the sequences below by listing the SMB request that
`will be sent if the extended 1.0 dialect was negotiated first followed by the SMB request for the
`extended 2.0 dialect.
`
`DosBufRe se t
`
`SIVIB sent
`
`Reason
`
`DosChDir
`
`SIVIB sent
`
`Reason
`
`DosClose
`
`SIVIB sent
`
`Reason
`
`DosDe le te
`
`SIVIB sent
`
`Reason
`
`DosDe VIO Ctl
`
`SIVIB sent
`
`Reason
`
`DosExecPgm
`
`SIVIB sent
`
`S1VlBf1ush.
`
`Flush file buffer.
`
`SIVlBchkpth.
`
`Change the current working directory.
`
`SIVlBc1ose, SIVlBwr1'tec1ose, SIVlBWrite.
`
`Close F]D.
`
`If the file I/ O is buffered, a DosClose will cause the data in the buffers to
`
`be flushed. This type of situation may cause an SIVlBwritec1ose or
`SIVlBwrite to be sent.
`
`S1VlBun11'nk.
`
`Delete a file.
`
`SIVlB1'oct1, SIVlBioct1s.
`
`Pass a device—specific I/ O control request to a driver.
`
`SIVlBopen, SIVlBread, SIVlBc1ose. SIVlBtrans2('IRANSACT2_OPEN) may be
`used for the open function instead of SIVlBopen for the extended 2.0
`dialect.
`
`Reason
`
`Start a programme as a child process.
`
`DosExecPgm makes use of OS/2’s standard file I/O functions.
`
`DosFile Locks
`
`SIVIB sent
`
`Reason
`
`SIVlB1ock SIVlB1ock1'ngX, SIVlBlockread, SIVlBun1ock, SIVlBWr1'teun1ock.
`
`Set or reset a byte lock range in an open file.
`
`An SIVlBwriteunlock is sent after unlocking bytes which were just written
`out. SIVlB1ockread is used to lock and then read ahead.
`
`Protocols for X/ Open PC Interworkingz SIVIB, Version 2
`
`259
`
`Page 277 of 534
`
`

`
`O82 Functions
`
`SIVIB Transmission Analysis
`
`DosFindClose
`
`SIVIB sent
`
`Reason
`
`DosFindFirst
`
`SIVIB sent
`
`Reason
`
`DosFindFirst2
`
`SIVIB sent
`
`Reason
`
`DosFindNe xt
`
`SIVIB sent
`
`Reason
`
`DosFindNotifyClose
`
`SIVIB sent
`
`Reason
`
`DosMkDir
`
`SIVIB sent
`
`Reason
`
`DosMove
`
`SIVIB sent
`
`Reason
`
`DosOpe n
`
`SIVIB sent
`
`Reason
`
`SIVlB1cl0se and possibly SIVlBfindnc10se.
`
`If change notification was
`Close an active directory search handle.
`involved, the SIVlBfindnc10se will be sent to cancel further notifications.
`
`SIVlBfl‘lrst or SIVlBtrans2('IRANSA CT2_F1NDF1RS'1) .
`
`Find the first file in a directory matching the search pattern.
`
`SIVlBtrans2('IRANSACT2_F1NDF1RS'1). An SIVlBfindc10se may follow.
`
`If no
`Find the first file in a directory matching the search pattern.
`additional searchs are desired the SA/lBfindc10se will be used to allow the
`server to free resources associated with the find.
`
`SIVlBfl‘lrst or SIVlBtrans2('IRANSA CT2_F1NDNEX'D .
`
`Get the next file from the search pattern.
`
`If this function is used on a sufficiently large directory it will eventually
`send an S1VlBfind request.
`
`SIVlBfindnc10se.
`
`To indicate to the LMX server that directory search requests are complete.
`
`SIVlBn1kd1'r SIVlBtrans2('IRANSACT2_IV1KD1R) .
`
`Create a new directory.
`
`SIVlBn1 V.
`
`Rename or move a file.
`
`SIVlB0penX, SIVlB0pen, SIVlBcreate, SIVlBreadX or
`SIVlBtrans2('IRANSACT2_ OPEN) .
`
`Open a device/file for I/O.
`
`D0sOpen may send an SIVlBreadX read ahead. D0sOpen will send an
`SIVlB0penX instead of an SA/lB0pen when in protected mode. SIVlB0pen has
`no capabilities for creating a file when opening, so D0sOpen may send an
`SIVlBcreate.
`
`260
`
`Page 278 of 534
`
`X/Open CAE Specification (1992)
`
`

`
`SMB Transmission Analysis
`
`O82 Functions
`
`DosQCurDir
`
`SIVIB sent
`
`Reason
`
`DosQFS Info
`
`SIVIB sent
`
`Reason
`
`DosQFile Info
`
`SIVIB sent
`
`Reason
`
`DosQFile Mode
`
`SIVIB sent
`
`Reason
`
`DosRe ad
`
`SIVIB sent
`
`Reason
`
`DosRe adAsync
`
`SIVIB sent
`
`Reason
`
`SlVlBchI(pth.
`
`Determine the current directory of a logical drive.
`
`SIVlBdskattr or SIVlBtrans2('IRANSACT2_QFS1NFO).
`
`Retrieve file system information data.
`
`SIVlBgeta ttrE or SIVlBtrans2('IRANSACT2_QF1LE1NFO).
`
`Retrieve a file information record.
`
`SIVlBgeta tr.
`
`Get a file’s attribute byte.
`
`SIVlBread, SIVlBrea dX, S1VlBreadbraW, S1VlBreadbmpX.
`
`Read characters from an F]D.
`
`SIVlBreadbrawis used to send a block of data which is larger than the data
`size which was negotiated.
`
`SIVlBread, SIVlBrea dX, S1VlBreadbraW, S1VlBreadbmpX.
`
`Read characters from an F]D asynchronously.
`
`Same behaviour as DosRead.
`
`DosRm Dir
`
`SIVIB sent
`
`SIVlBrmd1'r.
`
`Reason
`
`Delete a subdirectory.
`
`DosSe tFile Info
`
`SIVIB sent
`
`SIVlBsetattrE.
`
`Reason
`
`Change a file’s directory information.
`
`Protocols for X/ Open PC Interworkingz SNIB, Version 2
`
`261
`
`Page 279 of 534
`
`

`
`OS£ Functions
`
`SMB Transmission Analysis
`
`DosS e tFile Mode
`
`SIVIB sent
`
`SIVlBseta tr.
`
`Reason
`
`DosWrite
`
`SIVIB sent
`
`Reason
`
`DosWrite Async
`
`SIVIB sent
`
`Reason
`
`Change a fi1e’s attribute.
`
`SIVlBwrite, SIVlBwriteX, SIVlBwritebraw, SIVlBwritebmpX.
`
`Write characters to an F]D.
`
`SIVlBWr1'tebrawis used to send a block of data which is larger than the data
`size which was negotiated.
`
`SIVlBwrite, SIVlBWriteX, SIVlBwritebraw, SIVlBwritebmpX.
`
`Write characters to an F]D asynchronously.
`
`Same behaviour as DosWn'te.
`
`262
`
`X/Open CAE Specification (1992)
`
`Page 280 of 534
`
`

`
`

`
`Remote API Protocol
`
`LAN I\/Ianager Remote Administration Protocol
`
`B.2
`
`Remote API Protocol
`
`1. All remote API operations are done using the share name IPC$. The Sl\/[B redirector will
`automatically connect to that share if necessary in order to do a remote API call.
`
`2. All remote API operations are done using the Transaction SMB SMBtrans.
`
`3. The smb_name field of the Transaction SMB is always \PIPE\LANMAN. The server uses
`this to identify a remote API request. The SIVIB resembles a normal named pipe operation,
`which is also done using a Transaction SMB. However, the smb_setup[0] field, which
`would norm ally contain
`the desired named pipe operation,
`is
`ignored;
`the
`\PIPE\LANMAN name field is suificient to identify a remote API operation.
`
`The arguments for the remote API call are encapsulated in the Transaction request SMB; return
`values are encapsulated in the Transaction response SMB. In both the request and the response,
`all binary values are stored in little—endian order, least significant byte first. There are no pad
`bytes other than those explicitly specified in descriptor strings; therefore, items may be located
`at an arbitrary byte boundary — there are no alignment restrictions.
`
`The request and response Transaction SlVlBs contain a parameter section and a data section. The
`arguments for a remote API call are split into two parts, and placed in these sections of the
`request Transaction. The Transaction response message contains the results of the call, split
`between the parameter and data sections of the Transaction response. A number of fields in the
`Transaction Sl\/[B identify the size and location of these sections within the Sl\/IB, and also allow a
`single Transaction request or response to be split into several messages (refer to X/ Open CAE
`Specification, IPC Mechanisms for Sl\/IB).
`
`264
`
`X/Open CAE Specification (1992)
`
`Page 282 of 534
`
`

`
`LAN A/Ianager Remote Administration Protocol
`
`LMX Access Control Lists Mapping
`
`B.3
`
`LMX Access Control Lists Mapping
`
`Access control lists (ACLs) are used by LMX servers running in user—level security mode.
`Though the implementation of ACLs is outside the scope of the specification the following list is
`a set of possible access permissions, which is used by LAN Manager implementations.
`
`User—level security allows access permissions to be set for each shared resource (for example, file
`system subtree, individual file, spooler, device, etc.). Each shared resource has a list of users and
`groups, with the permissions allowed for each user or group on that resource.
`
`_ ACL Permissions
`R
`read
`
`W write
`X
`execute
`C
`create
`
`D
`
`A
`
`delete
`
`change attributes
`
`P
`
`change permissions
`
`Permission to read data from a resource and, by
`default, execute the resource.
`Permission to write data to the resource.
`Permission to execute the resource.
`Permission to create an instance of the resource
`
`(for example, a file); data can be written to the
`resource when creating it.
`Permission to delete the resource.
`
`Permission to modify the resources attributes
`(for example, the date and time a file was last
`modified).
`
`Permission to modify the permissions (read,
`write, create, execute and delete) assigned to a
`resource for a user, group or application.
`
`N
`Y
`
`deny access
`allow spuul rf.'E]l1E?’SI‘>'
`
`No permissions.
`
`Since the X/ Open CAE does not provide an access control list (ACL) mechanism, the usual CAE
`access control mechanisms should be used instead. Following the principle of least surprise, a
`mapping is defined for access mechanisms which cannot easily be provided under CAE systems.
`The CAE access control mechanisms are used to permit interoperability for applications which
`reside on both PCs and on CAE hosts.
`
`A mapping from (SMB) U]D and username/password supplied by the client to CAE User ID
`(uid) and Group ]D(s) (gid) is established by the SIVlBsesssetupX and will be maintained by the
`LMX server. The mapped—to CAE User ID and one or more Group ]Ds are used for all accesses
`on the CAE system in the usual manner.
`
`The differences between the functionality provided by ACLs and the access control mechanisms
`for LMX servers described above include:
`
`1. ACL permissions apply to shared resources. This includes file system directories as well as
`individual files. CAE permissions apply to individual files and directories but are not
`extended to subtrees.
`
`2. For each resource, ACL permissions can be listed for any number of individual users, for
`any number of groups, and for anyone else. A CAE file or directory specifies permissions
`for the owner, one group and everyone else.
`
`Protocols for X/Open PC Interworking: SIVIB, Version 2
`
`265
`
`Page 283 of 534
`
`

`
`LMX Access Control Lists A/lapping
`
`LAN A/Ianager Remote Administration Protocol
`
`The following table shows the mapping between the ACL permissions and CAE permissions:
`
`SMB Permissions
`R
`read
`W write
`
`X
`C
`D
`A
`P
`N
`Y
`
`execute
`create
`delete
`change attributes
`change permissions
`deny access
`allow spool requests
`
`Equivalent CAE Permission
`r
`read
`w write
`
`read (Note 1)
`r
`w write on parent dir
`w write on parent dir
`not supportable
`(Note 2)
`no permissions (Note 3)
`not supportable
`
`—
`
`Note s:
`
`1. Execute permission for LMX servers requires only read permission, as the client
`need only be able to read the file before it can execute it.
`
`2. Not an assignable access right. The owner of a file and users with appropriate
`privileges always have P access and cannot relinquish it; no other user can
`acquire P access.
`
`3. Not a specific right, but the absence of rights. Note that the privileged user
`always has all rights and can relinquish none of them.
`
`ACLs could be partially implemented for LMX servers by placing the required checks into the
`LMX server itself. The list would be used to further restrict (but not grant) access to files and
`directories beyond the restrictions imposed by the usual CAE access control mechanisms. A
`client may have access to a resource only if it does not conflict with CAE permissions and if it is
`specified in the ACL. There may be cases where the ACL indicates that a user should have
`access, but the CAE security would have to be circumvented to honour it. The access will be
`denied in accordance with the CAE in these cases. This permits access security to be maintained
`on both the server and client system equivalently; if a user local on the CAE system is denied
`access, access should be denied for the user on a client system as well.
`
`X/Open—compliant system implementations which support native ACLs as an enhancement
`may use that mechanism instead of the normal CAE access control mechanisms if desired, as
`long as the ACLs do not grant permission where the expected CAE access mechanisms would
`have denied it.
`
`266
`
`X/Open CAE Specification (1992)
`
`Page 284 of 534
`
`

`
`LAN A/Ianager Remote Administration Protocol
`
`Transaction API Request Format
`
`B.4
`
`Transaction API Re quest Form at
`
`B.4.1
`
`Paramete r Section
`
`The parameter section (smb_param) of the Transaction request contains the following:
`
`o API number: 16-bit integer
`
`- parameter descriptor string: null—terminated ASCII string
`
`o data descriptor string: null—terminated ASCII string
`
`o parms: subroutine arguments, as described by the parameter descriptor string
`
`- auxiliary data descriptor string: optional null—terminated ASCII string
`
`The API number identifies which API routine the SMB redirector wishes the LMX server to call
`
`on its behalf. A list of API numbers is given in Section B.8 on page 275.
`
`The parameter descriptor string describes the types of the arguments in the data section
`(smb_data), as given in the original call to the routine on the SMB redirector.
`
`The data descriptor string describes the form at of a data structure, or data buffer, which is sent
`to the API routine. The API routine on the SMB redirector is normally given a pointer to this
`buffer. Note that this descriptor string is also used by the server to determine the form at of the
`data buffer to be sent back from the API call.
`
`The parms field contains the actual subroutine arguments, as described by the parameter
`descriptor string.
`
`The auxiliary data descriptor string describes the format of a second, auxiliary data structure
`which is either sent to or received from the API routine, in addition to that defined by the data
`descriptor string. The data described by this descriptor string is located in the data section
`(smb_data) of SIVlBtrans,
`immediately following the data described by the primary data
`descriptor.
`
`B.4.2 Data Section
`
`The data section (smb_data) of the SIVlBtrans request contains the following:
`
`o the primary data buffer, as described by the data descriptor string in the parameter section
`
`- the auxiliary data buffer (optional), as described by the auxiliary data descriptor in the
`param eter section
`
`Protocols for X/Open PC Interworking: SMB, Version 2
`
`267
`
`Page 285 of 534
`
`

`
`Transaction API Response Format
`
`LAN A/Ianager Remote Administration Protocol
`
`B.5
`
`Transaction API Response Form at
`
`B.5.1
`
`Parameter Section
`
`The parameter section (smb_param) of the S1VlBtrans response contains the following:
`
`- Status: a 16-bit integer. This is the return status as if the requested LAN Manager API routine
`would be executed on the responder’s system. Zero norm ally indicates success.
`
`- Converter word: 16-bit integer, used by the requestor’s system to adjust the pointer in the
`data section. The use of this field is described below.
`
`o Parms: return parameters, as described by the parameter descriptor string in the request
`message. Only those parameters which are identified in the parameter descriptor string as
`being receive pointers (that is, which will be modified by the server) are actually returned
`here.
`
`B.5.2 Data Section
`
`The data section (smb_data) of the S1VlBtrans request contains:
`
`- the primary returned data bufl°er, as described by the data descriptor in the request message
`
`- the auxiliary data bufi°er (optional), as described by the auxiliary data descriptor in the
`request message
`
`268
`
`X/Open CAE Specification (1992)
`
`Page 286 of 534
`
`

`
`LAN Manager Remote Administration Protocol
`
`Descriptor Strings
`
`B.6
`
`Descriptor Strings
`
`A descriptor string is a null—terminated ASCII string. Descriptor string elements consist of a
`letter describing the type of the argument, possibly followed by a number
`(in ASCII
`representation), specifying the size of the argument. Each item in the descriptor string describes
`one data element.
`
`B.6.1
`
`De scrlptor String Type s
`
`The following describes the characters which may be encountered in a descriptor string, and the
`form at of the corresponding data described by the descriptor string.
`
`B
`
`Byte
`
`If followed by one or more digits (that is, B13) this refers to an array of bytes. One or more
`bytes will be located in the corresponding data area. Note that this type will not be found in
`the parameter descriptor string (that
`is,
`it will not be used to describe subroutine
`arguments), since single bytes cannot be pushed onto the stack by the SMB redirector.
`
`W 16-bit integer
`
`If followed by one or more numbers (that is, W4) this refers to an array of 16-bit integers.
`One or more 16-bit integers will be located in the corresponding parameter or data area.
`
`D 32-bit integer
`
`If followed by one or more numbers (that is, D3) this refers to an array of 32-bit integers.
`One or more 32-bit integers will be located in the corresponding parameter or data area.
`
`2
`
`Null—terminated ASCII string
`
`The corresponding parameter or data area contains a null—terminated ASCII string. This
`type has a different meaning when applied to returned data. (See below.)
`
`b
`
`Byte pointer
`
`The original argument list or data structure contained a pointer to one (that is, b) or more
`(that is, b8) bytes at this position. The bytes themselves are located in the corresponding
`parameter or data area. This type has a different meaning when applied to returned data.
`(See below.)
`
`w Word pointer
`
`The original argument list or data structure contained a pointer to one (that is, w) or more
`(that is, w2) 16-bit integers at this position. The integers themselves are located in the
`corresponding parameter or data area. This type has a different meaning when applied to
`returned data. (See below.)
`
`(:1 Dword pointer
`
`The original argument list or data structure contained a pointer to one (that is, cl) or more
`(that is, d3) 32-bit integers at this position. The integers themselves are located in the
`corresponding parameter or data area. This type has a different meaning when applied to
`returned data. (See below.)
`
`g
`
`Receive byte pointer
`
`The original argument list contained a pointer to one (that is, g) or more (that is, g8) bytes at
`this position, which are to receive return values from the API call. The Transaction request
`contains nothing at this position in the corresponding parameter or data area; the response
`message contains data.
`
`Protocols for X/Open PC Interworking: SMB, Version 2
`
`269
`
`Page 287 of 534
`
`

`
`Descriptor Strings
`
`LAN A/Ianager Remote Administration Protocol
`
`h
`
`Receive word pointer
`
`Contains data in the parameter section. The original argument list contained a pointer to
`one (that is, h) or more (that is, h2) 16-bit integers at this position, which are to receive
`return values from the API call. The Transaction request contains nothing at this position in
`the corresponding parameter or data area; the response message contains data in the
`param eter section.
`
`i
`
`Receive dword pointer
`
`The original argument list contained a pointer to one (that is, i) or more (that is, i3) 32-bit
`integers at
`this position, which are to receive return values from the API call. The
`Transaction request contains nothing at this position in the corresponding parameter or data
`area; the response message contains data in the parameter section.
`
`0 Null pointer
`
`The original argument list or data structure contained a null pointer at this position. There
`is nothing stored at this position in the corresponding parms or data area.
`
`s
`
`Send data buffer pointer
`
`The original argument list contained a pointer at this position to a data structure containing
`more data arguments to the API call. This item appears only in a parameter descriptor
`string. The form at of the secondary data structure is described in the data descriptor string
`(contained in the parameter section of the Transaction request message). The data itself is
`contained in the data section of the Transaction request message.
`
`T
`
`Length of send buffer
`
`The original argument list contained a 16-bit integer argument at this position which
`specified the length of the send buffer. This item appears only in a parameter descriptor
`string. No value is placed in the corresponding parameter area.
`
`r
`
`Receive data buffer pointer
`
`The original argument list contained a pointer at this position to a data structure which was
`to be filled in by the API call. This item appears only in a parameter descriptor string. The
`form at of the secondary data structure is described in the data descriptor string (contained
`in the parameter section of the Transaction request message). The data itself is contained in
`the data section of the Transaction response message.
`
`L
`
`Length of receive buffer
`
`The original argument list contained a 16-bit integer argument at this position which
`specified the length of the receive buffer. This item appears only in a parameter descriptor
`string. The corresponding parameter area contains a 16-bit integer specifying the length of
`the receive buffer.
`
`P
`
`Param eter num ber
`
`The corresponding parameter or data area contains a 16-bit short integer.
`
`e
`
`Entries read
`
`The original argument list contained a pointer to a 16-bit integer at this position, which is to
`receive the number of entries returned by the API call in the receive buifer. The Transaction
`request contains nothing at this position in the corresponding parameter or data area; the
`response message contains the numbers of entries returned in the receive data buifer.
`
`270
`
`X/Open CAE Specification (1992)
`
`Page 288 of 534
`
`

`
`LAN Manager Remote Administration Protocol
`
`Descriptor Strings
`
`N Number of auxiliary structures
`
`This field is only found in data descriptor strings. The presence of the field indicates that
`there will be auxiliary data sent (if found in a send data descriptor string), or received (if
`found in a receive data descriptor string). The corresponding data block contains a 16-bit
`integer specifying the number of auxiliary data structures to be sent (for a send data buffer),
`or which have been received (for a receive data buffer).
`
`K Unstructured data block
`
`This will norm ally be the only item in a descriptor string.
`Fill
`
`F
`
`The corresponding data area contains one (that is, F) or more (that is, F3) fill bytes at this
`position.
`
`B.6.2
`
`Pointe r Type s and Re turne d Data
`
`Lower—case letters are considered pointer types. These pointer types 2, b, w and d have a
`different meaning if they are used to describe returned information.
`In this case the pointers
`occur in a data descriptor string or auxiliary data descriptor string and describe data to be
`returned in the data section (smb_data) of the S1VlBtrans response message. In this case the item
`referred to by the pointer is not the array or string itself, but a 32-bit integer. The high—order 16-
`bits are to be ignored and the low—order 16—bits contain an offset. The offset subtracted by the
`converter word points to the array or string within the returned data buffer itself.
`
`The data descriptor describes one instance of the returned data structure. The response buffer
`may contain several of these data structures, each of which is a fixed size. Together, these make
`up the fixed—length portion of the returned data area. The returned data buffer may also contain
`data pointed to by the various pointer types described above. This data may contain strings, and
`is likely to be of variable length. The fixed—length data is always placed at the beginning of the
`returned data buffer; the placement of the variable—length data is up to the server.
`
`The responder must place variable—length data at the end of the data buffer and set the pointers
`accordingly. Since the total length of the data buffer is only known at the end of processing,
`there may be a gap between the fixed—length data and the variable—length data. To avoid
`sending this gap accross the network the responder may posi

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket