Skip to content

Make ZKAPAuthorizer dependency optional #733

@crwood

Description

@crwood

Presently, Gridsync's builds of Tahoe-LAFS include a hard dependency on zero-knowledge-access-pass-authorizer in order to enable interoperability with storage grids that require zero-knowledge accesses passes (or "ZKAPs") in exchange for leases -- most notably, the PrivateStorage service.

ZKAPAuthorizer, however, is currently broken under newer versions of Tahoe-LAFS (1.19+) and/or its dependencies and, at present, lacks the maintenance support needed to ensure compatibility with current and future versions of Tahoe-LAFS and some of its core features (such as GBS and Tor support). The present situation, further, blocks the development of some improvements in Gridsync (such as the forthcoming Recovery Phrases feature) and can complicate or delay the shipping of security updates in the future.

Accordingly, Gridsync's hard requirement on ZKAPAuthorizer should be loosened instead to an optional dependency (via, e.g., a feature flag, build time option, setuptools "extra", or similar) such that a) Gridsync users can access newer versions of Tahoe-LAFS and its benefits on regular (i.e., non-ZKAPs-enabled) grids, while b) users that require ZKAPAuthorizer can continue to do via a separate build and/or some other configuration option (TBD).

cc @laurih01 @hacklschorsch

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions