Bug 882408 - NSS_NO_PKCS11_BYPASS must preserve API compatibility
Summary: NSS_NO_PKCS11_BYPASS must preserve API compatibility
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: nss
Version: 6.4
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: 6.4
Assignee: Elio Maldonado Batiz
QA Contact: Hubert Kario
Depends On:
TreeView+ depends on / blocked
Reported: 2012-11-30 21:36 UTC by Elio Maldonado Batiz
Modified: 2013-11-21 06:10 UTC (History)
6 users (show)

Fixed In Version: nss-util-3.14.3-2.el6
Doc Type: Bug Fix
Doc Text:
Cause: A deviation from upstream behaviour was introduced to treat a failed attempt by client code to enable the unsupported ssL pkcs #11 bypass feature as fatal error. Consequence: This would break the semantics of some calls thus breaking ABI compatibilityy which we must preserve in minor updates. Fix: NSS now preserves the upstream behavior of preserving ABI and API compatibility. Result: When client code attemps to enable the unsupported ssl pkcs #11 bypass and such attempt fails it will not cause a fatal error thus enabling the code to continue execution.
Clone Of:
Last Closed: 2013-11-21 06:10:20 UTC
Target Upstream Version:

Attachments (Terms of Use)
changes to spec file in patch form (1.52 KB, patch)
2012-11-30 21:52 UTC, Elio Maldonado Batiz
rrelyea: review+
Details | Diff

System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2013:1558 0 normal SHIPPED_LIVE nss and nspr bug fix and enhancement update 2013-11-21 00:40:48 UTC

Description Elio Maldonado Batiz 2012-11-30 21:36:22 UTC
Description of problem: With the update to nss-3.14 we acquired the ability to disable the ssl pkcs11 bypass at build time, a feature we requested, by setting a build time variable. A runtime variable allowed, and still does, a user to enable bypass. The upstream code quietly returns success even when the caller has requested bypass and the build doesn't have it. The user will not get the performance improvement the feature was intended to but on the on the other hand it will not break. Backward compatibility takes precedence. 

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. set the runtime environment variable SSLBYPASS to 1
2. run any of the ssl client/server tests, selserv and testclnt.
Actual results: the test will fail as either the server or the client will trigger an error.

Expected results: The test will complete and pass.

Additional info: The Test Plan Review allowed us to catch this mistake. This was due to a misunderstanding of guidance given. Revisiting the thread in the upstream, https://bugzilla.mozilla.org/show_bug.cgi?id=745281#c22

"... you will need to return SECSuccess in RHEL because you can't change the API in RHEL releases. You can remove Bypass because is doesn't actually change the semantics, only the timing. ... "

Having done it via an isolated patch, nss-ssl-enforce-no-pkcs11-bypass.path, makes the fix easy. The fix consist on removing this undesired patch.

Comment 2 Elio Maldonado Batiz 2012-11-30 21:52:56 UTC
Created attachment 655291 [details]
changes to spec file in patch form

Comment 3 RHEL Program Management 2012-12-14 08:37:00 UTC
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.

Comment 4 Bob Relyea 2012-12-19 18:45:09 UTC
Comment on attachment 655291 [details]
changes to spec file in patch form

r+ rrelyea

Comment 20 errata-xmlrpc 2013-11-21 06:10:20 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.