-
Notifications
You must be signed in to change notification settings - Fork 26
Make ZKAPAuthorizer dependency optional #733
Description
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).