Closed gnarea closed 2 years ago
Hmm, one thing I just realised is that FirstPartyEndpoint.authorizeIndefinitely()
and FirstPartyEndpoint.issueAuthorization()
must actually return ByteArray
s -- otherwise we'd be leaking the Awala lib to the apps using this lib.
:tada: This PR is included in version 1.8.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:
Fixes #185. It's also worth highlighting the following:
FirstPartyEndpoint.authorizeIndefinitely()
, which is likeFirstPartyEndpoint.issueAuthorization()
, except that it tracks which 3rd party endpoints are authorised in order to renew their PDAs automatically.FirstPartyEndpoint.issueAuthorization()
but Letro will useFirstPartyEndpoint.authorizeIndefinitely()
.ChannelManager
), which exists in the Awala protocol suite and refers to an established communication channel between two endpoints (which is end-to-end encrypted and where both are mutually authorised to send messages to each other).FirstPartyEndpoint.reissuePDAs()
). This should be done as part of #175.CertificationPath
from the core Awala lib, which effectively duplicates the existingAuthorizationBundle
data class. Once this PR is merged, I'll create a separate PR to replace the remaining uses ofAuthorizationBundle
.Review notes
Of things that I'm likely to have got wrong here, I'd rank highly the use of
SharedPreferences
and coroutines (esp. where I have to specify a context explicitly), so please pay special attention to those.