<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="place" /><o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="City" downloadurl="http://www.5iamas-microsoft-com:office:smarttags" /><!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]--><style>
<!--
/* Font Definitions */
@font-face
{font-family:SimSun;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:"\@SimSun";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";
color:black;}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;}
pre
{margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";
color:black;}
span.EmailStyle18
{mso-style-type:personal;
font-family:Arial;
color:windowtext;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:Arial;
color:navy;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
{page:Section1;}
-->
</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="Section1">
<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:
10.0pt;font-family:Arial;color:navy">Hi Pierre,<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:
10.0pt;font-family:Arial;color:navy"><o:p> </o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:
10.0pt;font-family:Arial;color:navy">Thank you for the kind reply. After changing a few parameters and replacing the WCEx86.bat under the EVC\wce420\bin, the code successfully
compiled. Thanks very much for posting your code online. I really appreciate your effort and help.
<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:
10.0pt;font-family:Arial;color:navy"><o:p> </o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:
10.0pt;font-family:Arial;color:navy">Regards,<br>
Jiehua<o:p></o:p></span></font></p>
<div>
<div class="MsoNormal" align="center" style="text-align:center"><font size="3" color="black" face="Times New Roman"><span style="font-size:12.0pt;color:windowtext">
<hr size="2" width="100%" align="center" tabindex="-1">
</span></font></div>
<p class="MsoNormal"><b><font size="2" color="black" face="Tahoma"><span style="font-size:10.0pt;font-family:Tahoma;color:windowtext;font-weight:bold">From:</span></font></b><font size="2" color="black" face="Tahoma"><span style="font-size:10.0pt;font-family:Tahoma;
color:windowtext">
Pierre DELAAGE [mailto:delaage.pierre@free.fr] <br>
<b><span style="font-weight:bold">Sent:</span></b> Monday, January 10, 2011 3:52 PM<br>
<b><span style="font-weight:bold">To:</span></b> Li, Jiehua<br>
<b><span style="font-weight:bold">Cc:</span></b> stunnel-users@mirt.net<br>
<b><span style="font-weight:bold">Subject:</span></b> Re: Question of stunnel/openssl for X86 processor --
<st1:City w:st="on"><st1:place w:st="on">Pierre</st1:place></st1:City>'s patch</span></font><font color="black"><span style="color:windowtext"><o:p></o:p></span></font></p>
</div>
<p class="MsoNormal"><font size="3" color="black" face="Times New Roman"><span style="font-size:12.0pt"><o:p> </o:p></span></font></p>
<p class="MsoNormal"><font size="3" color="black" face="Times New Roman"><span style="font-size:12.0pt">Hi Jiehua,<br>
Please review the instructions on my webpage : in particular use my compilation scripts, and look inside them to know the syntax.<br>
It is quite simple : makece X86 for stunnel.<br>
For openssl, run the command "mywcebuild X86".<br>
<br>
It works.<br>
<st1:City w:st="on"><st1:place w:st="on">Pierre</st1:place></st1:City><br>
<br>
<br>
Le 10/01/2011 17:40, Li, Jiehua a �crit : <o:p></o:p></span></font></p>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="City"><u1:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="place">Dear Pierre and Dear Stunnel Users,<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">We are trying to build stunnel for WinCE on X86 processor. After reviewing messages on the board, I found your article published in late November. I’ve downloaded packages from your personal website at <a href="http://delaage.pierre.free.fr/" moz-do-not-send="true">http://delaage.pierre.free.fr/</a><u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">These packages include:<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre style="margin-left:.5in;text-indent:-.25in"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Precompiled wcecompat library <o:p></o:p></span></font><u1:p></u1:p></pre>
<pre style="margin-left:.5in;text-indent:-.25in"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Source code for </span></font><font color="black"><span style="color:windowtext"><a href="http://delaage.pierre.free.fr/contrib/openssl/wce/openssl100a_WCEpatched3.zip" moz-do-not-send="true"><font color="black"><span style="color:windowtext;
text-decoration:none">openssl v100a for WCE</span></font></a>. <u1:p></u1:p></span></font><o:p></o:p></pre>
<pre style="margin-left:.5in;text-indent:-.25in"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;color:windowtext">Source code for <a href="http://delaage.pierre.free.fr/contrib/stunnel/wce/stunnel434_WCEpatched2X86.zip" moz-do-not-send="true"><font color="black"><span style="color:windowtext;
text-decoration:none">stunnel v434 for WCE</span></font></a>.<u1:p></u1:p></span></font><o:p></o:p></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;color:windowtext"><u1:p> </u1:p></span></font><o:p></o:p></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;color:windowtext">I was hoping to the get the precompiled openssl library files, but it seems there are only library files for ARM processor under the folder of “out32dll_ARMV4” and there’s no precompiled version for X86. So I tried to compile the openssl downloaded from your website for the X86 processor after customizing a few parameters (OSVERSION, PLATFORM, WCEROOT, SDKROOT, WCECOMPAT) as you suggested. But the compilation failed, I got error messages as below. I’m also including all options for cl.exe in the email as well. I wonder if you have seen similar issues before. Any suggestion is appreciated. Thanks for the help.<u1:p></u1:p></span></font><o:p></o:p></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;color:windowtext"><u1:p> </u1:p></span></font><o:p></o:p></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;color:windowtext">Regards,<o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;color:windowtext"><o:p> </o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;color:windowtext">Jiehua<u1:p></u1:p></span></font><o:p></o:p></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"> cl.exe /Fotmp32dll_x86\cryptlib.obj -Iinc32 -Itmp32dll_x86 /MC /O1 /Oi<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"> /W3 /WX /GF /Gy /nologo -DUNICODE -D_UNICODE -DOPENSSL_SYSNAME_WINCE -DWIN32_LE<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">AN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -DNO_CHMOD -DOPENSSL_SMALL_FOOTPRINT -D_WIN32<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">_WCE=420 -DUNDER_CE=420 -DWCE_PLATFORM_STANDARDSDK_420 -Dx86 -D_ -IC:\STunnel\wc<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">ecompat12_patched2X86\patchedX86/include -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPE<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">NSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_STATIC_ENGINE /Zi /Fdtmp32dll_x86/l<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">ib -D_WINDLL -D_DLL -DOPENSSL_BUILD_SHLIBCRYPTO -c .\crypto\cryptlib.c<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Command line warning D4002 : ignoring unknown option '/MC'<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">cryptlib.c<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">C:\Program Files\Windows CE Tools\WCE420\STANDARDSDK_420\include\x86\winnt.h(301<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">9) : error C2061: syntax error : identifier 'PCONTEXT'<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">C:\Program Files\Windows CE Tools\WCE420\STANDARDSDK_420\include\x86\winnt.h(302<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">0) : error C2059: syntax error : '}'<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">C:\Program Files\Windows CE Tools\WCE420\STANDARDSDK_420\include\x86\winbase.h(1<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">481) : error C2061: syntax error : identifier 'LPCONTEXT'<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">C:\Program Files\Windows CE Tools\WCE420\STANDARDSDK_420\include\x86\winbase.h(1<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">481) : error C2059: syntax error : ';'<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">C:\Program Files\Windows CE Tools\WCE420\STANDARDSDK_420\include\x86\winbase.h(2<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">222) : error C2146: syntax error : missing ')' before identifier 'lpContext'<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">C:\Program Files\Windows CE Tools\WCE420\STANDARDSDK_420\include\x86\winbase.h(2<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">222) : error C2081: 'LPCONTEXT' : name in formal parameter list illegal<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">C:\Program Files\Windows CE Tools\WCE420\STANDARDSDK_420\include\x86\winbase.h(2<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">222) : error C2061: syntax error : identifier 'lpContext'<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">C:\Program Files\Windows CE Tools\WCE420\STANDARDSDK_420\include\x86\winbase.h(2<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">222) : error C2059: syntax error : ';'<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">C:\Program Files\Windows CE Tools\WCE420\STANDARDSDK_420\include\x86\winbase.h(2<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">223) : error C2059: syntax error : ')'<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">C:\Program Files\Windows CE Tools\WCE420\STANDARDSDK_420\include\x86\winbase.h(2<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">230) : error C2143: syntax error : missing ')' before '*'<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">C:\Program Files\Windows CE Tools\WCE420\STANDARDSDK_420\include\x86\winbase.h(2<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">230) : error C2143: syntax error : missing '{' before '*'<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">C:\Program Files\Windows CE Tools\WCE420\STANDARDSDK_420\include\x86\winbase.h(2<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">231) : error C2059: syntax error : ')'<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Stop.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">----------------------------------------------------------------------------------------<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Dear Michal, Dear all,<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">I have continued to work on my WCE version of stunnel 4.34, after having <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">received some request for help to compile for other TARGET CPU than ARM,<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">typically WCE/X86.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">That led me to a few more compilation bug fixes and some improvments in <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">makefiles, proper usage of winsock2 library, automatisation and <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">management of "make/build" process<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">for multiple targets WCE (ARM|X86...) and Win32 (with MS VC and <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Gnu-mingw32 !).<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">I added also, as a practical feature, the inclusion of <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">"version/copyright" properties in the exe files, properties that are <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">displayable in the Windows Explorer or by right-clicking on the exefile.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">This is not only a "beautifying" feature: this allows automatic version <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">checking by external tools without having to run the stunnel program, <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">particularly useful when the targetcpu does not match the host cpu...<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">I also worked to have "as close as possible" evc.mak, vc.mak, and <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">mingw.mak files.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">A lot of work and test-fail-adapt cycles have been performed to have a <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">common code working with the various flavors of C-PREPROCESSORS !<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">because there are subtle differences between MS EVC, MS VC, Borland BCC <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">and GNU-GCC preprocessors.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">THE ATTACHMENT has been sent in zip format, because it contains a few <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">scripts and other files that exceed the 100KB limit of the mailing list.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">it contains the files :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">version.h : contains the #define version numbers, major and minor<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">version.rc : version displayable by Windows Explorer property sheet<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">makew32.bat : an helper for build wih MS VC<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Michal:<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">patched2X86.txt : a FULL diff -cr between your last 4.34 official <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">version and my last patched<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">patched2X86_incr.txt : an INCREMENTAL diff -cr between my previous <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">patched version sent on 27/09/2010 and the present one.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">For the impatient, my patched version of stunnel 4.34 is available here :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><a href="http://delaage.pierre.free.fr/contrib/stunnel/wce/stunnel434_WCEpatched2X86.zip" moz-do-not-send="true">http://delaage.pierre.free.fr/contrib/stunnel/wce/stunnel434_WCEpatched2X86.zip</a><u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">IT COVERS both WCE and Win32 versions of stunnel.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">NEW FILES have been added to the sources: see attachments:<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">- version.h is NOW the CENTRAL point to define major and minor versions <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">of stunnel (NO MORE definition is makefile, which is logical : you <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">modify the version of the product, without necessarily modifying the <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">production process).<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">- version.rc is the resource file required by windows as the repository <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">of the stunnel.exe properties displayed in Windows Explorer.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Compiled with evc for wce or with VC for win32, this works perfectly.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">But compiled and linked with gcc, those properties are unfortunately not <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">displayed by Windows Explorer, although embedded in the exe file. I have <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">established that it is a bug in "gnu-link" stage.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">- makew32 : the equivalent of makece for Win32, which avoid repetitive <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">and error prone pollution of env vars when repetitively compiling for <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">w32. It is very useful in frequent recompilation at dev/test time.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">*** SOME PRACTICAL INFO :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">- now to compile, or clean up things, for a particular WCE TARGET CPU : <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">just type things like :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">makece ARMV4, eg for ARMV4 CPU<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">makece ARMV4 clean<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">makece X86, eg for ARMV4 CPU<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">makece X86clean<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">===> this create ../bin/ARMV4/stunnel.exe and ../obj/ARMV4/all objs <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">files, or the like with X86 cpu and so on.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">See list of all supported target cpu in evc.mak. ARMV4 and X86 go well; <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">more cpu may be checked by experts vs compilation flags...<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">This is very practical to compile for various targets without modifying, <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">deleting, renaming, anything and with no side effects between targets.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">- For Win32, yes for Windows PC, just type :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">makew32<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">makew32 clean<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">===> this create ../bin/W32/stunnel.exe and ../obj/W32/all objs files.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">This tool uses MS-VC 2008 express as compiler/linker.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">- For Win32, but with MINGW32 tools (and GNU-WIN32 coreutils !!!), just <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">type :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">mingw32-make -f mingw.mak<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">mingw32-make -f mingw.mak clean<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">===> this create ../bin/MGW32/stunnel.exe and ../obj/MGW32/objs files.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">GOODIE: I have tricked the mingw.mak to work EITHER on a Windows <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">compilation HOST MACHINE, OR a LINUX/UN*X compilation HOST.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">On windows mingw.mak properly checks and warns about potential missing <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">of gnu-win32 tools.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Note: the make.bat file is just a shortcut for mingw32-make -f mingw.mak.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">*** MODIFICATIONS of FILES :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">So, since my previous version of the patch, here are my adds :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">1/ evc.mak :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">1.1/linking with a recompiled version of Essemer/wcecompat:<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">this library has been customized to compile in SEPARATE folders for <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">MULTIPLE targets.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">So path to proper libs have been changed.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">My customized version of wcecompat is available here :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><a href="http://delaage.pierre.free.fr/contrib/wcecompat/wcecompat12_patched2X86.zip" moz-do-not-send="true">http://delaage.pierre.free.fr/contrib/wcecompat/wcecompat12_patched2X86.zip</a><u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">IT HAS ALSO been adapted to have separate folders for distinct targets <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">pre-compiled versions.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Please note that this philosophy is shared with openssl.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">1.2/ linking with winsock2 library instead of winsock1: at first to be <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">consistent with the C code, and second because winsock2 is more close to <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">socket standard than ws1.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">1.3/ linking with COREDLL.lib and CORELIBC.lib ONLY: whatever /MC or /MT <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">or other flag you put for CLxxx command, the set of default libs <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">expected to be linked is WRONG.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">This is a bug of CLxxx tools, inconsitent with MS doc.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">SO we have to overwrite the default lib list by always the same ones.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">You can verify that this is the right way to do it by searching for a <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">libc.lib in various evc/libs : you will NOT find any although clxxx /? <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">talks about it.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">1.3/ change in VERSION management : now there is a version.h and <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">version.rc souce file for this.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">One that wants to change version has just to edit version.h and then <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">version info will be propagated as usual in resource.h, AND also<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">in the exe itself to be displayable in Windows Explorer.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Now people will have a simple mean to check the version of stunnel.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Michal: have you noticed that there was a vestige "version.h" file <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">mentioned in vc.mak !<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">now it makes sense in evc.mak, vc.mak and mingw.mak, for wce or win32 <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">targets.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">1.4/ link /machine : IX86 is improper with WCE, it is X86.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">1.5/ Multiple WCE CPU targets supported by giving targetcpu on the make <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">command line like this :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">makece ARMV4 all<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">targetcpu is now mandatory.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">makece without options, as usual, will show the new syntax (very simple).<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">1.6/ improved clean target with some rmdirs and proper redirection of <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">error messages.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">proper use of make flags -@.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">1.7/ added explicit "inference rules" that are compatible MS nmake/ <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Borland make,<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">to be sure of the proper options, and to manage multiple subdirs <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">management matching TARGETCPU.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Now stunnel.exe is build in stunnel/bin/TARGETCPU subdir<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">objs are build in stunnel/obj/TARGETCPU<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">I really think it is practical and good policy : on my host machine I <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">have been able to test efficiently at the same time<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">three flavors of stunnel : win32, wce/arm, wce/x86 without <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">erasing/renaming/recompiling each time and wondering for what platform <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">was my stunnel.Exe built for.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">1.8/ HOST flag put in $(DEFINES) for CC and RC to add more info to exe <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">info property shhet in Windows Explorer "this stunnel is for THIS type <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">of target"<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">2/ makece.bat:<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">protection against pollution of environment when makece is repeatedly <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">run with the same targetcpu.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">+ Env is updated only when one is switching targetcpu.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">This is not perfect, but a step in the good direction.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">To understand what I mean, perform "set" to see all the env vars after <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">each makece call...<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">PRACTICALLY : you can type makece ARMV4 and then makece X86 in the same <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">command line window, without polluting "too much" the environment,<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">only when changing target. No need, reasonably, to have multiple command <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">line windows opened.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">3/ vc.mak: for win32<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">"multiple target" support by putting w32 obj and exe files in obj/w32 <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">and bin/w32 subdirs, version.rc support, winsock2 lib integration.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">crypt32 was missing .lib SUFFIX !<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">improper use of winsock1 : it is better to take winsock2 lib, and it is <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">what the code requires (#includes...) !<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">version management through version.h /.rc instead of /DVERSION<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">general logic now close to that of WCE evc.mak, as can be (evc and vc <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">are very close in their syntax, flags...).<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">HOST flag to add more info to exe info property sheet in Windows <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Explorer "this stunnel is for THIS type of target"<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">4/ created a makew32.bat script<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">as a wrapper to setenv vars for MSVC 2008 Express, and nmake call.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">This has to be improved in the future: presently it cannot be called <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">after a previous compilation for WCE :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">pollution of PATH and INCLUDE env vars requires to reopen a shell via <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">cmd.exe.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">One day I will check if there a simple way to clean env vars from some <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">path (not so simple).<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">5/ adapted mingw.mak to link with WINSOCK 2 (!!) and use of <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">version.rc/.h + general processing made similar to that of vc.mak.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">I tested with mingw for windows and it works. Someone should test with <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">gcc under linux, this should work...<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">HOST flag to add more info to exe info property sheet in Windows <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Explorer "this stunnel is for THIS type of target"<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Some rewriting to have a mingw.mak close to vc.mak, to ease maintenance...<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">I checked gnu make syntax, and it is close to ms nmake and borland make, <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">except for ifdef directives and inference rules syntax, unfortunately.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">I am somehow skilled in this boring exercise of comparing various make <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">tools and syntax.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">MINGW.MAK bugs: incorrect reference to "Makefile.w32", incorrect INC <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">path for openssl/win32 (this is NOT "outinc" but "inc32"! since a long <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">time).<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">NOTE : to compile on windows I commented "-l zdll" lib in the mingw.mak.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Michal, may you restore it if it is useful (I do not see why anyway).<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Added a testenv pseudo-target to check for gnu-win32 proper installation.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Added some tricks to enable proper execution with the same makefile <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">either on a Windows HOST or a Linux HOST.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">When I say host, I mean "production machine" , and NOT TARGET machine <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">which is always win32 with mingw.mak.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">6/ make.bat: this script is ONLY meaningful with mingw.mak and MINGW32 <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">gnu environment.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Due to various improvments I MADE in mingw.mak, mingw.mak is now only <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">compatible with mingw32-make,<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">and not just "make.exe", which is Borland make on Windows...<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">TODO : I did not deal with stunnel making for linux, and/or rpm packaging.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">But I guess that makefile.in etc...should be updated...<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Anyway, on linux, NOT including version.rc is not a problem, as this <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">file is useless in that target environment.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">But I think that having ../obj/UNX and ../bin/UNX folders should be a <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">good practice...<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">7/ common.h :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><st1:city u2:st="on"><st1:place u2:st="on"><st1:City w:st="on"><st1:place w:st="on"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Eureka</span></font></st1:place></st1:City></st1:place></st1:city> ! I finally understood and cleaned up the mess around the <u1:p></u1:p><o:p></o:p></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">redefinition of various Socket Error codes.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">This comes from the fact that, previously, those codes were defined in <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">MS winsock1 header files, but disappeared in winsock2 header files (they <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">are commented)<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Apparently, stunnel code was including winsock1 for w32 but winsock2 for <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">WCE, although winsock2 is in fact available on both platforms.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">So I decided to move to winsock2 for WCE, and re-declaring (again) SOME <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">of those constants.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Some clean up of the makefile has been done also to REALLY link to ws2 <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">lib instead of ws1 (because there was also a confusion there!).<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">8/ ctx.c : htons is requesting "short". so a cast was required to avoid <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">warnings from the compiler.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">9/ resolver.c : here we are:<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">many routines have been reimplemented when they are in fact available in <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">winsock2 both for w32 AND WCE.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Michal: I expect that you review this with particular attention.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">In fact I have modified the logic of "masking" local_routines when <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">already defined in winsock2.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">the previous code was HIDING winsock2 instead of the local_routines.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">It seemed not logical.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">It is important to note that the three routines "getaddrinfo, <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">freeaddrinfo, getnameinfo" are FOR INSTANT used only in resolver.c,<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">BUT the previous code was preventing them from being used by other modules.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Now, with my code, it is possible.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">My code also avoid compilation warnings (because, as getaddrinfo REALLY <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">exist in win32, such a "#define getaddrinfo localgetaddrinfo"<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">inevitably raises a warning of the compiler for redef of an existing <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">symbol; and hence it reveals a problem of conflict..., while my solution <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">avoids all this pitfalls).<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Removed also the restriction "AND IPV6" on win32 conditional #IF: <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">winsock2 supports ipv6.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Michal: a review on these conditional #IF should be useful...<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">I wanted to add that those routines are also parts of the POSIX standard <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">API, so they are available almost everywhere...<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">so I hardly understand their purpose today.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">10/ version.h :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">I have used some preprocessor tricks to have a VERSION string correctly <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">defined BOTH with MS evc preprocessor, MS vc preprocessor:<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">AND GNU preprocessor.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">those preprocessors have some differences...particularly when called <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">from a rc compiler through a "pipe" like gnu windres.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">In ms VC and EVC the rc preprocessing is NOT the same as that of the <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">compiler...<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Now it works with every build system, and either in .c compilation or <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">.rc compilation.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">USEFUL : openssl team is desperately ignoring any WCE patch, so if you <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">want an openssl 100a source tree compatible with WCE,<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">just download mine there :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><a href="http://delaage.pierre.free.fr/contrib/openssl/wce/openssl100a_WCEpatched3.zip" moz-do-not-send="true">http://delaage.pierre.free.fr/contrib/openssl/wce/openssl100a_WCEpatched3.zip</a><u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">FYI, my patch to openssl is registered here : <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><a href="http://rt.openssl.org/index.html?q=2350" moz-do-not-send="true">http://rt.openssl.org/index.html?q=2350</a> (login guest/password guest).<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">TODO : gui.c contains code to dynamically load ws2 getaddrinfo<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">why not rely only on static linking for that, as ws2 is available <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">everywhere since w95 and wce4.1 ?<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">we have to harmonize the code there with resolver.c and various makefiles<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">In resolver.c: code remains to load dynamically ws2 getaddrinfo etc..at <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">run-time only on win32, and not in CE while it is ALSO available!<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">I suggest to have "static" linking to ws2.lib both in w32 and wce . but <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">more code has to be modified to be definitely clean and clear.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">When I say "static linking" I mean "Load-Time Dynamic Linking", ie link <u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">with ws2.lib stub at build time, not "link with static lib"...<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">I thank you for your good work and attention,<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Yours sincerely,<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Pierre Delaage<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">Le 27/09/2010 00:40, Pierre DELAAGE a �crit :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> Dear All,<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> Please find enclosed a patch in "diff -cr orig patched" format,<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> applying to stunnel4.34 as found here <a href="ftp://stunnel.mirt.net/stunnel/" moz-do-not-send="true">ftp://stunnel.mirt.net/stunnel/</a>.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> This patch mainly addresses compilation and unicode issues for Windows<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> CE targets + ONE critical issue preventing stunnel to service anything<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> (!).<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> I use MS EVC 4sp2 compiler with WCE 420 SDK, on a vista host platform.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> Once debugged the code works fine on WM6 HTC smartphones.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> Should work on WM5.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> It needs a windows CE openssl lib (I recompiled MY patched version of<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> openssl 1.0.0a successfully: I will have to log a patch to those<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> gentlemen, hoping that they are open to integrate it, something not so<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> obvious in the past).<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> I will later post here a link to my patch for openssl 100a pointing to<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> the openssl mailing list. THIS OPENSSL PATCH IS ESSENTIAL : with my<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> older version of openssl 098pre_j for wce, stunnel does not work<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> anymore (it crashes after first cnx).<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> The present stunnel patch addresses the following issues :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> *************<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> I] COMPILATION FAILURES<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> 1/ on common.h "EINVAL redefinition" :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> in fact the compile options WX (see evc.mak) does not tolerate any<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> warning :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> The MS evc420 compiler ALWAYS issues a warning on this symbol<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> redefinition.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> Michal and I are dealing with it since month...<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> But, considering that NEITHER Exxx error codes are used in stunnel,<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> I suggest that in fact ALL these redef should be suppressed.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> TODO: In the future a proper rewrite of code in log.c, where hardcoded<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> values of WSA error codes are used instead of symbolic constant, will<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> have to be done.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> 2/ client.c<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> CreateProcess is a UNICODE function: code was ascii only.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> Code has been adapted to work in unicode.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> 3/ evc.mak<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> path to new openssl lib has been redefined.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> proper location for the libs in openssl tree has been set in the<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> make-install block (although this block is presently USELESS and needs<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> a complete rewrite).<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> 4/ gui.c<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> All code using hmainmenu is OFF under winCE.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> So some new lines involving it were not compiling.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> 5/ options.c<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> linger_val.l_linger and linger_val.l_onoff require ushort values.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> Strict type checking of the compiler required a proper cast to ushort<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> of the r-values.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> stralloc uses "strdup":<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> on Win32 and winCE strdup is _strdup (!).<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> 6/ prototypes.h :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> _beginthread was defined as returning an int, an a long in sthread.c.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> After some checking in various documentations, long is the correct type,<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> in particular because _beginthread can return the special error value<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> "-1L". So that unsigned types are illogical.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> This simplifies the code in some locations, by saving some -now<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> useless- casts.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> 7/ sthread.c<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> create_client: suppressed some useless cast to (long) for beginthread.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> *************<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> II] OPERATIONAL ERRORS (at run-time)<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> This is a reminder of previous notification to the mailing list :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> due to beginthread improper code and/or use,<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> It is presently IMPOSSIBLE for stunnel 434 to be used in production on<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> WCE:<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> it is just unable to service any...service.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> Nothing happens if, for example, you use it to connect to an https<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> server. No log either !<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> I corrected the code with both Michal patch to gui.c and mine to<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> sthread.c:<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> gui.c (Michal patch) :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> _beginthread was called with 0 as stacksize which, cumulated to an<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> improper coding of sthread/beginthread, led to FAILURE of service<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> thread creation.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> sthread.c:<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> _beginthread : now supports "0" stacksize value, leading to default<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> linker stack size (1MB by default unless specified differently on the<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> linker command line, something we do not yet perform but could).<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> *************<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> III] MINOR IMPROVMENT<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> _beginthread: added a log on critical event of "failure" to create a<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> service thread. because I think it is a critical event, isn't it?<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> I hope you will find this patch useful.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> Thank you for your excellent work,<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> Yours sincerely,<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> Pierre Delaage<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> Note : I use stunnel to establish a simple "vpn" between smartphones and<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> a corporate linux server mainly for HTTPS/POPS/SMTPS support.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> Stunnel is very relevant in that matter, over solutions based on SSH<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> (although we use also ssh), from a communication cost point of view :<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> ssh establishes permanent socket between client and server, so that the<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> communication is charged by the mobile network provider : and these<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> charges are very expensive.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> On the contrary stunnel only establishes ssl sockets on demand so that<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> financial charges are limited to strict necessary.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> Please note that stunnel brings "client based certificate<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> authentication" to POP/SMTP mobile mail user agents which only<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> BASICALLY supports SSL with server authentication, but NO client<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> authentication, such as M$ Outlook for <st1:city u2:st="on"><st1:place u2:st="on"><st1:City w:st="on"><st1:place w:st="on">Mobile</st1:place></st1:city></st1:place></st1:City> (unless you pay for an<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> exchange server and exchange client licence).<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> Here again stunnel is very relevant.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> Note 2 : the strdup and unicode bug fixes should benefit also to the<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">> win32 (for PC) stunnel version for PC.<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><a href="http://marc.info/?l=stunnel-users&m=129002593426045&q=p3" moz-do-not-send="true"><b><span style="font-weight:bold">["stunnel434patch20101117.zip" (application/x-zip-compressed)]</span></b></a><u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">_______________________________________________<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt">stunnel-users mailing list<u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><a href="mailto:stunnel-users@mirt.net">stunnel-users@mirt.net</a><u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><a href="http://stunnel.mirt.net/mailman/listinfo/stunnel-users" moz-do-not-send="true">http://stunnel.mirt.net/mailman/listinfo/stunnel-users</a><u1:p></u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt"><u1:p> </u1:p><o:p></o:p></span></font></pre>
<pre><b><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-weight:
bold">[<a href="http://marc.info/?l=stunnel-users&m=129001288405228&w=2" moz-do-not-send="true">prev in list</a>] [<a href="http://marc.info/?l=stunnel-users&m=129010241218147&w=2" moz-do-not-send="true">next in list</a>] [<a href="http://marc.info/?l=stunnel-users&m=128554087819713&w=2" moz-do-not-send="true">prev in thread</a>] [</span></font></b><b><font color="silver"><span style="color:silver;font-weight:bold">next in thread</span></font>] </b><u1:p></u1:p><o:p></o:p></pre>
<p class="MsoNormal"><font size="3" color="black" face="Times New Roman"><span style="font-size:12.0pt"><u1:p> </u1:p><o:p></o:p></span></font></p>
<p class="MsoNormal" align="center" style="text-align:center"><font size="3" color="black" face="Times New Roman"><span style="font-size:12.0pt"><a href="http://marc.info/?q=configure" moz-do-not-send="true">Configure</a> |
<a href="http://marc.info/?q=about" moz-do-not-send="true">About</a> | <a href="http://marc.info/?q=news" moz-do-not-send="true">
News</a> |<u1:p></u1:p><o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="black" face="Arial"><span style="font-size:
10.0pt;font-family:Arial"><u1:p> </u1:p></span></font><o:p></o:p></p>
<p class="MsoNormal"><font size="3" color="black" face="Times New Roman"><span style="font-size:12.0pt"><o:p> </o:p></span></font></p>
</u1:smarttagtype></u1:smarttagtype></div>
</body>
</html>