Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

{
    "instances": instances (list, required),
    "seq": [YEAR][MONTH][DAY][UPDATESEQUENCE NUMBER] (integer, required); e.g. ISO 8601 date plus two-digit sequential integer 2023020908, meaning: 2023, february 9, update 8),
    "version": 1 (integer, required); always set to 1 right now,
}

The last part of the "seq" field is used to indicate the nth update of the day, starting at 0. If an old update cannot be found it starts at 80, seeindicates the version of the discovery file and should always increase between updates. A common implementation is the ISO 8601 date (YYYYMMDD) plus two digits for any revision during that day (compare DNS SOA serial). See https://github.com/geteduroam/cattenbak/blob/481e243f22b40e1d8d48ecac2b85705b8cb48494/cattenbak.py#L115 for how it works can be implemented in detail. It is currently undecided if However, clients should parse this to exactly match the format. In this client, we currently do this; meaning we parse the year month day and check for the update number. An alternative way is to parse this just as an integer without any meaning except that a newer version has a higher numberonly use the seq identifier to distinguish old from new and not strictly parse this as a date.

To protect against rollback attacks, the client MUST check if the sequence number has updated.

...