solicit icon indicating copy to clipboard operation
solicit copied to clipboard

rust-openssl 0.7 support

Open jwilm opened this issue 9 years ago • 7 comments

The HTTP/2 spec requires the TLS application-layer protocol negotiation (ALPN) extension from the TLS library. This was added to openssl 1.0.2 which became available in rust-openssl 0.7.

I would have submitted this sooner, but the feature was blocked on SslStream not being Send in early patch versions of rust-openssl 0.7.x.


This change is Reviewable

jwilm avatar Apr 08 '16 17:04 jwilm

One other thought - this should probably be considered a breaking change since OpenSSL 1.0.2 is required where 1.0.1 sufficed previously.

jwilm avatar Apr 08 '16 17:04 jwilm

Coverage Status

Coverage remained the same at 93.606% when pulling 0b74aebae4d942ed53f361799be2f5d8e8c72907 on jwilm:openssl-0.7 into 90b666b6ab798e89c90a387afdfb2e0fd668ef05 on mlalic:master.

coveralls avatar Apr 08 '16 17:04 coveralls

Back when I first opted to use NPN, out of the sites that did support HTTP/2 (or h2-14 at the time), not many supported ALPN. Has this changed by now?

mlalic avatar Apr 25 '16 01:04 mlalic

I don't know about sites not supporting ALPN, but some sites require it. The spec also says ALPN explicitly without mention of NPN.

jwilm avatar Apr 25 '16 01:04 jwilm

Yeah, ALPN is the only way that the standard mentions, but for historic reasons (http/2 being an evolution/standardization of spdy) NPN was how you could get to http/2, because it was what you originally used for spdy... :)

I prefer having only ALPN here though, so if it's already at the point where some sites don't even recognize NPN, I'm good with this change.

mlalic avatar Apr 25 '16 01:04 mlalic

@mlalic sorry for the delay on updating this! It should be ready now pending appveyor results.

jwilm avatar May 30 '16 16:05 jwilm

What's the status of this project? I'm working with Amazon's Alexa Voice Service which uses HTTP/2 and is rejecting NPN. Right now I am depending on jwilm's branch which works for me with openssl1.0.2g but it would be great to have this working in the crate. Apologies if this isn't the right forum for this question...new to Rust and open source contribution in general.

awalcutt avatar Dec 12 '16 01:12 awalcutt