maxmind-geoip2 1.1.0 → 1.2.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/README.md +10 -5
- data/lib/maxmind/geoip2/client.rb +18 -9
- data/lib/maxmind/geoip2/model/city.rb +4 -5
- data/lib/maxmind/geoip2/model/connection_type.rb +3 -2
- data/lib/maxmind/geoip2/model/enterprise.rb +2 -3
- data/lib/maxmind/geoip2/model/insights.rb +3 -5
- data/lib/maxmind/geoip2/record/traits.rb +39 -27
- data/lib/maxmind/geoip2/version.rb +8 -0
- data/maxmind-geoip2.gemspec +7 -2
- data/test/data/cmd/write-test-data/main.go +68 -0
- data/test/data/go.mod +13 -0
- data/test/data/go.sum +16 -0
- data/test/data/perltidyrc +6 -0
- data/test/data/pkg/writer/decoder.go +178 -0
- data/test/data/pkg/writer/geoip2.go +182 -0
- data/test/data/pkg/writer/ip.go +39 -0
- data/test/data/pkg/writer/maxmind.go +245 -0
- data/test/data/pkg/writer/nestedstructures.go +73 -0
- data/test/data/pkg/writer/writer.go +58 -0
- data/test/data/source-data/GeoIP2-City-Test.json +322 -1
- data/test/data/source-data/GeoIP2-Connection-Type-Test.json +15 -10
- data/test/data/source-data/GeoIP2-Country-Test.json +99 -0
- data/test/data/source-data/GeoIP2-Domain-Test.json +5 -0
- data/test/data/source-data/GeoIP2-Enterprise-Test.json +347 -1
- data/test/data/source-data/GeoIP2-Precision-Enterprise-Sandbox-Test.json +296 -0
- data/test/data/source-data/GeoIP2-Precision-Enterprise-Test.json +412 -2
- data/test/data/source-data/GeoIP2-Static-IP-Score-Test.json +15 -0
- data/test/data/source-data/GeoIP2-User-Count-Test.json +18 -0
- data/test/data/source-data/GeoLite2-City-Test.json +168 -0
- data/test/data/source-data/GeoLite2-Country-Test.json +92 -0
- data/test/data/test-data/GeoIP2-Anonymous-IP-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-City-Test-Broken-Double-Format.mmdb +0 -0
- data/test/data/test-data/GeoIP2-City-Test-Invalid-Node-Count.mmdb +0 -0
- data/test/data/test-data/GeoIP2-City-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-Connection-Type-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-Country-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-DensityIncome-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-Domain-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-Enterprise-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-ISP-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-Precision-Enterprise-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-Static-IP-Score-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-User-Count-Test.mmdb +0 -0
- data/test/data/test-data/GeoLite2-ASN-Test.mmdb +0 -0
- data/test/data/test-data/GeoLite2-City-Test.mmdb +0 -0
- data/test/data/test-data/GeoLite2-Country-Test.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-no-ipv4-search-tree.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-string-value-entries.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-broken-pointers-24.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-broken-search-tree-24.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-decoder.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-ipv4-24.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-ipv4-28.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-ipv4-32.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-ipv6-24.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-ipv6-28.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-ipv6-32.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-metadata-pointers.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-mixed-24.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-mixed-28.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-mixed-32.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-nested.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-pointer-decoder.mmdb +0 -0
- data/test/data/test-data/README.md +28 -12
- data/test/test_client.rb +18 -2
- data/test/test_reader.rb +19 -1
- metadata +16 -7
- data/test/data/source-data/README +0 -15
- data/test/data/test-data/write-test-data.pl +0 -695
@@ -11276,5 +11276,97 @@
|
|
11276
11276
|
}
|
11277
11277
|
}
|
11278
11278
|
}
|
11279
|
+
},
|
11280
|
+
{
|
11281
|
+
"214.78.0.0/19" : {
|
11282
|
+
"continent" : {
|
11283
|
+
"code" : "NA",
|
11284
|
+
"geoname_id" : 6255149,
|
11285
|
+
"names" : {
|
11286
|
+
"de" : "Nordamerika",
|
11287
|
+
"en" : "North America",
|
11288
|
+
"es" : "Norteamérica",
|
11289
|
+
"fr" : "Amérique du Nord",
|
11290
|
+
"ja" : "北アメリカ",
|
11291
|
+
"pt-BR" : "América do Norte",
|
11292
|
+
"ru" : "Северная Америка",
|
11293
|
+
"zh-CN" : "北美洲"
|
11294
|
+
}
|
11295
|
+
},
|
11296
|
+
"country" : {
|
11297
|
+
"geoname_id" : 6252001,
|
11298
|
+
"iso_code" : "US",
|
11299
|
+
"names" : {
|
11300
|
+
"de" : "Vereinigte Staaten",
|
11301
|
+
"en" : "United States",
|
11302
|
+
"es" : "Estados Unidos",
|
11303
|
+
"fr" : "États Unis",
|
11304
|
+
"ja" : "アメリカ",
|
11305
|
+
"pt-BR" : "EUA",
|
11306
|
+
"ru" : "США",
|
11307
|
+
"zh-CN" : "美国"
|
11308
|
+
}
|
11309
|
+
},
|
11310
|
+
"registered_country" : {
|
11311
|
+
"geoname_id" : 6252001,
|
11312
|
+
"iso_code" : "US",
|
11313
|
+
"names" : {
|
11314
|
+
"de" : "Vereinigte Staaten",
|
11315
|
+
"en" : "United States",
|
11316
|
+
"es" : "Estados Unidos",
|
11317
|
+
"fr" : "États Unis",
|
11318
|
+
"ja" : "アメリカ",
|
11319
|
+
"pt-BR" : "EUA",
|
11320
|
+
"ru" : "США",
|
11321
|
+
"zh-CN" : "美国"
|
11322
|
+
}
|
11323
|
+
}
|
11324
|
+
}
|
11325
|
+
},
|
11326
|
+
{
|
11327
|
+
"2001:480::/43" : {
|
11328
|
+
"continent" : {
|
11329
|
+
"code" : "NA",
|
11330
|
+
"geoname_id" : 6255149,
|
11331
|
+
"names" : {
|
11332
|
+
"de" : "Nordamerika",
|
11333
|
+
"en" : "North America",
|
11334
|
+
"es" : "Norteamérica",
|
11335
|
+
"fr" : "Amérique du Nord",
|
11336
|
+
"ja" : "北アメリカ",
|
11337
|
+
"pt-BR" : "América do Norte",
|
11338
|
+
"ru" : "Северная Америка",
|
11339
|
+
"zh-CN" : "北美洲"
|
11340
|
+
}
|
11341
|
+
},
|
11342
|
+
"country" : {
|
11343
|
+
"geoname_id" : 6252001,
|
11344
|
+
"iso_code" : "US",
|
11345
|
+
"names" : {
|
11346
|
+
"de" : "Vereinigte Staaten",
|
11347
|
+
"en" : "United States",
|
11348
|
+
"es" : "Estados Unidos",
|
11349
|
+
"fr" : "États Unis",
|
11350
|
+
"ja" : "アメリカ",
|
11351
|
+
"pt-BR" : "EUA",
|
11352
|
+
"ru" : "США",
|
11353
|
+
"zh-CN" : "美国"
|
11354
|
+
}
|
11355
|
+
},
|
11356
|
+
"registered_country" : {
|
11357
|
+
"geoname_id" : 6252001,
|
11358
|
+
"iso_code" : "US",
|
11359
|
+
"names" : {
|
11360
|
+
"de" : "Vereinigte Staaten",
|
11361
|
+
"en" : "United States",
|
11362
|
+
"es" : "Estados Unidos",
|
11363
|
+
"fr" : "États Unis",
|
11364
|
+
"ja" : "アメリカ",
|
11365
|
+
"pt-BR" : "EUA",
|
11366
|
+
"ru" : "США",
|
11367
|
+
"zh-CN" : "美国"
|
11368
|
+
}
|
11369
|
+
}
|
11370
|
+
}
|
11279
11371
|
}
|
11280
11372
|
]
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,13 +1,10 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
## How to generate test data
|
2
|
+
Use the [write-test-data](https://github.com/maxmind/MaxMind-DB/blob/main/cmd/write-test-data)
|
3
|
+
go tool to create a small set of test databases with a variety of data and
|
4
|
+
record sizes.
|
3
5
|
|
4
6
|
These test databases are useful for testing code that reads MaxMind DB files.
|
5
7
|
|
6
|
-
There is also a `maps-with-pointers.raw` file. This contains the raw output of
|
7
|
-
the MaxMind::DB::Writer::Serializer module, when given a series of maps which
|
8
|
-
share some keys and values. It is used to test that decoder code can handle
|
9
|
-
pointers to map keys and values, as well as to the whole map.
|
10
|
-
|
11
8
|
There are several ways to figure out what IP addresses are actually in the
|
12
9
|
test databases. You can take a look at the
|
13
10
|
[source-data directory](https://github.com/maxmind/MaxMind-DB/tree/main/source-data)
|
@@ -19,8 +16,27 @@ You can also use the
|
|
19
16
|
in the
|
20
17
|
[MaxMind-DB-Reader-perl repository](https://github.com/maxmind/MaxMind-DB-Reader-perl).
|
21
18
|
|
22
|
-
|
23
|
-
the
|
24
|
-
[
|
25
|
-
|
26
|
-
|
19
|
+
## Static test data
|
20
|
+
Some of the test files are remnants of the
|
21
|
+
[old perl test data writer](https://github.com/maxmind/MaxMind-DB/blob/f0a85c671c5b6e9c5e514bd66162724ee1dedea3/test-data/write-test-data.pl)
|
22
|
+
and cannot be generated with the go tool. These databases are intentionally broken,
|
23
|
+
and exploited functionality simply not available in the go mmdbwriter:
|
24
|
+
|
25
|
+
- MaxMind-DB-test-broken-pointers-24.mmdb
|
26
|
+
- MaxMind-DB-test-broken-search-tree-24.mmdb
|
27
|
+
- MaxMind-DB-test-pointer-decoder.mmdb
|
28
|
+
- GeoIP2-City-Test-Broken-Double-Format.mmdb
|
29
|
+
- GeoIP2-City-Test-Invalid-Node-Count.mmdb
|
30
|
+
- maps-with-pointers.raw
|
31
|
+
|
32
|
+
## Usage
|
33
|
+
```
|
34
|
+
Usage of ./write-test-data:
|
35
|
+
-source string
|
36
|
+
Source data directory
|
37
|
+
-target string
|
38
|
+
Destination directory for the generated mmdb files
|
39
|
+
```
|
40
|
+
|
41
|
+
Example:
|
42
|
+
`./write-test-data --source ../../source-data --target ../../test-data`
|
data/test/test_client.rb
CHANGED
@@ -22,6 +22,7 @@ class ClientTest < Minitest::Test
|
|
22
22
|
},
|
23
23
|
'traits' => {
|
24
24
|
'ip_address' => '1.2.3.4',
|
25
|
+
'is_anycast' => true,
|
25
26
|
'network' => '1.2.3.0/24',
|
26
27
|
},
|
27
28
|
}.freeze
|
@@ -42,6 +43,7 @@ class ClientTest < Minitest::Test
|
|
42
43
|
},
|
43
44
|
'traits' => {
|
44
45
|
'ip_address' => '1.2.3.40',
|
46
|
+
'is_anycast' => true,
|
45
47
|
'is_residential_proxy' => true,
|
46
48
|
'network' => '1.2.3.0/24',
|
47
49
|
'static_ip_score' => 1.3,
|
@@ -73,6 +75,7 @@ class ClientTest < Minitest::Test
|
|
73
75
|
|
74
76
|
assert_equal(false, record.registered_country.in_european_union?)
|
75
77
|
|
78
|
+
assert_equal(true, record.traits.anycast?)
|
76
79
|
assert_equal('1.2.3.0/24', record.traits.network)
|
77
80
|
end
|
78
81
|
|
@@ -83,6 +86,7 @@ class ClientTest < Minitest::Test
|
|
83
86
|
|
84
87
|
assert_equal(42, record.continent.geoname_id)
|
85
88
|
|
89
|
+
assert_equal(true, record.traits.anycast?)
|
86
90
|
assert_equal(true, record.traits.residential_proxy?)
|
87
91
|
assert_equal('1.2.3.0/24', record.traits.network)
|
88
92
|
assert_equal(1.3, record.traits.static_ip_score)
|
@@ -126,7 +130,7 @@ class ClientTest < Minitest::Test
|
|
126
130
|
)
|
127
131
|
end
|
128
132
|
|
129
|
-
def
|
133
|
+
def test_invalid_ip_error_from_web_service
|
130
134
|
error = assert_raises(
|
131
135
|
MaxMind::GeoIP2::AddressInvalidError,
|
132
136
|
) { request(:country, '1.2.3.6') }
|
@@ -137,6 +141,17 @@ class ClientTest < Minitest::Test
|
|
137
141
|
)
|
138
142
|
end
|
139
143
|
|
144
|
+
def test_invalid_ip_error_from_client
|
145
|
+
error = assert_raises(
|
146
|
+
MaxMind::GeoIP2::AddressInvalidError,
|
147
|
+
) { request(:country, '1.2.3') }
|
148
|
+
|
149
|
+
assert_equal(
|
150
|
+
'The value "1.2.3" is not a valid IP address',
|
151
|
+
error.message,
|
152
|
+
)
|
153
|
+
end
|
154
|
+
|
140
155
|
def test_no_error_body_ip_error
|
141
156
|
assert_raises(
|
142
157
|
JSON::ParserError,
|
@@ -290,7 +305,7 @@ class ClientTest < Minitest::Test
|
|
290
305
|
license_key: 'abcdef123456',
|
291
306
|
)
|
292
307
|
|
293
|
-
client.send(method,
|
308
|
+
client.send(method, ip_address)
|
294
309
|
end
|
295
310
|
|
296
311
|
def get_response(ip_address)
|
@@ -300,6 +315,7 @@ class ClientTest < Minitest::Test
|
|
300
315
|
headers: { 'Content-Type': CONTENT_TYPES[:country] },
|
301
316
|
status: 200,
|
302
317
|
},
|
318
|
+
'1.2.3' => {},
|
303
319
|
'1.2.3.4' => {
|
304
320
|
body: JSON.generate(COUNTRY),
|
305
321
|
headers: { 'Content-Type': CONTENT_TYPES[:country] },
|
data/test/test_reader.rb
CHANGED
@@ -97,6 +97,12 @@ class ReaderTest < Minitest::Test
|
|
97
97
|
assert_equal('WA', record.most_specific_subdivision.iso_code)
|
98
98
|
)
|
99
99
|
|
100
|
+
# This IP has is_anycast.
|
101
|
+
|
102
|
+
ip_address = '214.1.1.0'
|
103
|
+
record = reader.city(ip_address)
|
104
|
+
assert_equal(true, record.traits.anycast?)
|
105
|
+
|
100
106
|
reader.close
|
101
107
|
end
|
102
108
|
|
@@ -119,7 +125,7 @@ class ReaderTest < Minitest::Test
|
|
119
125
|
ip = '1.0.1.1'
|
120
126
|
record = reader.connection_type(ip)
|
121
127
|
|
122
|
-
assert_equal('
|
128
|
+
assert_equal('Cellular', record.connection_type)
|
123
129
|
assert_equal(ip, record.ip_address)
|
124
130
|
assert_equal('1.0.1.0/24', record.network)
|
125
131
|
|
@@ -209,6 +215,12 @@ class ReaderTest < Minitest::Test
|
|
209
215
|
assert_equal('81.2.69.163', record.traits.ip_address)
|
210
216
|
assert_equal('81.2.69.160/27', record.traits.network)
|
211
217
|
|
218
|
+
# This IP has is_anycast.
|
219
|
+
|
220
|
+
ip_address = '214.1.1.0'
|
221
|
+
record = reader.country(ip_address)
|
222
|
+
assert_equal(true, record.traits.anycast?)
|
223
|
+
|
212
224
|
assert_raises(NoMethodError) { record.foo }
|
213
225
|
reader.close
|
214
226
|
end
|
@@ -274,6 +286,12 @@ class ReaderTest < Minitest::Test
|
|
274
286
|
assert_equal('310', record.traits.mobile_country_code)
|
275
287
|
assert_equal('004', record.traits.mobile_network_code)
|
276
288
|
|
289
|
+
# This IP has is_anycast.
|
290
|
+
|
291
|
+
ip_address = '214.1.1.0'
|
292
|
+
record = reader.enterprise(ip_address)
|
293
|
+
assert_equal(true, record.traits.anycast?)
|
294
|
+
|
277
295
|
reader.close
|
278
296
|
end
|
279
297
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: maxmind-geoip2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Storey
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-12-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: connection_pool
|
@@ -50,14 +50,14 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '1.
|
53
|
+
version: '1.2'
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: '1.
|
60
|
+
version: '1.2'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: minitest
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -167,6 +167,7 @@ files:
|
|
167
167
|
- lib/maxmind/geoip2/record/represented_country.rb
|
168
168
|
- lib/maxmind/geoip2/record/subdivision.rb
|
169
169
|
- lib/maxmind/geoip2/record/traits.rb
|
170
|
+
- lib/maxmind/geoip2/version.rb
|
170
171
|
- maxmind-geoip2.gemspec
|
171
172
|
- test/data/LICENSE
|
172
173
|
- test/data/MaxMind-DB-spec.md
|
@@ -181,7 +182,16 @@ files:
|
|
181
182
|
- test/data/bad-data/maxminddb-golang/metadata-is-an-uint128.mmdb
|
182
183
|
- test/data/bad-data/maxminddb-golang/unexpected-bytes.mmdb
|
183
184
|
- test/data/bad-data/maxminddb-python/bad-unicode-in-map-key.mmdb
|
185
|
+
- test/data/cmd/write-test-data/main.go
|
186
|
+
- test/data/go.mod
|
187
|
+
- test/data/go.sum
|
184
188
|
- test/data/perltidyrc
|
189
|
+
- test/data/pkg/writer/decoder.go
|
190
|
+
- test/data/pkg/writer/geoip2.go
|
191
|
+
- test/data/pkg/writer/ip.go
|
192
|
+
- test/data/pkg/writer/maxmind.go
|
193
|
+
- test/data/pkg/writer/nestedstructures.go
|
194
|
+
- test/data/pkg/writer/writer.go
|
185
195
|
- test/data/source-data/GeoIP2-Anonymous-IP-Test.json
|
186
196
|
- test/data/source-data/GeoIP2-City-Test.json
|
187
197
|
- test/data/source-data/GeoIP2-Connection-Type-Test.json
|
@@ -190,13 +200,13 @@ files:
|
|
190
200
|
- test/data/source-data/GeoIP2-Domain-Test.json
|
191
201
|
- test/data/source-data/GeoIP2-Enterprise-Test.json
|
192
202
|
- test/data/source-data/GeoIP2-ISP-Test.json
|
203
|
+
- test/data/source-data/GeoIP2-Precision-Enterprise-Sandbox-Test.json
|
193
204
|
- test/data/source-data/GeoIP2-Precision-Enterprise-Test.json
|
194
205
|
- test/data/source-data/GeoIP2-Static-IP-Score-Test.json
|
195
206
|
- test/data/source-data/GeoIP2-User-Count-Test.json
|
196
207
|
- test/data/source-data/GeoLite2-ASN-Test.json
|
197
208
|
- test/data/source-data/GeoLite2-City-Test.json
|
198
209
|
- test/data/source-data/GeoLite2-Country-Test.json
|
199
|
-
- test/data/source-data/README
|
200
210
|
- test/data/test-data/GeoIP2-Anonymous-IP-Test.mmdb
|
201
211
|
- test/data/test-data/GeoIP2-City-Test-Broken-Double-Format.mmdb
|
202
212
|
- test/data/test-data/GeoIP2-City-Test-Invalid-Node-Count.mmdb
|
@@ -232,7 +242,6 @@ files:
|
|
232
242
|
- test/data/test-data/MaxMind-DB-test-pointer-decoder.mmdb
|
233
243
|
- test/data/test-data/README.md
|
234
244
|
- test/data/test-data/maps-with-pointers.raw
|
235
|
-
- test/data/test-data/write-test-data.pl
|
236
245
|
- test/data/tidyall.ini
|
237
246
|
- test/test_client.rb
|
238
247
|
- test/test_model_country.rb
|
@@ -264,7 +273,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
264
273
|
- !ruby/object:Gem::Version
|
265
274
|
version: '0'
|
266
275
|
requirements: []
|
267
|
-
rubygems_version: 3.
|
276
|
+
rubygems_version: 3.4.18
|
268
277
|
signing_key:
|
269
278
|
specification_version: 4
|
270
279
|
summary: A gem for interacting with the GeoIP2 webservices and databases.
|
@@ -1,15 +0,0 @@
|
|
1
|
-
All of these but the City and Enterprise files are JSON dumps of the databases
|
2
|
-
created by the GeoIP2 build integration tests
|
3
|
-
(TestFor::MM::Integration::GeoIP2::Build).
|
4
|
-
|
5
|
-
Additional data was added to match our legacy test databases.
|
6
|
-
|
7
|
-
The City file is of unknown origin.
|
8
|
-
|
9
|
-
The Enterprise file was a single example IP address, modified slightly to
|
10
|
-
include all fields. It now has more than that.
|
11
|
-
|
12
|
-
The Precision file was the normal Enterprise file with an additional marker
|
13
|
-
(128.101.101.101) to differentiate the two. It now contains additional
|
14
|
-
additions and changes as it is the database used in many MaxMind
|
15
|
-
integration tests.
|