Attached Files | IpToCountry_draft-linda-extensible-spec-00.dat.SPECS.txt [^] (5,220 bytes) 2022-09-07 18:12 [Show Content] [Hide Content]IpToCountry.dat - Version 32768 (draft-linda-extensible-spec-00)
================================================================
Introduction
------------
This document specifies updates for the the IpToCountry.dat version 3
specification. This document aims to improve the extensibility of the
specification for interoperability of IpToCountry.dat versions and provide a
standardized method of allocation of various fields for interoperability and
some governance. This document also suggests relaxing experienced restrictions
on IpToCountry.dat version for interoperability.
Updates to main file structure
------------------------------
The main file structure's Version field is updated as follows:
Field | Size | Description
-----------------------------------
Version | USHORT | Integer value 1-65534.
In addition, for the Version value:
- The values 0 and 65535 are marked as reserved.
- The values 32768 to 49151 inclusive are to be assigned to draft specification
implementations.
- The values 49152 to 65534 inclusive are for private use and cannot be
registered.
The Version field value MUST be defined with a valid range value by
implementations conforming to this specification. Implementations
non-conforming to this specification SHOULD omit the Version field or set its
integer value as 0 to indicate non-compliance.
Registry
--------
A standards body SHOULD maintain a registry of known Version field data with
references to appropriate specifications at a known URI.
[Author's note: The URI is unspecified by this draft version and should be
discussed and added.]
Standards body considerations
-----------------------------
In the main file structure, Version values 1 to 3 inclusive are to be assigned
to maintainers and distributors of Doomseeker via DRDTeam ("Zalewa" and
"Blzut3", hereforth also "The Doomseeker Team") as a grandfather policy for
existing implementations (Doomseeker 1.3.3-24-ga1c716cf and prior).
The version value 32768 is to be assigned to this draft specification update,
and MAY be used to optionally indicate conformance up to this draft version of
the specification. Subsequent published updates to this draft should use an
unique non-overlapping version number.
If multiple standards bodies exist for IpToCountry.dat specifications, those
standards bodies conforming to this specification MUST cooperate together when
possible to avoid creating interoperability issues with overlapping assigned
field values.
(In lieu of an agreed standards body and rules for governance of said standards
body, the author suggests this document's standardization MAY be governed by
Zalewa and Blzut3 for their previous maintainership and origins of Doomseeker
and version 3 of the IpToCountry.dat specification, until such standards body,
its members and governance are initially formed and agreed upon by an election
vote process and discussion.)
Code considerations
-------------------
As of Doomseeker 1.3.3-24-ga1c716cf, only version 2 and 3 IpToCountry.dat files
can be read. Due to version 3 missing specification for IPv6 GeoIP data, a new
specification version will be needed to add support for a new IPv6 geodata
section, which in turn would be unnecessarily incompatible with existing
Doomseeker code or require spoofing the IpToCountry.dat version as 3 for
backwards compatibility while such spoofing would otherwise not be needed.
(Support for IPv6 geodata is not specified by this document.)
Therefore for compatibility with this specification, Doomseeker and derivative
works conforming to this specification SHOULD NOT reject IpToCountry.dat files
with unrecognized version values in the range of 1-65534, and SHOULD attempt to
process files with valid data to the best of its technical ability for
backwards compatibility.
Programs dealing with unsupported and unrecognized fields MUST ignore
unrecognized/unsupported IpToCountry.dat sections and fields. The behavior for
errors is otherwise undefined by this document, particularly for recognized
versions with severe known implementation or interoperability issues, which
SHOULD be deprecated by separate document updates.
Security considerations
-----------------------
This specification does not change the security properties of the
IpToCountry.dat file format.
Relaxing the version values for acceptance other than 2 or 3 in Doomseeker code
is not seen to change or avoid the possibility non-valid and incompatible IP2C
data disguised as version 2 or 3 data for any malicious data parsing attacks.
The code considerations section further aims to standardize version and error
handling.
The version value size remains unchanged by this specification for memory
safety.
Authors
=======
This document was authored and edited by Linda Lapinlampi.
Copyright
=========
Copyright (C) 2022 Linda Lapinlampi <linda@lindalap.fi>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without any warranty.
|