maxmind-db 1.1.1 → 1.4.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.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -0
  3. data/Gemfile.lock +72 -0
  4. data/README.dev.md +2 -35
  5. data/README.md +2 -3
  6. data/Rakefile +2 -2
  7. data/bin/mmdb-benchmark.rb +3 -3
  8. data/lib/maxmind/db/decoder.rb +3 -0
  9. data/lib/maxmind/db/file_reader.rb +29 -11
  10. data/lib/maxmind/db.rb +9 -10
  11. data/maxmind-db.gemspec +8 -4
  12. metadata +49 -73
  13. data/test/data/LICENSE +0 -4
  14. data/test/data/MaxMind-DB-spec.md +0 -570
  15. data/test/data/MaxMind-DB-test-metadata-pointers.mmdb +0 -0
  16. data/test/data/README.md +0 -4
  17. data/test/data/bad-data/README.md +0 -7
  18. data/test/data/bad-data/libmaxminddb/libmaxminddb-offset-integer-overflow.mmdb +0 -0
  19. data/test/data/bad-data/maxminddb-golang/cyclic-data-structure.mmdb +0 -0
  20. data/test/data/bad-data/maxminddb-golang/invalid-bytes-length.mmdb +0 -1
  21. data/test/data/bad-data/maxminddb-golang/invalid-data-record-offset.mmdb +0 -0
  22. data/test/data/bad-data/maxminddb-golang/invalid-map-key-length.mmdb +0 -0
  23. data/test/data/bad-data/maxminddb-golang/invalid-string-length.mmdb +0 -1
  24. data/test/data/bad-data/maxminddb-golang/metadata-is-an-uint128.mmdb +0 -1
  25. data/test/data/bad-data/maxminddb-golang/unexpected-bytes.mmdb +0 -0
  26. data/test/data/perltidyrc +0 -12
  27. data/test/data/source-data/GeoIP2-Anonymous-IP-Test.json +0 -48
  28. data/test/data/source-data/GeoIP2-City-Test.json +0 -12852
  29. data/test/data/source-data/GeoIP2-Connection-Type-Test.json +0 -102
  30. data/test/data/source-data/GeoIP2-Country-Test.json +0 -15916
  31. data/test/data/source-data/GeoIP2-DensityIncome-Test.json +0 -14
  32. data/test/data/source-data/GeoIP2-Domain-Test.json +0 -452
  33. data/test/data/source-data/GeoIP2-Enterprise-Test.json +0 -673
  34. data/test/data/source-data/GeoIP2-ISP-Test.json +0 -12593
  35. data/test/data/source-data/GeoIP2-Precision-Enterprise-Test.json +0 -2018
  36. data/test/data/source-data/GeoIP2-Static-IP-Score-Test.json +0 -2132
  37. data/test/data/source-data/GeoIP2-User-Count-Test.json +0 -2837
  38. data/test/data/source-data/GeoLite2-ASN-Test.json +0 -37
  39. data/test/data/source-data/README +0 -15
  40. data/test/data/test-data/GeoIP2-Anonymous-IP-Test.mmdb +0 -0
  41. data/test/data/test-data/GeoIP2-City-Test-Broken-Double-Format.mmdb +0 -0
  42. data/test/data/test-data/GeoIP2-City-Test-Invalid-Node-Count.mmdb +0 -0
  43. data/test/data/test-data/GeoIP2-City-Test.mmdb +0 -0
  44. data/test/data/test-data/GeoIP2-Connection-Type-Test.mmdb +0 -0
  45. data/test/data/test-data/GeoIP2-Country-Test.mmdb +0 -0
  46. data/test/data/test-data/GeoIP2-DensityIncome-Test.mmdb +0 -0
  47. data/test/data/test-data/GeoIP2-Domain-Test.mmdb +0 -0
  48. data/test/data/test-data/GeoIP2-Enterprise-Test.mmdb +0 -0
  49. data/test/data/test-data/GeoIP2-ISP-Test.mmdb +0 -0
  50. data/test/data/test-data/GeoIP2-Precision-Enterprise-Test.mmdb +0 -0
  51. data/test/data/test-data/GeoIP2-Static-IP-Score-Test.mmdb +0 -0
  52. data/test/data/test-data/GeoIP2-User-Count-Test.mmdb +0 -0
  53. data/test/data/test-data/GeoLite2-ASN-Test.mmdb +0 -0
  54. data/test/data/test-data/MaxMind-DB-no-ipv4-search-tree.mmdb +0 -0
  55. data/test/data/test-data/MaxMind-DB-string-value-entries.mmdb +0 -0
  56. data/test/data/test-data/MaxMind-DB-test-broken-pointers-24.mmdb +0 -0
  57. data/test/data/test-data/MaxMind-DB-test-broken-search-tree-24.mmdb +0 -0
  58. data/test/data/test-data/MaxMind-DB-test-decoder.mmdb +0 -0
  59. data/test/data/test-data/MaxMind-DB-test-ipv4-24.mmdb +0 -0
  60. data/test/data/test-data/MaxMind-DB-test-ipv4-28.mmdb +0 -0
  61. data/test/data/test-data/MaxMind-DB-test-ipv4-32.mmdb +0 -0
  62. data/test/data/test-data/MaxMind-DB-test-ipv6-24.mmdb +0 -0
  63. data/test/data/test-data/MaxMind-DB-test-ipv6-28.mmdb +0 -0
  64. data/test/data/test-data/MaxMind-DB-test-ipv6-32.mmdb +0 -0
  65. data/test/data/test-data/MaxMind-DB-test-metadata-pointers.mmdb +0 -0
  66. data/test/data/test-data/MaxMind-DB-test-mixed-24.mmdb +0 -0
  67. data/test/data/test-data/MaxMind-DB-test-mixed-28.mmdb +0 -0
  68. data/test/data/test-data/MaxMind-DB-test-mixed-32.mmdb +0 -0
  69. data/test/data/test-data/MaxMind-DB-test-nested.mmdb +0 -0
  70. data/test/data/test-data/README.md +0 -26
  71. data/test/data/test-data/maps-with-pointers.raw +0 -0
  72. data/test/data/test-data/write-test-data.pl +0 -640
  73. data/test/data/tidyall.ini +0 -5
  74. data/test/mmdb_util.rb +0 -26
  75. data/test/test_decoder.rb +0 -243
  76. data/test/test_reader.rb +0 -539
@@ -1,37 +0,0 @@
1
- [
2
- {
3
- "::1.128.0.0/107" : {
4
- "autonomous_system_number" : 1221,
5
- "autonomous_system_organization" : "Telstra Pty Ltd"
6
- }
7
- },
8
- {
9
- "::12.81.92.0/118" : {
10
- "autonomous_system_number" : 7018,
11
- "autonomous_system_organization" : "AT&T Services"
12
- }
13
- },
14
- {
15
- "::12.81.96.0/115" : {
16
- "autonomous_system_number" : 7018
17
- }
18
- },
19
- {
20
- "2600:6000::/20" : {
21
- "autonomous_system_number" : 237,
22
- "autonomous_system_organization" : "Merit Network Inc."
23
- }
24
- },
25
- {
26
- "2600:7000::/24" : {
27
- "autonomous_system_number" : 6939,
28
- "autonomous_system_organization" : "Hurricane Electric, Inc."
29
- }
30
- },
31
- {
32
- "2600:7100::/24" : {
33
- "autonomous_system_number" : 237,
34
- "autonomous_system_organization" : "Merit Network Inc."
35
- }
36
- }
37
- ]
@@ -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.
@@ -1,26 +0,0 @@
1
- The write-test-dbs script will create a small set of test databases with a
2
- variety of data and record sizes (24, 28, & 32 bit).
3
-
4
- These test databases are useful for testing code that reads MaxMind DB files.
5
-
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
- There are several ways to figure out what IP addresses are actually in the
12
- test databases. You can take a look at the
13
- [source-data directory](https://github.com/maxmind/MaxMind-DB/tree/master/source-data)
14
- in this repository. This directory contains JSON files which are used to
15
- generate many (but not all) of the database files.
16
-
17
- You can also use the
18
- [mmdb-dump-database script](https://github.com/maxmind/MaxMind-DB-Reader-perl/blob/master/eg/mmdb-dump-database)
19
- in the
20
- [MaxMind-DB-Reader-perl repository](https://github.com/maxmind/MaxMind-DB-Reader-perl).
21
-
22
- Some databases are intentionally broken and cannot be dumped. You can look at
23
- the
24
- [script which generates these databases](https://github.com/maxmind/MaxMind-DB/blob/master/test-data/write-test-data.pl)
25
- to see what IP addresses they include, which will be necessary for those
26
- databases which cannot be dumped because they contain intentional errors.