diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index e43255b..17b5ffb 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -13,7 +13,7 @@ jobs: build: strategy: matrix: - go-version: [1.21.x, 1.22.x] + go-version: [1.22.x, 1.23.x] # We don't test on macOS and windows as the database builds aren't # repeatable there for some reason. As such, tests fail. It'd # probably be worth looking into this at some point. diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 5fcb1f8..fbac27f 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -15,7 +15,7 @@ jobs: steps: - uses: actions/setup-go@v5 with: - go-version: 1.21 + go-version: 1.23 - uses: actions/checkout@v4 with: persist-credentials: false diff --git a/.perltidyallrc b/.perltidyallrc deleted file mode 100644 index 3779688..0000000 --- a/.perltidyallrc +++ /dev/null @@ -1,11 +0,0 @@ ---blank-lines-before-packages=0 ---iterations=2 ---no-outdent-long-comments --bar --boc --ci=4 --i=4 --l=78 --nolq --se --wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x=" diff --git a/.tidyallrc b/.tidyallrc index 9a73ac9..c70344a 100644 --- a/.tidyallrc +++ b/.tidyallrc @@ -1,7 +1,2 @@ -[PerlTidy] -select = **/*.{pl,pm,t,psgi} -ignore = blib/**/* -argv = --profile=$ROOT/.perltidyallrc - [JSON] select = **/*.json diff --git a/README.md b/README.md index 55fb203..0753baf 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ This repository contains the spec for that format as well as test databases. # Copyright and License -This software is Copyright (c) 2013 - 2024 by MaxMind, Inc. +This software is Copyright (c) 2013 - 2025 by MaxMind, Inc. This is free software, licensed under the [Apache License, Version 2.0](LICENSE-APACHE) or the [MIT License](LICENSE-MIT), at your option. diff --git a/go.mod b/go.mod index 9e0dd23..ab8e0db 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/maxmind/MaxMind-DB -go 1.21 +go 1.23 require ( github.com/maxmind/mmdbwriter v1.0.0 diff --git a/perltidyrc b/perltidyrc deleted file mode 100644 index dcff3e9..0000000 --- a/perltidyrc +++ /dev/null @@ -1,18 +0,0 @@ ---blank-lines-before-packages=0 ---iterations=2 ---no-outdent-long-comments ---weld-nested-containers --b --bar --boc --ci=4 --i=4 --l=78 --nolq --se --wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x=" ---character-encoding=utf8 ---valign-exclusion-list="q" ---want-trailing-commas=m ---add-trailing-commas ---delete-repeated-commas diff --git a/source-data/GeoIP2-City-Test.json b/source-data/GeoIP2-City-Test.json index b41d491..92ceb58 100644 --- a/source-data/GeoIP2-City-Test.json +++ b/source-data/GeoIP2-City-Test.json @@ -252,9 +252,9 @@ }, { "214.1.1.0/24" : { - "traits": { - "is_anycast": true - } + "traits" : { + "is_anycast" : true + } } }, { diff --git a/source-data/GeoIP2-Country-Test.json b/source-data/GeoIP2-Country-Test.json index c8854e4..972102b 100644 --- a/source-data/GeoIP2-Country-Test.json +++ b/source-data/GeoIP2-Country-Test.json @@ -15903,9 +15903,9 @@ }, { "214.1.1.0/24" : { - "traits": { - "is_anycast": true - } + "traits" : { + "is_anycast" : true + } } }, { diff --git a/source-data/GeoIP2-Enterprise-Test.json b/source-data/GeoIP2-Enterprise-Test.json index 2956fd7..ebef014 100644 --- a/source-data/GeoIP2-Enterprise-Test.json +++ b/source-data/GeoIP2-Enterprise-Test.json @@ -75,6 +75,7 @@ } }, { + "confidence" : 60, "geoname_id" : 3333217, "iso_code" : "WBK", "names" : { @@ -780,9 +781,9 @@ }, { "214.1.1.0/24" : { - "traits": { - "is_anycast": true - } + "traits" : { + "is_anycast" : true + } } }, { @@ -1103,5 +1104,12 @@ "user_type" : "hosting" } } + }, + { + "214.214.214.221/32" : { + "traits" : { + "user_type" : "content_delivery_network" + } + } } ] diff --git a/source-data/GeoIP2-IP-Risk-Test.json b/source-data/GeoIP2-IP-Risk-Test.json index 14cc362..9488415 100644 --- a/source-data/GeoIP2-IP-Risk-Test.json +++ b/source-data/GeoIP2-IP-Risk-Test.json @@ -1,31 +1,31 @@ [ - { - "::214.2.3.0/126": { - "ip_risk": 25, - "is_anonymous": true, - "is_anonymous_vpn": true - } - }, - { - "::214.2.3.4/128": { - "ip_risk": 50, - "is_anonymous": true, - "is_anonymous_vpn": true, - "is_tor_exit_node": true - } - }, - { - "::214.2.3.5/128": { - "ip_risk": 90, - "is_anonymous": true, - "is_anonymous_vpn": true, - "is_residential_proxy": true, - "is_tor_exit_node": true - } - }, - { - "::214.2.3.6/128": { - "ip_risk": 85 - } - } + { + "::214.2.3.0/126" : { + "ip_risk" : 25, + "is_anonymous" : true, + "is_anonymous_vpn" : true + } + }, + { + "::214.2.3.4/128" : { + "ip_risk" : 50, + "is_anonymous" : true, + "is_anonymous_vpn" : true, + "is_tor_exit_node" : true + } + }, + { + "::214.2.3.5/128" : { + "ip_risk" : 90, + "is_anonymous" : true, + "is_anonymous_vpn" : true, + "is_residential_proxy" : true, + "is_tor_exit_node" : true + } + }, + { + "::214.2.3.6/128" : { + "ip_risk" : 85 + } + } ] diff --git a/source-data/GeoIP2-Precision-Enterprise-Test.json b/source-data/GeoIP2-Precision-Enterprise-Test.json index bd0046f..4e4a269 100644 --- a/source-data/GeoIP2-Precision-Enterprise-Test.json +++ b/source-data/GeoIP2-Precision-Enterprise-Test.json @@ -1552,590 +1552,590 @@ }, { "214.1.1.0/24" : { - "traits": { - "is_anycast": true - } + "traits" : { + "is_anycast" : true + } } }, { "::214.61.39.1/128" : { - "continent": { - "code": "NA", - "geoname_id": 6255149, - "names": { - "de": "Nordamerika", - "en": "North America", - "es": "Norteamérica", - "fr": "Amérique du Nord", - "ja": "北アメリカ", - "pt-BR": "América do Norte", - "ru": "Северная Америка", - "zh-CN": "北美洲" - } - }, - "country": { - "confidence": 99, - "geoname_id": 6252001, - "iso_code": "US", - "names": { - "de": "USA", - "en": "United States", - "es": "Estados Unidos", - "fr": "États Unis", - "ja": "アメリカ", - "pt-BR": "EUA", - "ru": "США", - "zh-CN": "美国" - } - }, - "location": { - "accuracy_radius": 500, - "latitude": 39.7388, - "longitude": -104.9868, - "time_zone": "America/Denver" - }, - "registered_country": { - "geoname_id": 6252001, - "iso_code": "US", - "names": { - "de": "USA", - "en": "United States", - "es": "Estados Unidos", - "fr": "États Unis", - "ja": "アメリカ", - "pt-BR": "EUA", - "ru": "США", - "zh-CN": "美国" - } - }, - "subdivisions": [ + "continent" : { + "code" : "NA", + "geoname_id" : 6255149, + "names" : { + "de" : "Nordamerika", + "en" : "North America", + "es" : "Norteamérica", + "fr" : "Amérique du Nord", + "ja" : "北アメリカ", + "pt-BR" : "América do Norte", + "ru" : "Северная Америка", + "zh-CN" : "北美洲" + } + }, + "country" : { + "confidence" : 99, + "geoname_id" : 6252001, + "iso_code" : "US", + "names" : { + "de" : "USA", + "en" : "United States", + "es" : "Estados Unidos", + "fr" : "États Unis", + "ja" : "アメリカ", + "pt-BR" : "EUA", + "ru" : "США", + "zh-CN" : "美国" + } + }, + "location" : { + "accuracy_radius" : 500, + "latitude" : 39.7388, + "longitude" : -104.9868, + "time_zone" : "America/Denver" + }, + "registered_country" : { + "geoname_id" : 6252001, + "iso_code" : "US", + "names" : { + "de" : "USA", + "en" : "United States", + "es" : "Estados Unidos", + "fr" : "États Unis", + "ja" : "アメリカ", + "pt-BR" : "EUA", + "ru" : "США", + "zh-CN" : "美国" + } + }, + "subdivisions" : [ { - "confidence": 60, - "geoname_id": 5417618, - "iso_code": "CO", - "names": { - "de": "Colorado", - "en": "Colorado", - "es": "Colorado", - "fr": "Colorado", - "ja": "コロラド州", - "pt-BR": "Colorado", - "ru": "Колорадо" - } - } - ] + "confidence" : 60, + "geoname_id" : 5417618, + "iso_code" : "CO", + "names" : { + "de" : "Colorado", + "en" : "Colorado", + "es" : "Colorado", + "fr" : "Colorado", + "ja" : "コロラド州", + "pt-BR" : "Colorado", + "ru" : "Колорадо" + } + } + ] } }, { - "::214.61.39.2/128": { - "city": { - "confidence": 50, - "geoname_id": 4843564, - "names": { - "de": "Stamford", - "en": "Stamford", - "fr": "Stamford", - "ja": "スタンフォード", - "ru": "Стамфорд", - "zh-CN": "斯坦福" - } - }, - "continent": { - "code": "NA", - "geoname_id": 6255149, - "names": { - "de": "Nordamerika", - "en": "North America", - "es": "Norteamérica", - "fr": "Amérique du Nord", - "ja": "北アメリカ", - "pt-BR": "América do Norte", - "ru": "Северная Америка", - "zh-CN": "北美洲" - } - }, - "country": { - "confidence": 99, - "geoname_id": 6252001, - "iso_code": "US", - "names": { - "de": "USA", - "en": "United States", - "es": "Estados Unidos", - "fr": "États Unis", - "ja": "アメリカ", - "pt-BR": "EUA", - "ru": "США", - "zh-CN": "美国" - } - }, - "location": { - "accuracy_radius": 5, - "latitude": 41.0842, - "longitude": -73.5451, - "metro_code": 501, - "time_zone": "America/New_York" - }, - "postal": { - "code": "06905", - "confidence": 20 - }, - "registered_country": { - "geoname_id": 6252001, - "iso_code": "US", - "names": { - "de": "USA", - "en": "United States", - "es": "Estados Unidos", - "fr": "États Unis", - "ja": "アメリカ", - "pt-BR": "EUA", - "ru": "США", - "zh-CN": "美国" - } - }, - "subdivisions": [ + "::214.61.39.2/128" : { + "city" : { + "confidence" : 50, + "geoname_id" : 4843564, + "names" : { + "de" : "Stamford", + "en" : "Stamford", + "fr" : "Stamford", + "ja" : "スタンフォード", + "ru" : "Стамфорд", + "zh-CN" : "斯坦福" + } + }, + "continent" : { + "code" : "NA", + "geoname_id" : 6255149, + "names" : { + "de" : "Nordamerika", + "en" : "North America", + "es" : "Norteamérica", + "fr" : "Amérique du Nord", + "ja" : "北アメリカ", + "pt-BR" : "América do Norte", + "ru" : "Северная Америка", + "zh-CN" : "北美洲" + } + }, + "country" : { + "confidence" : 99, + "geoname_id" : 6252001, + "iso_code" : "US", + "names" : { + "de" : "USA", + "en" : "United States", + "es" : "Estados Unidos", + "fr" : "États Unis", + "ja" : "アメリカ", + "pt-BR" : "EUA", + "ru" : "США", + "zh-CN" : "美国" + } + }, + "location" : { + "accuracy_radius" : 5, + "latitude" : 41.0842, + "longitude" : -73.5451, + "metro_code" : 501, + "time_zone" : "America/New_York" + }, + "postal" : { + "code" : "06905", + "confidence" : 20 + }, + "registered_country" : { + "geoname_id" : 6252001, + "iso_code" : "US", + "names" : { + "de" : "USA", + "en" : "United States", + "es" : "Estados Unidos", + "fr" : "États Unis", + "ja" : "アメリカ", + "pt-BR" : "EUA", + "ru" : "США", + "zh-CN" : "美国" + } + }, + "subdivisions" : [ { - "confidence": 90, - "geoname_id": 4831725, - "iso_code": "CT", - "names": { - "de": "Connecticut", - "en": "Connecticut", - "es": "Connecticut", - "fr": "Connecticut", - "ja": "コネチカット州", - "pt-BR": "Coneticute", - "ru": "Коннектикут", - "zh-CN": "康乃狄克州" - } - } - ] + "confidence" : 90, + "geoname_id" : 4831725, + "iso_code" : "CT", + "names" : { + "de" : "Connecticut", + "en" : "Connecticut", + "es" : "Connecticut", + "fr" : "Connecticut", + "ja" : "コネチカット州", + "pt-BR" : "Coneticute", + "ru" : "Коннектикут", + "zh-CN" : "康乃狄克州" + } + } + ] } }, { - "::214.61.39.3/128": { - "city": { - "confidence": 50, - "geoname_id": 5666639, - "names": { - "en": "Missoula", - "ja": "ミズーラ", - "ru": "Миссула" - } - }, - "continent": { - "code": "NA", - "geoname_id": 6255149, - "names": { - "de": "Nordamerika", - "en": "North America", - "es": "Norteamérica", - "fr": "Amérique du Nord", - "ja": "北アメリカ", - "pt-BR": "América do Norte", - "ru": "Северная Америка", - "zh-CN": "北美洲" - } - }, - "country": { - "confidence": 99, - "geoname_id": 6252001, - "iso_code": "US", - "names": { - "de": "USA", - "en": "United States", - "es": "Estados Unidos", - "fr": "États Unis", - "ja": "アメリカ", - "pt-BR": "EUA", - "ru": "США", - "zh-CN": "美国" - } - }, - "location": { - "accuracy_radius": 20, - "latitude": 46.8522, - "longitude": -114.0214, - "metro_code": 762, - "time_zone": "America/Denver" - }, - "postal": { - "code": "59801", - "confidence": 20 - }, - "registered_country": { - "geoname_id": 6252001, - "iso_code": "US", - "names": { - "de": "USA", - "en": "United States", - "es": "Estados Unidos", - "fr": "États Unis", - "ja": "アメリカ", - "pt-BR": "EUA", - "ru": "США", - "zh-CN": "美国" - } - }, - "subdivisions": [ + "::214.61.39.3/128" : { + "city" : { + "confidence" : 50, + "geoname_id" : 5666639, + "names" : { + "en" : "Missoula", + "ja" : "ミズーラ", + "ru" : "Миссула" + } + }, + "continent" : { + "code" : "NA", + "geoname_id" : 6255149, + "names" : { + "de" : "Nordamerika", + "en" : "North America", + "es" : "Norteamérica", + "fr" : "Amérique du Nord", + "ja" : "北アメリカ", + "pt-BR" : "América do Norte", + "ru" : "Северная Америка", + "zh-CN" : "北美洲" + } + }, + "country" : { + "confidence" : 99, + "geoname_id" : 6252001, + "iso_code" : "US", + "names" : { + "de" : "USA", + "en" : "United States", + "es" : "Estados Unidos", + "fr" : "États Unis", + "ja" : "アメリカ", + "pt-BR" : "EUA", + "ru" : "США", + "zh-CN" : "美国" + } + }, + "location" : { + "accuracy_radius" : 20, + "latitude" : 46.8522, + "longitude" : -114.0214, + "metro_code" : 762, + "time_zone" : "America/Denver" + }, + "postal" : { + "code" : "59801", + "confidence" : 20 + }, + "registered_country" : { + "geoname_id" : 6252001, + "iso_code" : "US", + "names" : { + "de" : "USA", + "en" : "United States", + "es" : "Estados Unidos", + "fr" : "États Unis", + "ja" : "アメリカ", + "pt-BR" : "EUA", + "ru" : "США", + "zh-CN" : "美国" + } + }, + "subdivisions" : [ { - "confidence": 80, - "geoname_id": 5667009, - "iso_code": "MT", - "names": { - "de": "Montana", - "en": "Montana", - "es": "Montana", - "fr": "Montana", - "ja": "モンタナ州", - "pt-BR": "Montana", - "ru": "Монтана", - "zh-CN": "蒙大拿州" - } - } - ] + "confidence" : 80, + "geoname_id" : 5667009, + "iso_code" : "MT", + "names" : { + "de" : "Montana", + "en" : "Montana", + "es" : "Montana", + "fr" : "Montana", + "ja" : "モンタナ州", + "pt-BR" : "Montana", + "ru" : "Монтана", + "zh-CN" : "蒙大拿州" + } + } + ] } }, { - "::214.61.39.7/128": { - "city": { - "confidence": 40, - "geoname_id": 5089478, - "names": { - "en": "Merrimack", - "ja": "メリマック", - "pt-BR": "East Merrimack", - "ru": "Мерримак" - } - }, - "continent": { - "code": "NA", - "geoname_id": 6255149, - "names": { - "de": "Nordamerika", - "en": "North America", - "es": "Norteamérica", - "fr": "Amérique du Nord", - "ja": "北アメリカ", - "pt-BR": "América do Norte", - "ru": "Северная Америка", - "zh-CN": "北美洲" - } - }, - "country": { - "confidence": 99, - "geoname_id": 6252001, - "iso_code": "US", - "names": { - "de": "USA", - "en": "United States", - "es": "Estados Unidos", - "fr": "États Unis", - "ja": "アメリカ", - "pt-BR": "EUA", - "ru": "США", - "zh-CN": "美国" - } - }, - "location": { - "accuracy_radius": 10, - "latitude": 42.8651, - "longitude": -71.4934, - "metro_code": 506, - "time_zone": "America/New_York" - }, - "postal": { - "code": "03054", - "confidence": 40 - }, - "registered_country": { - "geoname_id": 6252001, - "iso_code": "US", - "names": { - "de": "USA", - "en": "United States", - "es": "Estados Unidos", - "fr": "États Unis", - "ja": "アメリカ", - "pt-BR": "EUA", - "ru": "США", - "zh-CN": "美国" - } - }, - "subdivisions": [ + "::214.61.39.7/128" : { + "city" : { + "confidence" : 40, + "geoname_id" : 5089478, + "names" : { + "en" : "Merrimack", + "ja" : "メリマック", + "pt-BR" : "East Merrimack", + "ru" : "Мерримак" + } + }, + "continent" : { + "code" : "NA", + "geoname_id" : 6255149, + "names" : { + "de" : "Nordamerika", + "en" : "North America", + "es" : "Norteamérica", + "fr" : "Amérique du Nord", + "ja" : "北アメリカ", + "pt-BR" : "América do Norte", + "ru" : "Северная Америка", + "zh-CN" : "北美洲" + } + }, + "country" : { + "confidence" : 99, + "geoname_id" : 6252001, + "iso_code" : "US", + "names" : { + "de" : "USA", + "en" : "United States", + "es" : "Estados Unidos", + "fr" : "États Unis", + "ja" : "アメリカ", + "pt-BR" : "EUA", + "ru" : "США", + "zh-CN" : "美国" + } + }, + "location" : { + "accuracy_radius" : 10, + "latitude" : 42.8651, + "longitude" : -71.4934, + "metro_code" : 506, + "time_zone" : "America/New_York" + }, + "postal" : { + "code" : "03054", + "confidence" : 40 + }, + "registered_country" : { + "geoname_id" : 6252001, + "iso_code" : "US", + "names" : { + "de" : "USA", + "en" : "United States", + "es" : "Estados Unidos", + "fr" : "États Unis", + "ja" : "アメリカ", + "pt-BR" : "EUA", + "ru" : "США", + "zh-CN" : "美国" + } + }, + "subdivisions" : [ { - "confidence": 80, - "geoname_id": 5090174, - "iso_code": "NH", - "names": { - "de": "New Hampshire", - "en": "New Hampshire", - "es": "Nueva Hampshire", - "fr": "New Hampshire", - "ja": "ニューハンプシャー州", - "pt-BR": "New Hampshire", - "ru": "Нью-Гэмпшир", - "zh-CN": "新罕布什尔州" - } - } - ] + "confidence" : 80, + "geoname_id" : 5090174, + "iso_code" : "NH", + "names" : { + "de" : "New Hampshire", + "en" : "New Hampshire", + "es" : "Nueva Hampshire", + "fr" : "New Hampshire", + "ja" : "ニューハンプシャー州", + "pt-BR" : "New Hampshire", + "ru" : "Нью-Гэмпшир", + "zh-CN" : "新罕布什尔州" + } + } + ] } }, { - "::214.61.39.4/128": { - "city": { - "confidence": 50, - "geoname_id": 4684888, - "names": { - "de": "Dallas", - "en": "Dallas", - "es": "Dallas", - "fr": "Dallas", - "ja": "ダラス", - "pt-BR": "Dallas", - "ru": "Даллас" - } - }, - "continent": { - "code": "NA", - "geoname_id": 6255149, - "names": { - "de": "Nordamerika", - "en": "North America", - "es": "Norteamérica", - "fr": "Amérique du Nord", - "ja": "北アメリカ", - "pt-BR": "América do Norte", - "ru": "Северная Америка", - "zh-CN": "北美洲" - } - }, - "country": { - "confidence": 99, - "geoname_id": 6252001, - "iso_code": "US", - "names": { - "de": "USA", - "en": "United States", - "es": "Estados Unidos", - "fr": "États Unis", - "ja": "アメリカ", - "pt-BR": "EUA", - "ru": "США", - "zh-CN": "美国" - } - }, - "location": { - "accuracy_radius": 20, - "latitude": 32.8137, - "longitude": -96.8704, - "metro_code": 623, - "time_zone": "America/Chicago" - }, - "postal": { - "code": "75247", - "confidence": 20 - }, - "registered_country": { - "geoname_id": 6252001, - "iso_code": "US", - "names": { - "de": "USA", - "en": "United States", - "es": "Estados Unidos", - "fr": "États Unis", - "ja": "アメリカ", - "pt-BR": "EUA", - "ru": "США", - "zh-CN": "美国" - } - }, - "subdivisions": [ + "::214.61.39.4/128" : { + "city" : { + "confidence" : 50, + "geoname_id" : 4684888, + "names" : { + "de" : "Dallas", + "en" : "Dallas", + "es" : "Dallas", + "fr" : "Dallas", + "ja" : "ダラス", + "pt-BR" : "Dallas", + "ru" : "Даллас" + } + }, + "continent" : { + "code" : "NA", + "geoname_id" : 6255149, + "names" : { + "de" : "Nordamerika", + "en" : "North America", + "es" : "Norteamérica", + "fr" : "Amérique du Nord", + "ja" : "北アメリカ", + "pt-BR" : "América do Norte", + "ru" : "Северная Америка", + "zh-CN" : "北美洲" + } + }, + "country" : { + "confidence" : 99, + "geoname_id" : 6252001, + "iso_code" : "US", + "names" : { + "de" : "USA", + "en" : "United States", + "es" : "Estados Unidos", + "fr" : "États Unis", + "ja" : "アメリカ", + "pt-BR" : "EUA", + "ru" : "США", + "zh-CN" : "美国" + } + }, + "location" : { + "accuracy_radius" : 20, + "latitude" : 32.8137, + "longitude" : -96.8704, + "metro_code" : 623, + "time_zone" : "America/Chicago" + }, + "postal" : { + "code" : "75247", + "confidence" : 20 + }, + "registered_country" : { + "geoname_id" : 6252001, + "iso_code" : "US", + "names" : { + "de" : "USA", + "en" : "United States", + "es" : "Estados Unidos", + "fr" : "États Unis", + "ja" : "アメリカ", + "pt-BR" : "EUA", + "ru" : "США", + "zh-CN" : "美国" + } + }, + "subdivisions" : [ { - "confidence": 80, - "geoname_id": 4736286, - "iso_code": "TX", - "names": { - "de": "Texas", - "en": "Texas", - "es": "Texas", - "fr": "Texas", - "ja": "テキサス州", - "pt-BR": "Texas", - "ru": "Техас", - "zh-CN": "得克萨斯州" - } - } - ] + "confidence" : 80, + "geoname_id" : 4736286, + "iso_code" : "TX", + "names" : { + "de" : "Texas", + "en" : "Texas", + "es" : "Texas", + "fr" : "Texas", + "ja" : "テキサス州", + "pt-BR" : "Texas", + "ru" : "Техас", + "zh-CN" : "得克萨斯州" + } + } + ] } }, { - "::214.61.39.5/128": { - "city": { - "confidence": 10, - "geoname_id": 4142601, - "names": { - "en": "Frankford" - } - }, - "continent": { - "code": "NA", - "geoname_id": 6255149, - "names": { - "de": "Nordamerika", - "en": "North America", - "es": "Norteamérica", - "fr": "Amérique du Nord", - "ja": "北アメリカ", - "pt-BR": "América do Norte", - "ru": "Северная Америка", - "zh-CN": "北美洲" - } - }, - "country": { - "confidence": 99, - "geoname_id": 6252001, - "iso_code": "US", - "names": { - "de": "USA", - "en": "United States", - "es": "Estados Unidos", - "fr": "États Unis", - "ja": "アメリカ", - "pt-BR": "EUA", - "ru": "США", - "zh-CN": "美国" - } - }, - "location": { - "accuracy_radius": 20, - "latitude": 38.5174, - "longitude": -75.1954, - "metro_code": 576, - "time_zone": "America/New_York" - }, - "postal": { - "code": "19945", - "confidence": 10 - }, - "registered_country": { - "geoname_id": 6252001, - "iso_code": "US", - "names": { - "de": "USA", - "en": "United States", - "es": "Estados Unidos", - "fr": "États Unis", - "ja": "アメリカ", - "pt-BR": "EUA", - "ru": "США", - "zh-CN": "美国" - } - }, - "subdivisions": [ + "::214.61.39.5/128" : { + "city" : { + "confidence" : 10, + "geoname_id" : 4142601, + "names" : { + "en" : "Frankford" + } + }, + "continent" : { + "code" : "NA", + "geoname_id" : 6255149, + "names" : { + "de" : "Nordamerika", + "en" : "North America", + "es" : "Norteamérica", + "fr" : "Amérique du Nord", + "ja" : "北アメリカ", + "pt-BR" : "América do Norte", + "ru" : "Северная Америка", + "zh-CN" : "北美洲" + } + }, + "country" : { + "confidence" : 99, + "geoname_id" : 6252001, + "iso_code" : "US", + "names" : { + "de" : "USA", + "en" : "United States", + "es" : "Estados Unidos", + "fr" : "États Unis", + "ja" : "アメリカ", + "pt-BR" : "EUA", + "ru" : "США", + "zh-CN" : "美国" + } + }, + "location" : { + "accuracy_radius" : 20, + "latitude" : 38.5174, + "longitude" : -75.1954, + "metro_code" : 576, + "time_zone" : "America/New_York" + }, + "postal" : { + "code" : "19945", + "confidence" : 10 + }, + "registered_country" : { + "geoname_id" : 6252001, + "iso_code" : "US", + "names" : { + "de" : "USA", + "en" : "United States", + "es" : "Estados Unidos", + "fr" : "États Unis", + "ja" : "アメリカ", + "pt-BR" : "EUA", + "ru" : "США", + "zh-CN" : "美国" + } + }, + "subdivisions" : [ { - "confidence": 80, - "geoname_id": 4142224, - "iso_code": "DE", - "names": { - "de": "Delaware", - "en": "Delaware", - "es": "Delaware", - "fr": "Delaware", - "ja": "デラウェア州", - "pt-BR": "Delauare", - "ru": "Делавэр", - "zh-CN": "特拉华州" - } - } - ] + "confidence" : 80, + "geoname_id" : 4142224, + "iso_code" : "DE", + "names" : { + "de" : "Delaware", + "en" : "Delaware", + "es" : "Delaware", + "fr" : "Delaware", + "ja" : "デラウェア州", + "pt-BR" : "Delauare", + "ru" : "Делавэр", + "zh-CN" : "特拉华州" + } + } + ] } }, { - "::214.61.39.6/128": { - "city": { - "confidence": 50, - "geoname_id": 5731371, - "names": { - "de": "Hillsboro", - "en": "Hillsboro", - "ja": "ヒルズボロ", - "ru": "Хиллсборо", - "zh-CN": "希尔斯伯勒" - } - }, - "continent": { - "code": "NA", - "geoname_id": 6255149, - "names": { - "de": "Nordamerika", - "en": "North America", - "es": "Norteamérica", - "fr": "Amérique du Nord", - "ja": "北アメリカ", - "pt-BR": "América do Norte", - "ru": "Северная Америка", - "zh-CN": "北美洲" - } - }, - "country": { - "confidence": 99, - "geoname_id": 6252001, - "iso_code": "US", - "names": { - "de": "USA", - "en": "United States", - "es": "Estados Unidos", - "fr": "États Unis", - "ja": "アメリカ", - "pt-BR": "EUA", - "ru": "США", - "zh-CN": "美国" - } - }, - "location": { - "accuracy_radius": 1000, - "latitude": 45.5397, - "longitude": -122.9638, - "metro_code": 820, - "time_zone": "America/Los_Angeles" - }, - "postal": { - "code": "97124", - "confidence": 20 - }, - "registered_country": { - "geoname_id": 6252001, - "iso_code": "US", - "names": { - "de": "USA", - "en": "United States", - "es": "Estados Unidos", - "fr": "États Unis", - "ja": "アメリカ", - "pt-BR": "EUA", - "ru": "США", - "zh-CN": "美国" - } - }, - "subdivisions": [ + "::214.61.39.6/128" : { + "city" : { + "confidence" : 50, + "geoname_id" : 5731371, + "names" : { + "de" : "Hillsboro", + "en" : "Hillsboro", + "ja" : "ヒルズボロ", + "ru" : "Хиллсборо", + "zh-CN" : "希尔斯伯勒" + } + }, + "continent" : { + "code" : "NA", + "geoname_id" : 6255149, + "names" : { + "de" : "Nordamerika", + "en" : "North America", + "es" : "Norteamérica", + "fr" : "Amérique du Nord", + "ja" : "北アメリカ", + "pt-BR" : "América do Norte", + "ru" : "Северная Америка", + "zh-CN" : "北美洲" + } + }, + "country" : { + "confidence" : 99, + "geoname_id" : 6252001, + "iso_code" : "US", + "names" : { + "de" : "USA", + "en" : "United States", + "es" : "Estados Unidos", + "fr" : "États Unis", + "ja" : "アメリカ", + "pt-BR" : "EUA", + "ru" : "США", + "zh-CN" : "美国" + } + }, + "location" : { + "accuracy_radius" : 1000, + "latitude" : 45.5397, + "longitude" : -122.9638, + "metro_code" : 820, + "time_zone" : "America/Los_Angeles" + }, + "postal" : { + "code" : "97124", + "confidence" : 20 + }, + "registered_country" : { + "geoname_id" : 6252001, + "iso_code" : "US", + "names" : { + "de" : "USA", + "en" : "United States", + "es" : "Estados Unidos", + "fr" : "États Unis", + "ja" : "アメリカ", + "pt-BR" : "EUA", + "ru" : "США", + "zh-CN" : "美国" + } + }, + "subdivisions" : [ { - "confidence": 80, - "geoname_id": 5744337, - "iso_code": "OR", - "names": { - "de": "Oregon", - "en": "Oregon", - "es": "Oregón", - "fr": "Oregon", - "ja": "オレゴン州", - "pt-BR": "Oregon", - "ru": "Орегон", - "zh-CN": "俄勒冈州" - } - } - ] + "confidence" : 80, + "geoname_id" : 5744337, + "iso_code" : "OR", + "names" : { + "de" : "Oregon", + "en" : "Oregon", + "es" : "Oregón", + "fr" : "Oregon", + "ja" : "オレゴン州", + "pt-BR" : "Oregon", + "ru" : "Орегон", + "zh-CN" : "俄勒冈州" + } + } + ] } }, { diff --git a/test-data/GeoIP2-Anonymous-IP-Test.mmdb b/test-data/GeoIP2-Anonymous-IP-Test.mmdb index 13774b7..291c795 100644 Binary files a/test-data/GeoIP2-Anonymous-IP-Test.mmdb and b/test-data/GeoIP2-Anonymous-IP-Test.mmdb differ diff --git a/test-data/GeoIP2-City-Test.mmdb b/test-data/GeoIP2-City-Test.mmdb index bc208fb..38ae901 100644 Binary files a/test-data/GeoIP2-City-Test.mmdb and b/test-data/GeoIP2-City-Test.mmdb differ diff --git a/test-data/GeoIP2-Connection-Type-Test.mmdb b/test-data/GeoIP2-Connection-Type-Test.mmdb index 2440cad..96f322b 100644 Binary files a/test-data/GeoIP2-Connection-Type-Test.mmdb and b/test-data/GeoIP2-Connection-Type-Test.mmdb differ diff --git a/test-data/GeoIP2-Country-Test.mmdb b/test-data/GeoIP2-Country-Test.mmdb index efe9f5d..3143cfb 100644 Binary files a/test-data/GeoIP2-Country-Test.mmdb and b/test-data/GeoIP2-Country-Test.mmdb differ diff --git a/test-data/GeoIP2-DensityIncome-Test.mmdb b/test-data/GeoIP2-DensityIncome-Test.mmdb index 0da5dfb..4c74a42 100644 Binary files a/test-data/GeoIP2-DensityIncome-Test.mmdb and b/test-data/GeoIP2-DensityIncome-Test.mmdb differ diff --git a/test-data/GeoIP2-Domain-Test.mmdb b/test-data/GeoIP2-Domain-Test.mmdb index fb079b0..3043655 100644 Binary files a/test-data/GeoIP2-Domain-Test.mmdb and b/test-data/GeoIP2-Domain-Test.mmdb differ diff --git a/test-data/GeoIP2-Enterprise-Test.mmdb b/test-data/GeoIP2-Enterprise-Test.mmdb index 2e69921..0da363a 100644 Binary files a/test-data/GeoIP2-Enterprise-Test.mmdb and b/test-data/GeoIP2-Enterprise-Test.mmdb differ diff --git a/test-data/GeoIP2-IP-Risk-Test.mmdb b/test-data/GeoIP2-IP-Risk-Test.mmdb index 1d86026..f92646d 100644 Binary files a/test-data/GeoIP2-IP-Risk-Test.mmdb and b/test-data/GeoIP2-IP-Risk-Test.mmdb differ diff --git a/test-data/GeoIP2-ISP-Test.mmdb b/test-data/GeoIP2-ISP-Test.mmdb index dd37963..3dc09db 100644 Binary files a/test-data/GeoIP2-ISP-Test.mmdb and b/test-data/GeoIP2-ISP-Test.mmdb differ diff --git a/test-data/GeoIP2-Precision-Enterprise-Test.mmdb b/test-data/GeoIP2-Precision-Enterprise-Test.mmdb index 70bf3e9..0d4a38a 100644 Binary files a/test-data/GeoIP2-Precision-Enterprise-Test.mmdb and b/test-data/GeoIP2-Precision-Enterprise-Test.mmdb differ diff --git a/test-data/GeoIP2-Static-IP-Score-Test.mmdb b/test-data/GeoIP2-Static-IP-Score-Test.mmdb index b1ef1cf..3eae602 100644 Binary files a/test-data/GeoIP2-Static-IP-Score-Test.mmdb and b/test-data/GeoIP2-Static-IP-Score-Test.mmdb differ diff --git a/test-data/GeoIP2-User-Count-Test.mmdb b/test-data/GeoIP2-User-Count-Test.mmdb index e672b40..3919e81 100644 Binary files a/test-data/GeoIP2-User-Count-Test.mmdb and b/test-data/GeoIP2-User-Count-Test.mmdb differ diff --git a/test-data/GeoLite2-ASN-Test.mmdb b/test-data/GeoLite2-ASN-Test.mmdb index 9945436..7387035 100644 Binary files a/test-data/GeoLite2-ASN-Test.mmdb and b/test-data/GeoLite2-ASN-Test.mmdb differ diff --git a/test-data/GeoLite2-City-Test.mmdb b/test-data/GeoLite2-City-Test.mmdb index 8b9bc14..224866b 100644 Binary files a/test-data/GeoLite2-City-Test.mmdb and b/test-data/GeoLite2-City-Test.mmdb differ diff --git a/test-data/GeoLite2-Country-Test.mmdb b/test-data/GeoLite2-Country-Test.mmdb index 884ea87..ea4265b 100644 Binary files a/test-data/GeoLite2-Country-Test.mmdb and b/test-data/GeoLite2-Country-Test.mmdb differ diff --git a/test-data/MaxMind-DB-no-ipv4-search-tree.mmdb b/test-data/MaxMind-DB-no-ipv4-search-tree.mmdb index d69e53e..0f56a83 100644 Binary files a/test-data/MaxMind-DB-no-ipv4-search-tree.mmdb and b/test-data/MaxMind-DB-no-ipv4-search-tree.mmdb differ diff --git a/test-data/MaxMind-DB-string-value-entries.mmdb b/test-data/MaxMind-DB-string-value-entries.mmdb index 573c89e..2c79c8c 100644 Binary files a/test-data/MaxMind-DB-string-value-entries.mmdb and b/test-data/MaxMind-DB-string-value-entries.mmdb differ diff --git a/test-data/MaxMind-DB-test-decoder.mmdb b/test-data/MaxMind-DB-test-decoder.mmdb index 5e270f1..633fa12 100644 Binary files a/test-data/MaxMind-DB-test-decoder.mmdb and b/test-data/MaxMind-DB-test-decoder.mmdb differ diff --git a/test-data/MaxMind-DB-test-ipv4-24.mmdb b/test-data/MaxMind-DB-test-ipv4-24.mmdb index 3f35e3c..eca925c 100644 Binary files a/test-data/MaxMind-DB-test-ipv4-24.mmdb and b/test-data/MaxMind-DB-test-ipv4-24.mmdb differ diff --git a/test-data/MaxMind-DB-test-ipv4-28.mmdb b/test-data/MaxMind-DB-test-ipv4-28.mmdb index c92b44d..557cc61 100644 Binary files a/test-data/MaxMind-DB-test-ipv4-28.mmdb and b/test-data/MaxMind-DB-test-ipv4-28.mmdb differ diff --git a/test-data/MaxMind-DB-test-ipv4-32.mmdb b/test-data/MaxMind-DB-test-ipv4-32.mmdb index 7631729..c274ceb 100644 Binary files a/test-data/MaxMind-DB-test-ipv4-32.mmdb and b/test-data/MaxMind-DB-test-ipv4-32.mmdb differ diff --git a/test-data/MaxMind-DB-test-ipv6-24.mmdb b/test-data/MaxMind-DB-test-ipv6-24.mmdb index 32067f1..f63e450 100644 Binary files a/test-data/MaxMind-DB-test-ipv6-24.mmdb and b/test-data/MaxMind-DB-test-ipv6-24.mmdb differ diff --git a/test-data/MaxMind-DB-test-ipv6-28.mmdb b/test-data/MaxMind-DB-test-ipv6-28.mmdb index cdb289f..15c1741 100644 Binary files a/test-data/MaxMind-DB-test-ipv6-28.mmdb and b/test-data/MaxMind-DB-test-ipv6-28.mmdb differ diff --git a/test-data/MaxMind-DB-test-ipv6-32.mmdb b/test-data/MaxMind-DB-test-ipv6-32.mmdb index 68b60ee..12afa56 100644 Binary files a/test-data/MaxMind-DB-test-ipv6-32.mmdb and b/test-data/MaxMind-DB-test-ipv6-32.mmdb differ diff --git a/test-data/MaxMind-DB-test-metadata-pointers.mmdb b/test-data/MaxMind-DB-test-metadata-pointers.mmdb index 722cd8e..65ab76c 100644 Binary files a/test-data/MaxMind-DB-test-metadata-pointers.mmdb and b/test-data/MaxMind-DB-test-metadata-pointers.mmdb differ diff --git a/test-data/MaxMind-DB-test-mixed-24.mmdb b/test-data/MaxMind-DB-test-mixed-24.mmdb index d4bc5fc..62ca997 100644 Binary files a/test-data/MaxMind-DB-test-mixed-24.mmdb and b/test-data/MaxMind-DB-test-mixed-24.mmdb differ diff --git a/test-data/MaxMind-DB-test-mixed-28.mmdb b/test-data/MaxMind-DB-test-mixed-28.mmdb index 7d9e6bb..498f119 100644 Binary files a/test-data/MaxMind-DB-test-mixed-28.mmdb and b/test-data/MaxMind-DB-test-mixed-28.mmdb differ diff --git a/test-data/MaxMind-DB-test-mixed-32.mmdb b/test-data/MaxMind-DB-test-mixed-32.mmdb index c0d0ce4..6e10f61 100644 Binary files a/test-data/MaxMind-DB-test-mixed-32.mmdb and b/test-data/MaxMind-DB-test-mixed-32.mmdb differ diff --git a/test-data/MaxMind-DB-test-nested.mmdb b/test-data/MaxMind-DB-test-nested.mmdb index aa34912..8d76495 100644 Binary files a/test-data/MaxMind-DB-test-nested.mmdb and b/test-data/MaxMind-DB-test-nested.mmdb differ