Provision and anisette-server 2.0.0
This is again a huge update. A lot of breaking changes.
general changes
- Now following the XDG standard and put files in
~/.config/Provision
or whateverXDG_CONFIG_HOME
says if set. - Device information is no longer derived from the computer informations. It is now randomly generated and stored as a JSON file next to
adi.pb
. - Getting closer to Windows support.
anisette-server
Changes
- breaking Removed the /version endpoint in favour of a Implementation-Version header
- breaking The /reprovision endpoint is disabled by default, use
--allow-remote-reprovisioning
to enable it back - breaking anisette-server does no longer respond to requests on random endpoints. Use
GET /
to get data, andGET /reprovision
to reprovision. - In general, anisette-server is more reluctant to reprovision. It won't do it anymore until it's required.
- anisette-server logs more stuff.
new mkcassette: pre-generate anisette-data
It generates concurrently OTPs for the next 3 months by default and can be configured to generate more or less as you want. See mkcassette --help
for more information.
The file format (Anisette cassettes) can be seen in the code yet. Documentation will be added when people will confirm that it is useful to them as is (I may add more fields if people needs those).
retrieve-headers
It lost all of its function to be used as-is, and is now closer to an example of how to use libprovision. If you relied on retrieve-headers, make a DUB package depending on libprovision instead, copy paste the code and edit it to tailor your needs.
libprovision
A big overhaul! The underlying code is almost entirely different! If you were using libprovision 1.2.0, 1.3.0 has completely different API, way closer to the AuthKit API.
- ADI is now a class. It has now only the CoreADI functions. If you want to provision the device, use a ProvisioningSession that will do the requests for you. Its constructor isn't taking the identifier of the machine, but the library path instead.
- A device is now represented with the Device class. It is now not derived at all from your device information, and is stored next to the ADI file.
- To provision the machine, you now have to use a ProvisioningSession. A ProvisioningSession takes one ADI and one Device, and has one function: provision.
- ADI can now be synchronized.
- Provision's AnisetteException has been renamed into ADIException and now contains the underlying error.
- C bindings have been removed. They will probably be added later if someone need those.
If you like what I do, consider donating <3.