Skip to content

Commit

Permalink
Merge pull request #728 from frederikspang/feature/frozen-strings
Browse files Browse the repository at this point in the history
Support frozen strings with REXML
  • Loading branch information
pitbulk authored Jan 13, 2025
2 parents 0da0b55 + b009d6d commit 66893b5
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 6 deletions.
2 changes: 1 addition & 1 deletion lib/onelogin/ruby-saml/authrequest.rb
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ def create_params(settings, params={})
request_doc = create_authentication_xml_doc(settings)
request_doc.context[:attribute_quote] = :quote if settings.double_quote_xml_attribute_values

request = ""
request = "".dup
request_doc.write(request)

Logging.debug "Created AuthnRequest: #{request}"
Expand Down
2 changes: 1 addition & 1 deletion lib/onelogin/ruby-saml/logoutrequest.rb
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ def create_params(settings, params={})
request_doc = create_logout_request_xml_doc(settings)
request_doc.context[:attribute_quote] = :quote if settings.double_quote_xml_attribute_values

request = ""
request = "".dup
request_doc.write(request)

Logging.debug "Created SLO Logout Request: #{request}"
Expand Down
2 changes: 1 addition & 1 deletion lib/onelogin/ruby-saml/metadata.rb
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ def embed_signature(meta_doc, settings)
end

def output_xml(meta_doc, pretty_print)
ret = ''
ret = ''.dup

# pretty print the XML so IdP administrators can easily see what the SP supports
if pretty_print
Expand Down
2 changes: 1 addition & 1 deletion lib/onelogin/ruby-saml/slo_logoutresponse.rb
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ def create_params(settings, request_id = nil, logout_message = nil, params = {},
response_doc = create_logout_response_xml_doc(settings, request_id, logout_message, logout_status_code)
response_doc.context[:attribute_quote] = :quote if settings.double_quote_xml_attribute_values

response = ""
response = "".dup
response_doc.write(response)

Logging.debug "Created SLO Logout Response: #{response}"
Expand Down
12 changes: 10 additions & 2 deletions lib/onelogin/ruby-saml/utils.rb
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@ class Utils
(\d+)W # 8: Weeks
)
$)x.freeze

UUID_PREFIX = '_'
@@prefix = '_'

# Checks if the x509 cert provided is expired.
#
Expand Down Expand Up @@ -252,6 +254,8 @@ def self.verify_signature(params)
# @param status_message [Strig] StatusMessage value
# @return [String] The status error message
def self.status_error_msg(error_msg, raw_status_code = nil, status_message = nil)
error_msg = error_msg.dup

unless raw_status_code.nil?
if raw_status_code.include? "|"
status_codes = raw_status_code.split(' | ')
Expand Down Expand Up @@ -400,11 +404,15 @@ def self.retrieve_plaintext(cipher_text, symmetric_key, algorithm)
end

def self.set_prefix(value)
UUID_PREFIX.replace value
@@prefix = value
end

def self.prefix
@@prefix
end

def self.uuid
"#{UUID_PREFIX}" + (RUBY_VERSION < '1.9' ? "#{@@uuid_generator.generate}" : "#{SecureRandom.uuid}")
"#{prefix}" + (RUBY_VERSION < '1.9' ? "#{@@uuid_generator.generate}" : "#{SecureRandom.uuid}")
end

# Given two strings, attempt to match them as URIs using Rails' parse method. If they can be parsed,
Expand Down

0 comments on commit 66893b5

Please sign in to comment.