canonix 0.1.5 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +3 -0
- data/Gemfile.lock +29 -0
- data/Rakefile +1 -3
- data/VERSION +1 -1
- data/canonix.gemspec +25 -10
- data/lib/xml/util/xmlcanonicalizer.rb +28 -31
- data/test/saml_with_inclusive_ns_assertion.xml +1 -1
- data/test/saml_with_inclusive_ns_expected_canonical_form.xml +1 -1
- data/test/test_xmlcanonicalizer.rb +0 -1
- metadata +120 -53
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
canonix (0.1.5)
|
5
|
+
|
6
|
+
GEM
|
7
|
+
remote: https://rubygems.org/
|
8
|
+
specs:
|
9
|
+
git (1.2.5)
|
10
|
+
jeweler (1.8.4)
|
11
|
+
bundler (~> 1.0)
|
12
|
+
git (>= 1.2.5)
|
13
|
+
rake
|
14
|
+
rdoc
|
15
|
+
json (1.8.0)
|
16
|
+
rake (10.0.4)
|
17
|
+
rdoc (4.0.1)
|
18
|
+
json (~> 1.4)
|
19
|
+
thoughtbot-shoulda (2.11.1)
|
20
|
+
|
21
|
+
PLATFORMS
|
22
|
+
ruby
|
23
|
+
|
24
|
+
DEPENDENCIES
|
25
|
+
canonix!
|
26
|
+
jeweler
|
27
|
+
rake
|
28
|
+
rdoc
|
29
|
+
thoughtbot-shoulda
|
data/Rakefile
CHANGED
@@ -40,11 +40,9 @@ rescue LoadError
|
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
|
-
task :test => :check_dependencies
|
44
|
-
|
45
43
|
task :default => :test
|
46
44
|
|
47
|
-
require '
|
45
|
+
require 'rdoc/task'
|
48
46
|
Rake::RDocTask.new do |rdoc|
|
49
47
|
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
50
48
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.7
|
data/canonix.gemspec
CHANGED
@@ -4,22 +4,22 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.1.
|
7
|
+
s.name = "canonix"
|
8
|
+
s.version = "0.1.7"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Brendon Muir"]
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
|
15
|
-
Ruby XML Canonicaliser as the other project seems to be abandoned.}
|
16
|
-
s.email = %q{brendon@spike.net.nz}
|
12
|
+
s.date = "2013-06-09"
|
13
|
+
s.description = "This is based on andrewferk's rewrite for Ruby 1.9 compatibility, but applies \n relevance's fix to ensure proper canonicalisation. It is intended that this be the new official \n Ruby XML Canonicaliser as the other project seems to be abandoned."
|
14
|
+
s.email = "brendon@spike.net.nz"
|
17
15
|
s.extra_rdoc_files = [
|
18
16
|
"README.rdoc"
|
19
17
|
]
|
20
18
|
s.files = [
|
21
19
|
".document",
|
22
20
|
".rvmrc",
|
21
|
+
"Gemfile",
|
22
|
+
"Gemfile.lock",
|
23
23
|
"README.rdoc",
|
24
24
|
"Rakefile",
|
25
25
|
"VERSION",
|
@@ -38,20 +38,35 @@ Gem::Specification.new do |s|
|
|
38
38
|
"test/test_xmlcanonicalizer.rb",
|
39
39
|
"tests.watchr"
|
40
40
|
]
|
41
|
-
s.homepage =
|
41
|
+
s.homepage = "http://github.com/brendon/canonix"
|
42
42
|
s.require_paths = ["lib"]
|
43
|
-
s.rubygems_version =
|
44
|
-
s.summary =
|
43
|
+
s.rubygems_version = "1.8.24"
|
44
|
+
s.summary = "XML Canonicalizer for Ruby >= 1.9.2"
|
45
45
|
|
46
46
|
if s.respond_to? :specification_version then
|
47
47
|
s.specification_version = 3
|
48
48
|
|
49
49
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
50
|
+
s.add_runtime_dependency(%q<canonix>, [">= 0"])
|
51
|
+
s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
52
|
+
s.add_development_dependency(%q<rake>, [">= 0"])
|
53
|
+
s.add_development_dependency(%q<rdoc>, [">= 0"])
|
54
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
50
55
|
s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
51
56
|
else
|
57
|
+
s.add_dependency(%q<canonix>, [">= 0"])
|
58
|
+
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
59
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
60
|
+
s.add_dependency(%q<rdoc>, [">= 0"])
|
61
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
52
62
|
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
53
63
|
end
|
54
64
|
else
|
65
|
+
s.add_dependency(%q<canonix>, [">= 0"])
|
66
|
+
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
67
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
68
|
+
s.add_dependency(%q<rdoc>, [">= 0"])
|
69
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
55
70
|
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
56
71
|
end
|
57
72
|
end
|
@@ -10,9 +10,8 @@ require "base64"
|
|
10
10
|
|
11
11
|
module XML
|
12
12
|
include REXML
|
13
|
-
|
13
|
+
|
14
14
|
module Util
|
15
|
-
|
16
15
|
class NamespaceNode
|
17
16
|
attr_reader :prefix, :uri
|
18
17
|
def initialize(prefix, uri)
|
@@ -20,21 +19,20 @@ module XML
|
|
20
19
|
@uri = uri
|
21
20
|
end
|
22
21
|
end
|
23
|
-
|
22
|
+
|
24
23
|
class XmlCanonicalizer
|
25
24
|
attr_accessor :prefix_list, :logger, :inclusive_namespaces
|
26
|
-
|
25
|
+
|
27
26
|
BEFORE_DOC_ELEMENT = 0
|
28
27
|
INSIDE_DOC_ELEMENT = 1
|
29
28
|
AFTER_DOC_ELEMENT = 2
|
30
|
-
|
29
|
+
|
31
30
|
NODE_TYPE_ATTRIBUTE = 3
|
32
31
|
NODE_TYPE_WHITESPACE = 4
|
33
32
|
NODE_TYPE_COMMENT = 5
|
34
33
|
NODE_TYPE_PI = 6
|
35
34
|
NODE_TYPE_TEXT = 7
|
36
|
-
|
37
|
-
|
35
|
+
|
38
36
|
def initialize(with_comments, excl_c14n)
|
39
37
|
@with_comments = with_comments
|
40
38
|
@exclusive = excl_c14n
|
@@ -44,7 +42,7 @@ module XML
|
|
44
42
|
@prevVisibleNamespacesEnd = 0
|
45
43
|
@visibleNamespaces = Array.new()
|
46
44
|
end
|
47
|
-
|
45
|
+
|
48
46
|
def add_inclusive_namespaces(prefix_list, element, visible_namespaces)
|
49
47
|
namespaces = element.attributes()
|
50
48
|
namespaces.each_attribute{|ns|
|
@@ -58,11 +56,11 @@ module XML
|
|
58
56
|
add_inclusive_namespaces(prefix_list, parent, visible_namespaces) if (parent)
|
59
57
|
visible_namespaces
|
60
58
|
end
|
61
|
-
|
59
|
+
|
62
60
|
def canonicalize(document)
|
63
61
|
write_document_node(document)
|
64
62
|
end
|
65
|
-
|
63
|
+
|
66
64
|
def canonicalize_element(element, logging = true)
|
67
65
|
@preserve_document = element.document()
|
68
66
|
tmp_parent = element.parent()
|
@@ -76,7 +74,7 @@ module XML
|
|
76
74
|
document.root().add_namespace(element.prefix(), ns)
|
77
75
|
write_document_node(document)
|
78
76
|
end
|
79
|
-
|
77
|
+
|
80
78
|
def write_document_node(document)
|
81
79
|
@res = ""
|
82
80
|
@state = BEFORE_DOC_ELEMENT
|
@@ -89,7 +87,7 @@ module XML
|
|
89
87
|
end
|
90
88
|
@res
|
91
89
|
end
|
92
|
-
|
90
|
+
|
93
91
|
def write_node(node)
|
94
92
|
visible = is_node_visible(node)
|
95
93
|
if ((node.node_type() == :text) && white_text?(node.value()))
|
@@ -113,7 +111,7 @@ module XML
|
|
113
111
|
if (node.node_type() == :comment)
|
114
112
|
end
|
115
113
|
end
|
116
|
-
|
114
|
+
|
117
115
|
def write_element_node(node, visible)
|
118
116
|
savedPrevVisibleNamespacesStart = @prevVisibleNamespacesStart
|
119
117
|
savedPrevVisibleNamespacesEnd = @prevVisibleNamespacesEnd
|
@@ -133,7 +131,7 @@ module XML
|
|
133
131
|
@prevVisibleNamespacesEnd = savedPrevVisibleNamespacesEnd
|
134
132
|
@visibleNamespaces.slice!(savedVisibleNamespacesSize, @visibleNamespaces.size() - savedVisibleNamespacesSize) if (@visibleNamespaces.size() > savedVisibleNamespacesSize)
|
135
133
|
end
|
136
|
-
|
134
|
+
|
137
135
|
def write_namespace_axis(node, visible)
|
138
136
|
doc = node.document()
|
139
137
|
has_empty_namespace = false
|
@@ -157,14 +155,14 @@ module XML
|
|
157
155
|
if (visible && !has_empty_namespace && !is_namespace_rendered(nil, nil))
|
158
156
|
@res = @res + ' xmlns=""'
|
159
157
|
end
|
160
|
-
|
158
|
+
|
161
159
|
#: ns of inclusive_list
|
162
160
|
if self.inclusive_namespaces && !self.inclusive_namespaces.empty?
|
163
161
|
self.inclusive_namespaces.each{|prefix|
|
164
162
|
list.push(prefix) if (!list.include?(prefix) && (node.attributes.prefixes.include?(prefix)))
|
165
163
|
}
|
166
164
|
end
|
167
|
-
|
165
|
+
|
168
166
|
if list.delete('xmlns')
|
169
167
|
list = ["xmlns"] + list.sort
|
170
168
|
else
|
@@ -182,7 +180,7 @@ module XML
|
|
182
180
|
@prevVisibleNamespacesEnd = @visibleNamespaces.size()
|
183
181
|
end
|
184
182
|
end
|
185
|
-
|
183
|
+
|
186
184
|
def node_namespaces(node)
|
187
185
|
ns = Array.new()
|
188
186
|
ns.push(node.prefix())
|
@@ -196,7 +194,7 @@ module XML
|
|
196
194
|
}
|
197
195
|
ns
|
198
196
|
end
|
199
|
-
|
197
|
+
|
200
198
|
def write_attribute_axis(node)
|
201
199
|
list = Array.new()
|
202
200
|
node.attributes.keys.sort.each{|key|
|
@@ -233,11 +231,11 @@ module XML
|
|
233
231
|
end
|
234
232
|
}
|
235
233
|
end
|
236
|
-
|
234
|
+
|
237
235
|
def is_namespace_node(namespace_uri)
|
238
236
|
return (namespace_uri == "http://www.w3.org/2000/xmlns/")
|
239
237
|
end
|
240
|
-
|
238
|
+
|
241
239
|
def is_namespace_rendered(prefix, uri)
|
242
240
|
is_empty_ns = prefix == nil && uri == nil
|
243
241
|
if (is_empty_ns)
|
@@ -259,7 +257,7 @@ module XML
|
|
259
257
|
# }
|
260
258
|
# return is_empty_ns
|
261
259
|
end
|
262
|
-
|
260
|
+
|
263
261
|
def is_node_visible(node)
|
264
262
|
return true if (@xnl.size() == 0)
|
265
263
|
@xnl.each{|element|
|
@@ -267,7 +265,7 @@ module XML
|
|
267
265
|
}
|
268
266
|
return false
|
269
267
|
end
|
270
|
-
|
268
|
+
|
271
269
|
def normalize_string(input, type)
|
272
270
|
sb = ""
|
273
271
|
return input
|
@@ -294,29 +292,29 @@ module XML
|
|
294
292
|
# }
|
295
293
|
# sb
|
296
294
|
end
|
297
|
-
|
295
|
+
|
298
296
|
def write_text_node(node, visible)
|
299
297
|
if (visible)
|
300
|
-
@res = @res + normalize_string(node.
|
298
|
+
@res = @res + normalize_string(node.to_s, node.node_type())
|
301
299
|
end
|
302
300
|
end
|
303
|
-
|
301
|
+
|
304
302
|
def white_text?(text)
|
305
303
|
return true if ((text.strip() == "") || (text.strip() == nil))
|
306
304
|
return false
|
307
305
|
end
|
308
|
-
|
306
|
+
|
309
307
|
def is_namespace_decl(attribute)
|
310
308
|
# return true if (attribute.name() == "xmlns")
|
311
309
|
return true if (attribute.prefix().index("xmlns") == 0)
|
312
310
|
return false
|
313
311
|
end
|
314
|
-
|
312
|
+
|
315
313
|
def is_text_node(type)
|
316
314
|
return true if (type == NODE_TYPE_TEXT || type == NODE_TYPE_CDATA || type == NODE_TYPE_WHITESPACE)
|
317
315
|
return false
|
318
316
|
end
|
319
|
-
|
317
|
+
|
320
318
|
def remove_whitespace(string)
|
321
319
|
new_string = ""
|
322
320
|
in_white = false
|
@@ -339,12 +337,11 @@ module XML
|
|
339
337
|
end #Util
|
340
338
|
end #XML
|
341
339
|
|
342
|
-
|
343
340
|
if __FILE__ == $0
|
344
341
|
document = Document.new(File.new(ARGV[0]))
|
345
342
|
body = nil
|
346
343
|
c = WSS4R::Security::Util::XmlCanonicalizer.new(false, true)
|
347
|
-
|
344
|
+
|
348
345
|
if (ARGV.size() == 3)
|
349
346
|
body = ARGV[2]
|
350
347
|
if (body == "true")
|
@@ -361,7 +358,7 @@ if __FILE__ == $0
|
|
361
358
|
else
|
362
359
|
result = c.canonicalize(document)
|
363
360
|
end
|
364
|
-
|
361
|
+
|
365
362
|
file = File.new(ARGV[1], "wb")
|
366
363
|
file.write(result)
|
367
364
|
file.close()
|
@@ -26,7 +26,7 @@
|
|
26
26
|
<saml:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:anyType">00550000001b7Kf</saml:AttributeValue>
|
27
27
|
</saml:Attribute>
|
28
28
|
<saml:Attribute Name="username" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
|
29
|
-
<saml:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:anyType">
|
29
|
+
<saml:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:anyType">some & example</saml:AttributeValue>
|
30
30
|
</saml:Attribute>
|
31
31
|
<saml:Attribute Name="email" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
|
32
32
|
<saml:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:anyType">mail@example.com</saml:AttributeValue>
|
@@ -26,7 +26,7 @@
|
|
26
26
|
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType">00550000001b7Kf</saml:AttributeValue>
|
27
27
|
</saml:Attribute>
|
28
28
|
<saml:Attribute Name="username" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
|
29
|
-
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType">
|
29
|
+
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType">some & example</saml:AttributeValue>
|
30
30
|
</saml:Attribute>
|
31
31
|
<saml:Attribute Name="email" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
|
32
32
|
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType">mail@example.com</saml:AttributeValue>
|
metadata
CHANGED
@@ -1,51 +1,126 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: canonix
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.7
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 5
|
10
|
-
version: 0.1.5
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Brendon Muir
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
12
|
+
date: 2013-06-09 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: canonix
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
22
31
|
name: thoughtbot-shoulda
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rake
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rdoc
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
23
71
|
prerelease: false
|
24
|
-
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: jeweler
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
25
81
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
version: "0"
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
33
86
|
type: :development
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: thoughtbot-shoulda
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
description: ! "This is based on andrewferk's rewrite for Ruby 1.9 compatibility,
|
111
|
+
but applies \n relevance's fix to ensure proper canonicalisation. It is intended
|
112
|
+
that this be the new official \n Ruby XML Canonicaliser as the other project
|
113
|
+
seems to be abandoned."
|
39
114
|
email: brendon@spike.net.nz
|
40
115
|
executables: []
|
41
|
-
|
42
116
|
extensions: []
|
43
|
-
|
44
|
-
extra_rdoc_files:
|
117
|
+
extra_rdoc_files:
|
45
118
|
- README.rdoc
|
46
|
-
files:
|
119
|
+
files:
|
47
120
|
- .document
|
48
121
|
- .rvmrc
|
122
|
+
- Gemfile
|
123
|
+
- Gemfile.lock
|
49
124
|
- README.rdoc
|
50
125
|
- Rakefile
|
51
126
|
- VERSION
|
@@ -63,39 +138,31 @@ files:
|
|
63
138
|
- test/saml_with_inclusive_ns_expected_canonical_form.xml
|
64
139
|
- test/test_xmlcanonicalizer.rb
|
65
140
|
- tests.watchr
|
66
|
-
has_rdoc: true
|
67
141
|
homepage: http://github.com/brendon/canonix
|
68
142
|
licenses: []
|
69
|
-
|
70
143
|
post_install_message:
|
71
144
|
rdoc_options: []
|
72
|
-
|
73
|
-
require_paths:
|
145
|
+
require_paths:
|
74
146
|
- lib
|
75
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
147
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
76
148
|
none: false
|
77
|
-
requirements:
|
78
|
-
- -
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
|
81
|
-
segments:
|
149
|
+
requirements:
|
150
|
+
- - ! '>='
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
segments:
|
82
154
|
- 0
|
83
|
-
|
84
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
155
|
+
hash: 1387874799767718647
|
156
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
85
157
|
none: false
|
86
|
-
requirements:
|
87
|
-
- -
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
|
90
|
-
segments:
|
91
|
-
- 0
|
92
|
-
version: "0"
|
158
|
+
requirements:
|
159
|
+
- - ! '>='
|
160
|
+
- !ruby/object:Gem::Version
|
161
|
+
version: '0'
|
93
162
|
requirements: []
|
94
|
-
|
95
163
|
rubyforge_project:
|
96
|
-
rubygems_version: 1.
|
164
|
+
rubygems_version: 1.8.24
|
97
165
|
signing_key:
|
98
166
|
specification_version: 3
|
99
167
|
summary: XML Canonicalizer for Ruby >= 1.9.2
|
100
168
|
test_files: []
|
101
|
-
|