Gearing up (again) for the next release: 2014.2.0.0
Vincent Hanquez
tab at snarc.org
Wed Apr 9 12:19:56 UTC 2014
On 2014-04-08 16:29, Gregory Collins wrote:
>
> On Tue, Apr 8, 2014 at 5:10 PM, Michael Snoyman <michael at snoyman.com
> <mailto:michael at snoyman.com>> wrote:
>
> I know people have raised security concerns about using the tls
> package due to lack of testing relative to OpenSSL, but I'm not
> sure if those arguments are so valid given recent events[5].
>
>
> Yeah, I've been meaning to mention this issue -- I have definitely
> been among those in the past pushing for OpenSSL as the only sensible
> solution (conventional crypto wisdom is that you stick to tried and
> true, well-tested solutions) but I might change my tune on this. Sure,
> the Haskell tls library might potentially be vulnerable to unknown
> side chaining or timing attacks (and there is C code in there), but I
> don't see much chance of buffer overflows leading to secret key
> disclosure (!) coming out of our camp.
>
> Unfortunately the entire Haskell tls/crypto ecosystem doesn't obey the
> Hackage package versioning policy and until this is fixed I think that
> issue precludes it from being included in the platform.
>
First of, you might want to read up on the difference between the
definition of policy and rules/law. "obey" doesn't have its place here.
Second, the tls/crypto ecosystem is following most of the PvP apart from
"3 Dependencies in Cabal".
Third, The PvP doesn't actually *enforce* any requirements on
dependencies. I can only see CAN, SHOULD, MAY in the section 3.
On the other hand, you can find MUST in section "2 Versions numbers",
and as far I'm concerned the tls/crypto ecosystem is following each
requirements in this section.
Last, I don't have the luxury of time, and as the single maintainer of
16 packages of many thousands line of code (and many other packages if
you don't count tls/crypto), I'ld rather spend my free unpaid time doing
something useful (adding features, bugfixing,..) for the many currents
users [1], than playing the upper-bound-catch-up game. When those rare
breakage happens I get notification from the wonderful stackage and
usually fix it in the day or so.
> As far as HTTP clients go there is also http-streams
> (http://hackage.haskell.org/package/http-streams) which is itself very
> nice and (unsurprisingly) what I would vote for. Given that we already
> have an HTTP client library in the platform (even though it's not
> really so great) and there are multiple viable alternatives, I don't
> think we can pick a replacement to go into the platform yet,
> especially if it would pull in one of the streaming libraries. I've
> considered nominating io-streams for inclusion into the platform (it's
> a very nice and high-quality library, if I do say so myself) but I
> haven't because the matter simply isn't settled yet and I don't think
> it's right to canonize one approach over the others.
>
I find it ironic that you'ld rather enforce the PvP requirement
(rationale 8.6) than the operating system one (rationale 8.4), and in
the process leave the many windows users [2] in the dust with
http-streams [3], for so called "violations" of part of the PvP with
dubious interests.
[1] https://hackage.haskell.org/packages/top " tls 6647,
HsOpenSSL 563"
[2] http://www.haskell.org/pipermail/ghc-devs/2014-April/004455.html
[3] Unless you're planning to also vote for requiring/building openssl
on windows (good luck with that !) as part of the windows haskell platform ?
--
Vincent
More information about the Libraries
mailing list