MCPcopy Create free account
hub / github.com/PierreGode/Ragnar / SMB2WriteRequest

Class SMB2WriteRequest

pager_lib/smb/smb2_structs.py:442–475  ·  view source on GitHub ↗

References: =========== - [MS-SMB2]: 2.2.21

Source from the content-addressed store, hash-verified

440
441
442class SMB2WriteRequest(Structure):
443 """
444 References:
445 ===========
446 - [MS-SMB2]: 2.2.21
447 """
448
449 STRUCTURE_FORMAT = "<HHIQ16sIIHHI"
450 STRUCTURE_SIZE = struct.calcsize(STRUCTURE_FORMAT)
451
452 def __init__(self, fid, data, offset, remaining_len = 0, flags = 0):
453 assert len(fid) == 16
454 self.fid = fid
455 self.data = data
456 self.offset = offset
457 self.remaining_len = remaining_len
458 self.flags = flags
459
460 def initMessage(self, message):
461 Structure.initMessage(self, message)
462 message.command = SMB2_COM_WRITE
463
464 def prepare(self, message):
465 message.data = struct.pack(self.STRUCTURE_FORMAT,
466 49, # Structure size. Must be 49 as mandated by [MS-SMB2] 2.2.21
467 SMB2Message.HEADER_SIZE + self.STRUCTURE_SIZE, # DataOffset
468 len(self.data),
469 self.offset,
470 self.fid,
471 0, # Channel. Must be 0
472 self.remaining_len, # RemainingBytes
473 0, # WriteChannelInfoOffset,
474 0, # WriteChannelInfoLength
475 self.flags) + self.data
476
477
478class SMB2WriteResponse(Structure):

Callers 2

connectSrvSvcCBMethod · 0.85
sendWriteMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected