summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorNobuyoshi Nakada <[email protected]>2024-05-03 22:33:28 +0900
committerNobuyoshi Nakada <[email protected]>2024-09-29 21:00:26 +0900
commit25eb9bded8bd60dcf186f393acf84a4e623b60e1 ()
tree7063a480428daeca2e28f4fd3716c1544e4caa1d /ext
parent30230ed9e66cfbb97f8ba6859c8313061de7d58b (diff)
win32/sspi: Rafactor pack/unpack
Notes: Merged: https://.com/ruby/ruby/pull/11722
-rw-r--r--ext/win32/lib/win32/sspi.rb13
1 files changed, 6 insertions, 7 deletions
@@ -56,11 +56,11 @@ module Win32
# SecHandle struct
class SecurityHandle
def upper
- @struct.unpack("LL")[1]
end
def lower
- @struct.unpack("LL")[0]
end
def to_p
@@ -129,7 +129,7 @@ module Win32
def unpack
if ! @unpacked && @sec_buffer && @struct
@bufferSize, @type = @sec_buffer.unpack("LL")
- @buffer = @sec_buffer.unpack("LLP#{@bufferSize}")[2]
@struct = nil
@sec_buffer = nil
@unpacked = true
@@ -187,7 +187,7 @@ module Win32
def initialize(value)
# convert to unsigned long
- value = [value].pack("L").unpack("L").first
raise "#{value.to_s(16)} is not a recognized result" unless RESULT_MAP.key? value
@value = value
end
@@ -290,7 +290,7 @@ module Win32
if token.include? B64_TOKEN_PREFIX
# indicates base64 encoded token
- token = token.strip.unpack("m")[0]
end
outputBuffer = SecurityBuffer.new
@@ -332,8 +332,7 @@ module Win32
end
def encode_token(t)
- # encode64 will add newlines every 60 characters so we need to remove those.
- [t].pack("m").delete("\n")
end
end
end