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

Method _sendSMBMessage_SMB2

pager_lib/smb/base.py:227–243  ·  view source on GitHub ↗
(self, smb_message)

Source from the content-addressed store, hash-verified

225 #
226
227 def _sendSMBMessage_SMB2(self, smb_message):
228 if smb_message.mid == 0:
229 smb_message.mid = self._getNextMID_SMB2()
230
231 if smb_message.command != SMB2_COM_NEGOTIATE:
232 smb_message.session_id = self.session_id
233
234 if self.is_signing_active:
235 smb_message.flags |= SMB2_FLAGS_SIGNED
236 raw_data = smb_message.encode()
237 smb_message.signature = hmac.new(self.signing_session_key, raw_data, sha256).digest()[:16]
238
239 smb_message.raw_data = smb_message.encode()
240 self.log.debug('MID is %d. Signature is %s. Total raw message is %d bytes', smb_message.mid, binascii.hexlify(smb_message.signature), len(smb_message.raw_data))
241 else:
242 smb_message.raw_data = smb_message.encode()
243 self.sendNMBMessage(smb_message.raw_data)
244
245 def _getNextMID_SMB2(self):
246 self.mid += 1

Callers

nothing calls this directly

Calls 5

_getNextMID_SMB2Method · 0.95
debugMethod · 0.80
sendNMBMessageMethod · 0.80
encodeMethod · 0.45
digestMethod · 0.45

Tested by

no test coverage detected