Skip to content

Provision and anisette-server 2.0.0

Compare
Choose a tag to compare
@Dadoum Dadoum released this 23 Apr 18:53
· 55 commits to main since this release
87eadc9

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 whatever XDG_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, and GET /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.