[openssl-users] is 1.0.2g meant to be buildable ? missing rc4_md5_enc implementation !

Jason Vas Dias jason.vas.dias at gmail.com
Wed Apr 6 21:23:36 UTC 2016


Thanks Jakob -
But running the rc4-x86_64.pl script, even if by a Makefile, does not define
the function either :

$ ./rc4-x86_64.pl  > ../rc4-md5-x86_64.s
$ cd ..
$ as -o rc4-md5-x86_64.o rc4-md5-x86_64.s
$ nm rc4-md5-x86_64.o
                 U OPENSSL_ia32cap_P
0000000000000000 T RC4
0000000000000720 T RC4_options
0000000000000660 T private_RC4_set_key

Do I need to pass 'no-asm' to Configure ?

The Configure command I used was :

$ LIBDIR=/usr/lib64 ./Configure --prefix=/usr threads shared
linux-x86_64:gcc $CFLAGS_64 2>&1 | tee configure.log

configure.log attached.

And I did run 'make depend' - log attached.

I used the command:

$ make -j4 2>&1 | tee make.log

to build OpenSSL and there is no occurence of the text ' rc4-x86_64' anywhere in
that (v.large) log file , indicating no attempt was made to generate
ASM for x86_64 ?

Please, for practical everyday use, what is the latest / best stable OpenSSL ?
1.0.1s or 1.0.2g ?

The last one I used extensively was 1.0.1g - but I'd like to build the
latest stable release now.

Thanks & Regards, Jason



On 06/04/2016, Jakob Bohm <jb-openssl at wisemo.com> wrote:
> No, that script is run by the Makefile if relevant.
>
> Given what others have reported recently, please check
> what arguments you passed to config or configure (before
> running make).
>
> Also remember to do make depend.
>
> On 06/04/2016 22:58, Jason Vas Dias wrote:
>> Aha! I just saw rc4-md5-x86_64.pl - am I meant to run this manually to
>> produce the ASM
>> to compile to produce the object ? Why wasn't this run as part of the
>> build ?
>> I am building with perl-5.22.1 , gcc-5.3.0, make-4.1 on Linux x86_64 LFS
>> .
>>
>>
>> On 06/04/2016, Jason Vas Dias <jason.vas.dias at gmail.com> wrote:
>>> please can anyone tell me:
>>> Is the 1.0.2g release from :
>>>     http://www.openssl.org/source/openssl-1.0.2g.tar.gz
>>> meant to build ? Is this meant to be the latest stable release , or is
>>> that 1.0.1s ?
>>> The 1.0.2g release does not build, for the linux-x86_64:gcc 'threads
>>> shared' configuration
>>> (or any other AFAICS) because it lacks an implementation of
>>> rc4_md4_enc() - there
>>> are calls to it in crypto/evp/e_rc4_hmac_md5.c , but no definition of it
>>> :
>>>
>>> $ grep -RIn --include '*.[ch]' rc4_md5_enc
>>> crypto/evp/e_rc4_hmac_md5.c:80:void rc4_md5_enc(RC4_KEY *key, const
>>> void *in0, void *out,
>>> crypto/evp/e_rc4_hmac_md5.c:144:            rc4_md5_enc(&key->ks, in +
>>> rc4_off, out + rc4_off,
>>> crypto/evp/e_rc4_hmac_md5.c:188:            rc4_md5_enc(&key->ks, in +
>>> rc4_off, out + rc4_off,
>>> $ make
>>> ...
>>> $ ( LIBDEPS="${LIBDEPS:--L.. -lssl  -L.. -lcrypto }";
>>> LDCMD="${LDCMD:-gcc}"; LDFLAGS="${LDFLAGS:--DOPENSSL_THREADS
>>> -march=x86-64 -mtune=native -O2 -g -fPIC -pipe }"; LIBPATH=`for x in
>>> $LIBDEPS; do echo $x; done | sed -e 's/^ *-L//;t' -e d | uniq`;
>>> LIBPATH=`echo $LIBPATH | sed -e 's/ /:/g'`; set -x;
>>> LD_LIBRARY_PATH=$LIBPATH:$LD_LIBRARY_PATH ${LDCMD} ${LDFLAGS} -o
>>> ${APPNAME:=openssl} openssl.o verify.o asn1pars.o req.o dgst.o dh.o
>>> dhparam.o enc.o passwd.o gendh.o errstr.o ca.o pkcs7.o crl2p7.o crl.o
>>> rsa.o rsautl.o dsa.o dsaparam.o ec.o ecparam.o x509.o genrsa.o
>>> gendsa.o genpkey.o s_server.o s_client.o speed.o s_time.o apps.o
>>> s_cb.o s_socket.o app_rand.o version.o sess_id.o ciphers.o nseq.o
>>> pkcs12.o pkcs8.o pkey.o pkeyparam.o pkeyutl.o spkac.o smime.o cms.o
>>> rand.o engine.o ocsp.o prime.o ts.o srp.o ${LIBDEPS} )
>>> + LD_LIBRARY_PATH=..:
>>> + gcc -DOPENSSL_THREADS -march=x86-64 -mtune=native -O2 -g -fPIC -pipe
>>> -o openssl openssl.o verify.o asn1pars.o req.o dgst.o dh.o dhparam.o
>>> enc.o passwd.o gendh.o errstr.o ca.o pkcs7.o crl2p7.o crl.o rsa.o
>>> rsautl.o dsa.o dsaparam.o ec.o ecparam.o x509.o genrsa.o gendsa.o
>>> genpkey.o s_server.o s_client.o speed.o s_time.o apps.o s_cb.o
>>> s_socket.o app_rand.o version.o sess_id.o ciphers.o nseq.o pkcs12.o
>>> pkcs8.o pkey.o pkeyparam.o pkeyutl.o spkac.o smime.o cms.o rand.o
>>> engine.o ocsp.o prime.o ts.o srp.o -L.. -lssl -L.. -lcrypto
>>> ../libcrypto.a(e_rc4_hmac_md5.o): In function `rc4_hmac_md5_cipher':
>>> /usr/build/linux/openssl-1.0.2g/crypto/evp/e_rc4_hmac_md5.c:144:
>>> undefined reference to `rc4_md5_enc'
>>> /usr/build/linux/openssl-1.0.2g/crypto/evp/e_rc4_hmac_md5.c:188:
>>> undefined reference to `rc4_md5_enc'
>>> collect2: error: ld returned 1 exit status
>>>
>>> ie. the make fails because nowhere in any library or object file is
>>> that function defined -
>>> I have checked this with nm .
>>>
>>> I guess my answer is that ! should be building 1.0.1s ?
>>>
>
>
> Enjoy
>
> Jakob
> --
> Jakob Bohm, CIO, Partner, WiseMo A/S.  https://www.wisemo.com
> Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
> This public discussion message is non-binding and may contain errors.
> WiseMo - Remote Service Management for PCs, Phones and Embedded
>
> --
> openssl-users mailing list
> To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: make.depend.log
Type: text/x-log
Size: 37651 bytes
Desc: not available
URL: <http://mta.openssl.org/pipermail/openssl-users/attachments/20160406/2ea43267/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: configure.log
Type: text/x-log
Size: 17028 bytes
Desc: not available
URL: <http://mta.openssl.org/pipermail/openssl-users/attachments/20160406/2ea43267/attachment-0003.bin>


More information about the openssl-users mailing list