• agl@chromium.org's avatar
    BoringSSL: roll DEPS and enable dynamic visibility. · 5d5a51c5
    agl@chromium.org authored
    This roll brings in the changes below. Most importantly it includes a change
    that enables dynamic visibility in the same way as normal Chromium components.
    
    BUG=398965
    
    commit 533cbee57eec77268ef9f53c4039ec753240fb37
    Author: Adam Langley <agl@chromium.org>
    Date:   Fri Aug 1 10:33:29 2014 -0700
    
        Also export some deprecated functions.
        
        I didn't mark these functions as OPENSSL_EXPORT in the first place
        because I was hoping that they wouldn't be needed. However, WebRTC and
        libjingle are using them.
        
        Change-Id: I7a9de770a0a2213e99725b9b5ac7d3d13754ebfd
    
    commit e216d6bb9f9139656e1d0c6b6312787fc2e596f9
    Author: David Benjamin <davidben@chromium.org>
    Date:   Thu Jul 31 13:59:47 2014 -0400
    
        Add PKCS8_{decrypt,encrypt}_pbe.
        
        The original functions do an ascii_to_ucs2 transformation on the password.
        Deprecate them in favor of making that encoding the caller's problem.
        ascii_to_ucs2 doesn't handle, say, UTF-8 anyway. And with the original OpenSSL
        function, some ciphers would do the transformation, and some wouldn't making
        the text-string/bytes-string confusion even messier.
        
        BUG=399121
        
        Change-Id: I7d1cea20a260f21eec2e8ffb7cd6be239fe92873
        Reviewed-on: https://boringssl-review.googlesource.com/1347Reviewed-by: default avatarAdam Langley <agl@google.com>
    
    commit cf052cf7328478d46c78dc67dd4f5ac44db02c20
    Author: Adam Langley <agl@chromium.org>
    Date:   Thu Jul 31 18:46:35 2014 -0700
    
        Fix build for PNaCl.
        
        PNaCl builds BoringSSL with OPENSSL_NO_ASM, but the new OPENSSL_cleanse
        was using inline assembly anyway. It appears that even though the inline
        asm was empty, it still breaks the PNaCl build:
        
        disallowed: inline assembly: call void asm sideeffect "", "r,~{memory}"(i8* %.asptr319), !dbg !96986
        
        With this change, we don't have any compiler scarecrows for
        OPENSSL_cleanse any longer when using OPENSSL_NO_ASM :( Maybe, one day,
        we'll get memset_s in our base platform.
        
        Change-Id: Ia359f6bcc2000be18a6f15de10fc683452151741
        Reviewed-on: https://boringssl-review.googlesource.com/1353Reviewed-by: default avatarDavid Benjamin <davidben@chromium.org>
    Reviewed-by: default avatarAdam Langley <agl@google.com>
    
    commit 581a17f5c874758ec60c1256423c15842edc68f2
    Author: Adam Langley <agl@chromium.org>
    Date:   Thu Jul 31 19:24:57 2014 -0700
    
        Fix typo from eb7d2ed1.
        
        The RC4_set_key was calling itself rather than the asm function that it
        should be calling.
        
        Change-Id: Idfc730c8a651540961e05bc8c8f663a44713f680
    
    commit 31ebde9e5e7573f70e132e63abf65036688b46ec
    Author: Adam Langley <agl@chromium.org>
    Date:   Thu Jul 31 12:16:48 2014 -0700
    
        Add a control to disable the Poly1305 NEON code.
    
        Some phones have a buggy NEON unit and the Poly1305 NEON code fails on
        them, even though other NEON code appears to work fine.
    
        This change:
    
        1) Fixes a bug where NEON was assumed even when the code wasn't compiled
           in NEON mode.
    
        2) Adds a second NEON control bit that can be disabled in order to run
           NEON code, but not the Poly1305 NEON code.
    
        https://code.google.com/p/chromium/issues/detail?id=341598
    
        Change-Id: Icb121bf8dba47c7a46c7667f676ff7a4bc973625
        Reviewed-on: https://boringssl-review.googlesource.com/1351Reviewed-by: default avatarAdam Langley <agl@google.com>
    
    commit eb7d2ed1fe8a33b3e3871502ba7e12efaf94360c
    Author: Adam Langley <agl@chromium.org>
    Date:   Wed Jul 30 16:02:14 2014 -0700
    
        Add visibility rules.
    
        This change marks public symbols as dynamically exported. This means
        that it becomes viable to build a shared library of libcrypto and libssl
        with -fvisibility=hidden.
    
        On Windows, one not only needs to mark functions for export in a
        component, but also for import when using them from a different
        component. Because of this we have to build with
        |BORINGSSL_IMPLEMENTATION| defined when building the code. Other
        components, when including our headers, won't have that defined and then
        the |OPENSSL_EXPORT| tag becomes an import tag instead. See the #defines
        in base.h
    
        In the asm code, symbols are now hidden by default and those that need
        to be exported are wrapped by a C function.
    
        In order to support Chromium, a couple of libssl functions were moved to
        ssl.h from ssl_locl.h: ssl_get_new_session and ssl_update_cache.
    
        Change-Id: Ib4b76e2f1983ee066e7806c24721e8626d08a261
        Reviewed-on: https://boringssl-review.googlesource.com/1350Reviewed-by: default avatarAdam Langley <agl@google.com>
    commit 60d4c0e81042e4c014f38575a72c4befded62eef
    Author: Piotr Sikora <piotr@cloudflare.com>
    Date:   Thu Jul 31 03:13:13 2014 -0700
    
        Fix "type qualifiers ignored on function return type" errors.
    
        Change-Id: If0dbbadb33a073b4faee500fdff900a5094ec889
    Signed-off-by: default avatarPiotr Sikora <piotr@cloudflare.com>
        Reviewed-on: https://boringssl-review.googlesource.com/1362Reviewed-by: default avatarAdam Langley <agl@google.com>
    
    commit 1d8adf18d20a4d65150af62159ab631d847e869a
    Author: Piotr Sikora <piotr@cloudflare.com>
    Date:   Thu Jul 31 03:09:49 2014 -0700
    
        Fix CPU architecture detection on BSDs.
    
        CMake calls "uname" in order to detect the CPU architecture,
        so $(CMAKE_SYSTEM_PROCESSOR) varies from platform to platform.
    
        This changes adds support for "i386" and "amd64" values, which
        are used by BSDs for the x86 family of CPUs.
    
        Change-Id: I532ce787a9ac06220c92a6d8c78ad5a55d8c40bf
    Signed-off-by: default avatarPiotr Sikora <piotr@cloudflare.com>
        Reviewed-on: https://boringssl-review.googlesource.com/1360Reviewed-by: default avatarAdam Langley <agl@google.com>
    
    commit ad1907fe73334d6c696c8539646c21b11178f20f
    Author: Adam Langley <agl@chromium.org>
    Date:   Wed Jul 30 11:55:17 2014 -0700
    
        Use asm directives to protect OPENSSL_cleanse.
    
        Compilers have a bad habit of removing "superfluous" memset calls that
        are trying to zero memory. For example, when memset()ing a buffer and
        then free()ing it, the compiler might decide that the memset is
        unobservable and thus can be removed.
    
        Previously we tried to stop this by a) implementing memset in assembly
        on x86 and b) putting the function in its own file for other platforms.
    
        This change removes those tricks in favour of using asm directives to
        scare the compiler away. As best as our compiler folks can tell, this is
        sufficient and will continue to be so.
    
        Change-Id: I40e0a62c3043038bafd8c63a91814a75a3c59269
        Reviewed-on: https://boringssl-review.googlesource.com/1339Reviewed-by: default avatarDavid Benjamin <davidben@chromium.org>
    Reviewed-by: default avatarAdam Langley <agl@google.com>
    
    Review URL: https://codereview.chromium.org/428753004
    
    git-svn-id: svn://svn.chromium.org/chrome/trunk/src@287177 0039d316-1c4b-4281-b951-d872f2087c98
    5d5a51c5
boringssl_lib.gypi 2.4 KB