Class: Win32::SSPI::SecurityBuffer
- Inherits:
- 
      Object
      
        - Object
- Win32::SSPI::SecurityBuffer
 
- Defined in:
- lib/win32/sspi.rb
Overview
Creates binary representaiton of a SecBufferDesc structure, including the SecBuffer contained inside.
Constant Summary collapse
- SECBUFFER_TOKEN =
          Security token 
- 2
- TOKENBUFSIZE =
- 12288
- SECBUFFER_VERSION =
- 0
Instance Method Summary collapse
- #bufferSize ⇒ Object
- #bufferType ⇒ Object
- 
  
    
      #initialize(buffer = nil)  ⇒ SecurityBuffer 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of SecurityBuffer. 
- #to_p ⇒ Object
- #token ⇒ Object
Constructor Details
#initialize(buffer = nil) ⇒ SecurityBuffer
Returns a new instance of SecurityBuffer.
| 84 85 86 87 88 | # File 'lib/win32/sspi.rb', line 84 def initialize(buffer = nil) @buffer = buffer || "\0" * TOKENBUFSIZE @bufferSize = @buffer.length @type = SECBUFFER_TOKEN end | 
Instance Method Details
#bufferSize ⇒ Object
| 90 91 92 93 | # File 'lib/win32/sspi.rb', line 90 def bufferSize unpack @bufferSize end | 
#bufferType ⇒ Object
| 95 96 97 98 | # File 'lib/win32/sspi.rb', line 95 def bufferType unpack @type end | 
#to_p ⇒ Object
| 105 106 107 108 109 110 111 112 113 114 | # File 'lib/win32/sspi.rb', line 105 def to_p # Assumption is that when to_p is called we are going to get a packed structure. Therefore, # set @unpacked back to nil so we know to unpack when accessors are next accessed. @unpacked = nil # Assignment of inner structure to variable is very important here. Without it, # will not be able to unpack changes to the structure. Alternative, nested unpacks, # does not work (i.e. @struct.unpack("LLP12")[2].unpack("LLP12") results in "no associated pointer") @sec_buffer ||= [@bufferSize, @type, @buffer].pack("LLP") @struct ||= [SECBUFFER_VERSION, 1, @sec_buffer].pack("LLP") end | 
#token ⇒ Object
| 100 101 102 103 | # File 'lib/win32/sspi.rb', line 100 def token unpack @buffer end |