Method: RubySMB::Client#send_packet

Defined in:
lib/ruby_smb/client.rb

#send_packet(packet, encrypt: false) ⇒ Object

Encrypt (if required) and send a packet.

Parameters:

  • encrypt (Boolean) (defaults to: false)

    true if the packet should be encrypted, false otherwise



561
562
563
564
565
566
567
568
569
570
# File 'lib/ruby_smb/client.rb', line 561

def send_packet(packet, encrypt: false)
  if encrypt
    begin
      packet = smb3_encrypt(packet.to_binary_s)
    rescue RubySMB::Error::RubySMBError => e
      raise RubySMB::Error::EncryptionError, "Error while encrypting #{packet.class.name} packet (SMB #{@dialect}): #{e}"
    end
  end
  dispatcher.send_packet(packet)
end