Sha256: 302348e738bebb9f458c1a1c57c7756bce34663d9a7cd3fc44f745414d1c1465

Contents?: true

Size: 969 Bytes

Versions: 6

Compression:

Stored size: 969 Bytes

Contents

require 'ruby_smb/dcerpc/ndr'

module RubySMB
  module Dcerpc
    module Netlogon

      # [3.5.4.4.1 NetrServerReqChallenge (Opnum 4)](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nrpc/5ad9db9f-7441-4ce5-8c7b-7b771e243d32)
      class NetrServerReqChallengeRequest < BinData::Record
        attr_reader :opnum

        endian :little

        logonsrv_handle     :primary_name
        string              :pad1, length: -> { pad_length(self.primary_name) }
        ndr_string          :computer_name
        netlogon_credential :client_challenge

        def initialize_instance
          super
          @opnum = NETR_SERVER_REQ_CHALLENGE
        end

        # Determines the correct length for the padding, so that the next
        # field is 4-byte aligned.
        def pad_length(prev_element)
          offset = (prev_element.abs_offset + prev_element.to_binary_s.length) % 4
          (4 - offset) % 4
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ruby_smb-2.0.12 lib/ruby_smb/dcerpc/netlogon/netr_server_req_challenge_request.rb
ruby_smb-2.0.11 lib/ruby_smb/dcerpc/netlogon/netr_server_req_challenge_request.rb
ruby_smb-2.0.10 lib/ruby_smb/dcerpc/netlogon/netr_server_req_challenge_request.rb
ruby_smb-2.0.9 lib/ruby_smb/dcerpc/netlogon/netr_server_req_challenge_request.rb
ruby_smb-2.0.8 lib/ruby_smb/dcerpc/netlogon/netr_server_req_challenge_request.rb
ruby_smb-2.0.7 lib/ruby_smb/dcerpc/netlogon/netr_server_req_challenge_request.rb