Snapcraft Resync GeoIP database

Bug #2069259 reported by Justin Shepherd
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Snap Store Server
New
Undecided
Unassigned

Bug Description

I am unable to access Slack downloads from the Snap Store due to geo-restrictions. Although I am located in an accepted country (Australia), my IP subnet range is incorrectly detected as being from a non-acceptable country. My ISP acquired the subnet range last quarter and has updated the GeoIP API providers with the correct information for my subnet, but Snapcraft needs to resync with their GeoIP provider for the correct, up-to-date information.

Steps to Reproduce:

1. Attempt to download a snap (e.g., Slack) from Australia with specific ip (able to provide subnet range on request)
2. Observe the download failure.

```sudo snap install slack
error: snap "slack" not found```

3. Accessing API link for example (https://api.snapcraft.io/api/v1/snaps/download/JUJH91Ved74jd4ZgJCpzMBtYbPOzTlsD_149.snap) results in `{"error_list":[{"code":"resource-not-found","message":"Cannot download JUJH91Ved74jd4ZgJCpzMBtYbPOzTlsD_149.snap:."}],"errors":["Cannot download JUJH91Ved74jd4ZgJCpzMBtYbPOzTlsD_149.snap:."],"result":"error"}`

4. Repeat the same steps above on a VPN connected to Australia, the issue does not occur.

5. Further reproduce steps in the forum post https://forum.snapcraft.io/t/slack-not-able-to-download-in-australia/40331

Expected Result:
The snap should download without any issues, correctly identifying the user's geographical location.

Actual Result:
The download fails, showing a "not found" error, indicating issues with the GeoIP data being used by Snapcraft.

Additional Details:

- After a lengthy discussion with the network engineers at my ISP, we've determined that the IPv4 subnet acquired last quarter has had some IP location issues. However, they've contacted all major GeoIP API providers (IP2Location, Maxmind, IPGeolocation.io, etc.) to update their master lists. Now, services using these providers, such as Snapcraft, need to resync to the latest GeoIP information.

- Based on the forum post https://forum.snapcraft.io/t/freecad-snap-mia/22040, it appears there is no internal process within Snapcraft for regularly updating the GeoIP database. It might be updated manually, but the frequency of these updates is unclear.
- I created a forum post discussing my own issue: https://forum.snapcraft.io/t/slack-not-able-to-download-in-australia/40331.

Suggested Fix:

Resync Snapcraft's GeoIP database with their GeoIP provider to ensure it has the latest information, including the newly allocated IP subnets.

Thanks

Revision history for this message
Callahan Kovacs (mr-cal) wrote :

Hi Justin,

Sorry about the trouble this has been causing. I've moved this to the snapstore-server project. It looks like there is an internal bug related to auto-releasing geoip data. I've asked in that ticket if they can help.

By the way, if you haven't seen this page you may find it helpful: http://geoip.ubuntu.com/lookup

affects: snapcraft → snapstore-server
Revision history for this message
Callahan Kovacs (mr-cal) wrote :

Hi Justin,

The GeoIP database has been updated. Can you try again and see if you can download snaps now?

Revision history for this message
Justin Shepherd (justin-shepherd) wrote :

Hey Callahan,

I'm getting an appropriate response from the API link now and I can also use Snap to download the package without it returning the error.

Thanks again for following up on this issue, really appreciative!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.