[Python-Dev] Differences between Python's OpenSSL in SVN and OpenSSL's in GitHub

Steve Dower steve.dower at python.org
Fri Aug 14 18:20:45 CEST 2015


On 14Aug2015 0856, Guzman-ballen, Andres wrote:
> Hello Python Developers!
>
> Why is it that the OpenSSL v1.0.2d that is found on Python’s SVN repo
> <http://svn.python.org/projects/external/openssl-1.0.2d/> is quite
> different from what OpenSSL has on their GitHub repository
> <https://github.com/openssl/openssl/tree/OpenSSL_1_0_2d> for OpenSSL
> v1.0.2d? I am asking because I am able to successfully download
> OpenSSL’s GitHub version during the cpython build process but when I try
> to build cpython, I get failures because Visual Studio isn’t able to
> find files like openssl/opensslconf.h and this is because Python’s
> OpenSSL version in SVN is the only one that has a directory inside the
> include directory. The GitHub repo is missing this directory however,
> and these are not the only differences.
>
> If I checkout the GitHub version and then replace it with what is in the
> SVN repo, you get these untracked files.
>
>          MINFO
>
>          Makefile
>
>          Makefile.bak
>
>          apps/CA.pl
>
>          apps/md4.c
>
>          crypto/buildinf.h
>
>          crypto/buildinf.h.orig
>
>          crypto/buildinf_amd64.h
>
>          crypto/buildinf_x86.h
>
>          crypto/opensslconf.h
>
>          crypto/opensslconf.h.bak
>
>          crypto/opensslconf_amd64.h
>
>          crypto/opensslconf_x86.h
>
>          inc64/
>
>          include/openssl/
>
>          ms/bcb.mak
>
>          ms/libeay32.def
>
>          ms/nt.mak
>
>          ms/nt64.mak
>
>          ms/ntdll.mak
>
>          ms/ssleay32.def
>
>          ms/uptable.asm
>
>          ms/uptable.obj
>
>          ms/version32.rc
>
>          out64/
>
>          test/bftest.c
>
>          test/bntest.c
>
>          test/casttest.c
>
>          test/constant_time_test.c
>
>          test/destest.c
>
>          test/dhtest.c
>
>          test/dsatest.c
>
>          test/ecdhtest.c
>
>          test/ecdsatest.c
>
>          test/ectest.c
>
>          test/enginetest.c
>
>          test/evp_extra_test.c
>
>          test/evp_test.c
>
>          test/evptests.txt
>
>          test/exptest.c
>
>          test/heartbeat_test.c
>
>          test/hmactest.c
>
>          test/ideatest.c
>
>          test/jpaketest.c
>
>          test/md2test.c
>
>          test/md4test.c
>
>          test/md5test.c
>
>          test/mdc2test.c
>
>          test/randtest.c
>
>          test/rc2test.c
>
>          test/rc4test.c
>
>          test/rc5test.c
>
>          test/rmdtest.c
>
>          test/rsa_test.c
>
>          test/sha1test.c
>
>          test/sha256t.c
>
>          test/sha512t.c
>
>          test/shatest.c
>
>          test/srptest.c
>
>          test/ssltest.c
>
>          test/v3nametest.c
>
>          test/verify_extra_test.c
>
>          test/wp_test.c
>
>          tmp/
>
>          tmp32/
>
>          tmp64/
>
>          tools/c_rehash
>
> Does anyone know why this is the case? What was the motivation behind
> these changes? Thanks!
>
> Andres Guzman-Ballen
>
> Scripting Analyzers & Tools Team
>
> Intel Americas, Inc.
>
> 1906 Fox Dr, Champaign IL 61820
>
>

To build OpenSSL on Windows you also need a copy of Perl and you need to 
run the preparation script to generate some extra code files. Otherwise 
you don't get a Windows makefile (which we don't use anymore because it 
builds significantly faster and more reliably with a Visual C++ project) 
and the generated assembly code.

The copy we have in SVN has already had these scripts generated, but 
nothing else should be different from the original repository. It's 
possible you got a slightly different version out of github? I believe 
we use their released tarballs, but Zach will know for sure as he did 
the last update IIRC.

Cheers,
Steve



More information about the Python-Dev mailing list