Skip to content

Commit 66893b5

Browse files
authored
Merge pull request #728 from frederikspang/feature/frozen-strings
Support frozen strings with REXML
2 parents 0da0b55 + b009d6d commit 66893b5

File tree

5 files changed

+14
-6
lines changed

5 files changed

+14
-6
lines changed

lib/onelogin/ruby-saml/authrequest.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def create_params(settings, params={})
6464
request_doc = create_authentication_xml_doc(settings)
6565
request_doc.context[:attribute_quote] = :quote if settings.double_quote_xml_attribute_values
6666

67-
request = ""
67+
request = "".dup
6868
request_doc.write(request)
6969

7070
Logging.debug "Created AuthnRequest: #{request}"

lib/onelogin/ruby-saml/logoutrequest.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def create_params(settings, params={})
6161
request_doc = create_logout_request_xml_doc(settings)
6262
request_doc.context[:attribute_quote] = :quote if settings.double_quote_xml_attribute_values
6363

64-
request = ""
64+
request = "".dup
6565
request_doc.write(request)
6666

6767
Logging.debug "Created SLO Logout Request: #{request}"

lib/onelogin/ruby-saml/metadata.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ def embed_signature(meta_doc, settings)
145145
end
146146

147147
def output_xml(meta_doc, pretty_print)
148-
ret = ''
148+
ret = ''.dup
149149

150150
# pretty print the XML so IdP administrators can easily see what the SP supports
151151
if pretty_print

lib/onelogin/ruby-saml/slo_logoutresponse.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ def create_params(settings, request_id = nil, logout_message = nil, params = {},
7070
response_doc = create_logout_response_xml_doc(settings, request_id, logout_message, logout_status_code)
7171
response_doc.context[:attribute_quote] = :quote if settings.double_quote_xml_attribute_values
7272

73-
response = ""
73+
response = "".dup
7474
response_doc.write(response)
7575

7676
Logging.debug "Created SLO Logout Response: #{response}"

lib/onelogin/ruby-saml/utils.rb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ class Utils
3232
(\d+)W # 8: Weeks
3333
)
3434
$)x.freeze
35+
3536
UUID_PREFIX = '_'
37+
@@prefix = '_'
3638

3739
# Checks if the x509 cert provided is expired.
3840
#
@@ -252,6 +254,8 @@ def self.verify_signature(params)
252254
# @param status_message [Strig] StatusMessage value
253255
# @return [String] The status error message
254256
def self.status_error_msg(error_msg, raw_status_code = nil, status_message = nil)
257+
error_msg = error_msg.dup
258+
255259
unless raw_status_code.nil?
256260
if raw_status_code.include? "|"
257261
status_codes = raw_status_code.split(' | ')
@@ -400,11 +404,15 @@ def self.retrieve_plaintext(cipher_text, symmetric_key, algorithm)
400404
end
401405

402406
def self.set_prefix(value)
403-
UUID_PREFIX.replace value
407+
@@prefix = value
408+
end
409+
410+
def self.prefix
411+
@@prefix
404412
end
405413

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

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

0 commit comments

Comments
 (0)