[openssl.org #2459] ecdsa_method declaration prevents use in implementing a dynamic engine
Hi, Any ETA for this? Just wanted to note that finish is also required to allow cleaning up resources. Any ETA on this? very important if we want to use ec based hardware cryptography. Thanks, Alon Bar-Lev __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
[openssl.org #2459] ecdsa_method declaration prevents use in implementing a dynamic engine
Hi, Just wanted to note that finish is also required to allow cleaning up resources. Any ETA on this? very important if we want to use ec based hardware cryptography. Thanks, Alon Bar-Lev __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Re: [openssl.org #2282] AutoReply: [PATCH] Add PVK to usage of rsa and dsa commands
ping? this should be trivial. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
[openssl.org #2282] [PATCH] Add PVK to usage of rsa and dsa commands
Although I knew PVK is supported... Could not find how to use it... Tested on snapshot of 20100602. openssl-1.0.0-pvk-usage.patch Description: Binary data
Re: [openssl.org #2137] [PATCH] mingw fixups
You are right. I tried latest snapshot and it compiles OK as far as mingw 32 and 64 concerned. Had to fix some code in apps though, this why I don't use snapshots. You can close this. Alon On Wed, Jan 13, 2010 at 11:28 PM, Roumen Petrov via RT r...@openssl.org wrote: Hi Alon, Alon Bar-Lev via RT wrote: Hello, I use i686-w64-mingw32... We discussed this in past (I think) LEAN_AND_MEAN was added to win64 but not win32. As w64 compiler much more complete and maintained I use it to compile win32 as-well. Alon. On Tue, Jan 12, 2010 at 11:14 PM, Roumen Petrov via RTr...@openssl.org wrote: Alon Bar-Lev via RT wrote: The following is required in order to make beta4 compile using mingw (w64). Every time there is #includewindows.h some symbols should be removed. Also, there is no need to #includewindows.h if e_os2.h was included. [SNIP] diff -urNp openssl-1.0.0-beta4.org/e_os.h openssl-1.0.0-beta4/e_os.h --- openssl-1.0.0-beta4.org/e_os.h 2009-08-26 18:13:43.0 +0300 +++ openssl-1.0.0-beta4/e_os.h 2010-01-11 17:13:08.152360026 +0200 @@ -372,6 +372,13 @@ static unsigned int _strlen31(const char # define DEFAULT_HOME C: # endif +#undef X509_NAME +#undef X509_EXTENSIONS +#undef X509_CERT_PAIR +#undef PKCS7_ISSUER_AND_SERIAL +#undef OCSP_REQUEST +#undef OCSP_RESPONSE Why -DWIN32_LEAN_AND_MEAN don't work in you build ? Roumen Did you upgrade ? Lets check Configure updates: - ... revision 1.655 date: 2009/12/30 11:46:53; author: appro; state: Exp; lines: +1 -1 Adapt mingw config for newer mingw environment. Note modified conditional compilation in e_capi.c. PR: 2113 - Roumen __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Re: [openssl.org #2137] [PATCH] mingw fixups
Hello, I use i686-w64-mingw32... We discussed this in past (I think) LEAN_AND_MEAN was added to win64 but not win32. As w64 compiler much more complete and maintained I use it to compile win32 as-well. Alon. On Tue, Jan 12, 2010 at 11:14 PM, Roumen Petrov via RT r...@openssl.org wrote: Alon Bar-Lev via RT wrote: The following is required in order to make beta4 compile using mingw (w64). Every time there is #includewindows.h some symbols should be removed. Also, there is no need to #includewindows.h if e_os2.h was included. [SNIP] diff -urNp openssl-1.0.0-beta4.org/e_os.h openssl-1.0.0-beta4/e_os.h --- openssl-1.0.0-beta4.org/e_os.h 2009-08-26 18:13:43.0 +0300 +++ openssl-1.0.0-beta4/e_os.h 2010-01-11 17:13:08.152360026 +0200 @@ -372,6 +372,13 @@ static unsigned int _strlen31(const char # define DEFAULT_HOME C: # endif +#undef X509_NAME +#undef X509_EXTENSIONS +#undef X509_CERT_PAIR +#undef PKCS7_ISSUER_AND_SERIAL +#undef OCSP_REQUEST +#undef OCSP_RESPONSE Why -DWIN32_LEAN_AND_MEAN don't work in you build ? Roumen __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
[openssl.org #2137] [PATCH] mingw fixups
The following is required in order to make beta4 compile using mingw (w64). Every time there is #include windows.h some symbols should be removed. Also, there is no need to #include windows.h if e_os2.h was included. --- diff -urNp openssl-1.0.0-beta4.org/crypto/rand/rand.h openssl-1.0.0-beta4/crypto/rand/rand.h --- openssl-1.0.0-beta4.org/crypto/rand/rand.h 2008-11-12 05:58:04.0 +0200 +++ openssl-1.0.0-beta4/crypto/rand/rand.h 2010-01-11 17:13:15.796020568 +0200 @@ -63,10 +63,6 @@ #include openssl/ossl_typ.h #include openssl/e_os2.h -#if defined(OPENSSL_SYS_WINDOWS) -#include windows.h -#endif - #ifdef __cplusplus extern C { #endif diff -urNp openssl-1.0.0-beta4.org/e_os.h openssl-1.0.0-beta4/e_os.h --- openssl-1.0.0-beta4.org/e_os.h 2009-08-26 18:13:43.0 +0300 +++ openssl-1.0.0-beta4/e_os.h 2010-01-11 17:13:08.152360026 +0200 @@ -372,6 +372,13 @@ static unsigned int _strlen31(const char #define DEFAULT_HOME C: # endif +#undef X509_NAME +#undef X509_EXTENSIONS +#undef X509_CERT_PAIR +#undef PKCS7_ISSUER_AND_SERIAL +#undef OCSP_REQUEST +#undef OCSP_RESPONSE + #else /* The non-microsoft world */ # ifdef OPENSSL_SYS_VMS __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Re: [openssl.org #2137] [PATCH] mingw fixups
Hello, I use i686-w64-mingw32... We discussed this in past (I think) LEAN_AND_MEAN was added to win64 but not win32. As w64 compiler much more complete and maintained I use it to compile win32 as-well. Alon. On Tue, Jan 12, 2010 at 11:14 PM, Roumen Petrov via RT r...@openssl.org wrote: Alon Bar-Lev via RT wrote: The following is required in order to make beta4 compile using mingw (w64). Every time there is #includewindows.h some symbols should be removed. Also, there is no need to #includewindows.h if e_os2.h was included. [SNIP] diff -urNp openssl-1.0.0-beta4.org/e_os.h openssl-1.0.0-beta4/e_os.h --- openssl-1.0.0-beta4.org/e_os.h 2009-08-26 18:13:43.0 +0300 +++ openssl-1.0.0-beta4/e_os.h 2010-01-11 17:13:08.152360026 +0200 @@ -372,6 +372,13 @@ static unsigned int _strlen31(const char # define DEFAULT_HOME C: # endif +#undef X509_NAME +#undef X509_EXTENSIONS +#undef X509_CERT_PAIR +#undef PKCS7_ISSUER_AND_SERIAL +#undef OCSP_REQUEST +#undef OCSP_RESPONSE Why -DWIN32_LEAN_AND_MEAN don't work in you build ? Roumen __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
[openssl.org #2125] [PATCH] Fixup compilation for gcc-aix target
sltest.c:157:1: error: _XOPEN_SOURCE redefined In file included from /opt/freeware/lib/gcc/powerpc-ibm-aix5.3.0.0/4.2.0/include/assert.h:64, from ssltest.c:146: /usr/include/standards.h:114:1: error: this is the location of the previous definition make: 1254-004 The error code from the last command is 1. Stop. make: 1254-004 The error code from the last command is 1. diff -urNp openssl-1.0.0-beta4.org/ssl/ssltest.c openssl-1.0.0-beta4/ssl/ssltest.c --- openssl-1.0.0-beta4.org/ssl/ssltest.c 2009-01-08 01:44:27.0 +0200 +++ openssl-1.0.0-beta4/ssl/ssltest.c 2009-11-21 09:24:46.001175088 +0200 @@ -143,6 +143,9 @@ #define _BSD_SOURCE 1 /* Or gethostname won't be declared properly on Linux and GNU platforms. */ +#define _XOPEN_SOURCE 500 /* Or isascii won't be declared properly on + VMS (at least with DECompHP C). */ + #include assert.h #include errno.h #include limits.h @@ -154,8 +157,6 @@ #define USE_SOCKETS #include e_os.h -#define _XOPEN_SOURCE 500 /* Or isascii won't be declared properly on - VMS (at least with DECompHP C). */ #include ctype.h #include openssl/bio.h __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
[PATCH] Fixup compilation for gcc-aix target
Version 1.0.0-beta4 and latest 1.0.0.0 snapshot. Tested to work in Linux-2.4, Linux-2.6, Solaris-8, Solaris-10, AIX-3.5 sltest.c:157:1: error: _XOPEN_SOURCE redefined In file included from /opt/freeware/lib/gcc/powerpc-ibm-aix5.3.0.0/4.2.0/include/assert.h:64, from ssltest.c:146: /usr/include/standards.h:114:1: error: this is the location of the previous definition make: 1254-004 The error code from the last command is 1. Stop. make: 1254-004 The error code from the last command is 1. diff -urNp openssl-1.0.0-beta4.org/ssl/ssltest.c openssl-1.0.0-beta4/ssl/ssltest.c --- openssl-1.0.0-beta4.org/ssl/ssltest.c 2009-01-08 01:44:27.0 +0200 +++ openssl-1.0.0-beta4/ssl/ssltest.c 2009-11-21 09:24:46.001175088 +0200 @@ -143,6 +143,9 @@ #define _BSD_SOURCE 1 /* Or gethostname won't be declared properly on Linux and GNU platforms. */ +#define _XOPEN_SOURCE 500 /* Or isascii won't be declared properly on + VMS (at least with DECompHP C). */ + #include assert.h #include errno.h #include limits.h @@ -154,8 +157,6 @@ #define USE_SOCKETS #include e_os.h -#define _XOPEN_SOURCE 500 /* Or isascii won't be declared properly on - VMS (at least with DECompHP C). */ #include ctype.h #include openssl/bio.h __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Re: [openssl.org #1753] snapshot 20081003 broke mingw build
Hello OpenSSL developers, Please merge these patches [2], [3] from bug [1]. Current cross compile is broken as the cpp used is not cross compile one. It causes mingw cross compile build to fail. I will be happy to know if there is something wrong, so I be able to provider better solution. Thanks, Alon. [1] http://rt.openssl.org/Ticket/Display.html?id=1753 [2] http://rt.openssl.org/Ticket/Attachment/20033/8783/openssl-001-SNAP-20081003-mingw.patch [3] http://rt.openssl.org/Ticket/Attachment/20033/8782/openssl-000-msys-symlink.patch __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Re: failure building native win32 with mingw
On 12/3/08, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: You're apparently using a relatively recent version of headers (particularly wincrypt.h, IIRC), so you get bitten by one of the conflicts mentioned in e.g. http://rt.openssl.org/Ticket/Display.html?id=1693 HTH, Stefan And this: http://rt.openssl.org/Ticket/Display.html?id=1753 Can you please commit these patches and close this ticket? http://rt.openssl.org/Ticket/Attachment/20033/8782/openssl-000-msys-symlink.patch http://rt.openssl.org/Ticket/Attachment/20033/8783/openssl-001-SNAP-20081003-mingw.patch Thanks! Alon. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: failure building native win32 with mingw
BTW: 1693 can be closed. On 12/3/08, Alon Bar-Lev [EMAIL PROTECTED] wrote: On 12/3/08, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: You're apparently using a relatively recent version of headers (particularly wincrypt.h, IIRC), so you get bitten by one of the conflicts mentioned in e.g. http://rt.openssl.org/Ticket/Display.html?id=1693 HTH, Stefan And this: http://rt.openssl.org/Ticket/Display.html?id=1753 Can you please commit these patches and close this ticket? http://rt.openssl.org/Ticket/Attachment/20033/8782/openssl-000-msys-symlink.patch http://rt.openssl.org/Ticket/Attachment/20033/8783/openssl-001-SNAP-20081003-mingw.patch Thanks! Alon. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1753] snapshot 20081003 broke mingw build
Please merge. On 11/23/08, Alon Bar-Lev [EMAIL PROTECTED] wrote: I finish the tests with native build (MSYS environment): The source tree contain recent version (2008-11-23) plus patches: from ticket 1747: - openssl-cvs-mingw-capi.patch.gz last from this ticket(1753): - openssl-000-msys-symlink.patch - openssl-001-SNAP-20081003-mingw.patch The openssl head build fine but there is some warnings not related to mingw (same reports on linux): - The openssl is configured with prefix to non-existing directory: A lot of warnings WARNING: can't open config file: PREFIX/ssl/openssl.cnf One of the test fail: = There are definitly a few expired certificates ../util/shlib_wrap.sh ../apps/openssl verify -CApath ../certs ../certs/*.pem WARNING: can't open config file: /opt/test/ssl/openssl.cnf Error opening certificate file ../certs/*.pem = Roumen __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1753] snapshot 20081003 broke mingw build
So in the mean time can the patches merged? On 11/23/08, Roumen Petrov [EMAIL PROTECTED] wrote: Alon Bar-Lev wrote: Any luck? On 11/6/08, Roumen Petrov [EMAIL PROTECTED] wrote: Alon Bar-Lev wrote: Roumen? mingw64 is merged now... Please confirm this so we have mingw working again. This is also affect the mingw64. [SNIP] Cross-compilation is fine only with additional changes in rand_egd.c addressed in issue 1777. Access to MSYS environment is still problematic. Roumen I finish the tests with native build (MSYS environment): The source tree contain recent version (2008-11-23) plus patches: from ticket 1747: - openssl-cvs-mingw-capi.patch.gz last from this ticket(1753): - openssl-000-msys-symlink.patch - openssl-001-SNAP-20081003-mingw.patch The openssl head build fine but there is some warnings not related to mingw (same reports on linux): - The openssl is configured with prefix to non-existing directory: A lot of warnings WARNING: can't open config file: PREFIX/ssl/openssl.cnf One of the test fail: = There are definitly a few expired certificates ../util/shlib_wrap.sh ../apps/openssl verify -CApath ../certs ../certs/*.pem WARNING: can't open config file: /opt/test/ssl/openssl.cnf Error opening certificate file ../certs/*.pem = Roumen __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED] __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1753] snapshot 20081003 broke mingw build
Any luck? On 11/6/08, Roumen Petrov [EMAIL PROTECTED] wrote: Alon Bar-Lev wrote: Roumen? mingw64 is merged now... Please confirm this so we have mingw working again. This is also affect the mingw64. [SNIP] Cross-compilation is fine only with additional changes in rand_egd.c addressed in issue 1777. Access to MSYS environment is still problematic. Roumen __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
[CVS] J-PAKE is not experimental in HEAD - broke mingw
Hello, I believe: http://cvs.openssl.org/chngview?cn=17631 Broke mingw mkdef.pl although I don't fully understand why. It tries to export the jpake functions even if the jpake is disabled by default. To temporary solve it I use the following: --- openssl-SNAP-20081115.org/util/mkdef.pl 2008-11-12 20:00:24.0 +0200 +++ openssl-SNAP-20081115/util/mkdef.pl 2008-11-15 09:38:43.0 +0200 @@ -313,7 +313,7 @@ $crypto.= crypto/krb5/krb5_asn.h; #$crypto.= crypto/store/store.h; $crypto.= crypto/pqueue/pqueue.h; $crypto.= crypto/cms/cms.h; -$crypto.= crypto/jpake/jpake.h; +#$crypto.= crypto/jpake/jpake.h; my $symhacks=crypto/symhacks.h; Regards, Alon. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1693] Compiling OpenSSL with mingw-w64
Hello, appro added assembly support for mingw64 at [1]. I've succeeded in compiling this with the following patch. Thank you! Alon. [1] http://cvs.openssl.org/chngview?cn=17619 --- --- openssl-SNAP-20081113/Configure 2008-11-12 22:00:07.0 +0200 +++ openssl-SNAP-20081113.new/Configure 2008-11-13 17:46:39.0 +0200 @@ -492,7 +492,7 @@ my %table=( # MinGW mingw, gcc:-mno-cygwin -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:::MINGW32:-lws2_32 -lgdi32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_asm}:coff:win32:cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin:.dll.a, -mingw64, gcc:-mno-cygwin -DL_ENDIAN -O3 -Wall -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE:::MINGW64:-lws2_32 -lgdi32:SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:${no_asm}:win32:cygwin-shared:-D_WINDLL:-mno-cygwin:.dll.a, +mingw64, gcc:-mno-cygwin -DL_ENDIAN -O3 -Wall -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE:::MINGW64:-lws2_32 -lgdi32:SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:${x86_64_asm}:mingw64:win32:cygwin-shared:-D_WINDLL:-mno-cygwin:.dll.a, # UWIN UWIN, cc:-DTERMIOS -DL_ENDIAN -O -Wall:::UWIN::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32, --- openssl-SNAP-20081113/crypto/bn/asm/x86_64-gcc.c2008-11-12 11:00:09.0 +0200 +++ openssl-SNAP-20081113.new/crypto/bn/asm/x86_64-gcc.c2008-11-13 17:54:51.0 +0200 @@ -54,7 +54,11 @@ *machine. */ +#ifdef _WIN64 +#define BN_ULONG unsigned long long +#else #define BN_ULONG unsigned long +#endif /* * m(a), +m(r) is the way to favor DirectPath �-code; __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1753] snapshot 20081003 broke mingw build
Roumen? mingw64 is merged now... Please confirm this so we have mingw working again. This is also affect the mingw64. Thank you, Alon. On 10/23/08, Alon Bar-Lev [EMAIL PROTECTED] wrote: On 10/22/08, Roumen Petrov [EMAIL PROTECTED] wrote: Alon Bar-Lev via RT wrote: [SNIP] For some strange reason perl reports that symlinks are available under msys, while it cannot create symbolic link when the to is not reachable from cwd. May be I can access a msys environment next week :( . It is save to assume that msys don't support symbolic links. Dunno why perl report symlink support. MSYS don't support them, don't use even shortcuts and command ln -s just copy files. True. Perl actually copies the files, but it is unable to do so if the source is not available from working directory. It does not try to resolve it from target directory. Alon. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
[openssl.org #1777] [SNAPSHOT] Some size_t issues
Attached a fix. --- openssl-SNAP-20081104/crypto/bn/bn_asm.c 2008-11-02 21:00:07.0 +0200 +++ openssl-SNAP-20081104.new/crypto/bn/bn_asm.c 2008-11-05 21:28:48.0 +0200 @@ -68,7 +68,7 @@ #if defined(BN_LLONG) || defined(BN_UMULT_HIGH) -BN_ULONG bn_mul_add_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG w) +BN_ULONG bn_mul_add_words(BN_ULONG *rp, const BN_ULONG *ap, size_t num, BN_ULONG w) { BN_ULONG c1=0; @@ -94,7 +94,7 @@ BN_ULONG bn_mul_add_words(BN_ULONG *rp, return(c1); } -BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG w) +BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, size_t num, BN_ULONG w) { BN_ULONG c1=0; @@ -119,7 +119,7 @@ BN_ULONG bn_mul_words(BN_ULONG *rp, cons return(c1); } -void bn_sqr_words(BN_ULONG *r, const BN_ULONG *a, int n) +void bn_sqr_words(BN_ULONG *r, const BN_ULONG *a, size_t n) { assert(n = 0); if (n = 0) return; --- openssl-SNAP-20081104/crypto/rand/rand_egd.c 2008-11-01 19:00:11.0 +0200 +++ openssl-SNAP-20081104.new/crypto/rand/rand_egd.c 2008-11-05 21:30:46.0 +0200 @@ -96,7 +96,7 @@ */ #if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE) || defined(OPENSSL_SYS_VOS) || defined(OPENSSL_SYS_BEOS) -int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes) +int RAND_query_egd_bytes(const char *path, unsigned char *buf, size_t bytes) { return(-1); } @@ -105,7 +105,7 @@ int RAND_egd(const char *path) return(-1); } -int RAND_egd_bytes(const char *path,int bytes) +int RAND_egd_bytes(const char *path,size_t bytes) { return(-1); }
Re: [openssl.org #1693] Compiling OpenSSL with mingw-w64
On 11/3/08, Roumen Petrov [EMAIL PROTECTED] wrote: Why mingw64 ... -D_WIN32_WINNT=0x333 ? This has to defined by openssl headers (if not defined) to 0x400. HEAD version is for winsock2 and I'm not sure that winsock2 is available as example for ancient nt3.51. The winsock2 library is -lws2_32 . It was in the original patch, I did not change this. 0x400 is good. Alon. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1693] Compiling OpenSSL with mingw-w64
On 11/1/08, Andy Polyakov via RT [EMAIL PROTECTED] wrote: Could you please test the other suggested bn_lcl.h modification? While you're on it... I cannot actually test it... I can compile and users may test. I don't have a win64 machine. How is it tested? Implicitly by an application being inter-operable with another? Meaning that only only part of algorithms is tested... I sent them the sha512t test from OpenSSL output. I managed to produce them myself with mingw-w64-bin_x86-64-linux_20080921.tar.bz2. Modified sha512.c is fine, Great! My environment is gcc-4.3.2, binutils-CVS-head, mingw-w64-SVN-head as I found many issues in older releases. modified bn_lcl.h gives ~2x improvement. All tests pass except for the last Whirlpool test. It's a compiler bug, because if I drop optimization level to -O1 when compiling wp_block.c, the test passes. Can you please send this hank as attachment? Strangely enough the code in question is not compiled in VC-* build... Basically there is no need for GetModuleHandle(avdapi32) and consequent GetProcAddress calls, because the functions in question are present on all WinNT *and* Win9x. On latter they do nothing, but they are present, so that application won't suffer from startup errors if you link them explicitly. So do we need it or don't we? Thanks! Alon. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1693] Compiling OpenSSL with mingw-w64
Great! Can you commit the mingw64 other stuff? On 11/1/08, Andy Polyakov via RT [EMAIL PROTECTED] wrote: I managed to produce them myself with mingw-w64-bin_x86-64-linux_20080921.tar.bz2. Modified sha512.c is fine, Great! My environment is gcc-4.3.2, binutils-CVS-head, mingw-w64-SVN-head as 20080921 is equipped with gcc-4.4.0 and whatever the rest it is equipped with. modified bn_lcl.h gives ~2x improvement. All tests pass except for the last Whirlpool test. It's a compiler bug, because if I drop optimization level to -O1 when compiling wp_block.c, the test passes. Can you please send this hank as attachment? http://cvs.openssl.org/chngview?cn=17580. Strangely enough the code in question is not compiled in VC-* build... Basically there is no need for GetModuleHandle(avdapi32) and consequent GetProcAddress calls, because the functions in question are present on all WinNT *and* Win9x. On latter they do nothing, but they are present, so that application won't suffer from startup errors if you link them explicitly. So do we need it or don't we? http://cvs.openssl.org/chngview?cn=17583. A. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED] __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
[openssl.org #1771] CVS Head crypto/jpake/Makefile - missing install rule?
making install in crypto/jpake... make[2]: Entering directory `/home/alonbl/tmp/Development/opensc/build/trunk/tmp/openssl-SNAP-20081028/crypto/jpake' __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1771] CVS Head crypto/jpake/Makefile - missing install rule?
Also string.h is missing. On 10/31/08, Alon Bar-Lev via RT [EMAIL PROTECTED] wrote: making install in crypto/jpake... make[2]: Entering directory `/home/alonbl/tmp/Development/opensc/build/trunk/tmp/openssl-SNAP-20081028/crypto/jpake' __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED] --- openssl-SNAP-20081028/crypto/jpake/jpake.c 2008-10-27 15:00:14.0 +0200 +++ openssl-SNAP-20081028.mingw64/crypto/jpake/jpake.c 2008-10-30 23:23:30.0 +0200 @@ -5,6 +5,7 @@ #include openssl/err.h #include memory.h #include assert.h +#include string.h /* * In the definition, (xa, xb, xc, xd) are Alice's (x1, x2, x3, x4) or
Re: [openssl.org #1771] CVS Head crypto/jpake/Makefile - missing install rule?
On 10/31/08, Alon Bar-Lev [EMAIL PROTECTED] wrote: Also string.h is missing. On 10/31/08, Alon Bar-Lev via RT [EMAIL PROTECTED] wrote: making install in crypto/jpake... make[2]: Entering directory `/home/alonbl/tmp/Development/opensc/build/trunk/tmp/openssl-SNAP-20081028/crypto/jpake' __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED] __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1771] CVS Head crypto/jpake/Makefile - missing install rule?
Forgot the attachment to rt. Sorry for the noise. On 10/31/08, Alon Bar-Lev via RT [EMAIL PROTECTED] wrote: On 10/31/08, Alon Bar-Lev [EMAIL PROTECTED] wrote: Also string.h is missing. On 10/31/08, Alon Bar-Lev via RT [EMAIL PROTECTED] wrote: making install in crypto/jpake... make[2]: Entering directory `/home/alonbl/tmp/Development/opensc/build/trunk/tmp/openssl-SNAP-20081028/crypto/jpake' __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED] __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED] --- openssl-SNAP-20081028/crypto/jpake/jpake.c 2008-10-27 15:00:14.0 +0200 +++ openssl-SNAP-20081028.mingw64/crypto/jpake/jpake.c 2008-10-30 23:23:30.0 +0200 @@ -5,6 +5,7 @@ #include openssl/err.h #include memory.h #include assert.h +#include string.h /* * In the definition, (xa, xb, xc, xd) are Alice's (x1, x2, x3, x4) or
Re: [openssl.org #1693] Compiling OpenSSL with mingw-w64
On 10/31/08, Andy Polyakov via RT [EMAIL PROTECTED] wrote: Could you please test the other suggested bn_lcl.h modification? While you're on it... I cannot actually test it... I can compile and users may test. I don't have a win64 machine. And I don't know how exactly I can check for speed... I can send you binaries to test if you like. I am not fully sure that the crypto/sha/sha512.c is correct, it simulate the behavior of win64 using Microsoft compiler, using _rotr64 function as ROTR. What you should have done instead is to modify macro in question declaring ret as unsigned long long. If it doesn't work, then it's more appropriate to leave ROTR undefined, i.e. *not* using _rotr64. Please verify. Thanks, I converted this to SHA_LONG64 and it now compiles. Can you confirm that it even passes the test? I mean mere compilation success doesn't qualify, it has to pass the test. I will ask my users to run the sha512 test. Also. As NT is natively UNICODE, and there are no non-NT Win64 implementations(*), there is no reason to favor legacy ANSI interfaces. Could you verify that it compiles and works with -DUNICODE -D_UNICODE added to config line? This is too much work, Adding couple of words to config line? I tried to... But then got many linkage error messages of _OBJ_ something. Strange... Now I tried it on clean tree with same snapshot and it compiles. Except one modification I had to do, updated in the patch. Quoting util/VC-32.pl: As per 0.9.8 release remaining warnings were explicitly examined and considered safe to ignore. It naturally does not necessarily apply to HEAD, but there is awareness of the problem. Well... I don't run this script :) Attached is a new patch. Thanks! Alon. diff -urNp openssl-SNAP-20081003/Configure openssl-SNAP-20081003.mingw64/Configure --- openssl-SNAP-20081003/Configure 2008-09-16 00:00:05.0 +0300 +++ openssl-SNAP-20081003.mingw64/Configure 2008-10-20 12:37:37.0 +0200 @@ -496,6 +496,8 @@ my %table=( # MinGW mingw, gcc:-mno-cygwin -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:::MINGW32:-lws2_32 -lgdi32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_coff_asm}:win32:cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin:.dll.a, +mingw64, gcc:-mno-cygwin -DL_ENDIAN -DUNICODE -D_UNICODE -DWIN32_LEAN_AND_MEAN -fomit-frame-pointer -O3 -Wall -D_WIN32_WINNT=0x333:::MINGW64:-lws2_32 -lgdi32:SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:${no_asm}:win32:cygwin-shared:-D_WINDLL:-mno-cygwin:.dll.a, + # UWIN UWIN, cc:-DTERMIOS -DL_ENDIAN -O -Wall:::UWIN::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32, @@ -968,7 +970,7 @@ foreach (sort (keys %disabled)) my $IsMK1MF=scalar grep /^$target$/,@MK1MF_Builds; -$exe_ext=.exe if ($target eq Cygwin || $target eq DJGPP || $target eq mingw); +$exe_ext=.exe if ($target eq Cygwin || $target eq DJGPP || $target =~ /^mingw/); $exe_ext=.nlm if ($target =~ /netware/); $exe_ext=.pm if ($target =~ /vos/); $openssldir=/usr/local/ssl if ($openssldir eq and $prefix eq ); --- openssl-SNAP-20081003/engines/e_aep.c 2008-01-04 01:01:24.0 +0200 +++ openssl-SNAP-20081003.mingw64/engines/e_aep.c 2008-10-20 12:46:24.0 +0200 @@ -62,8 +62,10 @@ #include unistd.h #else #include process.h +#ifndef _PID_T_ typedef int pid_t; +#endif #endif #if defined(OPENSSL_SYS_NETWARE) defined(NETWARE_CLIB) #define getpid GetThreadID diff -urNp openssl-SNAP-20081028.org/crypto/sha/sha512.c openssl-SNAP-20081028/crypto/sha/sha512.c --- openssl-SNAP-20081028/crypto/sha/sha512.c 2008-04-24 13:00:12.0 +0300 +++ openssl-SNAP-20081028.mingw64/crypto/sha/sha512.c 2008-10-30 22:41:20.0 +0200 @@ -350,7 +350,7 @@ static const SHA_LONG64 K512[80] = { #ifndef PEDANTIC # if defined(__GNUC__) __GNUC__=2 !defined(OPENSSL_NO_ASM) !defined(OPENSSL_NO_INLINE_ASM) # if defined(__x86_64) || defined(__x86_64__) -# define ROTR(a,n) ({ unsigned long ret; \ +# define ROTR(a,n) ({ SHA_LONG64 ret; \ asm (rorq %1,%0 \ : =r(ret) \ : J(n),0(a) \ --- openssl-SNAP-20081028/apps/speed.c 2008-10-30 22:59:03.0 +0200 +++ openssl-SNAP-20081028.mingw64/apps/speed.c 2008-10-30 22:59:16.0 +0200 @@ -281,7 +281,7 @@ static double Time_F(int s) if (thr==NULL) { DWORD ret=GetLastError(); - BIO_printf(bio_err,unable to CreateThread (%d),ret); + BIO_printf(bio_err,unable to CreateThread (%ld),ret); ExitProcess(ret); } CloseHandle(thr); /* detach the thread */ --- openssl-SNAP-20081028/crypto/bio/bss_log.c 2008-10-31 14:32:17.0 +0200 +++ openssl-SNAP-20081028.mingw64/crypto/bio/bss_log.c 2008-10-31 14:24:51.0 +0200 @@ -71,6 +71,7 @@ #if defined(OPENSSL_SYS_WINCE) #elif defined(OPENSSL_SYS_WIN32) # include process.h +# include tchar.h #elif defined(OPENSSL_SYS_VMS) # include opcdef.h # include descrip.h @@ -253,7 +252,7 @@ static void xopenlog(BIO* bp,
Re: [openssl.org #1693] Compiling OpenSSL with mingw-w64
Hello, Attached is latest mingw win64 patch for OpenSSL. It is verified to work with the OpenSC project and the OpenVPN project using cross compile from Linux machine using binutils CVS head, gcc-4.3.2 and mingw-w64 svn head. There is no assembly support for pe64. So no assembly is available. Can someone estimate if it is better to use 32bit with assembly than 64bit without? I am not fully sure that the crypto/sha/sha512.c is correct, it simulate the behavior of win64 using Microsoft compiler, using _rotr64 function as ROTR. If correct, please consider to merge this so there is some solution for win64 users and not require to keep syncing with CVS head. I use: ./Configure --prefix=// --cross-compile-prefix=x86_64-pc-mingw32- no-zlib shared mingw64 no-capieng Thank you, Alon Bar-Lev. diff -urNp openssl-SNAP-20081003/Configure openssl-SNAP-20081003.mingw64/Configure --- openssl-SNAP-20081003/Configure 2008-09-16 00:00:05.0 +0300 +++ openssl-SNAP-20081003.mingw64/Configure 2008-10-20 12:37:37.0 +0200 @@ -496,6 +496,8 @@ my %table=( # MinGW mingw, gcc:-mno-cygwin -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:::MINGW32:-lws2_32 -lgdi32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_coff_asm}:win32:cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin:.dll.a, +mingw64, gcc:-mno-cygwin -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -fomit-frame-pointer -O3 -Wall -D_WIN32_WINNT=0x333:::MINGW64:-lws2_32 -lgdi32:SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:${no_asm}:win32:cygwin-shared:-D_WINDLL:-mno-cygwin:.dll.a, + # UWIN UWIN, cc:-DTERMIOS -DL_ENDIAN -O -Wall:::UWIN::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32, @@ -968,7 +970,7 @@ foreach (sort (keys %disabled)) my $IsMK1MF=scalar grep /^$target$/,@MK1MF_Builds; -$exe_ext=.exe if ($target eq Cygwin || $target eq DJGPP || $target eq mingw); +$exe_ext=.exe if ($target eq Cygwin || $target eq DJGPP || $target =~ /^mingw/); $exe_ext=.nlm if ($target =~ /netware/); $exe_ext=.pm if ($target =~ /vos/); $openssldir=/usr/local/ssl if ($openssldir eq and $prefix eq ); --- openssl-SNAP-20081003/engines/e_aep.c 2008-01-04 01:01:24.0 +0200 +++ openssl-SNAP-20081003.mingw64/engines/e_aep.c 2008-10-20 12:46:24.0 +0200 @@ -62,8 +62,10 @@ #include unistd.h #else #include process.h +#ifndef _PID_T_ typedef int pid_t; +#endif #endif #if defined(OPENSSL_SYS_NETWARE) defined(NETWARE_CLIB) #define getpid GetThreadID --- openssl-SNAP-20081023/crypto/sha/sha512.c 2008-04-24 13:00:12.0 +0300 +++ openssl-SNAP-20081023.mingw64/crypto/sha/sha512.c 2008-10-28 00:19:56.0 +0200 @@ -350,11 +350,15 @@ static const SHA_LONG64 K512[80] = { #ifndef PEDANTIC # if defined(__GNUC__) __GNUC__=2 !defined(OPENSSL_NO_ASM) !defined(OPENSSL_NO_INLINE_ASM) # if defined(__x86_64) || defined(__x86_64__) -# define ROTR(a,n) ({ unsigned long ret; \ +# if defined(_WIN64) +#define ROTR(a,n) _rotr64((a),n) /* applies to both IA-64 and AMD64 */ +# else +#define ROTR(a,n) ({ unsigned long ret; \ asm (rorq %1,%0 \ : =r(ret) \ : J(n),0(a) \ : cc); ret; }) +# endif # if !defined(B_ENDIAN) #define PULL64(x) ({ SHA_LONG64 ret=*((const SHA_LONG64 *)((x))); \ asm (bswapq %0 \
Re: [openssl.org #1693] Compiling OpenSSL with mingw-w64
On Thursday 30 October 2008, Andy Polyakov via RT wrote: There is no assembly support for pe64. Well, Win64 ABI is fully supported by OpenSSL x86_64 assembler modules. There is no support for GNU assembler under Win64, but masm (rather known as ml64) and nasm are fully supported (though there are requirements for least supported versions, for nasm it's 2.03). This would be great! I am not fully sure that the crypto/sha/sha512.c is correct, it simulate the behavior of win64 using Microsoft compiler, using _rotr64 function as ROTR. What you should have done instead is to modify macro in question declaring ret as unsigned long long. If it doesn't work, then it's more appropriate to leave ROTR undefined, i.e. *not* using _rotr64. Please verify. Thanks, I converted this to SHA_LONG64 and it now compiles. Also. As NT is natively UNICODE, and there are no non-NT Win64 implementations(*), there is no reason to favor legacy ANSI interfaces. Could you verify that it compiles and works with -DUNICODE -D_UNICODE added to config line? A. This is too much work, and it is not related to mingw-win64, as this is needed also for NT port. There is too much dependency in ANSI in current implementation. I forgot to mention that the uplink was removed due to assembly issues. There is another issue... sizeof(long)sizeof(void*) in win64... So I found more places that needs some attention, the Should be fixed category probably impact more than I can fix. Alignments are simple to fix, but changing the long variables that hold pointers modifies interfaces. I just don't understand how using Microsoft compiler this code makes sense. Works but cast need do be fixed: cryptlib.c:442: warning: cast from pointer to integer of different size printf, should be converted to %p and remove cast: asn1_lib.c:467: warning: cast from pointer to integer of different size mem_dbg.c:699: warning: cast from pointer to integer of different size bio_cb.c:78: warning: cast from pointer to integer of different size Should be fixed: mem_dbg.c:333: warning: cast from pointer to integer of different size rc4_enc.c:123: warning: cast from pointer to integer of different size rc4_enc.c:124: warning: cast from pointer to integer of different size b_print.c:379: warning: cast from pointer to integer of different size s3_pkt.c:146: warning: cast from pointer to integer of different size s3_pkt.c:688: warning: cast from pointer to integer of different size s3_pkt.c:701: warning: cast from pointer to integer of different size dllimport issues, probably unrelated: ecb_enc.c:64: warning: ‘OSSL_libdes_version’ redeclared without dllimport attribute: previous dllimport ignored ecb_enc.c:65: warning: ‘OSSL_DES_version’ redeclared without dllimport attribute: previous dllimport ignored s2_lib.c:124: warning: ‘ssl2_ciphers’ redeclared without dllimport attribute: previous dllimport ignored s3_lib.c:170: warning: ‘ssl3_ciphers’ redeclared without dllimport attribute: previous dllimport ignored If you like, I wrote a build script for the mingw-win64 toolchain and OpenSC components (Including OpenSSL). It is available at [1] and [2]. Attached is a new patch. Thank you, Alon Bar-Lev. [1] http://www.opensc-project.org/build/browser/trunk/mingw64 [2] http://www.opensc-project.org/build/browser/trunk diff -urNp openssl-SNAP-20081003/Configure openssl-SNAP-20081003.mingw64/Configure --- openssl-SNAP-20081003/Configure 2008-09-16 00:00:05.0 +0300 +++ openssl-SNAP-20081003.mingw64/Configure 2008-10-20 12:37:37.0 +0200 @@ -496,6 +496,8 @@ my %table=( # MinGW mingw, gcc:-mno-cygwin -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:::MINGW32:-lws2_32 -lgdi32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_coff_asm}:win32:cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin:.dll.a, +mingw64, gcc:-mno-cygwin -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -fomit-frame-pointer -O3 -Wall -D_WIN32_WINNT=0x333:::MINGW64:-lws2_32 -lgdi32:SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:${no_asm}:win32:cygwin-shared:-D_WINDLL:-mno-cygwin:.dll.a, + # UWIN UWIN, cc:-DTERMIOS -DL_ENDIAN -O -Wall:::UWIN::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32, @@ -968,7 +970,7 @@ foreach (sort (keys %disabled)) my $IsMK1MF=scalar grep /^$target$/,@MK1MF_Builds; -$exe_ext=.exe if ($target eq Cygwin || $target eq DJGPP || $target eq mingw); +$exe_ext=.exe if ($target eq Cygwin || $target eq DJGPP || $target =~ /^mingw/); $exe_ext=.nlm if ($target =~ /netware/); $exe_ext=.pm if ($target =~ /vos/); $openssldir=/usr/local/ssl if ($openssldir eq and $prefix eq ); --- openssl-SNAP-20081003/engines/e_aep.c 2008-01-04 01:01:24.0 +0200 +++ openssl-SNAP-20081003.mingw64/engines/e_aep.c 2008-10-20 12:46:24.0 +0200 @@ -62,8 +62,10 @@ #include unistd.h #else #include
Re: [openssl.org #1753] snapshot 20081003 broke mingw build
Hello Roumen, Thank you for addressing this. I cannot reproduce the _XOPEN_SOURCE issue anymore, maybe because in the meantime I upgraded to mingw-runtime-3.15.1. For the WIN32_LEAN_AND_MEAN, I don't see how it is relates to winsock issue... You could always have #include winsock.h and you do this already at e_os.h. It cleaner as it does not include extra headers and removes the conflicts from x509.h... But it is optional. Waiting for 2, 3, 4... :) Thanks, Alon. On 10/21/08, Roumen Petrov via RT [EMAIL PROTECTED] wrote: Alon Bar-Lev via RT wrote: Attached are patches, please address this issues, it is hard to keep sync this way. The order of the issue is according to importance, (1, 2, 3) blockers. Thanks! 1. _XOPEN_SOURCE cannot be used in mingw, strptime is never used anyway? 2. Make domd use cross compiler if available. 3. Update depend to execute update so that openssl/crypto/objects/obj_xref.h will be generated as it is required for make depend. 4. For some strange reason perl reports that symlinks are available under msys, while it cannot create symbolic link when the to is not reachable from cwd. 5. Added -DWIN32_LEAN_AND_MEAN and drop the conflict undef of x509.h I couldn't confirm above but I build in cross-compilation environment. About 5) -DWIN32_LEAN_AND_MEAN it has to be default for all windows build except mingw32. It is related to winsock2 but mingw32 always include winsock2 headers. No objections this to be default for mingw too. May by you use mingw64 and this project use different headers in comparison to mingw32 project. The issue with mingw64 was already reported. About 1) _XOPEN_SOURCE it is not clear what is really problem. I would like to reject this for minw32 It definition for mingw32 project is same as -posix compiler flag. Please detail version of mingw runtime environment. About 2,3,4 - later. Roumen __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1753] snapshot 20081003 broke mingw build
I did not wish to do anything special except of fixing mingw, so I drop the LEAN_AND_MEAN fixup. Latest snapshot added obj_xref.h, so the depend target can stay the same. Attached is the only fix needed for making domd use cross compiler, as it fails because of the -mno-cygwin. And optional fix I have in my queue for msys. Thanks! For some strange reason perl reports that symlinks are available under msys, while it cannot create symbolic link when the to is not reachable from cwd. --- diff -urNp openssl-SNAP-20080611.org/util/mklink.pl openssl-SNAP-20080611/util/mklink.pl --- openssl-SNAP-20080611.org/util/mklink.pl 2006-02-09 15:00:35.0 +0200 +++ openssl-SNAP-20080611/util/mklink.pl 2008-06-13 12:42:06.0 +0300 @@ -51,6 +51,7 @@ my $to = join('/', @to_path); my $file; $symlink_exists=eval {symlink(,); 1}; +if ($^O eq msys) { $symlink_exists=0 }; foreach $file (@files) { my $err = ; if ($symlink_exists) { Make domd use cross compiler if available. --- --- openssl-SNAP-20081019/Configure 2008-10-12 17:00:05.0 +0200 +++ openssl-SNAP-20081019.old/Configure 2008-10-21 20:13:28.0 +0200 @@ -1394,12 +1394,13 @@ while (IN) s/^AR=\s*/AR= \$\(CROSS_COMPILE_PREFIX\)/; s/^NM=\s*/NM= \$\(CROSS_COMPILE_PREFIX\)/; s/^RANLIB=\s*/RANLIB= \$\(CROSS_COMPILE_PREFIX\)/; + s/^MAKEDEPPROG=.*$/MAKEDEPPROG= \$\(CROSS_COMPILE_PREFIX\)$cc/ if $cc eq gcc; } else { s/^CC=.*$/CC= $cc/; s/^RANLIB=.*/RANLIB= $ranlib/; + s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $cc eq gcc; } - s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $cc eq gcc; s/^CFLAG=.*$/CFLAG= $cflags/; s/^DEPFLAG=.*$/DEPFLAG= $depflags/; s/^PEX_LIBS=.*$/PEX_LIBS= $prelflags/; --- openssl-SNAP-20081019/util/domd 2008-09-09 23:00:21.0 +0300 +++ openssl-SNAP-20081019.old/util/domd 2008-10-21 20:16:57.0 +0200 @@ -14,7 +14,7 @@ if [ $MAKEDEPEND = ]; then MAKEDEPE cp Makefile Makefile.save # fake the presence of Kerberos touch $TOP/krb5.h -if [ $MAKEDEPEND = gcc ]; then +if echo $MAKEDEPEND | grep gcc /dev/null; then args= while [ $# -gt 0 ]; do if [ $1 != -- ]; then args=$args $1; fi @@ -22,7 +22,7 @@ if [ $MAKEDEPEND = gcc ]; then done sed -e '/^# DO NOT DELETE.*/,$d' Makefile Makefile.tmp echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' Makefile.tmp -gcc -Werror -D OPENSSL_DOING_MAKEDEPEND -M $args Makefile.tmp || exit +$MAKEDEPEND -Werror -D OPENSSL_DOING_MAKEDEPEND -M $args Makefile.tmp || exit ${PERL} $TOP/util/clean-depend.pl Makefile.tmp Makefile.new rm -f Makefile.tmp else
Re: [openssl.org #1753] snapshot 20081003 broke mingw build
On 10/22/08, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi, 5. Added -DWIN32_LEAN_AND_MEAN and drop the conflict undef of x509.h While I don't mind having to compile the library itself with special flags, the above implies that every _user_ of OpenSSL who includes x509.h has to either use -DWIN32_LEAN_AND_MEAN as well or that he is going to have to add those undefs himself, so IMHO this is something which really should be done by openssl headers themselves, even if that means a bit more work and occassionally doesn't work (i.e. when MS adds yet another conflicting definition to their headers...). Hi! This is somewhat impossible... as if the user will include windows.h before this header the conflict will arise. I believe that documentation should state that there may be a conflict and recommend using the WIN32_LEAN_AND_MEAN. While OpenSSL should be compiled with WIN32_LEAN_AND_MEAN. But let's drop it for now, I only wished to fix mingw breakage with latest snapshots. Thanks, Alon. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1753] snapshot 20081003 broke mingw build
On 10/22/08, Roumen Petrov [EMAIL PROTECTED] wrote: Alon Bar-Lev via RT wrote: [SNIP] For some strange reason perl reports that symlinks are available under msys, while it cannot create symbolic link when the to is not reachable from cwd. May be I can access a msys environment next week :( . It is save to assume that msys don't support symbolic links. Dunno why perl report symlink support. MSYS don't support them, don't use even shortcuts and command ln -s just copy files. True. Perl actually copies the files, but it is unable to do so if the source is not available from working directory. It does not try to resolve it from target directory. Alon. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1753] snapshot 20081003 broke mingw build
Attached are patches, please address this issues, it is hard to keep sync this way. The order of the issue is according to importance, (1, 2, 3) blockers. Thanks! 1. _XOPEN_SOURCE cannot be used in mingw, strptime is never used anyway? 2. Make domd use cross compiler if available. 3. Update depend to execute update so that openssl/crypto/objects/obj_xref.h will be generated as it is required for make depend. 4. For some strange reason perl reports that symlinks are available under msys, while it cannot create symbolic link when the to is not reachable from cwd. 5. Added -DWIN32_LEAN_AND_MEAN and drop the conflict undef of x509.h _XOPEN_SOURCE cannot be used in mingw, strptime is never used anyway? Added -DWIN32_LEAN_AND_MEAN and drop the conflict undef of x509.h Make domd use cross compiler if available. Update depend to execute update so that openssl/crypto/objects/obj_xref.h will be generated as it is required for make depend. --- diff -urNp openssl-SNAP-20081003.org/ssl/kssl.c openssl-SNAP-20081003/ssl/kssl.c --- openssl-SNAP-20081003.org/ssl/kssl.c 2007-02-10 13:00:54.0 +0200 +++ openssl-SNAP-20081003/ssl/kssl.c 2008-10-04 21:30:51.0 +0300 @@ -68,7 +68,6 @@ #include openssl/opensslconf.h -#define _XOPEN_SOURCE 500 /* glibc2 needs this to declare strptime() */ #include time.h #if 0 /* Experimental */ #undef _XOPEN_SOURCE /* To avoid clashes with anything else... */ --- openssl-SNAP-20081019/Configure 2008-10-12 17:00:05.0 +0200 +++ openssl-SNAP-20081019.old/Configure 2008-10-21 20:13:28.0 +0200 @@ -495,7 +495,7 @@ my %table=( BC-32,bcc32WIN32::BN_LLONG DES_PTR RC4_INDEX EXPORT_VAR_AS_FN:${no_asm}:win32, # MinGW -mingw, gcc:-mno-cygwin -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:::MINGW32:-lws2_32 -lgdi32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_coff_asm}:win32:cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin:.dll.a, +mingw, gcc:-mno-cygwin -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:::MINGW32:-lws2_32 -lgdi32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_coff_asm}:win32:cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin:.dll.a, # UWIN UWIN, cc:-DTERMIOS -DL_ENDIAN -O -Wall:::UWIN::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32, @@ -1394,12 +1394,13 @@ while (IN) s/^AR=\s*/AR= \$\(CROSS_COMPILE_PREFIX\)/; s/^NM=\s*/NM= \$\(CROSS_COMPILE_PREFIX\)/; s/^RANLIB=\s*/RANLIB= \$\(CROSS_COMPILE_PREFIX\)/; + s/^MAKEDEPPROG=.*$/MAKEDEPPROG= \$\(CROSS_COMPILE_PREFIX\)$cc/ if $cc eq gcc; } else { s/^CC=.*$/CC= $cc/; s/^RANLIB=.*/RANLIB= $ranlib/; + s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $cc eq gcc; } - s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $cc eq gcc; s/^CFLAG=.*$/CFLAG= $cflags/; s/^DEPFLAG=.*$/DEPFLAG= $depflags/; s/^PEX_LIBS=.*$/PEX_LIBS= $prelflags/; --- openssl-SNAP-20081019/util/domd 2008-09-09 23:00:21.0 +0300 +++ openssl-SNAP-20081019.old/util/domd 2008-10-21 20:16:57.0 +0200 @@ -14,7 +14,7 @@ if [ $MAKEDEPEND = ]; then MAKEDEPE cp Makefile Makefile.save # fake the presence of Kerberos touch $TOP/krb5.h -if [ $MAKEDEPEND = gcc ]; then +if echo $MAKEDEPEND | grep gcc /dev/null; then args= while [ $# -gt 0 ]; do if [ $1 != -- ]; then args=$args $1; fi @@ -22,7 +22,7 @@ if [ $MAKEDEPEND = gcc ]; then done sed -e '/^# DO NOT DELETE.*/,$d' Makefile Makefile.tmp echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' Makefile.tmp -gcc -Werror -D OPENSSL_DOING_MAKEDEPEND -M $args Makefile.tmp || exit +$MAKEDEPEND -Werror -D OPENSSL_DOING_MAKEDEPEND -M $args Makefile.tmp || exit ${PERL} $TOP/util/clean-depend.pl Makefile.tmp Makefile.new rm -f Makefile.tmp else --- openssl-SNAP-20081019.old/Makefile.org 2008-06-04 15:00:10.0 +0300 +++ openssl-SNAP-20081019/Makefile.org 2008-10-21 20:30:17.0 +0200 @@ -409,7 +409,7 @@ tests: rehash report: @$(PERL) util/selftest.pl -depend: +depend: update @set -e; target=depend; $(RECURSIVE_BUILD_CMD) lint: --- openssl-SNAP-20081019/crypto/x509/x509.h 2008-10-08 01:00:18.0 +0200 +++ openssl-SNAP-20081019.new/crypto/x509/x509.h 2008-10-21 20:42:20.0 +0200 @@ -112,12 +112,6 @@ extern C { #endif -#ifdef OPENSSL_SYS_WIN32 -/* Under Win32 these are defined in wincrypt.h */ -#undef X509_NAME -#undef X509_CERT_PAIR -#endif - #define X509_FILETYPE_PEM 1 #define X509_FILETYPE_ASN1 2 #define X509_FILETYPE_DEFAULT 3 For some strange reason perl reports that symlinks are available under msys, while it cannot create symbolic link when the to is not reachable from cwd. --- diff -urNp openssl-SNAP-20080611.org/util/mklink.pl openssl-SNAP-20080611/util/mklink.pl --- openssl-SNAP-20080611.org/util/mklink.pl 2006-02-09 15:00:35.0 +0200 +++ openssl-SNAP-20080611/util/mklink.pl 2008-06-13 12:42:06.0 +0300 @@ -51,6 +51,7 @@ my $to = join('/', @to_path);
Re: [openssl.org #1693] Compiling OpenSSL with mingw-w64
Hello, Attached is a new version, against latest snapshot. I don't know how the -DOPENSSL_USE_APPLINK works for you guys... It produces invalid asm for me... I don't fully understand what this file do... perl ../ms/uplink.pl coff uplink-cof.s x86_64-pc-mingw32-gcc -I. -I.. -I../include -D_WINDLL -DOPENSSL_USE_APPLINK -DOPENSSL_PIC -DOPENSSL_THREADS -DDSO_WIN32 -mno-cygwin -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -fomit-frame-pointer -O3 -Wall -D_WIN32_WINNT=0x333 -c -o uplink-cof.o uplink-cof.s uplink-cof.s: Assembler messages: uplink-cof.s:5: Error: suffix or operands invalid for `push' uplink-cof.s:6: Error: suffix or operands invalid for `push' uplink-cof.s:13: Error: suffix or operands invalid for `push' snip WIN32_LEAN_AND_MEAN should also be added to regular mingw target. --- diff -urNp openssl-SNAP-20081003/apps/speed.c openssl-SNAP-20081003.mingw64/apps/speed.c --- openssl-SNAP-20081003/apps/speed.c 2007-11-16 17:00:11.0 +0200 +++ openssl-SNAP-20081003.mingw64/apps/speed.c 2008-10-20 12:58:43.0 +0200 @@ -261,7 +261,8 @@ static SIGRETTYPE sig_done(int sig) #define SIGALRM static unsigned int lapse,schlock; -static void alarm(unsigned int secs) { lapse = secs*1000; } +static void myalarm(unsigned int secs) { lapse = secs*1000; } +#define ALARM myalarm static DWORD WINAPI sleepy(VOID *arg) { @@ -291,6 +291,7 @@ static double Time_F(int s) return app_tminterval(s,usertime); } #else +#define ALARM alarm static double Time_F(int s) { @@ -2514,7 +2515,7 @@ static void print_message(const char *s, BIO_printf(bio_err,mr ? +DT:%s:%d:%d\n : Doing %s for %ds on %d size blocks: ,s,SECONDS,length); (void)BIO_flush(bio_err); - alarm(SECONDS); + ALARM(SECONDS); #else BIO_printf(bio_err,mr ? +DN:%s:%ld:%d\n : Doing %s %ld times on %d size blocks: ,s,num,length); @@ -2532,7 +2533,7 @@ static void pkey_print_message(const cha BIO_printf(bio_err,mr ? +DTP:%d:%s:%s:%d\n : Doing %d bit %s %s's for %ds: ,bits,str,str2,tm); (void)BIO_flush(bio_err); - alarm(RSA_SECONDS); + ALARM(RSA_SECONDS); #else BIO_printf(bio_err,mr ? +DNP:%ld:%d:%s:%s\n : Doing %ld %d bit %s %s's: ,num,bits,str,str2); diff -urNp openssl-SNAP-20081003/Configure openssl-SNAP-20081003.mingw64/Configure --- openssl-SNAP-20081003/Configure 2008-09-16 00:00:05.0 +0300 +++ openssl-SNAP-20081003.mingw64/Configure 2008-10-20 12:37:37.0 +0200 @@ -496,6 +496,8 @@ my %table=( # MinGW mingw, gcc:-mno-cygwin -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:::MINGW32:-lws2_32 -lgdi32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_coff_asm}:win32:cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin:.dll.a, +mingw64, gcc:-mno-cygwin -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -fomit-frame-pointer -O3 -Wall -D_WIN32_WINNT=0x333:::MINGW64:-lws2_32 -lgdi32:SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:${no_asm}:win32:cygwin-shared:-D_WINDLL:-mno-cygwin -shared:.dll.a, + # UWIN UWIN, cc:-DTERMIOS -DL_ENDIAN -O -Wall:::UWIN::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32, @@ -968,7 +970,7 @@ foreach (sort (keys %disabled)) my $IsMK1MF=scalar grep /^$target$/,@MK1MF_Builds; -$exe_ext=.exe if ($target eq Cygwin || $target eq DJGPP || $target eq mingw); +$exe_ext=.exe if ($target eq Cygwin || $target eq DJGPP || $target =~ /^mingw*/); $exe_ext=.nlm if ($target =~ /netware/); $exe_ext=.pm if ($target =~ /vos/); $openssldir=/usr/local/ssl if ($openssldir eq and $prefix eq ); --- openssl-SNAP-20081003/engines/e_aep.c 2008-01-04 01:01:24.0 +0200 +++ openssl-SNAP-20081003.mingw64/engines/e_aep.c 2008-10-20 12:46:24.0 +0200 @@ -62,8 +62,10 @@ #include unistd.h #else #include process.h +#ifndef _PID_T_ typedef int pid_t; +#endif #endif #if defined(OPENSSL_SYS_NETWARE) defined(NETWARE_CLIB) #define getpid GetThreadID __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1693] Compiling OpenSSL with mingw-w64
The alarm() will be removed: https://sourceforge.net/tracker/index.php?func=detailaid=2182468group_id=202880atid=983354 __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
[openssl.org #1753] snapshot 20081003 broke mingw build
Hello, Latest snapshot broke mingw build for the following reasons: 1. ssl/kssl.c declares _XOPEN_SOURCE at source level and not at configuration level, this is invalid in some environments. Please consider moving this to Configure targets table. Also, I cannot see where strptime is used anyway... :) 2.util/domd was modified to exit on error, this is OK, but exposed a different error that was there since cross compile feature was added to build system. The domd uses gcc directly and ignores the cross compile prefix. Please make it use correct toolchain. While we at it, one old minor issue with msys... For some strange reason perl reports that symlinks are available under msys, while it cannot create symbolic link when the to is not reachable from cwd. Attached is also a fix for this one. Thanks, Alon Bar-Lev. --- diff -urNp openssl-SNAP-20081003.org/ssl/kssl.c openssl-SNAP-20081003/ssl/kssl.c --- openssl-SNAP-20081003.org/ssl/kssl.c2007-02-10 13:00:54.0 +0200 +++ openssl-SNAP-20081003/ssl/kssl.c2008-10-04 21:30:51.0 +0300 @@ -68,7 +68,6 @@ #include openssl/opensslconf.h -#define _XOPEN_SOURCE 500 /* glibc2 needs this to declare strptime() */ #include time.h #if 0 /* Experimental */ #undef _XOPEN_SOURCE /* To avoid clashes with anything else... */ diff -urNp openssl-SNAP-20081003.org/util/domd openssl-SNAP-20081003/util/domd --- openssl-SNAP-20081003.org/util/domd 2008-09-09 23:00:21.0 +0300 +++ openssl-SNAP-20081003/util/domd 2008-10-04 21:29:05.0 +0300 @@ -22,7 +22,7 @@ if [ $MAKEDEPEND = gcc ]; then done sed -e '/^# DO NOT DELETE.*/,$d' Makefile Makefile.tmp echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' Makefile.tmp -gcc -Werror -D OPENSSL_DOING_MAKEDEPEND -M $args Makefile.tmp || exit +gcc -D OPENSSL_DOING_MAKEDEPEND -M $args Makefile.tmp ${PERL} $TOP/util/clean-depend.pl Makefile.tmp Makefile.new rm -f Makefile.tmp else diff -urNp openssl-SNAP-20080611.org/util/mklink.pl openssl-SNAP-20080611/util/mklink.pl --- openssl-SNAP-20080611.org/util/mklink.pl2006-02-09 15:00:35.0 +0200 +++ openssl-SNAP-20080611/util/mklink.pl2008-06-13 12:42:06.0 +0300 @@ -51,6 +51,7 @@ my $to = join('/', @to_path); my $file; $symlink_exists=eval {symlink(,); 1}; +if ($^O eq msys) { $symlink_exists=0 }; foreach $file (@files) { my $err = ; if ($symlink_exists) { __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1552] mingw patch for openssl-0.9.8e
Thank you!!! Will check. On 4/17/08, Lutz Jaenicke via RT [EMAIL PROTECTED] wrote: I have applied both the patch from Roumen Petrov and the Fixup from Alon Bar-Lev. I don't have a mingw environment to actually verify the correct operation. Please check out the next snapshot and verify that everything is working now as expected. Best regards, Lutz __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED] __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Plee for merge Mingw support (rt#1552)
Hello, I just finished to modify OpenSC build system to allow building using cross compile environment, including for Windows using mingw. I use current OpenSSL's trunk, as it is the first version that support cross compile environment. The problem is that trunk lacks required support for Windows. In the past I wrote a patch to enable this (rt#1415), then Roumen Petrov wrote superior patch at (rt#1552). As far as I can see this patch touches only mingw issues, so any regression that might result from this effect only this environment. Can you please consider merging this into trunk so we know that all is included into next version of OpenSSL, and stop chasing trunk? Thank you, Alon Bar-Lev. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Issues with latest snapshot
Hello, Tried to compile latest snapshot (openssl-SNAP-20080314.tar.gz) In apps/apps.h the apps_shutdown macro always calls to COMP_zlib_cleanup() even if zlib is not enabled. Removing this makes it work. I use mingw so maybe it was not tested yet... There are missing symbols of CMS when linking openssl.exe, maybe related to [1]. Configure with no-cms allows to continue. Regards, Alon. [1] Warning: ASN1_TYPE_set1 does not have a number assigned Warning: BIO_f_zlib does not have a number assigned Warning: BIO_new_CMS does not have a number assigned Warning: BIO_new_NDEF does not have a number assigned Warning: CMS_ContentInfo_free does not have a number assigned Warning: CMS_ContentInfo_it{1} does not have a number assigned Warning: CMS_ContentInfo_new does not have a number assigned Warning: CMS_ContentInfo_print_ctx does not have a number assigned Warning: CMS_Data_Create does not have a number assigned Warning: CMS_SignedData_init does not have a number assigned Warning: CMS_SignerInfo_cert_cmp does not have a number assigned Warning: CMS_SignerInfo_get0_algs does not have a number assigned Warning: CMS_SignerInfo_get0_signer_id does not have a number assigned Warning: CMS_SignerInfo_set1_signer_cert does not have a number assigned Warning: CMS_SignerInfo_sign does not have a number assigned Warning: CMS_SignerInfo_verify does not have a number assigned Warning: CMS_SignerInfo_verify_content does not have a number assigned Warning: CMS_add0_CertificateChoices does not have a number assigned Warning: CMS_add0_RevocationInfoChoice does not have a number assigned Warning: CMS_add0_cert does not have a number assigned Warning: CMS_add0_crl does not have a number assigned Warning: CMS_add1_cert does not have a number assigned Warning: CMS_add1_signer does not have a number assigned Warning: CMS_add_simple_smimecap does not have a number assigned Warning: CMS_add_smimecap does not have a number assigned Warning: CMS_add_standard_smimecap does not have a number assigned Warning: CMS_compress does not have a number assigned Warning: CMS_dataFinal does not have a number assigned Warning: CMS_dataInit does not have a number assigned Warning: CMS_data does not have a number assigned Warning: CMS_data_create does not have a number assigned Warning: CMS_decrypt does not have a number assigned Warning: CMS_digest_create does not have a number assigned Warning: CMS_digest_verify does not have a number assigned Warning: CMS_encrypt does not have a number assigned Warning: CMS_final does not have a number assigned Warning: CMS_get0_SignerInfos does not have a number assigned Warning: CMS_get0_content does not have a number assigned Warning: CMS_get0_eContentType does not have a number assigned Warning: CMS_get0_signers does not have a number assigned Warning: CMS_get0_type does not have a number assigned Warning: CMS_get1_certs does not have a number assigned Warning: CMS_get1_crls does not have a number assigned Warning: CMS_is_detached does not have a number assigned Warning: CMS_set1_eContentType does not have a number assigned Warning: CMS_set1_signers_certs does not have a number assigned Warning: CMS_set_detached does not have a number assigned Warning: CMS_sign does not have a number assigned Warning: CMS_signed_add1_attr does not have a number assigned Warning: CMS_signed_add1_attr_by_NID does not have a number assigned Warning: CMS_signed_add1_attr_by_OBJ does not have a number assigned Warning: CMS_signed_add1_attr_by_txt does not have a number assigned Warning: CMS_signed_delete_attr does not have a number assigned Warning: CMS_signed_get0_data_by_OBJ does not have a number assigned Warning: CMS_signed_get_attr does not have a number assigned Warning: CMS_signed_get_attr_by_NID does not have a number assigned Warning: CMS_signed_get_attr_by_OBJ does not have a number assigned Warning: CMS_signed_get_attr_count does not have a number assigned Warning: CMS_stream does not have a number assigned Warning: CMS_uncompress does not have a number assigned Warning: CMS_unsigned_add1_attr does not have a number assigned Warning: CMS_unsigned_add1_attr_by_NID does not have a number assigned Warning: CMS_unsigned_add1_attr_by_OBJ does not have a number assigned Warning: CMS_unsigned_add1_attr_by_txt does not have a number assigned Warning: CMS_unsigned_delete_attr does not have a number assigned Warning: CMS_unsigned_get0_data_by_OBJ does not have a number assigned Warning: CMS_unsigned_get_attr does not have a number assigned Warning: CMS_unsigned_get_attr_by_NID does not have a number assigned Warning: CMS_unsigned_get_attr_by_OBJ does not have a number assigned Warning: CMS_unsigned_get_attr_count does not have a number assigned Warning: CMS_verify does not have a number assigned Warning: COMP_zlib_cleanup does not have a number assigned Warning: ERR_load_CMS_strings does not have a number assigned Warning: PEM_read_CMS does not have a number assigned Warning: PEM_read_bio_CMS does not have a number assigned
Re: [openssl.org #1552] mingw patch for openssl-cvs
Great! Works also with cross compile, closes #1415! A minor fix is attached. The prefix must be enclosed with brackets as when $$x$(y), the y is translated first. Just for my reminder: ./Configure --prefix=// --cross-compile-prefix=mingw32- shared mingw make install INSTALL_PREFIX=/tmp/w32 Alon. On 2/17/08, Roumen Petrov via RT [EMAIL PROTECTED] wrote: patch updated to current cvs 20080217 Roumen diff -urNp openssl-SNAP-20080217.r/engines/ccgost/Makefile openssl-SNAP-20080217.rn/engines/ccgost/Makefile --- openssl-SNAP-20080217.r/engines/ccgost/Makefile 2008-02-17 19:28:50.0 +0200 +++ openssl-SNAP-20080217.rn/engines/ccgost/Makefile 2008-02-17 19:29:29.0 +0200 @@ -53,13 +53,13 @@ install: *DSO_WIN32*) sfx=eay32.dll; pfx=;; \ *) sfx=.bad;; \ esac; \ - cp $$pfx$(LIBNAME)$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/$$pfx$(LIBNAME)$$sfx.new; \ + cp $${pfx}$(LIBNAME)$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/$${pfx}$(LIBNAME)$$sfx.new; \ else \ sfx=so; \ - cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/$$pfx$(LIBNAME)$$sfx.new; \ + cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/$${pfx}$(LIBNAME)$$sfx.new; \ fi; \ - chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/$$pfx$(LIBNAME)$$sfx.new; \ - mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/$$pfx$(LIBNAME)$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/$$pfx$(LIBNAME)$$sfx; \ + chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/$${pfx}$(LIBNAME)$$sfx.new; \ + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/$${pfx}$(LIBNAME)$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/$${pfx}$(LIBNAME)$$sfx; \ fi links:
Re: [openssl.org #1451] PATCH (Re: Cross compile OpenSSL in Linux using MinGW32)
Can be closed in favor of: http://rt.openssl.org/index.html?q=1552 __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: PKCS#11 wrapper around OpenSSL
On Nov 19, 2007 10:52 PM, Steven Bade [EMAIL PROTECTED] wrote: I believe that Sun contributed a pretty robust PKCS#11 engine for openSSL. It support a single static (compile time) provider, and even does not login to the token... I don't understand why it is packed as a patch and not as separate shared library... Anyway, from reading the code this is not really usable. Alon. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1451] PATCH (Re: Cross compile OpenSSL in Linux using MinGW32)
On 10/27/07, Andy Polyakov via RT [EMAIL PROTECTED] wrote: Any reason why not merge the patch into snapshots? The only reason is lack of time. Trouble is that there also are other minor open issues in mingw build and idea is to sit down some day and reflect over the whole build procedure. A. Great to get response! Maybe I can help? __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1451] PATCH (Re: Cross compile OpenSSL in Linux using MinGW32)
On 10/27/07, Andy Polyakov via RT [EMAIL PROTECTED] wrote: Any reason why not merge the patch into snapshots? The only reason is lack of time. Trouble is that there also are other minor open issues in mingw build and idea is to sit down some day and reflect over the whole build procedure. A. Great to get response! Maybe I can help? __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1451] PATCH (Re: Cross compile OpenSSL in Linux using MinGW32)
Hello OpenSSL developers, Any reason why not merge the patch into snapshots? http://rt.openssl.org/Ticket/Display.html?id=1451 It is important for people who wish to compile to Microsoft platform without using any Microsoft resources. Best Regards, Alon Bar-Lev __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1451] PATCH (Re: Cross compile OpenSSL in Linux using MinGW32)
Hello, An update. 1. The issue with OPENSSL_IMPLEMENT_GLOBAL is gone now. 2. Merged with Roumen Petrov's patch: http://rt.openssl.org/Ticket/Display.html?id=1552 Except of not postfix engine dlls with eay32. Best Regards, Alon Bar-Lev. --- diff -urNp openssl-SNAP-20070901/Configure openssl-SNAP-20070901.mingw32-2/Configure --- openssl-SNAP-20070901/Configure 2007-08-30 12:00:13.0 +0300 +++ openssl-SNAP-20070901.mingw32-2/Configure 2007-09-01 19:36:32.0 +0300 @@ -481,7 +481,7 @@ my %table=( BC-32,bcc32WIN32::BN_LLONG DES_PTR RC4_INDEX EXPORT_VAR_AS_FN:${no_asm}:win32, # MinGW -mingw, gcc:-mno-cygwin -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:::MINGW32:-lws2_32 -lgdi32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_coff_asm}:win32:cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin -shared:.dll.a, +mingw, gcc:-mno-cygwin -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:::MINGW32:-lws2_32 -lgdi32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_coff_asm}:win32:cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin:.dll.a, # UWIN UWIN, cc:-DTERMIOS -DL_ENDIAN -O -Wall:::UWIN::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32, @@ -1169,13 +1169,16 @@ if (!$no_shared) if (!$IsMK1MF) { + # add {no-}static-engine to options to allow mkdef.pl to work without extra arguments if ($no_shared) { $openssl_other_defines.=#define OPENSSL_NO_DYNAMIC_ENGINE\n; + $options.= static-engine; } else { $openssl_other_defines.=#define OPENSSL_NO_STATIC_ENGINE\n; + $options.= no-static-engine; } } diff -urNp openssl-SNAP-20070901/engines/ccgost/Makefile openssl-SNAP-20070901.mingw32-2/engines/ccgost/Makefile --- openssl-SNAP-20070901/engines/ccgost/Makefile 2007-05-18 19:02:28.0 +0300 +++ openssl-SNAP-20070901.mingw32-2/engines/ccgost/Makefile 2007-09-01 19:48:02.0 +0300 @@ -44,20 +44,24 @@ install: if [ -n $(SHARED_LIBS) ]; then \ set -e; \ echo installing $(LIBNAME); \ + l=${LIBNAME}; \ if [ $(PLATFORM) != Cygwin ]; then \ + pfx=lib; \ + sfx=so; \ case $(CFLAGS) in \ *DSO_BEOS*) sfx=so;; \ *DSO_DLFCN*) sfx=so;; \ *DSO_DL*) sfx=sl;; \ + *DSO_WIN32*) sfx=dll; pfx=;; \ *) sfx=bad;; \ esac; \ - cp lib$(LIBNAME).$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx.new; \ else \ + pfx=cyg; \ sfx=so; \ - cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx.new; \ fi; \ - chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx.new; \ - mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx; \ + cp $$pfx$$l.$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/$$pfx$$l.$$sfx.new; \ + chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/$$pfx$$l.$$sfx.new; \ + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/$$pfx$$l.$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/$$pfx$$l.$$sfx; \ fi links: diff -urNp openssl-SNAP-20070901/engines/Makefile openssl-SNAP-20070901.mingw32-2/engines/Makefile --- openssl-SNAP-20070901/engines/Makefile 2007-05-17 21:01:28.0 +0300 +++ openssl-SNAP-20070901.mingw32-2/engines/Makefile2007-09-01 19:47:39.0 +0300 @@ -106,19 +106,21 @@ install: for l in $(LIBNAMES); do \ ( echo installing $$l; \ if [ $(PLATFORM) != Cygwin ]; then \ + pfx=lib; \ case $(CFLAGS) in \ *DSO_BEOS*) sfx=so;; \ *DSO_DLFCN*)sfx=so;; \ *DSO_DL*) sfx=sl;; \ + *DSO_WIN32*)sfx=dll; pfx=;; \ *) sfx=bad;; \ esac; \ - cp lib$$l.$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \ else \ + pfx=cyg; \ sfx=so; \ - cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \ fi; \ - chmod 555
Re: [openssl.org #1552] mingw patch for openssl-cvs
On Friday 03 August 2007, Roumen Petrov via RT wrote: And now against CVS Merged patch available at: http://rt.openssl.org/Ticket/Display.html?id=1552 Best Regards, Alon Bar-Lev. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1451] PATCH (Re: Cross compile OpenSSL in Linux using MinGW32)
On Saturday 01 September 2007, Alon Bar-Lev via RT wrote: Hello, An update. 1. The issue with OPENSSL_IMPLEMENT_GLOBAL is gone now. 2. Merged with Roumen Petrov's patch: http://rt.openssl.org/Ticket/Display.html?id=1552 Except of not postfix engine dlls with eay32. Best Regards, Alon Bar-Lev. As attachment to make rt happy? openssl-mingw32.patch.gz Description: GNU Zip compressed data
Re: Makefile for building openssl for windows using mingw32 on linux
Hello Maximilian, There are a lot of issues with mingw32 out there... Examples: http://rt.openssl.org/Ticket/Display.html?id=1451 http://rt.openssl.org/Ticket/Display.html?id=1511 http://rt.openssl.org/Ticket/Display.html?id=1552 But none are added into the snapshot... Alon. On 8/1/07, Maximilian Wilhelm [EMAIL PROTECTED] wrote: Hi! While building OpenVPN for windows using a mingw32 environment on my linux machine, I wrote a Makefile which basicly does the same as the .bat files, but works on linux. (I found no such thing...) It's not perfect and does not use different targets to prevent redoing all the work, but it makes life easier for people. If anyone with good make skills has ideas to enhance it, I would be interested. Maybe you want to include it in your tree. Ciao Max -- Follow the white penguin. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFGr7fRKN2w/RnJtroRAv4lAKCRZd3ZpXtvnoYMrHwoVLbGo+GwtQCfRmAv nrdsZZkQNsruSnbAXCGt5QY= =Rnf2 -END PGP SIGNATURE- __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1334] Resolved: [PATCH] Cross-compile for Windows from Linux
You've suggested approach that mimics .bat-based build, i.e. generating big flat make-file, while we've chosen to discontinue it in favor of Unix-like build procedure, i.e. having make traverse source tree for Makefiles [see development branch]. In other words suggested approach is not the approach we want/can afford to support. A. Do you currently support MinGW/cross compile with your new build system? I don't think the specific approach is the important one. The solution is important. The requirement is to build OpenSSL libraries and binaries on none Win32 architecture. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1334] Resolved: [PATCH] Cross-compile for Windows from Linux
On 7/11/07, Chris Wilson via RT [EMAIL PROTECTED] wrote: No comments on the tracker entry. Please could you tell me how this is resolved? Also related: http://rt.openssl.org/Ticket/Display.html?id=1451 http://rt.openssl.org/Ticket/Display.html?id=1552 So there is some work here... Best Regards, Alon Bar-Lev. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1553] mscrypto engine for 0.9.8
On 7/1/07, Roumen Petrov [EMAIL PROTECTED] wrote: This is nice, although I don't see any real use case for this engine, as you require the user to manually export information from CryptoAPI store into files before the engine could be used. There isn't such requirement. Where? I guess you have someone who like to use CryptoAPI with OpenSSL... Can you give a test case of real usage? I am just interested. I think OpenSSL engine (generic) should allow to expose certificate store, this will allow engines such as this one or PKCS#11 to expose the complete object list and references. Engine control function can do this. But then you must write specific engine code in the application... I don't think this is wise. There is not much point in holding certificates in files while they exists in CryptoAPI or smartcard... If I can export a certificate with matching private key I will not write engine. OK. Waiting for use case. There is also an issue of resources prompt (passphrase, token) and a small issue of object serialization in engine interface. If I remember well, smart card proprietary software will ask for password when is necessary. This should be part of engine API as well... So application may construct proper dialogs. Be aware that if you use Protected storage or Smartcard based you will get Windows UI GUI activated automatically. So, for example, you will not be able to use this solution for server application. Best Regards, Alon Bar-Lev. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1553] mscrypto engine for 0.9.8
Hello, This is nice, although I don't see any real use case for this engine, as you require the user to manually export information from CryptoAPI store into files before the engine could be used. I think OpenSSL engine (generic) should allow to expose certificate store, this will allow engines such as this one or PKCS#11 to expose the complete object list and references. There is not much point in holding certificates in files while they exists in CryptoAPI or smartcard... And there is no point not to allow a program to enumerate available certificates an engine can provide. There is also an issue of resources prompt (passphrase, token) and a small issue of object serialization in engine interface. Am am afraid that as long as OpenSSL engine interface will remain so low-level developers will look into alternate solution. Best Regards, Alon Bar-Lev. On 6/29/07, Roumen Petrov via RT [EMAIL PROTECTED] wrote: Please find attached file openssl-mscrypto-20070625.tar.gz with openssl engine that can use keys from windows key-store. The engine can work with external keys too. Source is for openssl version 0.9.8 and mingw build require openssl source with mingw patch for 0.9.8 from request #1552 ( see OpenSSL Request Tracer ). Directory engines/ contain source code and in test/ are batch files for test cases, environment and sample openssl config files for engine (openssl.cnf is for 0.9.7). Engine can be used in 0.9.7 but mscrypto_err.* should be recreated with corresponding util/mkerr.pl . Engine support only rsa key/certificates. You don't need to mark the private key as exportable when import PKCS#12(pfx) file. Engine can use certificates/keys stored on smart cards. Tests require private key, corresponding public key and certificate that match private key. Every test case is operation with engine and opposite operation without. Character a in test case is for with-without engine, b is for without-with. Test case 1x is for rsautl encrypt-decrypt, 2x - rsautl sign-verify, 3x1 - dgst sign-verify with keys/certs form files and in 3x2 (dgst sign-verify) engine will use certificate from key-store. For test cases 3{a,b}2 certificate with matching private key should be loaded into key-store. In test cases 2{a,b} rsautl sign-verify should fail. This look like problem with implementation in used crypto provider. File env.bat set paths to openssl program and configuration, engine, key files, certificate canonical name, etc. To run test you should set TEST in do_test.bat and to run it. Extension of openssl configuration file is cnf and by default is always hidden. Instruction for mingw build environment: Build command: $ make -f Makefile.mscrypto OPENSSLSRC=path_to_openssl_source Make sure that openssl is build and installed. To install: $ make -f Makefile.mscrypto install {INSTALLTOP=...} {INSTALL_PREFIX=..} , where INSTALLTOP and INSTALL_PREFIX are optional. Roumen __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1552] mingw patch for openssl-0.9.8e
Hello Roumen, There is partial work in snapshots regarding cross compile. MinGW still does not work well. I've created the following ticket: http://rt.openssl.org/Ticket/Display.html?id=1451user=guestpass=guest But no progress has been made in determine what is wrong. Anyway, I think you will find the current trunk snapshot to be a better reference. Just wanted to stop using MS compiler... :) Best Regards, Alon Bar-Lev. On 6/26/07, Roumen Petrov via RT [EMAIL PROTECTED] wrote: I would like to propose following patch to openssl-0.9.8e source (see attachment openssl-0.9.8e-mingw.patch.gz). This patch is intended to create executables compatible with other win32 compilers. Modifications: ./Makefiles.shared: - link_o.cygwin(used to build engines): modified use def-files in case of mingw . As example def-files allow target to be linked without library to exist on build system (IMPORTS); - link_a.cygwin: modified to produce dlls that match library name in def-file. ./engines/Makefile: - installation is extended to handle mingw and add support for lib prefixes. also correct suffixes in code to be equal to description in comment before. ./Makefile.org: - install dlls for openssl libraries ./Configure: - mingw (cosmetic) : shared flag in not necessary; - $IsMK1MF=1 (fatal, fixed upsteam) : remove this line since it break mingw non-single makefile build; - option static-engine : allow mkdef.pl to work without extra arguments. This can be extended in future to be a configure option that allow static and dynamic engines to be build at same time. Note that gmp engine need patch too and ./README.ENGINE is obsolete. ./util/mkerr.pl (not mingw specific): - added 'extern C {' in case of c++ to match right curly-brackets at end ./crypto/x509/Makefile (not mingw specific): - MINFO is created without information for crypto/x509/ in makefile.one (files) target. Tests: The created on linux executables successfully replace openssl (msc 13.x) found at url below. All xmlsec (with openssl) DSig tests succeed on w2k. Questions after build: After build I compare results between an existing build (openssl 0.9.8a, msc 13.x) and new build (openssl 0.9.8e, gcc 3.4.5 mingw). The difference is attached an file objdump_table-diff.gz. Result show that mingw build export more functions. I guess that this is normal since mingw build is for xxx.8e. Other difference is that engines in mingw build are dynamic while in msc - static. No idea why msc build (http://www.zlatkovic.com/libxml.en.html) is with static engines. Diff show that variables OSSL_DES_version and OSSL_libdes_version from crypto/des/des_ver.h are exported in msc while mingw build don't export them. File crypto/opensslconf.h in mingw build define OPENSSL_EXPORT_VAR_AS_FUNCTION . If a remember well borland compiler don't export variables. It seems to me that gcc (mingw) don't export too. So that should use OPENSSL_XXX_GLOBAL for both variables? Configure set EXPORT_VAR_AS_FN for some win32 targets(msc, borlang, mingw, but cigwin). Should Configure set EXPORT_VAR_AS_FN always if build is for shared win32 platform ? Roumen __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: Visual Studio 2005 and openssl question
Don't use Microsoft compiler :) I've submitted a patch for cross compile openssl (mingw) it produces much less dependencies. But it was not accepted yet into any snapshot. http://rt.openssl.org/Ticket/Display.html?id=1451user=guestpass=guest Best Regards, Alon Bar-Lev. On 6/2/07, gary clark [EMAIL PROTECTED] wrote: Much appreciated Mournir. Is there a way to build openssl static libs without all the dependencies of shared libraries. The intent is to build and install the package and well I dont want to have to throw the kitchen sink into the mix in order to make it work. Thanks, Garyc --- Mounir IDRASSI [EMAIL PROTECTED] wrote: Hi, Does the Windows XP machine where you have troubles contain the Microsoft runtime for msvcr80 installed? Visual Studio 2005 links by default to the msvcr80 dll. This dll must be installed in the target machine using a setup that can be downloaded using the following link: http://go.microsoft.com/fwlink/?linkid=65127 . A more complete description on the deployment requirements and methods for application built by VS2005 can be found here: http://msdn2.microsoft.com/en-us/library/ms235291(VS.80).aspx . I hope this helps. Cheers, Mounir IDRASSI IDRIX - Cryptography and IT Security Experts http://www.idrix.fr gary clark wrote: hello, I know this is probably inappropriate venue but I am at a loss on why I cannot run openssl on a XP windows machine which does not have openssl installed. I have built a client and server on a machine which has had openssl installed and got it to work with certificates. However when I port the executable code to a machine without openssl installed it fails. 1) I port the built libeay32.dll and ssleay32.dll to windows32 directory. 2) I then attempt to run my application and it fails to load the libeay32.dll and ssleay32.dll libraries. I use the command LoadLibrary(Llibeay32.dll) is this valid to do? Why would it fail to load the libraries? __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED] __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED] __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: Visual Studio 2005 and openssl question
You probably need the manifest at the application directory. The dll cannot find its runtime. On 6/2/07, gary clark [EMAIL PROTECTED] wrote: hello, I know this is probably inappropriate venue but I am at a loss on why I cannot run openssl on a XP windows machine which does not have openssl installed. I have built a client and server on a machine which has had openssl installed and got it to work with certificates. However when I port the executable code to a machine without openssl installed it fails. 1) I port the built libeay32.dll and ssleay32.dll to windows32 directory. 2) I then attempt to run my application and it fails to load the libeay32.dll and ssleay32.dll libraries. I use the command LoadLibrary(Llibeay32.dll) is this valid to do? Why would it fail to load the libraries? Any help would be appreciated. Thanks, Garyc __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED] __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1451] PATCH (Re: Cross compile OpenSSL in Linux using MinGW32)
[ping] Passed a long time since I sent this patch. MinGW cross compile does not work without it. Is there something wrong with this patch? http://rt.openssl.org/Ticket/Display.html?id=1451 Thanks! Alon Bar-Lev. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: [openssl.org #1451] PATCH (Re: Cross compile OpenSSL in Linux using MinGW32)
Hello, I don't exactly undersand the maintenance model of OpenSSL. I would really like to see a milestone set for this issue (http://rt.openssl.org/Ticket/Display.html?id=1451). We are waiting for this so that user will not be forced to patch OpenSSL in order to cross compile it. I will be glad to see this at one of the snapshots, or be notified that this is rejected and shared OpenSSL will not be enabled for cross compile win32. Thanks! __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
[openssl.org #1451] PATCH (Re: Cross compile OpenSSL in Linux using MinGW32)
Hello, I did not see this patch was added to snapshot... Is there anything more I can do? Is something missing? Is something wrong? I will be glad to know about that. Best Regards, Alon Bar-Lev. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: PATCH (Re: Cross compile OpenSSL in Linux using MinGW32)
Hello, Succeeded in making openssl cross compile correctly! ./Configure --prefix=// --cross-compile-prefix=mingw32- shared mingw Please also notice that --prefix must receive TWO slashes in order to install to root (make install INSTALL_PREFIX=/tmp/w32)... Maybe this also can be corrected. The major problem is in OPENSSL_IMPLEMENT_GLOBAL macro. The following code does not compile under gcc: extern int aaa; static int aaa = 0; int main () { return 0; } You cannot define a variable as static and external at the same time: a.c:2: error: static declaration of ‘aaa’ follows non-static declaration a.c:1: error: previous declaration of ‘aaa’ was here So I removed the static from the macro. I had to do some more modifications. Please review. Best Regards, Alon Bar-Lev. --- diff -urNp openssl-SNAP-20061228.org/engines/ccgost/Makefile openssl-SNAP-20061228/engines/ccgost/Makefile --- openssl-SNAP-20061228.org/engines/ccgost/Makefile 2006-11-30 16:00:52.0 +0200 +++ openssl-SNAP-20061228/engines/ccgost/Makefile 2006-12-28 20:30:12.0 +0200 @@ -44,7 +44,13 @@ install: if [ -n $(SHARED_LIBS) ]; then \ set -e; \ echo installing $(LIBNAME); \ - if [ $(PLATFORM) != Cygwin ]; then \ + if [ $(PLATFORM) = Cygwin ]; then \ + sfx=so; \ + cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx.new; \ + elif [ $(PLATFORM) = mingw ]; then \ + sfx=so; \ + cp $(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx.new; \ + else \ case $(CFLAGS) in \ *DSO_BEOS*) sfx=so;; \ *DSO_DLFCN*) sfx=so;; \ @@ -52,9 +58,6 @@ install: *) sfx=bad;; \ esac; \ cp lib$(LIBNAME).$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx.new; \ - else \ - sfx=so; \ - cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx.new; \ fi; \ chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx.new; \ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx; \ diff -urNp openssl-SNAP-20061228.org/engines/Makefile openssl-SNAP-20061228/engines/Makefile --- openssl-SNAP-20061228.org/engines/Makefile 2006-10-20 14:00:59.0 +0200 +++ openssl-SNAP-20061228/engines/Makefile 2006-12-28 20:30:12.0 +0200 @@ -103,7 +103,13 @@ install: set -e; \ for l in $(LIBNAMES); do \ ( echo installing $$l; \ - if [ $(PLATFORM) != Cygwin ]; then \ + if [ $(PLATFORM) = Cygwin ]; then \ + sfx=so; \ + cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \ + elif [ $(PLATFORM) = mingw ]; then \ + sfx=so; \ + cp $$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \ + else \ case $(CFLAGS) in \ *DSO_BEOS*) sfx=so;; \ *DSO_DLFCN*)sfx=so;; \ @@ -111,9 +117,6 @@ install: *) sfx=bad;; \ esac; \ cp lib$$l.$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \ - else \ - sfx=so; \ - cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \ fi; \ chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx ); \ diff -urNp openssl-SNAP-20061228.org/e_os2.h openssl-SNAP-20061228/e_os2.h --- openssl-SNAP-20061228.org/e_os2.h 2006-04-12 01:00:21.0 +0300 +++ openssl-SNAP-20061228/e_os2.h 2006-12-28 20:30:12.0 +0200 @@ -275,7 +275,7 @@ extern C { # define OPENSSL_IMPLEMENT_GLOBAL(type,name)\ extern type _hide_##name;\ type *_shadow_##name(void) { return _hide_##name; } \ - static type _hide_##name + type _hide_##name # define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void) # define OPENSSL_GLOBAL_REF(name) (*(_shadow_
[openssl.org #1451] Re: PATCH (Re: Cross compile OpenSSL in Linux using MinGW32)
Hello, Succeeded in making openssl cross compile correctly! ./Configure --prefix=// --cross-compile-prefix=mingw32- shared mingw Please also notice that --prefix must receive TWO slashes in order to install to root (make install INSTALL_PREFIX=/tmp/w32)... Maybe this also can be corrected. The major problem is in OPENSSL_IMPLEMENT_GLOBAL macro. The following code does not compile under gcc: extern int aaa; static int aaa = 0; int main () { return 0; } You cannot define a variable as static and external at the same time: a.c:2: error: static declaration of âaaaâ follows non-static declaration a.c:1: error: previous declaration of âaaaâ was here So I removed the static from the macro. I had to do some more modifications. Please review. Best Regards, Alon Bar-Lev. --- diff -urNp openssl-SNAP-20061228.org/engines/ccgost/Makefile openssl-SNAP-20061228/engines/ccgost/Makefile --- openssl-SNAP-20061228.org/engines/ccgost/Makefile 2006-11-30 16:00:52.0 +0200 +++ openssl-SNAP-20061228/engines/ccgost/Makefile 2006-12-28 20:30:12.0 +0200 @@ -44,7 +44,13 @@ install: if [ -n $(SHARED_LIBS) ]; then \ set -e; \ echo installing $(LIBNAME); \ - if [ $(PLATFORM) != Cygwin ]; then \ + if [ $(PLATFORM) = Cygwin ]; then \ + sfx=so; \ + cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx.new; \ + elif [ $(PLATFORM) = mingw ]; then \ + sfx=so; \ + cp $(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx.new; \ + else \ case $(CFLAGS) in \ *DSO_BEOS*) sfx=so;; \ *DSO_DLFCN*) sfx=so;; \ @@ -52,9 +58,6 @@ install: *) sfx=bad;; \ esac; \ cp lib$(LIBNAME).$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx.new; \ - else \ - sfx=so; \ - cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx.new; \ fi; \ chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx.new; \ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$(LIBNAME).$$sfx; \ diff -urNp openssl-SNAP-20061228.org/engines/Makefile openssl-SNAP-20061228/engines/Makefile --- openssl-SNAP-20061228.org/engines/Makefile 2006-10-20 14:00:59.0 +0200 +++ openssl-SNAP-20061228/engines/Makefile 2006-12-28 20:30:12.0 +0200 @@ -103,7 +103,13 @@ install: set -e; \ for l in $(LIBNAMES); do \ ( echo installing $$l; \ - if [ $(PLATFORM) != Cygwin ]; then \ + if [ $(PLATFORM) = Cygwin ]; then \ + sfx=so; \ + cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \ + elif [ $(PLATFORM) = mingw ]; then \ + sfx=so; \ + cp $$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \ + else \ case $(CFLAGS) in \ *DSO_BEOS*) sfx=so;; \ *DSO_DLFCN*)sfx=so;; \ @@ -111,9 +117,6 @@ install: *) sfx=bad;; \ esac; \ cp lib$$l.$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \ - else \ - sfx=so; \ - cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \ fi; \ chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx ); \ diff -urNp openssl-SNAP-20061228.org/e_os2.h openssl-SNAP-20061228/e_os2.h --- openssl-SNAP-20061228.org/e_os2.h 2006-04-12 01:00:21.0 +0300 +++ openssl-SNAP-20061228/e_os2.h 2006-12-28 20:30:12.0 +0200 @@ -275,7 +275,7 @@ extern C { # define OPENSSL_IMPLEMENT_GLOBAL(type,name)\ extern type _hide_##name;\ type *_shadow_##name(void) { return _hide_##name; } \ - static type _hide_##name + type _hide_##name # define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void) # define OPENSSL_GLOBAL_REF(name
Re: Cross compile OpenSSL in Linux using MinGW32
On Thursday 19 October 2006 12:02, Victor B. Wagner wrote: I do it routinely. Thank you for your reply! 1. Modify Configure script, adding target mingw-cross (this all should go into one line) mingw-cross, i586-mingw32msvc-gcc:-mno-cygwin -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall -D_WIN32_WINNT=0x333:::MINGW32:-lwsock32 -lgdi32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_coff_asm}:win32:cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin -shared:.dll.a:i586-mingw32msvc-ranlib, Works. Although I had to remove EXPORT_VAR_AS_FN. 2. Modify Makefile shared so it would call util/mkdef.pl script. and add generated .def file to linking command Note that DEF file should contain correct DLL name, not just crypteay32 mingw32 builds libcrypto-0.9.8.dll, and this name should exactly appear in the .def file I couldn't understand what I should do... First of all the asn1 stuff does not compile... Strange. I use openssl-0.9.8d and mingw32-gcc (GCC) 4.1.1. The problem lays in ASN1_ITEM_ref, which returns none constant item into constants arrays declares by ASN1_SIMPLE. But assuming I remove this code, which target do you copy? cygwin? You just add $(LIBNAME).def to SHAREDFLAGS? 3. Forget about dllwrap and such. Modern Mingw32 produce absolutely correct dlls with just gcc -shared -o dllname, if you specify .def file along with object file. Thanks! Best Regards, Alon Bar-Lev. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: Cross compile OpenSSL in Linux using MinGW32
On 10/18/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: The easier way probably is to modify the Configure script and then go the standard Unix route of compiling. I know I've found (and used) patches for doing this, googling for something like mingw Configure OpenSSL Thanks for reply. But it is not enough... Since there is a matter of ddlwrap stuff, and me be more... I may alter the build process if no one has done it yet and submit a patch. Best Regards, Alon Bar-Lev. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Cross compile OpenSSL in Linux using MinGW32
Hello, I tried to compile OpenSSL using MinGW on Linux, but I could not do this. I've tried to modify configurations, converting ms/mingw.bat to ms/mingw.sh, removing the translation of / into \, and more... Before I making too much modifications, Have anyone succeeded in doing so? Best Regards, Alon Bar-Lev. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]