Mingw patch for OpenSSL 0.9.8

2005-07-09 Thread Doug Kaufman
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

2005-07-09 Thread Frank Buttner via RT

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

2005-07-09 Thread Tomas Svensson
>>>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

2005-07-09 Thread Ben Laurie

[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

2005-07-09 Thread rz1a
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]