<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-geoip/src, branch arti-v2.4.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.4.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.4.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-04-16T19:34:57Z</updated>
<entry>
<title>geoip: Use tor-geoip-db as source of data.</title>
<updated>2026-04-16T19:34:57Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-04-16T19:34:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4ccad2ae681faf01494d99396005371a1123e10f'/>
<id>urn:sha1:4ccad2ae681faf01494d99396005371a1123e10f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>geoip: Add export functionality</title>
<updated>2026-04-16T19:34:57Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-04-16T18:15:55Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=90a838d9a1460cbcd28f39d356e8fa05bfd204e7'/>
<id>urn:sha1:90a838d9a1460cbcd28f39d356e8fa05bfd204e7</id>
<content type='text'>
This is perma-unstable: We'll use it to make an export tool,
but that's it.
</content>
</entry>
<entry>
<title>geoip: Mark CountryCode as repr(transparent)</title>
<updated>2026-04-16T19:34:57Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-04-16T17:57:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=eda24cc109884659944f0a554d1b7a39ad0000a0'/>
<id>urn:sha1:eda24cc109884659944f0a554d1b7a39ad0000a0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>geoip: Change CountryCode to NonZeroU16 internally</title>
<updated>2026-04-16T19:34:56Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-04-15T22:49:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=43c5f3786b8748f914f7f0e9eca352e4ea67bdec'/>
<id>urn:sha1:43c5f3786b8748f914f7f0e9eca352e4ea67bdec</id>
<content type='text'>
This lets us guarantee that every bit sequence is a valid
Option&lt;CountryCode&gt;.
</content>
</entry>
<entry>
<title>geoip: Change DenseRangeMap to use Cow.</title>
<updated>2026-04-16T17:36:10Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-04-15T22:19:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f86a6eacf29f82112d360984ed7b40d0a57d7d4b'/>
<id>urn:sha1:f86a6eacf29f82112d360984ed7b40d0a57d7d4b</id>
<content type='text'>
This change allows us to provide the parts of the DenseRangeMap
on the data segment.
</content>
</entry>
<entry>
<title>geoip: rename internal get to get1.</title>
<updated>2026-04-16T03:13:27Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-04-16T03:13:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dfe97a2ae79dadc38d1c6f122536bd43cc112ba2'/>
<id>urn:sha1:dfe97a2ae79dadc38d1c6f122536bd43cc112ba2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>geoip: Make asn data conditional.</title>
<updated>2026-04-16T03:12:06Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-04-16T01:51:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=fc669b61e745ddf7277d3a3e807c9ba68bf21f6a'/>
<id>urn:sha1:fc669b61e745ddf7277d3a3e807c9ba68bf21f6a</id>
<content type='text'>
This abolishes the NetDefn type, and turns DenseRangeDb into a map to
one or (optionally!) two types.

For the DBs we ship, which don't have asn information, this saves
about 2.5 MiB.

(It also probably saves a bit more, since the niche optimization
didn't apply to NetDefn as it existed before, since it tried
to distinguish Some(None,None) from None.)
</content>
</entry>
<entry>
<title>geoip: Migrate code to DenseRangeMap.</title>
<updated>2026-04-16T03:12:06Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-04-15T20:05:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e010fa4f7408e97cbd55af486c886d402d9049f1'/>
<id>urn:sha1:e010fa4f7408e97cbd55af486c886d402d9049f1</id>
<content type='text'>
This required correcting some errors in our previous
ersatz geoip databases.
</content>
</entry>
<entry>
<title>geoip: Extract common line-parsing code.</title>
<updated>2026-04-16T03:12:06Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-04-15T19:10:53Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4e332ecd68bcd81895573c7a2460e2c85cceb9bc'/>
<id>urn:sha1:4e332ecd68bcd81895573c7a2460e2c85cceb9bc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>geoip: Add new internal DenseRangeMap type</title>
<updated>2026-04-16T03:12:06Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-04-15T18:49:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2bdca78ac033b665c94d81799c3ad27c6af20dd9'/>
<id>urn:sha1:2bdca78ac033b665c94d81799c3ad27c6af20dd9</id>
<content type='text'>
This type is more space-efficient than RangeInclusiveMap
in the case where most ranges do not have gaps between them.
</content>
</entry>
</feed>
