Mingw patch for OpenSSL 0.9.8
When built under Cygwin, with the -mno-cygwin option, OpenSSL 0.9.8 builds, tests, and installs fine (only tested with no-idea no-shared). I noticed, however, that I was getting 5 warnings from gcc. The attached patch should fix the warnings. When tested against 0.9.8-stable-SNAP-20050709, with the patch applied, it builds without any warnings under cygwin for mingw. I also tested for DJGPP, and it builds fine on that platform with the patch. I hope that no other platforms will be adversely affected. Since I am in the US, I am also sending a copy of the patch to the usual US government addresses. Doug -- Doug Kaufman Internet: [EMAIL PROTECTED] --- apps/speed.c.ori2005-05-31 10:56:18.0 -0800 +++ apps/speed.c2005-07-08 22:31:24.0 -0800 @@ -2508,6 +2508,7 @@ results[alg][run_no]=((double)count)/time_used*lengths[run_no]; } +#ifdef HAVE_FORK static char *sstrsep(char **string, const char *delim) { char isdelim[256]; @@ -2539,7 +2540,6 @@ return token; } -#ifdef HAVE_FORK static int do_multi(int multi) { int n; --- crypto/dso/dso_win32.c.ori 2005-06-27 14:21:12.0 -0800 +++ crypto/dso/dso_win32.c 2005-07-08 22:23:02.0 -0800 @@ -306,8 +306,8 @@ memset(result, 0, sizeof(struct file_st)); position = IN_DEVICE; - if(filename[0] == '\\' && filename[1] == '\\' - || filename[0] == '/' && filename[1] == '/') + if((filename[0] == '\\' && filename[1] == '\\') + || (filename[0] == '/' && filename[1] == '/')) { position = IN_NODE; filename += 2; --- crypto/engine/eng_padlock.c.ori 2005-05-31 10:56:18.0 -0800 +++ crypto/engine/eng_padlock.c 2005-07-07 23:30:28.0 -0800 @@ -127,6 +127,9 @@ # define alloca _alloca #else # include +#ifdef __MINGW32__ +# include +#endif #endif /* Function for ENGINE detection and control */ --- crypto/LPdir_win.c.ori 2004-09-23 15:11:40.0 -0800 +++ crypto/LPdir_win.c 2005-07-08 22:37:10.0 -0800 @@ -54,7 +54,6 @@ const char *LP_find_file(LP_DIR_CTX **ctx, const char *directory) { - struct dirent *direntry = NULL; if (ctx == NULL || directory == NULL) { --- engines/e_aep.c.ori 2005-06-17 14:27:28.0 -0800 +++ engines/e_aep.c 2005-07-08 22:27:32.0 -0800 @@ -57,7 +57,7 @@ #include #include -#if !defined(OPENSSL_SYS_MSDOS) || defined(__DJGPP__) +#if !defined(OPENSSL_SYS_MSDOS) || defined(__DJGPP__) || defined(__MINGW32__) #include #include #else
[openssl.org #1151] Bugreport for compiling 0.9.8 with mingw on Windows
When i try to compile it via ms\minwg32.bat after some time I get this error: as -o tmp\m5-win32.o .\crypto\md5\asm\m5-win32.s as -o tmp\s1-win32.o .\crypto\sha\asm\s1-win32.s as -o tmp\rm-win32.o .\crypto\ripemd\asm\rm-win32.s as -o tmp\d-win32.o .\crypto\des\asm\d-win32.s as -o tmp\y-win32.o .\crypto\des\asm\y-win32.s as -o tmp\r4-win32.o .\crypto\rc4\asm\r4-win32.s as -o tmp\b-win32.o .\crypto\bf\asm\b-win32.s as -o tmp\bn-win32.o .\crypto\bn\asm\bn-win32.s as -o tmp\co-win32.o .\crypto\bn\asm\co-win32.s if exist out\libcrypto.a del out\libcrypto.a ar r out\libcrypto.a tmp\cryptlib.o tmp\mem.o tmp\mem_clr.o tmp\mem_dbg.o tmp\cversion.o tmp\ex_data.o tmp\tmdiff.o tmp\cpt_err.o tmp\ebcdic.o tmp\uid.o tmp\o_time.o tmp\o_str.o tm p\o_dir.o tmp\md2_dgst.o tmp\md2_one.o tmp\md4_dgst.o tmp\md4_one.o tmp\md5_dgst.o tmp\m5-win32.o tmp\md5_one.o tmp\sha_dgst.o tmp\sha1dgst.o tmp\s1-win32.o tmp\sha_one.o tmp\sha1_ one.o tmp\sha256.o tmp\sha512.o tmp\hmac.o tmp\rmd_dgst.o tmp\rm-win32.o tmp\rmd_one.o tmp\set_key.o tmp\ecb_enc.o tmp\cbc_enc.o tmp\ecb3_enc.o tmp\cfb64enc.o tmp\cfb64ede.o tmp\cf b_enc.o tmp\ofb64ede.o tmp\enc_read.o tmp\enc_writ.o tmp\ofb64enc.o tmp\ofb_enc.o tmp\str2key.o tmp\pcbc_enc.o tmp\qud_cksm.o tmp\rand_key.o tmp\d-win32.o tmp\y-win32.o tmp\fcrypt. o tmp\xcbc_enc.o tmp\rpc_enc.o tmp\cbc_cksm.o tmp\ede_cbcm_enc.o tmp\des_old.o tmp\des_old2.o tmp\read2pwd.o tmp\rc2_ecb.o tmp\rc2_skey.o tmp\rc2_cbc.o tmp\rc2cfb64.o tmp\rc2ofb64. o tmp\rc4_skey.o tmp\r4-win32.o tmp\i_cbc.o tmp\i_cfb64.o tmp\i_ofb64.o tmp\i_ecb.o tmp\i_skey.o tmp\bf_skey.o tmp\bf_ecb.o tmp\b-win32.o tmp\bf_cfb64.o tmp\bf_ofb64.o tmp\c_skey.o tmp\c_ecb.o tmp\c_enc.o tmp\c_cfb64.o tmp\c_ofb64.o tmp\aes_misc.o tmp\aes_ecb.o tmp\aes_cfb.o tmp\aes_ofb.o tmp\aes_ctr.o tmp\aes_core.o tmp\aes_cbc.o tmp\bn_add.o tmp\bn_div.o t mp\bn_exp.o tmp\bn_lib.o tmp\bn_ctx.o tmp\bn_mul.o tmp\bn_mod.o tmp\bn_print.o tmp\bn_rand.o tmp\bn_shift.o tmp\bn_word.o tmp\bn_blind.o tmp\bn_kron.o tmp\bn_sqrt.o tmp\bn_gcd.o tm p\bn_prime.o tmp\bn_err.o tmp\bn_sqr.o tmp\bn-win32.o tmp\bn_recp.o tmp\bn_mont.o tmp\bn_mpi.o tmp\bn_exp2.o tmp\bn_gf2m.o tmp\bn_nist.o tmp\bn_depr.o tmp\rsa_eay.o tmp\rsa_gen.o t mp\rsa_lib.o tmp\rsa_sign.o tmp\rsa_saos.o tmp\rsa_err.o tmp\rsa_pk1.o tmp\rsa_ssl.o tmp\rsa_none.o tmp\rsa_oaep.o tmp\rsa_chk.o tmp\rsa_null.o tmp\rsa_pss.o tmp\rsa_x931.o tmp\rsa _asn1.o tmp\rsa_depr.o tmp\dsa_gen.o tmp\dsa_key.o tmp\dsa_lib.o tmp\dsa_asn1.o tmp\dsa_vrf.o tmp\dsa_sign.o tmp\dsa_err.o tmp\dsa_ossl.o tmp\dsa_depr.o tmp\dso_dl.o tmp\dso_dlfcn. o tmp\dso_err.o tmp\dso_lib.o tmp\dso_null.o tmp\dso_openssl.o tmp\dso_win32.o tmp\dso_vms.o tmp\dh_asn1.o tmp\dh_gen.o tmp\dh_key.o tmp\dh_lib.o tmp\dh_check.o tmp\dh_err.o tmp\dh _depr.o tmp\ec_lib.o tmp\ecp_smpl.o tmp\ecp_mont.o tmp\ecp_nist.o tmp\ec_cvt.o tmp\ec_mult.o tmp\ec_err.o tmp\ec_curve.o tmp\ec_check.o tmp\ec_print.o tmp\ec_asn1.o tmp\ec_key.o tm p\ec2_smpl.o tmp\ec2_mult.o tmp\ech_lib.o tmp\ech_ossl.o tmp\ech_key.o tmp\ech_err.o tmp\ecs_lib.o tmp\ecs_asn1.o tmp\ecs_ossl.o tmp\ecs_sign.o tmp\ecs_vrf.o tmp\ecs_err.o tmp\buff er.o tmp\buf_err.o tmp\bio_lib.o tmp\bio_cb.o tmp\bio_err.o tmp\bss_mem.o tmp\bss_null.o tmp\bss_fd.o tmp\bss_file.o tmp\bss_sock.o tmp\bss_conn.o tmp\bf_null.o tmp\bf_buff.o tmp\b _print.o tmp\b_dump.o tmp\b_sock.o tmp\bss_acpt.o tmp\bf_nbio.o tmp\bss_log.o tmp\bss_bio.o tmp\bss_dgram.o tmp\stack.o tmp\lhash.o tmp\lh_stats.o tmp\md_rand.o tmp\randfile.o tmp\ rand_lib.o tmp\rand_err.o tmp\rand_egd.o tmp\rand_win.o tmp\rand_unix.o tmp\rand_os2.o tmp\rand_nw.o tmp\err.o tmp\err_all.o tmp\err_prn.o tmp\o_names.o tmp\obj_dat.o tmp\obj_lib.o tmp\obj_err.o tmp\encode.o tmp\digest.o tmp\evp_enc.o tmp\evp_key.o tmp\evp_acnf.o tmp\e_des.o tmp\e_bf.o tmp\e_idea.o tmp\e_des3.o tmp\e_rc4.o tmp\e_aes.o tmp\names.o tmp\e_xcbc_ d.o tmp\e_rc2.o tmp\e_cast.o tmp\e_rc5.o tmp\m_null.o tmp\m_md2.o tmp\m_md4.o tmp\m_md5.o tmp\m_sha.o tmp\m_sha1.o tmp\m_dss.o tmp\m_dss1.o tmp\m_ripemd.o tmp\m_ecdsa.o tmp\p_open. o tmp\p_seal.o tmp\p_sign.o tmp\p_verify.o tmp\p_lib.o tmp\p_enc.o tmp\p_dec.o tmp\bio_md.o tmp\bio_b64.o tmp\bio_enc.o tmp\evp_err.o tmp\e_null.o tmp\c_all.o tmp\c_allc.o tmp\c_al ld.o tmp\evp_lib.o tmp\bio_ok.o tmp\evp_pkey.o tmp\evp_pbe.o tmp\p5_crpt.o tmp\p5_crpt2.o tmp\e_old.o tmp\a_object.o tmp\a_bitstr.o tmp\a_utctm.o tmp\a_gentm.o tmp\a_time.o tmp\a_i nt.o tmp\a_octet.o tmp\a_print.o tmp\a_type.o tmp\a_set.o tmp\a_dup.o tmp\a_d2i_fp.o tmp\a_i2d_fp.o tmp\a_enum.o tmp\a_utf8.o tmp\a_sign.o tmp\a_digest.o tmp\a_verify.o tmp\a_mbstr .o tmp\a_strex.o tmp\x_algor.o tmp\x_val.o tmp\x_pubkey.o tmp\x_sig.o tmp\x_req.o tmp\x_attrib.o tmp\x_bignum.o tmp\x_long.o tmp\x_name.o tmp\x_x509.o tmp\x_x509a.o tmp\x_crl.o tmp \x_info.o tmp\x_spki.o tmp\nsseq.o tmp\d2i_pu.o tmp\d2i_pr.o tmp\i2d_pu.o tmp\i2d_pr.o tmp\t_req.o tmp\t_x509.o tmp\t_x509a.o tmp\t_crl.o tmp\t_pkey.o tmp\t_spki.o tmp\t_bitst.o tm p\tasn_new.o tmp\tasn_fre.o tmp\tasn_enc.o tmp\tasn_dec.o tmp\tasn_utl.o tmp\tasn_typ.o tmp\f_in
Re: 0.9.8: cfb_enc.c bug? and AES speed on Win64/x64
>>>For reference, note that Linux version avoids __intel_fast_memcpy with >>>-Dmemcpy=__builtin_memcpy, because libirc.a caused griefs when linked >>>into shared library. __intel_fast_memcpy feels as overkill in OpenSSL >>>context and inlined code [movs or unrolled loop] should do better job. >>>Can you try to compile with -Dmemcpy=__builtin_memcpy >>>-Dmemset=__builting_memset? >> >> I get >> >> unresolved external symbol __builtin_memcpy >> unresolved external symbol __builtin_memset > > Ouch! Something to look into when 9 is available for Linux... It works with the Linux versions of 9.0 for IA32 and IA64 atleast. -Tomas __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
Re: SSL and UDP traffic
[EMAIL PROTECTED] wrote: Hello openssl-dev, I need to secure the UDP traffic. I've googled a product called "ZeeBeeDee" (http://www.winton.org.uk/zebedee/index.html) but it looks kind of stalled... Is there any chance to use the OpenSSL (current or some future version) for securing and tunnelling the UDP traffic? What I need actually is to capture some multicasting stream on a LAN, protect it and deliver it to a host outside of the corporate firewall. Over there I'd like the target machine to not notice anything strange about that stream and be able to join the group as if it were on the corporate LAN... What are the ways to tunnel traffic besides the "stunnel" (which is TCP-only) and "zeebeedee"? See the DTLS support recently added to OpenSSL. -- >>>ApacheCon Europe<<< http://www.apachecon.com/ http://www.apache-ssl.org/ben.html http://www.thebunker.net/ "There is no limit to what a man can do or how far he can go if he doesn't mind who gets the credit." - Robert Woodruff __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]
SSL and UDP traffic
Hello openssl-dev, I need to secure the UDP traffic. I've googled a product called "ZeeBeeDee" (http://www.winton.org.uk/zebedee/index.html) but it looks kind of stalled... Is there any chance to use the OpenSSL (current or some future version) for securing and tunnelling the UDP traffic? What I need actually is to capture some multicasting stream on a LAN, protect it and deliver it to a host outside of the corporate firewall. Over there I'd like the target machine to not notice anything strange about that stream and be able to join the group as if it were on the corporate LAN... What are the ways to tunnel traffic besides the "stunnel" (which is TCP-only) and "zeebeedee"? -- Best regards, Anthonymailto:[EMAIL PROTECTED] __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]