nori 1.1.3 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +7 -1
- data/lib/nori/version.rb +1 -1
- data/lib/nori/xml_utility_node.rb +0 -2
- data/spec/nori/nori_spec.rb +6 -4
- metadata +70 -80
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
## 1.1.4 (2013-01-10)
|
2
|
+
|
3
|
+
* Fix for remote code execution bug. For more in-depth information, read about the
|
4
|
+
recent [Rails hotfix](https://groups.google.com/forum/?fromgroups=#!topic/rubyonrails-security/61bkgvnSGTQ).
|
5
|
+
Please make sure to upgrade now!
|
6
|
+
|
1
7
|
## 1.1.3 (2012-07-12)
|
2
8
|
|
3
9
|
* Fix: Merged [pull request 21](https://github.com/rubiii/nori/pull/21) to fix an
|
@@ -77,7 +83,7 @@
|
|
77
83
|
|
78
84
|
## 0.2.1 (2011-05-15)
|
79
85
|
|
80
|
-
* Fix: Changed XML attributes converted to Hash keys to be prefixed with an @-sign.
|
86
|
+
* Fix: Changed XML attributes converted to Hash keys to be prefixed with an @-sign.
|
81
87
|
This avoids problems with attributes and child nodes having the same name.
|
82
88
|
|
83
89
|
<multiRef id="id1">
|
data/lib/nori/version.rb
CHANGED
@@ -77,9 +77,7 @@ module Nori
|
|
77
77
|
self.typecasts["decimal"] = lambda { |v| v.nil? ? nil : BigDecimal(v.to_s) }
|
78
78
|
self.typecasts["double"] = lambda { |v| v.nil? ? nil : v.to_f }
|
79
79
|
self.typecasts["float"] = lambda { |v| v.nil? ? nil : v.to_f }
|
80
|
-
self.typecasts["symbol"] = lambda { |v| v.nil? ? nil : v.to_sym }
|
81
80
|
self.typecasts["string"] = lambda { |v| v.to_s }
|
82
|
-
self.typecasts["yaml"] = lambda { |v| v.nil? ? nil : YAML.load(v) }
|
83
81
|
self.typecasts["base64Binary"] = lambda { |v| v.unpack('m').first }
|
84
82
|
|
85
83
|
self.available_typecasts = self.typecasts.keys
|
data/spec/nori/nori_spec.rb
CHANGED
@@ -395,7 +395,8 @@ describe Nori do
|
|
395
395
|
'approved' => nil,
|
396
396
|
'written_on' => nil,
|
397
397
|
'viewed_at' => nil,
|
398
|
-
'
|
398
|
+
# don't execute arbitary YAML code
|
399
|
+
'content' => { "@type" => "yaml" },
|
399
400
|
'parent_id' => nil,
|
400
401
|
'nil_true' => nil,
|
401
402
|
'namespaced' => nil
|
@@ -414,7 +415,7 @@ describe Nori do
|
|
414
415
|
<replies-close-in type="integer">2592000000</replies-close-in>
|
415
416
|
<written-on type="date">2003-07-16</written-on>
|
416
417
|
<viewed-at type="datetime">2003-07-16T09:28:00+0000</viewed-at>
|
417
|
-
<content type="yaml">--- \n1: should be an integer\n:message: Have a nice day\narray: \n- should-have-dashes: true\n should_have_underscores: true
|
418
|
+
<content type="yaml">--- \n1: should be an integer\n:message: Have a nice day\narray: \n- should-have-dashes: true\n should_have_underscores: true</content>
|
418
419
|
<author-email-address>david@loudthinking.com</author-email-address>
|
419
420
|
<parent-id></parent-id>
|
420
421
|
<ad-revenue type="decimal">1.5</ad-revenue>
|
@@ -435,12 +436,13 @@ describe Nori do
|
|
435
436
|
# Changed this line where the key is :message. The yaml specifies this as a symbol, and who am I to change what you specify
|
436
437
|
# The line in ActiveSupport is
|
437
438
|
# 'content' => { 'message' => "Have a nice day", 1 => "should be an integer", "array" => [{ "should-have-dashes" => true, "should_have_underscores" => true }] },
|
438
|
-
'content' =>
|
439
|
+
'content' => "--- \n1: should be an integer\n:message: Have a nice day\narray: \n- should-have-dashes: true\n should_have_underscores: true",
|
439
440
|
'author_email_address' => "david@loudthinking.com",
|
440
441
|
'parent_id' => nil,
|
441
442
|
'ad_revenue' => BigDecimal("1.50"),
|
442
443
|
'optimum_viewing_angle' => 135.0,
|
443
|
-
'
|
444
|
+
# don't create symbols from arbitary remote code
|
445
|
+
'resident' => "yes"
|
444
446
|
}
|
445
447
|
|
446
448
|
parse(topic_xml)["topic"].each do |k,v|
|
metadata
CHANGED
@@ -1,95 +1,88 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: nori
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.4
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 1
|
9
|
-
- 3
|
10
|
-
version: 1.1.3
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Daniel Harrington
|
14
9
|
- John Nunemaker
|
15
10
|
- Wynn Netherland
|
16
11
|
autorequire:
|
17
12
|
bindir: bin
|
18
13
|
cert_chain: []
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
14
|
+
date: 2013-01-10 00:00:00.000000000 Z
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: rake
|
18
|
+
requirement: !ruby/object:Gem::Requirement
|
24
19
|
none: false
|
25
|
-
requirements:
|
20
|
+
requirements:
|
26
21
|
- - ~>
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
hash: 49
|
29
|
-
segments:
|
30
|
-
- 0
|
31
|
-
- 8
|
32
|
-
- 7
|
22
|
+
- !ruby/object:Gem::Version
|
33
23
|
version: 0.8.7
|
34
|
-
name: rake
|
35
24
|
type: :development
|
36
25
|
prerelease: false
|
37
|
-
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
version_requirements: &id002 !ruby/object:Gem::Requirement
|
26
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
27
|
none: false
|
41
|
-
requirements:
|
42
|
-
- -
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
|
45
|
-
|
46
|
-
- 1
|
47
|
-
- 4
|
48
|
-
- 0
|
49
|
-
version: 1.4.0
|
28
|
+
requirements:
|
29
|
+
- - ~>
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: 0.8.7
|
32
|
+
- !ruby/object:Gem::Dependency
|
50
33
|
name: nokogiri
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
35
|
+
none: false
|
36
|
+
requirements:
|
37
|
+
- - ! '>='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: 1.4.0
|
51
40
|
type: :development
|
52
41
|
prerelease: false
|
53
|
-
|
54
|
-
- !ruby/object:Gem::Dependency
|
55
|
-
version_requirements: &id003 !ruby/object:Gem::Requirement
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
56
43
|
none: false
|
57
|
-
requirements:
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.4.0
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: rspec
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
|
+
requirements:
|
58
53
|
- - ~>
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
hash: 27
|
61
|
-
segments:
|
62
|
-
- 2
|
63
|
-
- 5
|
64
|
-
- 0
|
54
|
+
- !ruby/object:Gem::Version
|
65
55
|
version: 2.5.0
|
66
|
-
name: rspec
|
67
56
|
type: :development
|
68
57
|
prerelease: false
|
69
|
-
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
version_requirements: &id004 !ruby/object:Gem::Requirement
|
58
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
59
|
none: false
|
73
|
-
requirements:
|
74
|
-
- -
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
|
77
|
-
|
78
|
-
- 0
|
79
|
-
version: "0"
|
60
|
+
requirements:
|
61
|
+
- - ~>
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: 2.5.0
|
64
|
+
- !ruby/object:Gem::Dependency
|
80
65
|
name: autotest
|
66
|
+
requirement: !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
68
|
+
requirements:
|
69
|
+
- - ! '>='
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0'
|
81
72
|
type: :development
|
82
73
|
prerelease: false
|
83
|
-
|
74
|
+
version_requirements: !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
76
|
+
requirements:
|
77
|
+
- - ! '>='
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0'
|
84
80
|
description: XML to Hash translator
|
85
81
|
email: me@rubiii.com
|
86
82
|
executables: []
|
87
|
-
|
88
83
|
extensions: []
|
89
|
-
|
90
84
|
extra_rdoc_files: []
|
91
|
-
|
92
|
-
files:
|
85
|
+
files:
|
93
86
|
- .gitignore
|
94
87
|
- .rspec
|
95
88
|
- .travis.yml
|
@@ -121,38 +114,35 @@ files:
|
|
121
114
|
- spec/spec_helper.rb
|
122
115
|
homepage: http://github.com/rubiii/nori
|
123
116
|
licenses: []
|
124
|
-
|
125
117
|
post_install_message:
|
126
118
|
rdoc_options: []
|
127
|
-
|
128
|
-
require_paths:
|
119
|
+
require_paths:
|
129
120
|
- lib
|
130
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
121
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
131
122
|
none: false
|
132
|
-
requirements:
|
133
|
-
- -
|
134
|
-
- !ruby/object:Gem::Version
|
135
|
-
|
136
|
-
segments:
|
123
|
+
requirements:
|
124
|
+
- - ! '>='
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0'
|
127
|
+
segments:
|
137
128
|
- 0
|
138
|
-
|
139
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
129
|
+
hash: -4605903016342497062
|
130
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
140
131
|
none: false
|
141
|
-
requirements:
|
142
|
-
- -
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
|
145
|
-
segments:
|
132
|
+
requirements:
|
133
|
+
- - ! '>='
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: '0'
|
136
|
+
segments:
|
146
137
|
- 0
|
147
|
-
|
138
|
+
hash: -4605903016342497062
|
148
139
|
requirements: []
|
149
|
-
|
150
140
|
rubyforge_project: nori
|
151
|
-
rubygems_version: 1.8.
|
141
|
+
rubygems_version: 1.8.24
|
152
142
|
signing_key:
|
153
143
|
specification_version: 3
|
154
144
|
summary: XML to Hash translator
|
155
|
-
test_files:
|
145
|
+
test_files:
|
156
146
|
- spec/nori/core_ext/hash_spec.rb
|
157
147
|
- spec/nori/core_ext/object_spec.rb
|
158
148
|
- spec/nori/core_ext/string_spec.rb
|