﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
240	"reinstate ""extra"" named `foolscap[secure_connections]`"	Brian Warner		"Once upon a time, Foolscap was able to run in a non-secure mode, without the OpenSSL library. Applications which wanted this non-secure mode would use `install_requires=[""foolscap""]` in their setup.py, which would let them import `UnauthenticatedTub` but not the normal (authenticated) `Tub`.

If they wanted secure connections, they needed to depend upon `foolscap[secure_connections]` instead, which triggered the setuptools ""extras"" feature. ""Extras"" allow package A to say ""I want to use package B, plus some special B+ feature that isn't the default"". They also allow package B to say ""if someone wants B+, then I'm gonna need to depend on C in addition to my usual dependencies"". B expresses this with an `extras_require={""secure_connections"": [""pyOpenSSL""]}` line in setup.py.

Foolscap versions 0.2.8 through 0.6.3 (inclusive) recognized the `secure_connections` extra. It was removed in 0.6.4 because it was unreliable (#174). Foolscap-0.8.0 made the SSL dependency mandatory, and removed !UnauthenticatedTub.

Tahoe versions 1.3.0 through 1.8.2 (inclusive) depended on `foolscap[secure_connections]`. Tahoe-1.9.0 removed the extra, because at that point the current Foolscap release did not recognize it, which caused builds to break (as they were unable to satify the requirement).

I'm thinking that maybe we ought to bring back the flag, for the benefit of folks trying to build older versions of Tahoe against the current version of Foolscap. Sometimes I do this for comparative/historical performance tests, and it's a nuisance to edit the old Tahoe trees to comment out the flag.
"	defect	closed	minor	0.9.0	packaging	0.7.0	wontfix		
