Skip to content

Comments

backport SSL_OP_NO_ENCRYPT_THEN_MAC to 1.1.0#3922

Closed
kaduk wants to merge 3 commits intoopenssl:OpenSSL_1_1_0-stablefrom
kaduk:mte
Closed

backport SSL_OP_NO_ENCRYPT_THEN_MAC to 1.1.0#3922
kaduk wants to merge 3 commits intoopenssl:OpenSSL_1_1_0-stablefrom
kaduk:mte

Conversation

@kaduk
Copy link
Contributor

@kaduk kaduk commented Jul 13, 2017

As well as the tests for mac-then-encrypt that Emilia added.

I resolved a couple conflicts (1.1.0 disallows ETM entirely for DTLS already, so the conditional changes, etc.) and moved the CHANGES entry to reflect the new reality.

We're seeing reports that WebSphere 8.x can't handle ETM at all (regardless of whether empty extensions are last). :(

Reviewed-by: Tim Hudson <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
(cherry picked from commit cde6145)
@openssl-machine openssl-machine added the hold: cla required The contributor needs to submit a license agreement label Jul 13, 2017
CHANGES Outdated
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spacing is off.

Verify that the encrypt-then-mac negotiation is handled
correctly. Additionally, when compiled with no-asm, this test ensures
coverage for the constant-time MAC copying code in
ssl3_cbc_copy_mac. The proxy-based CBC padding test covers that as
well but it's nevertheless better to have an explicit handshake test
for mac-then-encrypt.

Reviewed-by: Andy Polyakov <[email protected]>
(cherry picked from commit b3618f4)
@openssl-machine openssl-machine added the hold: cla required The contributor needs to submit a license agreement label Jul 13, 2017
@kaduk
Copy link
Contributor Author

kaduk commented Jul 13, 2017

@openssl/omc any advice on how to work around the supposed lack of CLA for dwwm2's Intel address?

@richsalz
Copy link
Contributor

richsalz commented Jul 13, 2017 via email

@mattcaswell
Copy link
Member

The git hooks might complain when you try and push it though. We might need to temporarily add him back into the CLA db while you do the push.

@kaduk
Copy link
Contributor Author

kaduk commented Jul 21, 2017

I will remove the need-cla label from github for the time being, then.
(I do not see anything that looks like an OMC +1 yet.)

@kaduk kaduk added 1.1.0 and removed hold: cla required The contributor needs to submit a license agreement labels Jul 21, 2017
@kaduk
Copy link
Contributor Author

kaduk commented Sep 7, 2017

ping @openssl/omc to review this backport

@t-j-h
Copy link
Member

t-j-h commented Sep 8, 2017

This looks good to me - @mattcaswell ?

@mattcaswell
Copy link
Member

Remind me why we are backporting a feature? I understood that the original Websphere motivation was no longer relevant.

@kaduk
Copy link
Contributor Author

kaduk commented Sep 8, 2017

I can tickle a Websphere bug by sending encrypt-then-mac at all, whether or not it's the last extension.
(I don't know much about the version of Websphere on the peer, etc., but it is definitely not just choking on empty final extension(s).)

@kaduk
Copy link
Contributor Author

kaduk commented Oct 4, 2017

Picking up this old one again. It looks like I have an approval from @t-j-h, so I just want @mattcaswell to confirm that his question about "backporting a feature" has been adequately addressed.

@mattcaswell
Copy link
Member

It doesn't seem to have been answered in the above? Am I missing it somewhere?

@kaduk
Copy link
Contributor Author

kaduk commented Oct 4, 2017

I claim that if I send encrypt-then-mac in my ClientHello to a Websphere server, regardless of whether it is the last extension, Websphere sends me back malformed HTTP on the resulting connection.

CHANGES Outdated
which is the minimum version we support.
[Richard Levitte]
*) Support for SSL_OP_NO_ENCRYPT_THEN_MAC in SSL_CONF_cmd.
[Emilia Käsper]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems this CHANGES entry is in the wrong place

@mattcaswell
Copy link
Member

I claim that if I send encrypt-then-mac in my ClientHello to a Websphere server, regardless of whether it is the last extension, Websphere sends me back malformed HTTP on the resulting connection.

Oh, right. I had misunderstood your earlier comment.

[to be squashed]
[skip ci]
@openssl-machine openssl-machine added the hold: cla required The contributor needs to submit a license agreement label Oct 4, 2017
@kaduk
Copy link
Contributor Author

kaduk commented Oct 4, 2017

Okay, new commit (to be squashed) moving the CHANGES entry added.

Copy link
Member

@mattcaswell mattcaswell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You may need some support from @levitte to get this committed due to the CLA issue noted above.

*) Ignore the '-named_curve auto' value for compatibility of applications
with OpenSSL 1.0.2.
[Tomas Mraz <[email protected]>]
*) Support for SSL_OP_NO_ENCRYPT_THEN_MAC in SSL_CONF_cmd.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: we normally have a space between different CHANGES entries.

@kaduk
Copy link
Contributor Author

kaduk commented Oct 4, 2017

You may need some support from @levitte to get this committed due to the CLA issue noted above.

Indeed, gitaddrev refuses to process the first commit, which I can of course work around manually, but even if I do so the server's hook is not convinced. @levitte do we want to just temporarily add David's Intel address to the DB?

@levitte
Copy link
Member

levitte commented Oct 5, 2017

Considering that David's commit is from before we started with the CLAs, I do find the proposed hack justifiable. I'll do the merge myself.

@levitte
Copy link
Member

levitte commented Oct 5, 2017

BTW, do we really need to do a gitaddrev on all the commits? Except for the last commit, they have already been reviewed...

@levitte
Copy link
Member

levitte commented Oct 5, 2017

And duh, that commit is to be squashed anyway...

@levitte
Copy link
Member

levitte commented Oct 5, 2017

Ok, the deed is done.

Merged. 619c589 and c5e8bd1

@levitte levitte closed this Oct 5, 2017
@levitte
Copy link
Member

levitte commented Oct 5, 2017

I made a false statement earlier... David's commit was made after we started with CLAs, but at a time when his Intel address was covered... Sorry for the confusion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hold: cla required The contributor needs to submit a license agreement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants