dap 1.2.3 → 1.2.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.
- checksums.yaml +4 -4
- data/lib/dap/filter/geoip2.rb +15 -4
- data/lib/dap/version.rb +1 -1
- data/test/filters.bats +7 -7
- metadata +1 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 5216e88424416f1b06fb328a2a3b4b28a5c93c44
         | 
| 4 | 
            +
              data.tar.gz: 3b21dab02840393f8d6d580448e4dcbf61803d7b
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 34bbffa7bb37066f54f37bbb8e26e54e8a7659253136be275faf97576276891cd26846925ff658e70c606a62f9aab526a9d7e0e8f85b6d60328dae2591517e98
         | 
| 7 | 
            +
              data.tar.gz: db81593c49caeb605f777a91fa511170367569bb3a958bb9f6aaeaafd85e94abd08ae478ec22947b308c02991efbd36ec1f537cf79c4fc43ff60e73897c6b06e
         | 
    
        data/lib/dap/filter/geoip2.rb
    CHANGED
    
    | @@ -33,6 +33,15 @@ module GeoIP2Library | |
| 33 33 | 
             
                nil
         | 
| 34 34 | 
             
              end
         | 
| 35 35 |  | 
| 36 | 
            +
              def remove_empties(hash)
         | 
| 37 | 
            +
                hash.each_pair do |k,v|
         | 
| 38 | 
            +
                  if v.empty?
         | 
| 39 | 
            +
                    hash.delete(k)
         | 
| 40 | 
            +
                  end
         | 
| 41 | 
            +
                end
         | 
| 42 | 
            +
                hash
         | 
| 43 | 
            +
              end
         | 
| 44 | 
            +
             | 
| 36 45 | 
             
              @@geo_asn = find_db(GEOIP2_ASN, GEOIP2_DIRS, ENV["GEOIP2_ASN_DATABASE_PATH"])
         | 
| 37 46 | 
             
              @@geo_city = find_db(GEOIP2_CITY, GEOIP2_DIRS, ENV["GEOIP2_CITY_DATABASE_PATH"])
         | 
| 38 47 | 
             
              @@geo_isp = find_db(GEOIP2_ISP, GEOIP2_DIRS, ENV["GEOIP2_ISP_DATABASE_PATH"])
         | 
| @@ -101,7 +110,8 @@ class FilterGeoIP2City | |
| 101 110 | 
             
                    ret["geoip2.city.#{lsn_renamed}"] = v
         | 
| 102 111 | 
             
                  end
         | 
| 103 112 | 
             
                end
         | 
| 104 | 
            -
             | 
| 113 | 
            +
             | 
| 114 | 
            +
                remove_empties(ret)
         | 
| 105 115 | 
             
              end
         | 
| 106 116 |  | 
| 107 117 | 
             
              def defaults()
         | 
| @@ -150,7 +160,7 @@ class FilterGeoIP2Asn | |
| 150 160 | 
             
                  ret["geoip2.asn.asn_org"] = ""
         | 
| 151 161 | 
             
                end
         | 
| 152 162 |  | 
| 153 | 
            -
                ret
         | 
| 163 | 
            +
                remove_empties(ret)
         | 
| 154 164 | 
             
              end
         | 
| 155 165 | 
             
            end
         | 
| 156 166 |  | 
| @@ -193,7 +203,7 @@ class FilterGeoIP2Isp | |
| 193 203 | 
             
                  ret["geoip2.isp.org"] = ""
         | 
| 194 204 | 
             
                end
         | 
| 195 205 |  | 
| 196 | 
            -
                ret
         | 
| 206 | 
            +
                remove_empties(ret)
         | 
| 197 207 | 
             
              end
         | 
| 198 208 | 
             
            end
         | 
| 199 209 |  | 
| @@ -202,6 +212,7 @@ end | |
| 202 212 | 
             
            #
         | 
| 203 213 | 
             
            class FilterGeoIP2LegacyCompat
         | 
| 204 214 | 
             
              include Base
         | 
| 215 | 
            +
              include GeoIP2Library
         | 
| 205 216 |  | 
| 206 217 | 
             
              attr_accessor :base_field
         | 
| 207 218 |  | 
| @@ -278,7 +289,7 @@ class FilterGeoIP2LegacyCompat | |
| 278 289 | 
             
                  end
         | 
| 279 290 | 
             
                end
         | 
| 280 291 |  | 
| 281 | 
            -
                [ doc ]
         | 
| 292 | 
            +
                [ remove_empties(doc) ]
         | 
| 282 293 | 
             
              end
         | 
| 283 294 | 
             
            end
         | 
| 284 295 |  | 
    
        data/lib/dap/version.rb
    CHANGED
    
    
    
        data/test/filters.bats
    CHANGED
    
    | @@ -149,17 +149,17 @@ load ./test_common | |
| 149 149 | 
             
              # test with default language
         | 
| 150 150 | 
             
              run bash -c "echo 81.2.69.142 | GEOIP2_CITY_DATABASE_PATH=test/test_data/geoip2/GeoIP2-City-Test.mmdb $DAP_EXECUTABLE lines + geo_ip2_city line + json | jq -Sc -r ."
         | 
| 151 151 | 
             
              assert_success
         | 
| 152 | 
            -
              assert_output '{"line":"81.2.69.142","line.geoip2.city.city.geoname_id":"2643743","line.geoip2.city.city.name":"London","line.geoip2.city.continent.code":"EU","line.geoip2.city.continent.geoname_id":"6255148","line.geoip2.city.continent.name":"Europe","line.geoip2.city.country.geoname_id":"2635167","line.geoip2.city.country.is_in_european_union":"true","line.geoip2.city.country.iso_code":"GB","line.geoip2.city.country.name":"United Kingdom","line.geoip2.city.location.accuracy_radius":"10","line.geoip2.city.location.latitude":"51.5142","line.geoip2.city.location.longitude":"-0.0931","line.geoip2.city.location.metro_code":"0","line.geoip2.city.location.time_zone":"Europe/London","line.geoip2.city. | 
| 152 | 
            +
              assert_output '{"line":"81.2.69.142","line.geoip2.city.city.geoname_id":"2643743","line.geoip2.city.city.name":"London","line.geoip2.city.continent.code":"EU","line.geoip2.city.continent.geoname_id":"6255148","line.geoip2.city.continent.name":"Europe","line.geoip2.city.country.geoname_id":"2635167","line.geoip2.city.country.is_in_european_union":"true","line.geoip2.city.country.iso_code":"GB","line.geoip2.city.country.name":"United Kingdom","line.geoip2.city.location.accuracy_radius":"10","line.geoip2.city.location.latitude":"51.5142","line.geoip2.city.location.longitude":"-0.0931","line.geoip2.city.location.metro_code":"0","line.geoip2.city.location.time_zone":"Europe/London","line.geoip2.city.registered_country.geoname_id":"6252001","line.geoip2.city.registered_country.is_in_european_union":"false","line.geoip2.city.registered_country.iso_code":"US","line.geoip2.city.registered_country.name":"United States","line.geoip2.city.represented_country.geoname_id":"0","line.geoip2.city.represented_country.is_in_european_union":"false","line.geoip2.city.subdivisions.0.geoname_id":"6269131","line.geoip2.city.subdivisions.0.iso_code":"ENG","line.geoip2.city.subdivisions.0.name":"England","line.geoip2.city.subdivisions.length":"1","line.geoip2.city.traits.is_anonymous_proxy":"false","line.geoip2.city.traits.is_satellite_provider":"false"}'
         | 
| 153 153 |  | 
| 154 154 | 
             
              # test with non-default language
         | 
| 155 155 | 
             
              run bash -c "echo 67.43.156.0 | GEOIP2_CITY_DATABASE_PATH=test/test_data/geoip2/GeoIP2-City-Test.mmdb GEOIP2_LANGUAGE=fr $DAP_EXECUTABLE lines + geo_ip2_city line + json | jq -Sc -r ."
         | 
| 156 156 | 
             
              assert_success
         | 
| 157 | 
            -
              assert_output '{"line":"67.43.156.0","line.geoip2.city.city.geoname_id":"0","line.geoip2.city.continent.code":"AS","line.geoip2.city.continent.geoname_id":"6255147","line.geoip2.city.continent.name":"Asie","line.geoip2.city.country.geoname_id":"1252634","line.geoip2.city.country.is_in_european_union":"false","line.geoip2.city.country.iso_code":"BT","line.geoip2.city.country.name":"Bhutan","line.geoip2.city.location.accuracy_radius":"534","line.geoip2.city.location.latitude":"27.5","line.geoip2.city.location.longitude":"90.5","line.geoip2.city.location.metro_code":"0","line.geoip2.city.location.time_zone":"Asia/Thimphu","line.geoip2.city. | 
| 157 | 
            +
              assert_output '{"line":"67.43.156.0","line.geoip2.city.city.geoname_id":"0","line.geoip2.city.continent.code":"AS","line.geoip2.city.continent.geoname_id":"6255147","line.geoip2.city.continent.name":"Asie","line.geoip2.city.country.geoname_id":"1252634","line.geoip2.city.country.is_in_european_union":"false","line.geoip2.city.country.iso_code":"BT","line.geoip2.city.country.name":"Bhutan","line.geoip2.city.location.accuracy_radius":"534","line.geoip2.city.location.latitude":"27.5","line.geoip2.city.location.longitude":"90.5","line.geoip2.city.location.metro_code":"0","line.geoip2.city.location.time_zone":"Asia/Thimphu","line.geoip2.city.registered_country.geoname_id":"798549","line.geoip2.city.registered_country.is_in_european_union":"true","line.geoip2.city.registered_country.iso_code":"RO","line.geoip2.city.registered_country.name":"Roumanie","line.geoip2.city.represented_country.geoname_id":"0","line.geoip2.city.represented_country.is_in_european_union":"false","line.geoip2.city.traits.is_anonymous_proxy":"true","line.geoip2.city.traits.is_satellite_provider":"false"}'
         | 
| 158 158 |  | 
| 159 159 | 
             
              # test IPv6
         | 
| 160 160 | 
             
              run bash -c "echo 2a02:d9c0:: | GEOIP2_CITY_DATABASE_PATH=test/test_data/geoip2/GeoIP2-City-Test.mmdb $DAP_EXECUTABLE lines + geo_ip2_city line + json | jq -Sc -r ."
         | 
| 161 161 | 
             
              assert_success
         | 
| 162 | 
            -
              assert_output '{"line":"2a02:d9c0::","line.geoip2.city.city.geoname_id":"0","line.geoip2.city.continent.code":"AS","line.geoip2.city.continent.geoname_id":"6255147","line.geoip2.city.continent.name":"Asia","line.geoip2.city.country.geoname_id":"298795","line.geoip2.city.country.is_in_european_union":"false","line.geoip2.city.country.iso_code":"TR","line.geoip2.city.country.name":"Turkey","line.geoip2.city.location.accuracy_radius":"100","line.geoip2.city.location.latitude":"39.05901","line.geoip2.city.location.longitude":"34.91155","line.geoip2.city.location.metro_code":"0","line.geoip2.city.location.time_zone":"Europe/Istanbul","line.geoip2.city. | 
| 162 | 
            +
              assert_output '{"line":"2a02:d9c0::","line.geoip2.city.city.geoname_id":"0","line.geoip2.city.continent.code":"AS","line.geoip2.city.continent.geoname_id":"6255147","line.geoip2.city.continent.name":"Asia","line.geoip2.city.country.geoname_id":"298795","line.geoip2.city.country.is_in_european_union":"false","line.geoip2.city.country.iso_code":"TR","line.geoip2.city.country.name":"Turkey","line.geoip2.city.location.accuracy_radius":"100","line.geoip2.city.location.latitude":"39.05901","line.geoip2.city.location.longitude":"34.91155","line.geoip2.city.location.metro_code":"0","line.geoip2.city.location.time_zone":"Europe/Istanbul","line.geoip2.city.registered_country.geoname_id":"298795","line.geoip2.city.registered_country.is_in_european_union":"false","line.geoip2.city.registered_country.iso_code":"TR","line.geoip2.city.registered_country.name":"Turkey","line.geoip2.city.represented_country.geoname_id":"0","line.geoip2.city.represented_country.is_in_european_union":"false","line.geoip2.city.traits.is_anonymous_proxy":"false","line.geoip2.city.traits.is_satellite_provider":"false"}'
         | 
| 163 163 | 
             
            }
         | 
| 164 164 |  | 
| 165 165 | 
             
            @test "geo_ip2_asn" {
         | 
| @@ -175,20 +175,20 @@ load ./test_common | |
| 175 175 |  | 
| 176 176 | 
             
            @test "geo_ip2_isp" {
         | 
| 177 177 | 
             
              run bash -c "echo -e '12.81.92.0\n2600:7000::' | GEOIP2_ISP_DATABASE_PATH=test/test_data/geoip2/GeoIP2-ISP-Test.mmdb $DAP_EXECUTABLE lines + geo_ip2_isp line + json | jq -Sc -r ."
         | 
| 178 | 
            -
              assert_line --index 0 '{"line":"12.81.92.0","line.geoip2.isp.asn":"AS7018","line.geoip2.isp. | 
| 178 | 
            +
              assert_line --index 0 '{"line":"12.81.92.0","line.geoip2.isp.asn":"AS7018","line.geoip2.isp.isp":"AT&T Services","line.geoip2.isp.org":"AT&T Services"}'
         | 
| 179 179 | 
             
              # test IPv6
         | 
| 180 | 
            -
              assert_line --index 1 '{"line":"2600:7000::","line.geoip2.isp.asn":"AS6939","line.geoip2.isp.asn_org":"Hurricane Electric, Inc." | 
| 180 | 
            +
              assert_line --index 1 '{"line":"2600:7000::","line.geoip2.isp.asn":"AS6939","line.geoip2.isp.asn_org":"Hurricane Electric, Inc."}'
         | 
| 181 181 | 
             
            }
         | 
| 182 182 |  | 
| 183 183 | 
             
            @test "geo_ip2_legacy_compat" {
         | 
| 184 184 | 
             
              run bash -c "echo -e '81.2.69.142\n12.81.92.0\n2a02:d9c0::\n2a01:1000::' | GEOIP2_ASN_DATABASE_PATH=test/test_data/geoip2/GeoLite2-ASN-Test.mmdb GEOIP2_CITY_DATABASE_PATH=test/test_data/geoip2/GeoIP2-City-Test.mmdb GEOIP2_ISP_DATABASE_PATH=test/test_data/geoip2/GeoIP2-ISP-Test.mmdb $DAP_EXECUTABLE lines + geo_ip2_city line + geo_ip2_asn line + geo_ip2_isp line + geo_ip2_legacy_compat line + match_remove line.geoip2 + json | jq -Sc -r ."
         | 
| 185 185 | 
             
              assert_success
         | 
| 186 186 | 
             
              # this one only has city data, not ASN/org/ISP
         | 
| 187 | 
            -
              assert_line --index 0 '{"line":"81.2.69.142","line.city":"London","line.country_code":"GB","line.country_name":"United Kingdom","line.latitude":"51.5142","line.longitude":"-0.0931","line. | 
| 187 | 
            +
              assert_line --index 0 '{"line":"81.2.69.142","line.city":"London","line.country_code":"GB","line.country_name":"United Kingdom","line.latitude":"51.5142","line.longitude":"-0.0931","line.region":"ENG","line.region_name":"England"}'
         | 
| 188 188 | 
             
              # this one has ASN/org data in the test databases but none in the city DB
         | 
| 189 189 | 
             
              assert_line --index 1 '{"line":"12.81.92.0","line.asn":"AS7018","line.org":"AT&T Services"}'
         | 
| 190 190 | 
             
              # exists only city
         | 
| 191 | 
            -
              assert_line --index 2 '{"line":"2a02:d9c0::","line.country_code":"TR","line.country_name":"Turkey","line.latitude":"39.05901","line.longitude":"34.91155" | 
| 191 | 
            +
              assert_line --index 2 '{"line":"2a02:d9c0::","line.country_code":"TR","line.country_name":"Turkey","line.latitude":"39.05901","line.longitude":"34.91155"}'
         | 
| 192 192 | 
             
              # exists in ISP
         | 
| 193 193 | 
             
              assert_line --index 3 '{"line":"2a01:1000::","line.asn":"AS5617","line.org":"Telekomunikacja Polska S.A."}'
         | 
| 194 194 | 
             
            }
         |