<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:www.nabble.com,2006:forum-980</id>
	<title>Nabble - OpenSSL - Dev</title>
	<updated>2008-10-07T17:32:42Z</updated>
	<link rel="self" type="application/atom+xml" href="http://www.nabble.com/OpenSSL---Dev-f980.xml" />
	<link rel="alternate" type="text/html" href="http://www.nabble.com/OpenSSL---Dev-f980.html" />
	<subtitle type="html"></subtitle>
	
<entry>
	<id>tag:www.nabble.com,2006:post-19870314</id>
	<title>Re: Certificate Expiry and pem file</title>
	<published>2008-10-07T17:32:42Z</published>
	<updated>2008-10-07T17:32:42Z</updated>
	<author>
		<name>Prabu</name>
	</author>
	<content type="html">Oh that worked.........Thank you very much :)
&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Larry Bugbee-2 wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;&amp;gt; One of our clients are renewing the digital certificates on their &amp;nbsp;
&lt;br&gt;&amp;gt; side as it
&lt;br&gt;&amp;gt; is due to expire and would be rolling over to a new certificate.They &amp;nbsp;
&lt;br&gt;&amp;gt; have
&lt;br&gt;&amp;gt; provided a .cer file.Actually we decrypt the messages from them.I &amp;nbsp;
&lt;br&gt;&amp;gt; understand
&lt;br&gt;&amp;gt; that I need to generate a .pem file from this .cer file.Can anyone &amp;nbsp;
&lt;br&gt;&amp;gt; help me
&lt;br&gt;&amp;gt; in achieveing this.
&lt;br&gt;&lt;br&gt;to convert to pem, try:
&lt;br&gt;&amp;nbsp; &amp;nbsp; openssl x509 &amp;lt; nameofcerfile.cer &amp;gt; nameofpemfile.pem
&lt;br&gt;&lt;br&gt;if all you want to do is see it, try:
&lt;br&gt;&amp;nbsp; &amp;nbsp; openssl x509 -text &amp;lt; nameofcerfile.cer
&lt;br&gt;&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; openssl-dev@openssl.org
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; majordomo@openssl.org
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Certificate-Expiry-and-pem-file-tp19850758p19870314.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19863613</id>
	<title>Re: help regarding random numbers in openssl</title>
	<published>2008-10-07T10:47:35Z</published>
	<updated>2008-10-07T10:47:35Z</updated>
	<author>
		<name>Geoff Thorpe</name>
	</author>
	<content type="html">I see that you've cross-posted to both lists a few times, please don't. 
&lt;br&gt;Most of your posts (if not all) belong on openssl-users. openssl-dev is 
&lt;br&gt;for discussing the development of openssl itself, whereas openssl-users 
&lt;br&gt;is for discussing development *using* openssl (or anything else related 
&lt;br&gt;to openssl).
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Geoff
&lt;br&gt;&lt;br&gt;On Tuesday 07 October 2008 11:47:42 prashanth s joshi wrote:
&lt;br&gt;&amp;gt; Hi all,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; In openssl code which part actually handles catching of the random
&lt;br&gt;&amp;gt; numbers exchanged during the handshake?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt; Prashanth..
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Un terrien, c'est un singe avec des clefs de char...
&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19863613&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19863613&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/help-regarding-random-numbers-in-openssl-tp19863314p19863613.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19862283</id>
	<title>Re: Fwd: how to run gdb in openssl</title>
	<published>2008-10-07T09:21:20Z</published>
	<updated>2008-10-07T09:21:20Z</updated>
	<author>
		<name>Stefan.Neis@t-online.de</name>
	</author>
	<content type="html">&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hi,
&lt;br&gt;&lt;br&gt;&amp;gt; In gdb I am running the command as path_of_bin/bin/openssl s_client
&lt;br&gt;&amp;gt; -connect ipaddress:4433.
&lt;br&gt;&amp;gt; &amp;nbsp;But i get the error as: &amp;nbsp; Undefined command: &amp;quot;&amp;quot;. &amp;nbsp;Try &amp;quot;help&amp;quot;.
&lt;br&gt;&amp;gt; &amp;nbsp;why is it so?
&lt;br&gt;&lt;br&gt;For gdb, loading an executable and running it, are two separate steps.
&lt;br&gt;So starting &amp;quot;gdb path_of_bin/bin/openssl&amp;quot; will start gdb and load the
&lt;br&gt;executable. Now, when you get to the gdb prompt, you can run the
&lt;br&gt;executable by &amp;quot;run &amp;lt;parameters style=&amp;quot;margin:0px;&amp;quot;&amp;gt;&amp;quot;, e.g. &amp;quot;run -connect
&lt;br&gt;ipaddress:4433&amp;quot;.
&lt;br&gt;&lt;br&gt;Normally, gdb documentation is not that bad, it should be described
&lt;br&gt;there as well ...
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HTH,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Stefan
&lt;br&gt;&lt;br&gt;P.S.: No, I don't believe this is the appropriate list for general
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;how do I use gdb&amp;quot; questions ...
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19862283&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19862283&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Fwd%3A-how-to-run-gdb-in-openssl-tp19861079p19862283.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19863314</id>
	<title>help regarding random numbers in openssl</title>
	<published>2008-10-07T08:47:42Z</published>
	<updated>2008-10-07T08:47:42Z</updated>
	<author>
		<name>prashanth s joshi</name>
	</author>
	<content type="html">&lt;div dir=&quot;ltr&quot;&gt;Hi all,&lt;br&gt;&lt;br&gt;In openssl code which part actually handles catching of the random numbers exchanged during the handshake?&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Prashanth..&lt;br&gt;&lt;br&gt;&lt;/div&gt;
</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/help-regarding-random-numbers-in-openssl-tp19863314p19863314.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19861079</id>
	<title>Fwd: how to run gdb in openssl</title>
	<published>2008-10-07T08:43:59Z</published>
	<updated>2008-10-07T08:43:59Z</updated>
	<author>
		<name>prashanth s joshi</name>
	</author>
	<content type="html">&lt;div dir=&quot;ltr&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;Hi all,&lt;br&gt;&lt;div dir=&quot;ltr&quot;&gt;&lt;div class=&quot;Ih2E3d&quot;&gt;&lt;br&gt;Could anyone please tell me how to run the gdb in openssl?&lt;br&gt;&lt;/div&gt;In gdb I am running the command as path_of_bin/bin/openssl s_client -connect ipaddress:4433.&lt;br&gt;
But i get the error as: &amp;nbsp; Undefined command: &amp;quot;&amp;quot;.&amp;nbsp; Try &amp;quot;help&amp;quot;.&lt;br&gt;
why is it so?&lt;br&gt;How do i ensure that the gdb runs correclty?&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;&lt;font color=&quot;#888888&quot;&gt;Prashanth&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;Wj3C7c&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;---------- Forwarded message ----------&lt;br&gt;
From: &lt;b class=&quot;gmail_sendername&quot;&gt;prashanth s joshi&lt;/b&gt; &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19861079&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;prashanthlingsur@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;
Date: Tue, Oct 7, 2008 at 6:52 PM&lt;br&gt;Subject: how to run gdb in openssl&lt;br&gt;To: &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19861079&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div dir=&quot;ltr&quot;&gt;Hi all,&lt;br&gt;&lt;br&gt;could anyone please tell me how to run the gdb in openssl?&lt;br&gt;

&lt;br&gt;Regards,&lt;br&gt;Prashanth&lt;br&gt;&lt;/div&gt;
&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;&lt;br&gt;&lt;/div&gt;
</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Fwd%3A-how-to-run-gdb-in-openssl-tp19861079p19861079.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19859828</id>
	<title>[openssl.org #1761] [PATCH] AWOL openssl s_client eating CPU time.</title>
	<published>2008-10-07T06:50:03Z</published>
	<updated>2008-10-07T06:50:03Z</updated>
	<author>
		<name>David Woodhouse via RT</name>
	</author>
	<content type="html">To connect to company-internal IMAP servers, my mail clients are
&lt;br&gt;configured to run the following command:
&lt;br&gt;&lt;br&gt;&amp;nbsp;ssh $BOX_ON_VPN exec openssl s_client -quiet -connect $IMAPSERVER:993 
&lt;br&gt;&lt;br&gt;The '-quiet' part of that is necessary, because the mail programs
&lt;br&gt;generally can't cope with extra noise -- they only want IMAP. But the
&lt;br&gt;-quiet option implies -ign_eof, which means that when the ssh client
&lt;br&gt;disconnects, the openssl process is left eating CPU time in an endless
&lt;br&gt;loop:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; select(5, [4], [4], NULL, NULL) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = 1 (out [4])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; select(5, [0 4], [], NULL, NULL) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= 1 (in [0])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; read(0, &amp;quot;&amp;quot;, 8192) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = 0
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; select(5, [4], [4], NULL, NULL) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = 1 (out [4])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; select(5, [0 4], [], NULL, NULL) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= 1 (in [0])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; read(0, &amp;quot;&amp;quot;, 8192) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = 0
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; select(5, [4], [4], NULL, NULL) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = 1 (out [4])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; select(5, [0 4], [], NULL, NULL) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= 1 (in [0])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; read(0, &amp;quot;&amp;quot;, 8192) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = 0
&lt;br&gt;&lt;br&gt;I assume that changing the behaviour of the -quiet option so that it no
&lt;br&gt;longer implies -ign_eof is not going to be considered acceptable, so
&lt;br&gt;this patch instead adds a -no_ign_eof option which can be used to
&lt;br&gt;override the unwanted setting.
&lt;br&gt;&lt;br&gt;--- apps/s_client.c.orig	2008-10-05 21:50:22.000000000 +0100
&lt;br&gt;+++ apps/s_client.c	2008-10-07 14:18:23.000000000 +0100
&lt;br&gt;@@ -216,6 +216,7 @@ static void sc_usage(void)
&lt;br&gt;&amp;nbsp;	BIO_printf(bio_err,&amp;quot; -crlf &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - convert LF from terminal into CRLF\n&amp;quot;);
&lt;br&gt;&amp;nbsp;	BIO_printf(bio_err,&amp;quot; -quiet &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- no s_client output\n&amp;quot;);
&lt;br&gt;&amp;nbsp;	BIO_printf(bio_err,&amp;quot; -ign_eof &amp;nbsp; &amp;nbsp; &amp;nbsp;- ignore input eof (default when -quiet)\n&amp;quot;);
&lt;br&gt;+	BIO_printf(bio_err,&amp;quot; -no_ign_eof &amp;nbsp; - don't ignore input eof\n&amp;quot;);
&lt;br&gt;&amp;nbsp;	BIO_printf(bio_err,&amp;quot; -ssl2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - just use SSLv2\n&amp;quot;);
&lt;br&gt;&amp;nbsp;	BIO_printf(bio_err,&amp;quot; -ssl3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - just use SSLv3\n&amp;quot;);
&lt;br&gt;&amp;nbsp;	BIO_printf(bio_err,&amp;quot; -tls1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - just use TLSv1\n&amp;quot;);
&lt;br&gt;@@ -427,6 +428,8 @@ int MAIN(int argc, char **argv)
&lt;br&gt;&amp;nbsp;			}
&lt;br&gt;&amp;nbsp;		else if	(strcmp(*argv,&amp;quot;-ign_eof&amp;quot;) == 0)
&lt;br&gt;&amp;nbsp;			c_ign_eof=1;
&lt;br&gt;+		else if	(strcmp(*argv,&amp;quot;-no_ign_eof&amp;quot;) == 0)
&lt;br&gt;+			c_ign_eof=0;
&lt;br&gt;&amp;nbsp;		else if	(strcmp(*argv,&amp;quot;-pause&amp;quot;) == 0)
&lt;br&gt;&amp;nbsp;			c_Pause=1;
&lt;br&gt;&amp;nbsp;		else if	(strcmp(*argv,&amp;quot;-debug&amp;quot;) == 0)
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;dwmw2
&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19859828&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19859828&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-openssl.org--1761---PATCH--AWOL-openssl-s_client-eating-CPU-time.-tp19859828p19859828.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19854277</id>
	<title>[PATCH] Support DTLS compatibility with Cisco AnyConnect VPN</title>
	<published>2008-10-07T02:12:18Z</published>
	<updated>2008-10-07T02:12:18Z</updated>
	<author>
		<name>David Woodhouse</name>
	</author>
	<content type="html">This patch against the 0.9.8 branch adds an SSL option for compatibility
&lt;br&gt;with the pre-RFC version of DTLS used by Cisco for their AnyConnect SSL
&lt;br&gt;VPN. This is RT #1751.
&lt;br&gt;&lt;br&gt;With this patch, and with the two bug fixes I just posted, I now have a
&lt;br&gt;fully functional client operating with Cisco's VPN servers.
&lt;br&gt;&lt;br&gt;Index: ssl/d1_clnt.c
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /home/dwmw2/openssl-cvs/openssl/ssl/d1_clnt.c,v
&lt;br&gt;retrieving revision 1.3.2.10
&lt;br&gt;diff -u -p -r1.3.2.10 d1_clnt.c
&lt;br&gt;--- ssl/d1_clnt.c	4 Jun 2008 18:35:25 -0000	1.3.2.10
&lt;br&gt;+++ ssl/d1_clnt.c	29 Sep 2008 08:27:31 -0000
&lt;br&gt;@@ -130,7 +130,7 @@ static int dtls1_get_hello_verify(SSL *s
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;static SSL_METHOD *dtls1_get_client_method(int ver)
&lt;br&gt;&amp;nbsp;	{
&lt;br&gt;-	if (ver == DTLS1_VERSION)
&lt;br&gt;+	if (ver == DTLS1_VERSION || ver == DTLS1_BAD_VER)
&lt;br&gt;&amp;nbsp;		return(DTLSv1_client_method());
&lt;br&gt;&amp;nbsp;	else
&lt;br&gt;&amp;nbsp;		return(NULL);
&lt;br&gt;@@ -181,7 +181,8 @@ int dtls1_connect(SSL *s)
&lt;br&gt;&amp;nbsp;			s-&amp;gt;server=0;
&lt;br&gt;&amp;nbsp;			if (cb != NULL) cb(s,SSL_CB_HANDSHAKE_START,1);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-			if ((s-&amp;gt;version &amp; 0xff00 ) != (DTLS1_VERSION &amp; 0xff00))
&lt;br&gt;+			if ((s-&amp;gt;version &amp; 0xff00 ) != (DTLS1_VERSION &amp; 0xff00) &amp;&amp;
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp;(s-&amp;gt;version &amp; 0xff00 ) != (DTLS1_BAD_VER &amp; 0xff00))
&lt;br&gt;&amp;nbsp;				{
&lt;br&gt;&amp;nbsp;				SSLerr(SSL_F_DTLS1_CONNECT, ERR_R_INTERNAL_ERROR);
&lt;br&gt;&amp;nbsp;				ret = -1;
&lt;br&gt;Index: ssl/d1_lib.c
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /home/dwmw2/openssl-cvs/openssl/ssl/d1_lib.c,v
&lt;br&gt;retrieving revision 1.1.2.5
&lt;br&gt;diff -u -p -r1.1.2.5 d1_lib.c
&lt;br&gt;--- ssl/d1_lib.c	5 Oct 2007 21:05:27 -0000	1.1.2.5
&lt;br&gt;+++ ssl/d1_lib.c	29 Sep 2008 08:38:49 -0000
&lt;br&gt;@@ -186,7 +186,10 @@ void dtls1_free(SSL *s)
&lt;br&gt;&amp;nbsp;void dtls1_clear(SSL *s)
&lt;br&gt;&amp;nbsp;	{
&lt;br&gt;&amp;nbsp;	ssl3_clear(s);
&lt;br&gt;-	s-&amp;gt;version=DTLS1_VERSION;
&lt;br&gt;+	if (s-&amp;gt;options &amp; SSL_OP_CISCO_ANYCONNECT)
&lt;br&gt;+		s-&amp;gt;version=DTLS1_BAD_VER;
&lt;br&gt;+	else
&lt;br&gt;+		s-&amp;gt;version=DTLS1_VERSION;
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/*
&lt;br&gt;Index: ssl/d1_pkt.c
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /home/dwmw2/openssl-cvs/openssl/ssl/d1_pkt.c,v
&lt;br&gt;retrieving revision 1.4.2.12
&lt;br&gt;diff -u -p -r1.4.2.12 d1_pkt.c
&lt;br&gt;--- ssl/d1_pkt.c	14 Sep 2008 17:57:03 -0000	1.4.2.12
&lt;br&gt;+++ ssl/d1_pkt.c	29 Sep 2008 08:27:31 -0000
&lt;br&gt;@@ -986,15 +986,17 @@ start:
&lt;br&gt;&amp;nbsp;	if (rr-&amp;gt;type == SSL3_RT_CHANGE_CIPHER_SPEC)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;&amp;nbsp;		struct ccs_header_st ccs_hdr;
&lt;br&gt;+		int ccs_hdr_len = DTLS1_CCS_HEADER_LENGTH;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		dtls1_get_ccs_header(rr-&amp;gt;data, &amp;ccs_hdr);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		/* 'Change Cipher Spec' is just a single byte, so we know
&lt;br&gt;&amp;nbsp;		 * exactly what the record payload has to look like */
&lt;br&gt;&amp;nbsp;		/* XDTLS: check that epoch is consistent */
&lt;br&gt;-		if (	(s-&amp;gt;client_version == DTLS1_BAD_VER &amp;&amp; rr-&amp;gt;length != 3) ||
&lt;br&gt;-			(s-&amp;gt;client_version != DTLS1_BAD_VER &amp;&amp; rr-&amp;gt;length != DTLS1_CCS_HEADER_LENGTH) || 
&lt;br&gt;-			(rr-&amp;gt;off != 0) || (rr-&amp;gt;data[0] != SSL3_MT_CCS))
&lt;br&gt;+		if (s-&amp;gt;client_version == DTLS1_BAD_VER || s-&amp;gt;version == DTLS1_BAD_VER)
&lt;br&gt;+			ccs_hdr_len = 3;
&lt;br&gt;+
&lt;br&gt;+		if ((rr-&amp;gt;length != ccs_hdr_len) || (rr-&amp;gt;off != 0) || (rr-&amp;gt;data[0] != SSL3_MT_CCS))
&lt;br&gt;&amp;nbsp;			{
&lt;br&gt;&amp;nbsp;			i=SSL_AD_ILLEGAL_PARAMETER;
&lt;br&gt;&amp;nbsp;			SSLerr(SSL_F_DTLS1_READ_BYTES,SSL_R_BAD_CHANGE_CIPHER_SPEC);
&lt;br&gt;@@ -1310,7 +1312,7 @@ int do_dtls1_write(SSL *s, int type, con
&lt;br&gt;&amp;nbsp;#if 0
&lt;br&gt;&amp;nbsp;	/* 'create_empty_fragment' is true only when this function calls itself */
&lt;br&gt;&amp;nbsp;	if (!clear &amp;&amp; !create_empty_fragment &amp;&amp; !s-&amp;gt;s3-&amp;gt;empty_fragment_done
&lt;br&gt;-		&amp;&amp; SSL_version(s) != DTLS1_VERSION)
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;&amp;&amp; SSL_version(s) != DTLS1_VERSION &amp;&amp; SSL_version(s) != DTLS1_BAD_VER)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;&amp;nbsp;		/* countermeasure against known-IV weakness in CBC ciphersuites
&lt;br&gt;&amp;nbsp;		 * (see &lt;a href=&quot;http://www.openssl.org/~bodo/tls-cbc.txt&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org/~bodo/tls-cbc.txt&lt;/a&gt;) 
&lt;br&gt;Index: ssl/s3_clnt.c
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /home/dwmw2/openssl-cvs/openssl/ssl/s3_clnt.c,v
&lt;br&gt;retrieving revision 1.88.2.17
&lt;br&gt;diff -u -p -r1.88.2.17 s3_clnt.c
&lt;br&gt;--- ssl/s3_clnt.c	16 Jun 2008 16:56:41 -0000	1.88.2.17
&lt;br&gt;+++ ssl/s3_clnt.c	29 Sep 2008 08:27:31 -0000
&lt;br&gt;@@ -708,7 +708,7 @@ int ssl3_get_server_hello(SSL *s)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	if (!ok) return((int)n);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-	if ( SSL_version(s) == DTLS1_VERSION)
&lt;br&gt;+	if ( SSL_version(s) == DTLS1_VERSION || SSL_version(s) == DTLS1_BAD_VER)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;&amp;nbsp;		if ( s-&amp;gt;s3-&amp;gt;tmp.message_type == DTLS1_MT_HELLO_VERIFY_REQUEST)
&lt;br&gt;&amp;nbsp;			{
&lt;br&gt;Index: ssl/ssl.h
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /home/dwmw2/openssl-cvs/openssl/ssl/ssl.h,v
&lt;br&gt;retrieving revision 1.161.2.21
&lt;br&gt;diff -u -p -r1.161.2.21 ssl.h
&lt;br&gt;--- ssl/ssl.h	13 Aug 2008 19:44:44 -0000	1.161.2.21
&lt;br&gt;+++ ssl/ssl.h	29 Sep 2008 08:39:24 -0000
&lt;br&gt;@@ -510,6 +510,8 @@ typedef struct ssl_session_st
&lt;br&gt;&amp;nbsp;#define SSL_OP_COOKIE_EXCHANGE &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x00002000L
&lt;br&gt;&amp;nbsp;/* Don't use RFC4507 ticket extension */
&lt;br&gt;&amp;nbsp;#define SSL_OP_NO_TICKET	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x00004000L
&lt;br&gt;+/* Use Cisco's &amp;quot;speshul&amp;quot; version of DTLS_BAD_VER (as client) &amp;nbsp;*/
&lt;br&gt;+#define SSL_OP_CISCO_ANYCONNECT		 &amp;nbsp; &amp;nbsp;0x00008000L
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/* As server, disallow session resumption on renegotiation */
&lt;br&gt;&amp;nbsp;#define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION	0x00010000L
&lt;br&gt;Index: ssl/ssl_lib.c
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /home/dwmw2/openssl-cvs/openssl/ssl/ssl_lib.c,v
&lt;br&gt;retrieving revision 1.133.2.15
&lt;br&gt;diff -u -p -r1.133.2.15 ssl_lib.c
&lt;br&gt;--- ssl/ssl_lib.c	16 Jun 2008 16:56:42 -0000	1.133.2.15
&lt;br&gt;+++ ssl/ssl_lib.c	29 Sep 2008 08:37:16 -0000
&lt;br&gt;@@ -993,7 +993,8 @@ long SSL_ctrl(SSL *s,int cmd,long larg,v
&lt;br&gt;&amp;nbsp;		s-&amp;gt;max_cert_list=larg;
&lt;br&gt;&amp;nbsp;		return(l);
&lt;br&gt;&amp;nbsp;	case SSL_CTRL_SET_MTU:
&lt;br&gt;-		if (SSL_version(s) == DTLS1_VERSION)
&lt;br&gt;+		if (SSL_version(s) == DTLS1_VERSION ||
&lt;br&gt;+		 &amp;nbsp; &amp;nbsp;SSL_version(s) == DTLS1_BAD_VER)
&lt;br&gt;&amp;nbsp;			{
&lt;br&gt;&amp;nbsp;			s-&amp;gt;d1-&amp;gt;mtu = larg;
&lt;br&gt;&amp;nbsp;			return larg;
&lt;br&gt;Index: ssl/ssl_sess.c
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /home/dwmw2/openssl-cvs/openssl/ssl/ssl_sess.c,v
&lt;br&gt;retrieving revision 1.51.2.9
&lt;br&gt;diff -u -p -r1.51.2.9 ssl_sess.c
&lt;br&gt;--- ssl/ssl_sess.c	4 Jun 2008 18:35:27 -0000	1.51.2.9
&lt;br&gt;+++ ssl/ssl_sess.c	29 Sep 2008 08:27:31 -0000
&lt;br&gt;@@ -211,6 +211,11 @@ int ssl_get_new_session(SSL *s, int sess
&lt;br&gt;&amp;nbsp;			ss-&amp;gt;ssl_version=TLS1_VERSION;
&lt;br&gt;&amp;nbsp;			ss-&amp;gt;session_id_length=SSL3_SSL_SESSION_ID_LENGTH;
&lt;br&gt;&amp;nbsp;			}
&lt;br&gt;+		else if (s-&amp;gt;version == DTLS1_BAD_VER)
&lt;br&gt;+			{
&lt;br&gt;+			ss-&amp;gt;ssl_version=DTLS1_BAD_VER;
&lt;br&gt;+			ss-&amp;gt;session_id_length=SSL3_SSL_SESSION_ID_LENGTH;
&lt;br&gt;+			}
&lt;br&gt;&amp;nbsp;		else if (s-&amp;gt;version == DTLS1_VERSION)
&lt;br&gt;&amp;nbsp;			{
&lt;br&gt;&amp;nbsp;			ss-&amp;gt;ssl_version=DTLS1_VERSION;
&lt;br&gt;Index: ssl/t1_enc.c
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /home/dwmw2/openssl-cvs/openssl/ssl/t1_enc.c,v
&lt;br&gt;retrieving revision 1.35.2.6
&lt;br&gt;diff -u -p -r1.35.2.6 t1_enc.c
&lt;br&gt;--- ssl/t1_enc.c	13 Sep 2008 18:25:36 -0000	1.35.2.6
&lt;br&gt;+++ ssl/t1_enc.c	29 Sep 2008 08:35:54 -0000
&lt;br&gt;@@ -757,10 +757,10 @@ int tls1_mac(SSL *ssl, unsigned char *md
&lt;br&gt;&amp;nbsp;	HMAC_CTX_init(&amp;hmac);
&lt;br&gt;&amp;nbsp;	HMAC_Init_ex(&amp;hmac,mac_sec,EVP_MD_size(hash),hash,NULL);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-	if (ssl-&amp;gt;version == DTLS1_VERSION &amp;&amp; ssl-&amp;gt;client_version != DTLS1_BAD_VER)
&lt;br&gt;+	if (ssl-&amp;gt;version == DTLS1_BAD_VER ||
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;(ssl-&amp;gt;version == DTLS1_VERSION &amp;&amp; ssl-&amp;gt;client_version != DTLS1_BAD_VER))
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;&amp;nbsp;		unsigned char dtlsseq[8],*p=dtlsseq;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp;		s2n(send?ssl-&amp;gt;d1-&amp;gt;w_epoch:ssl-&amp;gt;d1-&amp;gt;r_epoch, p);
&lt;br&gt;&amp;nbsp;		memcpy (p,&amp;seq[2],6);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -785,7 +785,7 @@ printf(&amp;quot;rec=&amp;quot;);
&lt;br&gt;&amp;nbsp;{unsigned int z; for (z=0; z&amp;lt;rec-&amp;gt;length; z++) printf(&amp;quot;%02X &amp;quot;,buf[z]); printf(&amp;quot;\n&amp;quot;); }
&lt;br&gt;&amp;nbsp;#endif
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-	if ( SSL_version(ssl) != DTLS1_VERSION)
&lt;br&gt;+	if ( SSL_version(ssl) != DTLS1_VERSION &amp;&amp; SSL_version(ssl) != DTLS1_BAD_VER)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;&amp;nbsp;		for (i=7; i&amp;gt;=0; i--)
&lt;br&gt;&amp;nbsp;			{
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;dwmw2
&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19854277&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19854277&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-PATCH--Support-DTLS-compatibility-with-Cisco-AnyConnect-VPN-tp19854277p19854277.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19854210</id>
	<title>[PATCH] Fix DTLS problems with reordered incoming packets</title>
	<published>2008-10-07T02:07:50Z</published>
	<updated>2008-10-07T02:07:50Z</updated>
	<author>
		<name>David Woodhouse</name>
	</author>
	<content type="html">This patch to the 0.9.8 branch fixes two bugs with misordered incoming
&lt;br&gt;packets in DTLS, which are reported as RT #1752.
&lt;br&gt;&lt;br&gt;Firstly, the bitmap we use for replay protection was ending up with zero
&lt;br&gt;length, so a _single_ pair of packets getting switched around would
&lt;br&gt;cause one of them to be 'dropped'.
&lt;br&gt;&lt;br&gt;Secondly, it wasn't even _dropping_ the offending packets, in the
&lt;br&gt;non-blocking case. It was just returning garbage instead.
&lt;br&gt;&lt;br&gt;--- ssl/d1_lib.c~	2008-10-02 06:43:47.000000000 +0100
&lt;br&gt;+++ ssl/d1_lib.c	2008-10-05 21:31:38.000000000 +0100
&lt;br&gt;@@ -106,6 +106,7 @@ int dtls1_new(SSL *s)
&lt;br&gt;&amp;nbsp;	pq_64bit_init(&amp;(d1-&amp;gt;bitmap.map));
&lt;br&gt;&amp;nbsp;	pq_64bit_init(&amp;(d1-&amp;gt;bitmap.max_seq_num));
&lt;br&gt;&amp;nbsp;	
&lt;br&gt;+	d1-&amp;gt;next_bitmap.length = d1-&amp;gt;bitmap.length;
&lt;br&gt;&amp;nbsp;	pq_64bit_init(&amp;(d1-&amp;gt;next_bitmap.map));
&lt;br&gt;&amp;nbsp;	pq_64bit_init(&amp;(d1-&amp;gt;next_bitmap.max_seq_num));
&lt;br&gt;&amp;nbsp;
&lt;br&gt;--- ssl/d1_pkt.c~	2008-10-02 06:43:47.000000000 +0100
&lt;br&gt;+++ ssl/d1_pkt.c	2008-10-05 21:44:54.000000000 +0100
&lt;br&gt;@@ -597,6 +597,7 @@ again:
&lt;br&gt;&amp;nbsp;	/* check whether this is a repeat, or aged record */
&lt;br&gt;&amp;nbsp;	if ( ! dtls1_record_replay_check(s, bitmap, &amp;(rr-&amp;gt;seq_num)))
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;+		rr-&amp;gt;length = 0;
&lt;br&gt;&amp;nbsp;		s-&amp;gt;packet_length=0; /* dump this record */
&lt;br&gt;&amp;nbsp;		goto again; &amp;nbsp; &amp;nbsp; /* get another record */
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;dwmw2
&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19854210&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19854210&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-PATCH--Fix-DTLS-problems-with-reordered-incoming-packets-tp19854210p19854210.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19854122</id>
	<title>[PATCH] Fix assert failure in d1_pkt.c</title>
	<published>2008-10-07T02:02:29Z</published>
	<updated>2008-10-07T02:02:29Z</updated>
	<author>
		<name>David Woodhouse</name>
	</author>
	<content type="html">This simple fix to the 0.9.8 branch addresses RT #1703, where a DTLS bug
&lt;br&gt;causes applications to abort. It was causing my VPN client to abort
&lt;br&gt;during temporary network problems which it should have coped with and
&lt;br&gt;recovered from.
&lt;br&gt;&lt;br&gt;When the underlying BIO_write() fails to send a datagram, we leave the
&lt;br&gt;offending record queued as 'pending'. The DTLS code doesn't expect this,
&lt;br&gt;and we end up hitting an OPENSSL_assert() in do_dtls1_write().
&lt;br&gt;&lt;br&gt;The simple fix is just _not_ to leave it queued. In DTLS, dropping
&lt;br&gt;packets is perfectly acceptable -- and even preferable. If we wanted a
&lt;br&gt;service with retries and guaranteed delivery, we'd be using TCP.
&lt;br&gt;&lt;br&gt;--- ssl/s3_pkt.c~	2006-11-29 14:45:14.000000000 +0000
&lt;br&gt;+++ ssl/s3_pkt.c	2008-10-02 06:41:07.000000000 +0100
&lt;br&gt;@@ -753,8 +753,15 @@ int ssl3_write_pending(SSL *s, int type,
&lt;br&gt;&amp;nbsp;			s-&amp;gt;rwstate=SSL_NOTHING;
&lt;br&gt;&amp;nbsp;			return(s-&amp;gt;s3-&amp;gt;wpend_ret);
&lt;br&gt;&amp;nbsp;			}
&lt;br&gt;-		else if (i &amp;lt;= 0)
&lt;br&gt;+		else if (i &amp;lt;= 0) {
&lt;br&gt;+			if (s-&amp;gt;version == DTLS1_VERSION ||
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp;s-&amp;gt;version == DTLS1_BAD_VER) {
&lt;br&gt;+				/* For DTLS, just drop it. That's kind of the whole
&lt;br&gt;+				 &amp;nbsp; point in using a datagram service */
&lt;br&gt;+				s-&amp;gt;s3-&amp;gt;wbuf.left = 0;
&lt;br&gt;+			}
&lt;br&gt;&amp;nbsp;			return(i);
&lt;br&gt;+		}
&lt;br&gt;&amp;nbsp;		s-&amp;gt;s3-&amp;gt;wbuf.offset+=i;
&lt;br&gt;&amp;nbsp;		s-&amp;gt;s3-&amp;gt;wbuf.left-=i;
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;dwmw2
&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19854122&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19854122&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-PATCH--Fix-assert-failure-in-d1_pkt.c-tp19854122p19854122.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19852800</id>
	<title>Re: Certificate Expiry and pem file</title>
	<published>2008-10-07T00:39:23Z</published>
	<updated>2008-10-07T00:39:23Z</updated>
	<author>
		<name>Larry Bugbee-2</name>
	</author>
	<content type="html">&amp;gt; One of our clients are renewing the digital certificates on their &amp;nbsp;
&lt;br&gt;&amp;gt; side as it
&lt;br&gt;&amp;gt; is due to expire and would be rolling over to a new certificate.They &amp;nbsp;
&lt;br&gt;&amp;gt; have
&lt;br&gt;&amp;gt; provided a .cer file.Actually we decrypt the messages from them.I &amp;nbsp;
&lt;br&gt;&amp;gt; understand
&lt;br&gt;&amp;gt; that I need to generate a .pem file from this .cer file.Can anyone &amp;nbsp;
&lt;br&gt;&amp;gt; help me
&lt;br&gt;&amp;gt; in achieveing this.
&lt;br&gt;&lt;br&gt;to convert to pem, try:
&lt;br&gt;&amp;nbsp; &amp;nbsp; openssl x509 &amp;lt; nameofcerfile.cer &amp;gt; nameofpemfile.pem
&lt;br&gt;&lt;br&gt;if all you want to do is see it, try:
&lt;br&gt;&amp;nbsp; &amp;nbsp; openssl x509 -text &amp;lt; nameofcerfile.cer
&lt;br&gt;&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19852800&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19852800&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Certificate-Expiry-and-pem-file-tp19850758p19852800.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19852790</id>
	<title>Re: Certificate Expiry and pem file</title>
	<published>2008-10-07T00:30:11Z</published>
	<updated>2008-10-07T00:30:11Z</updated>
	<author>
		<name>Larry Bugbee-2</name>
	</author>
	<content type="html">&amp;gt; One of our clients are renewing the digital certificates on their &amp;nbsp;
&lt;br&gt;&amp;gt; side as it
&lt;br&gt;&amp;gt; is due to expire and would be rolling over to a new certificate.They &amp;nbsp;
&lt;br&gt;&amp;gt; have
&lt;br&gt;&amp;gt; provided a .cer file.Actually we decrypt the messages from them.I &amp;nbsp;
&lt;br&gt;&amp;gt; understand
&lt;br&gt;&amp;gt; that I need to generate a .pem file from this .cer file.Can anyone &amp;nbsp;
&lt;br&gt;&amp;gt; help me
&lt;br&gt;&amp;gt; in achieveing this.
&lt;br&gt;&lt;br&gt;try: &amp;nbsp;openssl x509 &amp;lt; nameofcerfile.cer &amp;gt; nameofpemfile.pem
&lt;br&gt;&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19852790&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19852790&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Certificate-Expiry-and-pem-file-tp19850758p19852790.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19850758</id>
	<title>Certificate Expiry and pem file</title>
	<published>2008-10-06T21:15:43Z</published>
	<updated>2008-10-06T21:15:43Z</updated>
	<author>
		<name>Prabu</name>
	</author>
	<content type="html">&amp;nbsp;HI,
&lt;br&gt;&lt;br&gt;One of our clients are renewing the digital certificates on their side as it is due to expire and would be rolling over to a new certificate.They have provided a .cer file.Actually we decrypt the messages from them.I understand that I need to generate a .pem file from this .cer file.Can anyone help me in achieveing this.
&lt;br&gt;&lt;br&gt;Thanks in Advance.
&lt;br&gt;&lt;br&gt;Prabu.</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Certificate-Expiry-and-pem-file-tp19850758p19850758.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19842890</id>
	<title>[openssl.org #1757] Compile crash on IA64 due to crypto/sha/Makefile problem</title>
	<published>2008-10-06T09:56:59Z</published>
	<updated>2008-10-06T09:56:59Z</updated>
	<author>
		<name>David Woodhouse via RT</name>
	</author>
	<content type="html">Thanks, I have applied the respective patch to the 0.9.7, 0.9.8 and 0.9.9
&lt;br&gt;branches, see
&lt;br&gt;&amp;nbsp; &lt;a href=&quot;http://cvs.openssl.org/rlog?f=openssl/crypto/sha/Makefile&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cvs.openssl.org/rlog?f=openssl/crypto/sha/Makefile&lt;/a&gt;&lt;br&gt;for commits 17496 to 17498.
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;&amp;nbsp; &amp;nbsp; Lutz
&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19842890&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19842890&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-openssl.org--1757--Compile-crash-on-IA64-due-to-crypto-sha-Makefile-problem-tp19842890p19842890.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19842837</id>
	<title>[openssl.org #1757] Compile crash on IA64 due to crypto/sha/Makefile problem</title>
	<published>2008-10-06T09:53:45Z</published>
	<updated>2008-10-06T09:53:45Z</updated>
	<author>
		<name>David Woodhouse via RT</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I got a problem on compile of openssl-SNAP-20081003 on IA64 (same on older
&lt;br&gt;versions of 0.9.9 dev source) like this:
&lt;br&gt;&lt;br&gt;making all in apps...
&lt;br&gt;make[1]: Entering directory `/nethome/a/amadeu/prodapp/openssl-0.9.9/apps'
&lt;br&gt;rm -f openssl
&lt;br&gt;shlib_target=; if [ -n &amp;quot;libcrypto.so.0.9.9 libssl.so.0.9.9&amp;quot; ]; then \
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; shlib_target=&amp;quot;linux-shared&amp;quot;; \
&lt;br&gt;fi; \
&lt;br&gt;LIBRARIES=&amp;quot;-L.. -lssl &amp;nbsp;-L.. -lcrypto&amp;quot; ; \
&lt;br&gt;make -f ../Makefile.shared -e \
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; APPNAME=openssl OBJECTS=&amp;quot;openssl.o verify.o asn1pars.o req.o dgst.o dh.o
&lt;br&gt;dhparam.o enc.o passwd.o gendh.o errstr.o ca.o pkcs7.o crl2p7.o crl.o
&lt;br&gt;rsa.o rsautl.o dsa.o dsaparam.o ec.o ecparam.o x509.o genrsa.o gendsa.o
&lt;br&gt;genpkey.o s_server.o s_client.o speed.o s_time.o apps.o s_cb.o s_socket.o
&lt;br&gt;app_rand.o version.o sess_id.o ciphers.o nseq.o pkcs12.o pkcs8.o pkey.o
&lt;br&gt;pkeyparam.o pkeyutl.o spkac.o smime.o cms.o rand.o engine.o ocsp.o prime.o
&lt;br&gt;ts.o&amp;quot; \
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LIBDEPS=&amp;quot; $LIBRARIES -ldl&amp;quot; \
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; link_app.${shlib_target}
&lt;br&gt;make[2]: Entering directory `/nethome/a/amadeu/prodapp/openssl-0.9.9/apps'
&lt;br&gt;../libcrypto.so: undefined reference to `sha1_block_data_order'
&lt;br&gt;collect2: ld returned 1 exit status
&lt;br&gt;make[2]: *** [link_app.gnu] Error 1
&lt;br&gt;make[2]: Leaving directory `/nethome/a/amadeu/prodapp/openssl-0.9.9/apps'
&lt;br&gt;make[1]: *** [openssl] Error 2
&lt;br&gt;make[1]: Leaving directory `/nethome/a/amadeu/prodapp/openssl-0.9.9/apps'
&lt;br&gt;make: *** [build_apps] Error 1
&lt;br&gt;&lt;br&gt;The cause of problem is:
&lt;br&gt;$ ls -s crypto/sha/sha*.s
&lt;br&gt;&amp;nbsp;0 crypto/sha/sha1-ia64.s &amp;nbsp; 8 crypto/sha/sha256-ia64.s &amp;nbsp;16
&lt;br&gt;crypto/sha/sha512-ia64.s
&lt;br&gt;&lt;br&gt;Look that the sha1-ia64.s is empty! Because the
&lt;br&gt;crypto/sha/asm/sha1-ia64.pl is generating a empty file. This occurs
&lt;br&gt;because the Makefile are filling wrong the command line for sha1-ia64.pl.
&lt;br&gt;&lt;br&gt;The following patch on crypto/sha/Makefile makes all right.
&lt;br&gt;&lt;br&gt;The first argument for sha1-ia64.pl should be the .s file and not the
&lt;br&gt;$CFLAGS. I tested and works fine for me.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Amadeu A. Barbosa Jr :: &lt;a href=&quot;http://www.inf.puc-rio.br/~ajunior&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.inf.puc-rio.br/~ajunior&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;--- crypto/sha/Makefile &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2008-01-13 21:00:27.000000000 -0200
&lt;br&gt;+++ crypto/sha/Makefile.new &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2008-10-03 16:47:35.000000000 -0300
&lt;br&gt;@@ -50,7 +50,7 @@ sha512-586.s: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;asm/sha512-586.pl ../perla
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$(PERL) asm/sha512-586.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) &amp;gt; $@
&lt;br&gt;&lt;br&gt;&amp;nbsp;sha1-ia64.s: &amp;nbsp; asm/sha1-ia64.pl
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(cd asm; $(PERL) sha1-ia64.pl $(CFLAGS) ) &amp;gt; $@
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(cd asm; $(PERL) sha1-ia64.pl ../$@ $(CFLAGS))
&lt;br&gt;&amp;nbsp;sha256-ia64.s: asm/sha512-ia64.pl
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(cd asm; $(PERL) sha512-ia64.pl ../$@ $(CFLAGS))
&lt;br&gt;&amp;nbsp;sha512-ia64.s: asm/sha512-ia64.pl
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-openssl.org--1757--Compile-crash-on-IA64-due-to-crypto-sha-Makefile-problem-tp19842837p19842837.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19842816</id>
	<title>[openssl.org #1756] PATCH: v3_addr_canonize() needs to set comparision function</title>
	<published>2008-10-06T09:52:41Z</published>
	<updated>2008-10-06T09:52:41Z</updated>
	<author>
		<name>David Woodhouse via RT</name>
	</author>
	<content type="html">v3_addr_canonize() mistakenly assumes that the comparision function
&lt;br&gt;has already been set. &amp;nbsp;IPAddrBlocks objects constructed by the decoder
&lt;br&gt;do have the comparision function set, but it's possible for a program
&lt;br&gt;to construct IPAddrBlocks for which the assumption is incorrect, which
&lt;br&gt;can trigger a core dump.
&lt;br&gt;&lt;br&gt;&lt;br&gt;--- crypto/x509v3/v3_addr.c.~1~	2007-01-21 09:00:24.000000000 -0500
&lt;br&gt;+++ crypto/x509v3/v3_addr.c	2008-10-06 12:19:08.000000000 -0400
&lt;br&gt;@@ -869,22 +869,23 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;int v3_addr_canonize(IPAddrBlocks *addr)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp;int i;
&lt;br&gt;&amp;nbsp; &amp;nbsp;for (i = 0; i &amp;lt; sk_IPAddressFamily_num(addr); i++) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;IPAddressFamily *f = sk_IPAddressFamily_value(addr, i);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (f-&amp;gt;ipAddressChoice-&amp;gt;type == IPAddressChoice_addressesOrRanges &amp;&amp;
&lt;br&gt;&amp;nbsp;	!IPAddressOrRanges_canonize(f-&amp;gt;ipAddressChoice-&amp;gt;u.addressesOrRanges,
&lt;br&gt;&amp;nbsp;				 &amp;nbsp; &amp;nbsp;v3_addr_get_afi(f)))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;sk_IPAddressFamily_set_cmp_func(addr, IPAddressFamily_cmp);
&lt;br&gt;&amp;nbsp; &amp;nbsp;sk_IPAddressFamily_sort(addr);
&lt;br&gt;&amp;nbsp; &amp;nbsp;assert(v3_addr_is_canonical(addr));
&lt;br&gt;&amp;nbsp; &amp;nbsp;return 1;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/*
&lt;br&gt;&amp;nbsp; * v2i handler for the IPAddrBlocks extension.
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;static void *v2i_IPAddrBlocks(struct v3_ext_method *method,
&lt;br&gt;&amp;nbsp;			 &amp;nbsp; &amp;nbsp; &amp;nbsp;struct v3_ext_ctx *ctx,
&lt;br&gt;&amp;nbsp;			 &amp;nbsp; &amp;nbsp; &amp;nbsp;STACK_OF(CONF_VALUE) *values)
&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19842816&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19842816&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-openssl.org--1756--PATCH%3A-v3_addr_canonize%28%29-needs-to-set-comparision-function-tp19842816p19842816.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19842813</id>
	<title>[openssl.org #1755] config silently ignores standard compiler search path on AIX and reverts from gcc to cc</title>
	<published>2008-10-06T09:52:20Z</published>
	<updated>2008-10-06T09:52:20Z</updated>
	<author>
		<name>David Woodhouse via RT</name>
	</author>
	<content type="html">Mixing cc and gcc compiled binaries is problematic in some cases. &amp;nbsp;It
&lt;br&gt;tooks some time to track down this issue, but when compiling with cc
&lt;br&gt;there were threading issues, and switching to gcc like everything else
&lt;br&gt;fixes them.
&lt;br&gt;&lt;br&gt;This was broken as part of
&lt;br&gt;&lt;a href=&quot;http://rt.openssl.org/Ticket/Display.html?id=463&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://rt.openssl.org/Ticket/Display.html?id=463&lt;/a&gt;. &amp;nbsp;It's not clear what
&lt;br&gt;problem he originally had to propose this config change, but making it
&lt;br&gt;unconditional doesn't make any sense. &amp;nbsp;The following patch switches it
&lt;br&gt;from an unconditional change to one selected by an env var.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;--- openssl-0.9.8h/config &amp;nbsp; &amp;nbsp; &amp;nbsp; 2008-10-03 22:29:21.000000000 +0000
&lt;br&gt;+++ openssl-0.9.8h/config &amp;nbsp; &amp;nbsp; &amp;nbsp; 2008-10-03 22:29:40.000000000 +0000
&lt;br&gt;@@ -467,8 +467,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;fi
&lt;br&gt;&amp;nbsp;fi
&lt;br&gt;-if [ &amp;quot;${SYSTEM}&amp;quot; = &amp;quot;AIX&amp;quot; ]; then &amp;nbsp; &amp;nbsp; &amp;nbsp; # favor vendor cc over gcc
&lt;br&gt;- &amp;nbsp; &amp;nbsp;(cc) 2&amp;gt;&amp;1 | grep -iv &amp;quot;not found&amp;quot; &amp;gt; /dev/null &amp;&amp; CC=cc
&lt;br&gt;+if [ &amp;quot;${OPENSSL_USE_CC}&amp;quot; = &amp;quot;TRUE&amp;quot; ]; then &amp;nbsp; &amp;nbsp; &amp;nbsp;# favor vendor cc over
&lt;br&gt;gcc
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;CC=cc
&lt;br&gt;&amp;nbsp;fi
&lt;br&gt;&amp;nbsp;CCVER=${CCVER:-0}
&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19842813&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19842813&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-openssl.org--1755--config-silently-ignores-standard-compiler-search-path-on-AIX-and-reverts-from-gcc-to-cc-tp19842813p19842813.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19836279</id>
	<title>Re: [openssl.org #1752] DTLS drops incoming packets when they are reordered.</title>
	<published>2008-10-06T04:39:51Z</published>
	<updated>2008-10-06T04:39:51Z</updated>
	<author>
		<name>Lutz Jaenicke</name>
	</author>
	<content type="html">David Woodhouse via RT wrote:
&lt;br&gt;&amp;gt; (Was waiting for the RT to autoreply with a number before I followed up,
&lt;br&gt;&amp;gt; but it doesn't seem to have arrived after half an hour, so I'll send
&lt;br&gt;&amp;gt; anyway. Hopefully the References: header will associate this with the
&lt;br&gt;&amp;gt; previous mail anyway...)
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;Mailings to rt are moderated.
&lt;br&gt;The requested association was thus performed by the moderation
&lt;br&gt;mechanism :-)
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;&amp;nbsp; &amp;nbsp; Lutz
&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19836279&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19836279&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Re%3A--openssl.org--1752--DTLS-drops-incoming-packets-when-they-are-reordered.-tp19833736p19836279.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19833861</id>
	<title>[openssl.org #1754] config with shared no-dso no-hw fails to install</title>
	<published>2008-10-06T00:35:26Z</published>
	<updated>2008-10-06T00:35:26Z</updated>
	<author>
		<name>David Woodhouse via RT</name>
	</author>
	<content type="html">--- openssl-0.9.8h/Configure	2008-10-02 16:00:48.000000000 -0400
&lt;br&gt;+++ openssl-0.9.8h-patched/Configure	2008-10-02 16:00:13.000000000 -0400
&lt;br&gt;@@ -1386,6 +1386,7 @@
&lt;br&gt;&amp;nbsp;	s/^SHLIB_TARGET=.*/SHLIB_TARGET=$shared_target/;
&lt;br&gt;&amp;nbsp;	s/^SHLIB_MARK=.*/SHLIB_MARK=$shared_mark/;
&lt;br&gt;&amp;nbsp;	s/^SHARED_LIBS=.*/SHARED_LIBS=\$(SHARED_CRYPTO) \$(SHARED_SSL)/ if (!$no_shared);
&lt;br&gt;+	s/^DIRS= &amp;nbsp; crypto ssl engines apps test tools/DIRS= &amp;nbsp; crypto ssl apps test tools/ if ($disabled{'hw'});
&lt;br&gt;&amp;nbsp;	if ($shared_extension ne &amp;quot;&amp;quot; &amp;&amp; $shared_extension =~ /^\.s([ol])\.[^\.]*$/)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;&amp;nbsp;		my $sotmp = $1;
&lt;br&gt;&lt;br&gt;&lt;br /&gt;The failure messages on make install are:
&lt;br&gt;&amp;nbsp;
&lt;br&gt;make[2]: Entering directory `openssl-0.9.8h/engines'
&lt;br&gt;installing 4758cca
&lt;br&gt;cp: cannot stat `lib4758cca.bad': No such file or directory
&lt;br&gt;installing aep
&lt;br&gt;cp: cannot stat `libaep.bad': No such file or directory
&lt;br&gt;installing atalla
&lt;br&gt;cp: cannot stat `libatalla.bad': No such file or directory
&lt;br&gt;installing cswift
&lt;br&gt;cp: cannot stat `libcswift.bad': No such file or directory
&lt;br&gt;installing gmp
&lt;br&gt;cp: cannot stat `libgmp.bad': No such file or directory
&lt;br&gt;installing chil
&lt;br&gt;cp: cannot stat `libchil.bad': No such file or directory
&lt;br&gt;installing nuron
&lt;br&gt;cp: cannot stat `libnuron.bad': No such file or directory
&lt;br&gt;installing sureware
&lt;br&gt;cp: cannot stat `libsureware.bad': No such file or directory
&lt;br&gt;installing ubsec
&lt;br&gt;cp: cannot stat `libubsec.bad': No such file or directory
&lt;br&gt;make[2]: *** [install] Error 1
&lt;br&gt;make[2]: Leaving directory `openssl-0.9.8h/engines'
&lt;br&gt;make[1]: *** [install_sw] Error 1
&lt;br&gt;make[1]: Leaving directory `openssl-0.9.8h'
&lt;br&gt;&lt;br&gt;See attached patch for a fix.
&lt;br&gt;&lt;br /&gt;&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;&gt;
&lt;HTML&gt;&lt;HEAD&gt;
&lt;META http-equiv=Content-Type content=&quot;text/html; charset=us-ascii&quot;&gt;
&lt;META content=&quot;MSHTML 6.00.6000.16705&quot; name=GENERATOR&gt;&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;DIV&gt;&lt;SPAN class=469511720-02102008&gt;The failure messages on make install 
are:&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;make[2]: Entering directory `openssl-0.9.8h/engines'&lt;BR&gt;installing 
4758cca&lt;BR&gt;cp: cannot stat `lib4758cca.bad': No such file or 
directory&lt;BR&gt;installing aep&lt;BR&gt;cp: cannot stat `libaep.bad': No such file or 
directory&lt;BR&gt;installing atalla&lt;BR&gt;cp: cannot stat `libatalla.bad': No such file 
or directory&lt;BR&gt;installing cswift&lt;BR&gt;cp: cannot stat `libcswift.bad': No such 
file or directory&lt;BR&gt;installing gmp&lt;BR&gt;cp: cannot stat `libgmp.bad': No such 
file or directory&lt;BR&gt;installing chil&lt;BR&gt;cp: cannot stat `libchil.bad': No such 
file or directory&lt;BR&gt;installing nuron&lt;BR&gt;cp: cannot stat `libnuron.bad': No such 
file or directory&lt;BR&gt;installing sureware&lt;BR&gt;cp: cannot stat `libsureware.bad': 
No such file or directory&lt;BR&gt;installing ubsec&lt;BR&gt;cp: cannot stat `libubsec.bad': 
No such file or directory&lt;BR&gt;make[2]: *** [install] Error 1&lt;BR&gt;make[2]: Leaving 
directory&amp;nbsp;&lt;SPAN class=469511720-02102008&gt;`&lt;/SPAN&gt;openssl-0.9.8h/engines'&lt;BR&gt;make[1]: *** 
[install_sw] Error 1&lt;BR&gt;make[1]: Leaving directory `openssl-0.9.8h'&lt;BR&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=469511720-02102008&gt;See attached patch for a 
fix.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;
</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-openssl.org--1754--config-with-shared-no-dso-no-hw-fails-to-install-tp19833861p19833861.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19833790</id>
	<title>[openssl.org #1753] snapshot 20081003 broke mingw build</title>
	<published>2008-10-06T00:29:28Z</published>
	<updated>2008-10-06T00:29:28Z</updated>
	<author>
		<name>David Woodhouse via RT</name>
	</author>
	<content type="html">&lt;br&gt;Hello,
&lt;br&gt;&lt;br&gt;Latest snapshot broke mingw build for the following reasons:
&lt;br&gt;&lt;br&gt;1. ssl/kssl.c declares _XOPEN_SOURCE at source level and not at configuration level, this is invalid in some environments. Please consider moving this to Configure targets table. Also, I cannot see where strptime is used anyway... :)
&lt;br&gt;&lt;br&gt;2.util/domd was modified to exit on error, this is OK, but exposed a different error that was there since cross compile feature was added to build system. The domd uses gcc directly and ignores the cross compile prefix. Please make it use correct toolchain.
&lt;br&gt;&lt;br&gt;While we at it, one old minor issue with msys... For some strange reason perl reports that symlinks are available under msys, while it cannot create symbolic link when the to is not reachable from cwd. Attached is also a fix for this one.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Alon Bar-Lev.
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;&lt;br&gt;diff -urNp openssl-SNAP-20081003.org/ssl/kssl.c openssl-SNAP-20081003/ssl/kssl.c
&lt;br&gt;--- openssl-SNAP-20081003.org/ssl/kssl.c	2007-02-10 13:00:54.000000000 +0200
&lt;br&gt;+++ openssl-SNAP-20081003/ssl/kssl.c	2008-10-04 21:30:51.000000000 +0300
&lt;br&gt;@@ -68,7 +68,6 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#include &amp;lt;openssl/opensslconf.h&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-#define _XOPEN_SOURCE 500 /* glibc2 needs this to declare strptime() */
&lt;br&gt;&amp;nbsp;#include &amp;lt;time.h&amp;gt;
&lt;br&gt;&amp;nbsp;#if 0 /* Experimental */
&lt;br&gt;&amp;nbsp;#undef _XOPEN_SOURCE /* To avoid clashes with anything else... */
&lt;br&gt;diff -urNp openssl-SNAP-20081003.org/util/domd openssl-SNAP-20081003/util/domd
&lt;br&gt;--- openssl-SNAP-20081003.org/util/domd	2008-09-09 23:00:21.000000000 +0300
&lt;br&gt;+++ openssl-SNAP-20081003/util/domd	2008-10-04 21:29:05.000000000 +0300
&lt;br&gt;@@ -22,7 +22,7 @@ if [ &amp;quot;$MAKEDEPEND&amp;quot; = &amp;quot;gcc&amp;quot; ]; then
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;done
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;sed -e '/^# DO NOT DELETE.*/,$d' &amp;lt; Makefile &amp;gt; Makefile.tmp
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' &amp;gt;&amp;gt; Makefile.tmp
&lt;br&gt;- &amp;nbsp; &amp;nbsp;gcc -Werror -D OPENSSL_DOING_MAKEDEPEND -M $args &amp;gt;&amp;gt; Makefile.tmp || exit
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;gcc -D OPENSSL_DOING_MAKEDEPEND -M $args &amp;gt;&amp;gt; Makefile.tmp
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;${PERL} $TOP/util/clean-depend.pl &amp;lt; Makefile.tmp &amp;gt; Makefile.new
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;rm -f Makefile.tmp
&lt;br&gt;&amp;nbsp;else
&lt;br&gt;diff -urNp openssl-SNAP-20080611.org/util/mklink.pl openssl-SNAP-20080611/util/mklink.pl
&lt;br&gt;--- openssl-SNAP-20080611.org/util/mklink.pl	2006-02-09 15:00:35.000000000 +0200
&lt;br&gt;+++ openssl-SNAP-20080611/util/mklink.pl	2008-06-13 12:42:06.000000000 +0300
&lt;br&gt;@@ -51,6 +51,7 @@ my $to = join('/', @to_path);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;my $file;
&lt;br&gt;&amp;nbsp;$symlink_exists=eval {symlink(&amp;quot;&amp;quot;,&amp;quot;&amp;quot;); 1};
&lt;br&gt;+if ($^O eq &amp;quot;msys&amp;quot;) { $symlink_exists=0 };
&lt;br&gt;&amp;nbsp;foreach $file (@files) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;my $err = &amp;quot;&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if ($symlink_exists) {
&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19833790&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19833790&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-openssl.org--1753--snapshot-20081003-broke-mingw-build-tp19833790p19833790.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19833736</id>
	<title>Re: [openssl.org #1752] DTLS drops incoming packets when they are reordered.</title>
	<published>2008-10-06T00:25:14Z</published>
	<updated>2008-10-06T00:25:14Z</updated>
	<author>
		<name>David Woodhouse via RT</name>
	</author>
	<content type="html">(Was waiting for the RT to autoreply with a number before I followed up,
&lt;br&gt;but it doesn't seem to have arrived after half an hour, so I'll send
&lt;br&gt;anyway. Hopefully the References: header will associate this with the
&lt;br&gt;previous mail anyway...)
&lt;br&gt;&lt;br&gt;On Sun, 2008-10-05 at 21:38 +0100, David Woodhouse wrote:
&lt;br&gt;&amp;gt; That doesn't solve the question of why non-blocking I/O was returning
&lt;br&gt;&amp;gt; crap for the offending out-of-order packets, instead of just returning
&lt;br&gt;&amp;gt; an error with SSL_ERROR_WANT_READ as might be expected. But at least
&lt;br&gt;&amp;gt; it'll make that bug offend me less.
&lt;br&gt;&lt;br&gt;This seems to fix the garbage packets.
&lt;br&gt;&lt;br&gt;--- ssl/d1_pkt.c~	2008-10-02 06:43:47.000000000 +0100
&lt;br&gt;+++ ssl/d1_pkt.c	2008-10-05 21:44:54.000000000 +0100
&lt;br&gt;@@ -597,6 +597,7 @@ again:
&lt;br&gt;&amp;nbsp;	/* check whether this is a repeat, or aged record */
&lt;br&gt;&amp;nbsp;	if ( ! dtls1_record_replay_check(s, bitmap, &amp;(rr-&amp;gt;seq_num)))
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;+		rr-&amp;gt;length = 0;
&lt;br&gt;&amp;nbsp;		s-&amp;gt;packet_length=0; /* dump this record */
&lt;br&gt;&amp;nbsp;		goto again; &amp;nbsp; &amp;nbsp; /* get another record */
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;David Woodhouse &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Open Source Technology Centre
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19833736&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;David.Woodhouse@...&lt;/a&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Intel Corporation
&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19833736&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19833736&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Re%3A--openssl.org--1752--DTLS-drops-incoming-packets-when-they-are-reordered.-tp19833736p19833736.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19833721</id>
	<title>[openssl.org #1752] DTLS drops incoming packets when they are reordered.</title>
	<published>2008-10-06T00:24:06Z</published>
	<updated>2008-10-06T00:24:06Z</updated>
	<author>
		<name>David Woodhouse via RT</name>
	</author>
	<content type="html">If incoming data packets are received out of order, they seem to get
&lt;br&gt;dropped by my test case using blocking I/O.
&lt;br&gt;&lt;br&gt;Worse, my real application using non-blocking I/O seems to just receive
&lt;br&gt;garbage when the out-of-order packet arrives.
&lt;br&gt;&lt;br&gt;Even the blocking behaviour seems inappropriate for DTLS. Reordering
&lt;br&gt;within reason should be fine -- it's a datagram service, after all.
&lt;br&gt;&lt;br&gt;It seems to occur because dtls1_record_replay_check() is rejecting the
&lt;br&gt;packets. This, in turn, is because s-&amp;gt;d1-&amp;gt;next_bitmap.length is never
&lt;br&gt;being set. This patch to dtls1_new() seems to fix it:
&lt;br&gt;&lt;br&gt;--- ssl/d1_lib.c~	2008-10-02 06:43:47.000000000 +0100
&lt;br&gt;+++ ssl/d1_lib.c	2008-10-05 21:31:38.000000000 +0100
&lt;br&gt;@@ -106,6 +106,7 @@ int dtls1_new(SSL *s)
&lt;br&gt;&amp;nbsp;	pq_64bit_init(&amp;(d1-&amp;gt;bitmap.map));
&lt;br&gt;&amp;nbsp;	pq_64bit_init(&amp;(d1-&amp;gt;bitmap.max_seq_num));
&lt;br&gt;&amp;nbsp;	
&lt;br&gt;+	d1-&amp;gt;next_bitmap.length = d1-&amp;gt;bitmap.length;
&lt;br&gt;&amp;nbsp;	pq_64bit_init(&amp;(d1-&amp;gt;next_bitmap.map));
&lt;br&gt;&amp;nbsp;	pq_64bit_init(&amp;(d1-&amp;gt;next_bitmap.max_seq_num));
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;That doesn't solve the question of why non-blocking I/O was returning
&lt;br&gt;crap for the offending out-of-order packets, instead of just returning
&lt;br&gt;an error with SSL_ERROR_WANT_READ as might be expected. But at least
&lt;br&gt;it'll make that bug offend me less.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;David Woodhouse &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Open Source Technology Centre
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19833721&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;David.Woodhouse@...&lt;/a&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Intel Corporation
&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19833721&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19833721&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-openssl.org--1752--DTLS-drops-incoming-packets-when-they-are-reordered.-tp19833721p19833721.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19828674</id>
	<title>Re: Fix VIA Padlock RNG support ?</title>
	<published>2008-10-05T13:04:11Z</published>
	<updated>2008-10-05T13:04:11Z</updated>
	<author>
		<name>Harald Welte</name>
	</author>
	<content type="html">Hi Geoff,
&lt;br&gt;&lt;br&gt;On Sun, Sep 21, 2008 at 11:20:35PM -0400, Geoff Thorpe wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Looking at this in more detail, the current s/w PRNG implementation keeps a 
&lt;br&gt;&amp;gt; running 'entropy' count and when that reaches a certain threshold, it stops 
&lt;br&gt;&amp;gt; maintaining an entropy counter because the PRNG is considered sufficiently 
&lt;br&gt;&amp;gt; seeded. Each platform (roughly speaking) has its own implementation of 
&lt;br&gt;&amp;gt; RAND_poll() which does some canonical seeding, which may be enough to get the 
&lt;br&gt;&amp;gt; PRNG off the ground, or if not, the application will need to RAND_add() (or 
&lt;br&gt;&amp;gt; RAND_seed()) some more entropy before the PRNG is ready. In any case, this 
&lt;br&gt;&amp;gt; doesn't adapt so well to a model where entropy sources live as callbacks and 
&lt;br&gt;&amp;gt; get called by the PRNG when required. It's more a model where an entropy 
&lt;br&gt;&amp;gt; source should just stuff its entropy into the PRNG as soon as it gets a 
&lt;br&gt;&amp;gt; chance, and preferably as much of the stuff as it has handy. It can always 
&lt;br&gt;&amp;gt; add more later and no harm will be done, but there's no obvious way to add a 
&lt;br&gt;&amp;gt; hook to ask for entropy automatically.
&lt;/div&gt;&lt;/div&gt;Sounds perfectly reasonable and I totally understand. &amp;nbsp;It really is strange
&lt;br&gt;that you have to poll for random numbers rather than somebody feeding them into
&lt;br&gt;you.
&lt;br&gt;&lt;br&gt;&amp;gt; With this in mind, I'm wondering if the simplest thing to do isn't just to 
&lt;br&gt;&amp;gt; have the padlock (or any other) engine call RAND_add() with some entropy 
&lt;br&gt;&amp;gt; during the init() handler of the ENGINE itself (rather than in a 
&lt;br&gt;&amp;gt; RAND_METHOD). That doesn't solve the problem of adding more entropy as time 
&lt;br&gt;&amp;gt; goes by, but it's better than the current situation (only having a 
&lt;br&gt;&amp;gt; RAND_METHOD mechanism you can't use at all), and moreover it requires no 
&lt;br&gt;&amp;gt; interface changes, just implementation...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thoughts?
&lt;br&gt;&lt;br&gt;Sounds completely fine with me. &amp;nbsp;I'll do some experimentation after I'm
&lt;br&gt;finished with the PadLock PHE (hashing) stuff and cook up a patch. &amp;nbsp;Since
&lt;br&gt;I'm currently quite busy it will probably take some time.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;- Harald Welte &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19828674&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;laforge@...&lt;/a&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://laforge.gnumonks.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://laforge.gnumonks.org/&lt;/a&gt;&lt;br&gt;============================================================================
&lt;br&gt;&amp;quot;Privacy in residential applications is a desirable marketing option.&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (ETSI EN 300 175-7 Ch. A6)
&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://www.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (196 bytes) &lt;a href=&quot;http://www.nabble.com/attachment/19828674/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Fix-VIA-Padlock-RNG-support---tp19255536p19828674.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19828666</id>
	<title>VIA PadLock PHE test script / 'openssl' software engine?</title>
	<published>2008-10-05T13:00:09Z</published>
	<updated>2008-10-05T13:00:09Z</updated>
	<author>
		<name>Harald Welte</name>
	</author>
	<content type="html">Hi!
&lt;br&gt;&lt;br&gt;As indicated before, I'm spending some time on polishing Michal Ludvig's
&lt;br&gt;patches for the VIA PadLock PHE (SHA1/244/256 acceleration).
&lt;br&gt;&lt;br&gt;One of the remaining issues that were never addressed is to add some testing
&lt;br&gt;functionality to the patch, i.e. anyone building openssl can test the
&lt;br&gt;correct operation of the engine, just like test_padlock does for AES.
&lt;br&gt;&lt;br&gt;So what I need to do is to execue the openssl program twice, once with
&lt;br&gt;software engine, another time with padlock engine.
&lt;br&gt;&lt;br&gt;&amp;gt; openssl dgst -sha1 -engine padlock
&lt;br&gt;&lt;br&gt;works just fine. &amp;nbsp;However, since the &amp;quot;ENGINE_load_openssl()&amp;quot; statement
&lt;br&gt;is disabled in eng_all.c, I cannot force the openssl program to use
&lt;br&gt;the software implementation using the following commmand
&lt;br&gt;&lt;br&gt;&amp;gt; openssl dgst -sha1 -engine openssl
&lt;br&gt;results in 'cannot open shared object file' error.
&lt;br&gt;&lt;br&gt;So what is the correct way to ascertain the use of a pure software
&lt;br&gt;implementation as opposed to any hardware-accelerated engine? &amp;nbsp;Just not use the
&lt;br&gt;'-engine' statement? &amp;nbsp;But I guess in this case the default depends on the
&lt;br&gt;openssl configuration file, doesn't it?
&lt;br&gt;&lt;br&gt;Thanks in advance,
&lt;br&gt;-- 
&lt;br&gt;- Harald Welte &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19828666&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;laforge@...&lt;/a&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://laforge.gnumonks.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://laforge.gnumonks.org/&lt;/a&gt;&lt;br&gt;============================================================================
&lt;br&gt;&amp;quot;Privacy in residential applications is a desirable marketing option.&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (ETSI EN 300 175-7 Ch. A6)
&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19828666&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19828666&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Fix-VIA-Padlock-RNG-support---tp19255536p19828666.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19820251</id>
	<title>Re: gnutls fails to verify server sertificate while openssl works</title>
	<published>2008-10-04T19:42:32Z</published>
	<updated>2008-10-04T19:42:32Z</updated>
	<author>
		<name>Tim Hudson</name>
	</author>
	<content type="html">Peter Volkov wrote:
&lt;br&gt;&amp;gt; CC'ing openssl developers for their opinions, since I think this
&lt;br&gt;&amp;gt; behavior better to have consistent or configurable. Description of the
&lt;br&gt;&amp;gt; problem is here:
&lt;br&gt;&lt;br&gt;Placing this in context - connect with internet explorer or firefox to 
&lt;br&gt;&lt;a href=&quot;https://metasploit.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://metasploit.com/&lt;/a&gt;&amp;nbsp;and you will see that both of those independent 
&lt;br&gt;implementations see nothing wrong with the certificate chain and handle the 
&lt;br&gt;redirect to &lt;a href=&quot;http://metasploit.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://metasploit.com/&lt;/a&gt;&amp;nbsp;without and errors or warnings.
&lt;br&gt;&lt;br&gt;Implementations typically take the list of certificates as untrusted 
&lt;br&gt;certificates to add into the process of walking the certificate chain to a 
&lt;br&gt;trusted root certificate. There are pragmatic reasons for doing it this way.
&lt;br&gt;&lt;br&gt;&amp;nbsp;From an interoperability point of view remember the adage - &amp;quot;Be strict in what 
&lt;br&gt;you generate, be liberal in what you accept&amp;quot;
&lt;br&gt;&lt;br&gt;Tim.
&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19820251&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19820251&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Re%3A-gnutls-fails-to-verify-server-sertificate-while-openssl-works-tp19810612p19820251.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19810612</id>
	<title>Re: gnutls fails to verify server sertificate while openssl works</title>
	<published>2008-10-04T02:59:57Z</published>
	<updated>2008-10-04T02:59:57Z</updated>
	<author>
		<name>Peter Volkov (pva)</name>
	</author>
	<content type="html">CC'ing openssl developers for their opinions, since I think this
&lt;br&gt;behavior better to have consistent or configurable. Description of the
&lt;br&gt;problem is here:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://thread.gmane.org/gmane.network.gnutls.general/1383&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://thread.gmane.org/gmane.network.gnutls.general/1383&lt;/a&gt;&lt;br&gt;&lt;br&gt;В Птн, 03/10/2008 в 17:51 +0200, Simon Josefsson пишет:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Peter Volkov &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19810612&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;pva@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&amp;gt; &amp;gt; peter@camobap ~ $ /usr/bin/gnutls-cli -V \
&lt;br&gt;&amp;gt; &amp;nbsp; --x509cafile /usr/share/ca-certificates/mozilla/ValiCert_Class_2_VA.crt \
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; metasploit.com &amp;gt; gnutls-cli.out
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The certificate chain returned by that server appears to be:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; cert[0]
&lt;br&gt;&amp;gt; &amp;nbsp;# Subject's DN: O=metasploit.com,OU=Domain Control Validated,CN=metasploit.com
&lt;br&gt;&amp;gt; &amp;nbsp;# Issuer's DN: C=US,ST=Arizona,L=Scottsdale,O=GoDaddy.com\, Inc.,OU=&lt;a href=&quot;http://certificates.godaddy.com/repository,CN=Go&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://certificates.godaddy.com/repository,CN=Go&lt;/a&gt;&amp;nbsp;Daddy Secure Certification Authority,serialNumber=07969287
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; cert[1]
&lt;br&gt;&amp;gt; &amp;nbsp;# Subject's DN: C=US,O=The Go Daddy Group\, Inc.,OU=Go Daddy Class 2 Certification Authority
&lt;br&gt;&amp;gt; &amp;nbsp;# Issuer's DN: L=ValiCert Validation Network,O=ValiCert\, Inc.,OU=ValiCert Class 2 Policy Validation Authority,CN=&lt;a href=&quot;http://www.valicert.com/,EMAIL=info@valicert.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.valicert.com/,EMAIL=info@...&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; cert[2]
&lt;br&gt;&amp;gt; &amp;nbsp;# Subject's DN: C=US,ST=Arizona,L=Scottsdale,O=GoDaddy.com\, Inc.,OU=&lt;a href=&quot;http://certificates.godaddy.com/repository,CN=Go&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://certificates.godaddy.com/repository,CN=Go&lt;/a&gt;&amp;nbsp;Daddy Secure Certification Authority,serialNumber=07969287
&lt;br&gt;&amp;gt; &amp;nbsp;# Issuer's DN: C=US,O=The Go Daddy Group\, Inc.,OU=Go Daddy Class 2 Certification Authority
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; As far as I can tell, that isn't a valid certificate chain. &amp;nbsp;The issuer
&lt;br&gt;&amp;gt; of the first, end-entity, certificate isn't the subject of the middle
&lt;br&gt;&amp;gt; certificate in the chain. &amp;nbsp;It seems as if the final two certificates in
&lt;br&gt;&amp;gt; the chain are swapped.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; According to RFC 4346 (earlier TLS specifications contains similar
&lt;br&gt;&amp;gt; wording):
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;certificate_list
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; This is a sequence (chain) of X.509v3 certificates. &amp;nbsp;The sender's
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; certificate must come first in the list. &amp;nbsp;Each following
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; certificate must directly certify the one preceding it. &amp;nbsp;Because
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ^^^^
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; certificate validation requires that root keys be distributed
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; independently, the self-signed certificate that specifies the root
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; certificate authority may optionally be omitted from the chain,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; under the assumption that the remote end must already possess it
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; in order to validate it in any case.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; So I'd say this is a server configuration error.
&lt;/div&gt;&lt;br&gt;Simon, I agree that this is configuration issue. But since openssl does
&lt;br&gt;validates this chain and people use openssl to check server
&lt;br&gt;configuration, I'm not sure what should be done here. Possibly openssl
&lt;br&gt;should report about this wrong certificate chain. Or may be gnutls
&lt;br&gt;should have option to warn but still validate this chain? Or may be
&lt;br&gt;openssl should not validate such chains at all (seems best solution as
&lt;br&gt;it's always good to follow RFC's)?
&lt;br&gt;&lt;br&gt;&lt;br&gt;P.S. since both openssl and gnutls mailing lists require subscription
&lt;br&gt;here are links to subscription forms:
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/help-gnutls&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/help-gnutls&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.openssl.org/support/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org/support/&lt;/a&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Peter.
&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19810612&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19810612&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Re%3A-gnutls-fails-to-verify-server-sertificate-while-openssl-works-tp19810612p19810612.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19786412</id>
	<title>Need to read the private key from a buffer</title>
	<published>2008-10-02T12:51:35Z</published>
	<updated>2008-10-02T12:51:35Z</updated>
	<author>
		<name>prashanth s joshi</name>
	</author>
	<content type="html">&lt;div dir=&quot;ltr&quot;&gt;Hi ,&lt;br&gt;&lt;br&gt;if&amp;nbsp; I want SSL to read the private key from a buffer , what are the things that need to be changed in the SSL code? what are the steps that are needed to be carried out?&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Prashanth&lt;br&gt;
&lt;/div&gt;
</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Need-to-read-the-private-key-from-a-buffer-tp19786412p19786412.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19774551</id>
	<title>Re: exception with purify in bn_mont.c:402 (v=bn_mul_add_words(rp,np,nl,(rp[0]*n0)&amp;BN_MASK2);)</title>
	<published>2008-10-02T00:28:25Z</published>
	<updated>2008-10-02T00:28:25Z</updated>
	<author>
		<name>Andy Polyakov</name>
	</author>
	<content type="html">&amp;gt; I am getting exception in crypto\bn\bn_mont.c:402 
&lt;br&gt;&amp;gt; (v=bn_mul_add_words(rp,np,nl,(rp[0]*n0)&amp;BN_MASK2);) while executing with 
&lt;br&gt;&amp;gt; Rational purify.
&lt;br&gt;&lt;br&gt;Does it mean that you can confirm that the program works if not executed 
&lt;br&gt;with purify?
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I think bn_mul_add_words called as assembly code from 
&lt;br&gt;&amp;gt; crypto\bn\asm\bn_win32.asm.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Please see following stacktrace
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; [E] EXU: Unhandled exception &amp;nbsp;{1 occurrence}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Exception code: 0xc0000005 [Error: access violation reading from 
&lt;br&gt;&amp;gt; 0x806c001d]
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Exception address: ??? &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ip=0x806C001D]
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Filter: mainCRTStartup+0x929 
&lt;br&gt;&amp;gt; [f:\vs70builds\3077\vc\crtbld\crt\src\crt0.c:270 ip=0x007E225D]
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Exception location
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RtlConvertUlongToLargeInteger+0x6a 
&lt;br&gt;&amp;gt; [C:\WINDOWS\system32\ntdll.dll ip=0x7C9032A8]
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RtlConvertUlongToLargeInteger+0x3c 
&lt;br&gt;&amp;gt; [C:\WINDOWS\system32\ntdll.dll ip=0x7C90327A]
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KiUserExceptionDispatcher+0xe [C:\WINDOWS\system32\ntdll.dll 
&lt;br&gt;&amp;gt; ip=0x7C90E46A]
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; BN_from_montgomery+0x637 
&lt;br&gt;&amp;gt; [e:\els_code\licensing\licensing_sdk\trunk\vxcrypto\crypto\bn\bn_mont.c:402 
&lt;br&gt;&amp;gt; ip=0x007700C9]
&lt;/div&gt;&lt;br&gt;Note that it points out the *line* with call to bn_mul_add_words, but 
&lt;br&gt;does not mention the latter in stack trace. But source code *line* in 
&lt;br&gt;question is not just call, there are handful of instructions around [to 
&lt;br&gt;be blamed]. So disassemble your binary and see what is the exact 
&lt;br&gt;instruction at ip=0x007700C9, as well as surrounding instructions. The 
&lt;br&gt;biggest question is how come exception address is ip=0x806C001D, which 
&lt;br&gt;is address in kernel space. I'm not implying that kernel code causes the 
&lt;br&gt;exception, question is how come it appears that way. A.
&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19774551&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19774551&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/exception-with-purify-in-bn_mont.c%3A402-%28v%3Dbn_mul_add_words%28rp%2Cnp%2Cnl%2C%28rp-0-*n0%29-BN_MASK2%29-%29-tp19755644p19774551.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19773773</id>
	<title>Re: [openssl.org #1703] Bug report for DTLS</title>
	<published>2008-10-01T21:52:49Z</published>
	<updated>2008-10-01T21:52:49Z</updated>
	<author>
		<name>David Woodhouse via RT</name>
	</author>
	<content type="html">On Thu, 2008-10-02 at 05:47 +0100, David Woodhouse wrote:
&lt;br&gt;&amp;gt; I can reproduce this failure at will. All I need to do is set up a DTLS
&lt;br&gt;&amp;gt; connection, then somehow cause the write() call on the UDP socket to
&lt;br&gt;&amp;gt; return an error -- a firewall is an easy way of achieving that.
&lt;br&gt;&lt;br&gt;The whole _point_ of DTLS is that it's a datagram service. That
&lt;br&gt;datagrams go missing. So buffering them up when we fail to send them --
&lt;br&gt;even if we _weren't_ then going to crap ourselves and abort() as a
&lt;br&gt;result -- was a bad idea in the first place.
&lt;br&gt;&lt;br&gt;(I include DTLS1_BAD_VER here because of RT#1751)
&lt;br&gt;&lt;br&gt;--- openssl-0.9.8g/ssl/s3_pkt.c~	2006-11-29 14:45:14.000000000 +0000
&lt;br&gt;+++ openssl-0.9.8g/ssl/s3_pkt.c	2008-10-02 06:41:07.000000000 +0100
&lt;br&gt;@@ -753,8 +753,15 @@ int ssl3_write_pending(SSL *s, int type,
&lt;br&gt;&amp;nbsp;			s-&amp;gt;rwstate=SSL_NOTHING;
&lt;br&gt;&amp;nbsp;			return(s-&amp;gt;s3-&amp;gt;wpend_ret);
&lt;br&gt;&amp;nbsp;			}
&lt;br&gt;-		else if (i &amp;lt;= 0)
&lt;br&gt;+		else if (i &amp;lt;= 0) {
&lt;br&gt;+			if (s-&amp;gt;version == DTLS1_VERSION ||
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp;s-&amp;gt;version == DTLS1_BAD_VER) {
&lt;br&gt;+				/* For DTLS, just drop it. That's kind of the whole
&lt;br&gt;+				 &amp;nbsp; point in using a datagram service */
&lt;br&gt;+				s-&amp;gt;s3-&amp;gt;wbuf.left = 0;
&lt;br&gt;+			}
&lt;br&gt;&amp;nbsp;			return(i);
&lt;br&gt;+		}
&lt;br&gt;&amp;nbsp;		s-&amp;gt;s3-&amp;gt;wbuf.offset+=i;
&lt;br&gt;&amp;nbsp;		s-&amp;gt;s3-&amp;gt;wbuf.left-=i;
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;David Woodhouse &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Open Source Technology Centre
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19773773&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;David.Woodhouse@...&lt;/a&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Intel Corporation
&lt;br&gt;&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19773773&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19773773&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-openssl.org--1703--Bug-report-for-DTLS-tp19773306p19773773.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19773306</id>
	<title>[openssl.org #1703] Bug report for DTLS</title>
	<published>2008-10-01T20:51:20Z</published>
	<updated>2008-10-01T20:51:20Z</updated>
	<author>
		<name>David Woodhouse via RT</name>
	</author>
	<content type="html">I can reproduce this failure at will. All I need to do is set up a DTLS
&lt;br&gt;connection, then somehow cause the write() call on the UDP socket to
&lt;br&gt;return an error -- a firewall is an easy way of achieving that.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;David Woodhouse &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Open Source Technology Centre
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19773306&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;David.Woodhouse@...&lt;/a&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Intel Corporation
&lt;br&gt;&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19773306&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19773306&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-openssl.org--1703--Bug-report-for-DTLS-tp19773306p19773306.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19768137</id>
	<title>[openssl.org #1751] [PATCH] Support DTLS compatibility with Cisco AnyConnect VPN</title>
	<published>2008-10-01T12:12:48Z</published>
	<updated>2008-10-01T12:12:48Z</updated>
	<author>
		<name>David Woodhouse via RT</name>
	</author>
	<content type="html">This patch against the stable branch makes my AnyConnect VPN client
&lt;br&gt;( &lt;a href=&quot;http://git.infradead.org/users/dwmw2/anyconnect.git&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://git.infradead.org/users/dwmw2/anyconnect.git&lt;/a&gt;&amp;nbsp;) work.
&lt;br&gt;&lt;br&gt;Cisco's VPN client uses OpenSSL, and a version of the DTLS protocol
&lt;br&gt;which is newer than we had in 0.9.8e, but older than the final version
&lt;br&gt;defined in the RFC and implemented in 0.9.8f. The patch against 0.9.8e,
&lt;br&gt;for reference, is &lt;a href=&quot;http://david.woodhou.se/openssl-0.9.8e-ciscodtls.patch&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://david.woodhou.se/openssl-0.9.8e-ciscodtls.patch&lt;/a&gt;&lt;br&gt;&lt;br&gt;Their server does also respond to DTLS packets bearing the 'real' DTLS
&lt;br&gt;protocol version number, but has other compatibility issues which I
&lt;br&gt;haven't yet completely understood. (If I hack tls1_enc() to use 0x0100
&lt;br&gt;(DTLS1_BAD_VER) as the protocol when calculating the MAC, the handshake
&lt;br&gt;does succeed, but then the server ignores all my data packets).
&lt;br&gt;&lt;br&gt;But since their own clients use the old protocol version, that's
&lt;br&gt;probably the best one for us to be using anyway. It's going to be the
&lt;br&gt;only one that's tested properly with their server.
&lt;br&gt;&lt;br&gt;The code which uses this is at
&lt;br&gt;&lt;a href=&quot;http://git.infradead.org/users/dwmw2/anyconnect.git?a=blob;f=dtls.c;hb=HEAD&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://git.infradead.org/users/dwmw2/anyconnect.git?a=blob;f=dtls.c;hb=HEAD&lt;/a&gt;&lt;br&gt;&lt;br&gt;Advice on better ways to do this would be welcomed.
&lt;br&gt;&lt;br&gt;Index: ssl/d1_clnt.c
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /home/dwmw2/openssl-cvs/openssl/ssl/d1_clnt.c,v
&lt;br&gt;retrieving revision 1.3.2.10
&lt;br&gt;diff -u -p -r1.3.2.10 d1_clnt.c
&lt;br&gt;--- ssl/d1_clnt.c	4 Jun 2008 18:35:25 -0000	1.3.2.10
&lt;br&gt;+++ ssl/d1_clnt.c	29 Sep 2008 08:27:31 -0000
&lt;br&gt;@@ -130,7 +130,7 @@ static int dtls1_get_hello_verify(SSL *s
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;static SSL_METHOD *dtls1_get_client_method(int ver)
&lt;br&gt;&amp;nbsp;	{
&lt;br&gt;-	if (ver == DTLS1_VERSION)
&lt;br&gt;+	if (ver == DTLS1_VERSION || ver == DTLS1_BAD_VER)
&lt;br&gt;&amp;nbsp;		return(DTLSv1_client_method());
&lt;br&gt;&amp;nbsp;	else
&lt;br&gt;&amp;nbsp;		return(NULL);
&lt;br&gt;@@ -181,7 +181,8 @@ int dtls1_connect(SSL *s)
&lt;br&gt;&amp;nbsp;			s-&amp;gt;server=0;
&lt;br&gt;&amp;nbsp;			if (cb != NULL) cb(s,SSL_CB_HANDSHAKE_START,1);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-			if ((s-&amp;gt;version &amp; 0xff00 ) != (DTLS1_VERSION &amp; 0xff00))
&lt;br&gt;+			if ((s-&amp;gt;version &amp; 0xff00 ) != (DTLS1_VERSION &amp; 0xff00) &amp;&amp;
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp;(s-&amp;gt;version &amp; 0xff00 ) != (DTLS1_BAD_VER &amp; 0xff00))
&lt;br&gt;&amp;nbsp;				{
&lt;br&gt;&amp;nbsp;				SSLerr(SSL_F_DTLS1_CONNECT, ERR_R_INTERNAL_ERROR);
&lt;br&gt;&amp;nbsp;				ret = -1;
&lt;br&gt;Index: ssl/d1_lib.c
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /home/dwmw2/openssl-cvs/openssl/ssl/d1_lib.c,v
&lt;br&gt;retrieving revision 1.1.2.5
&lt;br&gt;diff -u -p -r1.1.2.5 d1_lib.c
&lt;br&gt;--- ssl/d1_lib.c	5 Oct 2007 21:05:27 -0000	1.1.2.5
&lt;br&gt;+++ ssl/d1_lib.c	29 Sep 2008 08:38:49 -0000
&lt;br&gt;@@ -186,7 +186,10 @@ void dtls1_free(SSL *s)
&lt;br&gt;&amp;nbsp;void dtls1_clear(SSL *s)
&lt;br&gt;&amp;nbsp;	{
&lt;br&gt;&amp;nbsp;	ssl3_clear(s);
&lt;br&gt;-	s-&amp;gt;version=DTLS1_VERSION;
&lt;br&gt;+	if (s-&amp;gt;options &amp; SSL_OP_CISCO_ANYCONNECT)
&lt;br&gt;+		s-&amp;gt;version=DTLS1_BAD_VER;
&lt;br&gt;+	else
&lt;br&gt;+		s-&amp;gt;version=DTLS1_VERSION;
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/*
&lt;br&gt;Index: ssl/d1_pkt.c
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /home/dwmw2/openssl-cvs/openssl/ssl/d1_pkt.c,v
&lt;br&gt;retrieving revision 1.4.2.12
&lt;br&gt;diff -u -p -r1.4.2.12 d1_pkt.c
&lt;br&gt;--- ssl/d1_pkt.c	14 Sep 2008 17:57:03 -0000	1.4.2.12
&lt;br&gt;+++ ssl/d1_pkt.c	29 Sep 2008 08:27:31 -0000
&lt;br&gt;@@ -986,15 +986,17 @@ start:
&lt;br&gt;&amp;nbsp;	if (rr-&amp;gt;type == SSL3_RT_CHANGE_CIPHER_SPEC)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;&amp;nbsp;		struct ccs_header_st ccs_hdr;
&lt;br&gt;+		int ccs_hdr_len = DTLS1_CCS_HEADER_LENGTH;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		dtls1_get_ccs_header(rr-&amp;gt;data, &amp;ccs_hdr);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		/* 'Change Cipher Spec' is just a single byte, so we know
&lt;br&gt;&amp;nbsp;		 * exactly what the record payload has to look like */
&lt;br&gt;&amp;nbsp;		/* XDTLS: check that epoch is consistent */
&lt;br&gt;-		if (	(s-&amp;gt;client_version == DTLS1_BAD_VER &amp;&amp; rr-&amp;gt;length != 3) ||
&lt;br&gt;-			(s-&amp;gt;client_version != DTLS1_BAD_VER &amp;&amp; rr-&amp;gt;length != DTLS1_CCS_HEADER_LENGTH) || 
&lt;br&gt;-			(rr-&amp;gt;off != 0) || (rr-&amp;gt;data[0] != SSL3_MT_CCS))
&lt;br&gt;+		if (s-&amp;gt;client_version == DTLS1_BAD_VER || s-&amp;gt;version == DTLS1_BAD_VER)
&lt;br&gt;+			ccs_hdr_len = 3;
&lt;br&gt;+
&lt;br&gt;+		if ((rr-&amp;gt;length != ccs_hdr_len) || (rr-&amp;gt;off != 0) || (rr-&amp;gt;data[0] != SSL3_MT_CCS))
&lt;br&gt;&amp;nbsp;			{
&lt;br&gt;&amp;nbsp;			i=SSL_AD_ILLEGAL_PARAMETER;
&lt;br&gt;&amp;nbsp;			SSLerr(SSL_F_DTLS1_READ_BYTES,SSL_R_BAD_CHANGE_CIPHER_SPEC);
&lt;br&gt;@@ -1310,7 +1312,7 @@ int do_dtls1_write(SSL *s, int type, con
&lt;br&gt;&amp;nbsp;#if 0
&lt;br&gt;&amp;nbsp;	/* 'create_empty_fragment' is true only when this function calls itself */
&lt;br&gt;&amp;nbsp;	if (!clear &amp;&amp; !create_empty_fragment &amp;&amp; !s-&amp;gt;s3-&amp;gt;empty_fragment_done
&lt;br&gt;-		&amp;&amp; SSL_version(s) != DTLS1_VERSION)
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;&amp;&amp; SSL_version(s) != DTLS1_VERSION &amp;&amp; SSL_version(s) != DTLS1_BAD_VER)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;&amp;nbsp;		/* countermeasure against known-IV weakness in CBC ciphersuites
&lt;br&gt;&amp;nbsp;		 * (see &lt;a href=&quot;http://www.openssl.org/~bodo/tls-cbc.txt&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org/~bodo/tls-cbc.txt&lt;/a&gt;) 
&lt;br&gt;Index: ssl/s3_clnt.c
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /home/dwmw2/openssl-cvs/openssl/ssl/s3_clnt.c,v
&lt;br&gt;retrieving revision 1.88.2.17
&lt;br&gt;diff -u -p -r1.88.2.17 s3_clnt.c
&lt;br&gt;--- ssl/s3_clnt.c	16 Jun 2008 16:56:41 -0000	1.88.2.17
&lt;br&gt;+++ ssl/s3_clnt.c	29 Sep 2008 08:27:31 -0000
&lt;br&gt;@@ -708,7 +708,7 @@ int ssl3_get_server_hello(SSL *s)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	if (!ok) return((int)n);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-	if ( SSL_version(s) == DTLS1_VERSION)
&lt;br&gt;+	if ( SSL_version(s) == DTLS1_VERSION || SSL_version(s) == DTLS1_BAD_VER)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;&amp;nbsp;		if ( s-&amp;gt;s3-&amp;gt;tmp.message_type == DTLS1_MT_HELLO_VERIFY_REQUEST)
&lt;br&gt;&amp;nbsp;			{
&lt;br&gt;Index: ssl/ssl.h
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /home/dwmw2/openssl-cvs/openssl/ssl/ssl.h,v
&lt;br&gt;retrieving revision 1.161.2.21
&lt;br&gt;diff -u -p -r1.161.2.21 ssl.h
&lt;br&gt;--- ssl/ssl.h	13 Aug 2008 19:44:44 -0000	1.161.2.21
&lt;br&gt;+++ ssl/ssl.h	29 Sep 2008 08:39:24 -0000
&lt;br&gt;@@ -510,6 +510,8 @@ typedef struct ssl_session_st
&lt;br&gt;&amp;nbsp;#define SSL_OP_COOKIE_EXCHANGE &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x00002000L
&lt;br&gt;&amp;nbsp;/* Don't use RFC4507 ticket extension */
&lt;br&gt;&amp;nbsp;#define SSL_OP_NO_TICKET	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x00004000L
&lt;br&gt;+/* Use Cisco's &amp;quot;speshul&amp;quot; version of DTLS1_BAD_VER (as client) &amp;nbsp;*/
&lt;br&gt;+#define SSL_OP_CISCO_ANYCONNECT		 &amp;nbsp; &amp;nbsp;0x00008000L
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/* As server, disallow session resumption on renegotiation */
&lt;br&gt;&amp;nbsp;#define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION	0x00010000L
&lt;br&gt;Index: ssl/ssl_lib.c
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /home/dwmw2/openssl-cvs/openssl/ssl/ssl_lib.c,v
&lt;br&gt;retrieving revision 1.133.2.15
&lt;br&gt;diff -u -p -r1.133.2.15 ssl_lib.c
&lt;br&gt;--- ssl/ssl_lib.c	16 Jun 2008 16:56:42 -0000	1.133.2.15
&lt;br&gt;+++ ssl/ssl_lib.c	29 Sep 2008 08:37:16 -0000
&lt;br&gt;@@ -993,7 +993,8 @@ long SSL_ctrl(SSL *s,int cmd,long larg,v
&lt;br&gt;&amp;nbsp;		s-&amp;gt;max_cert_list=larg;
&lt;br&gt;&amp;nbsp;		return(l);
&lt;br&gt;&amp;nbsp;	case SSL_CTRL_SET_MTU:
&lt;br&gt;-		if (SSL_version(s) == DTLS1_VERSION)
&lt;br&gt;+		if (SSL_version(s) == DTLS1_VERSION ||
&lt;br&gt;+		 &amp;nbsp; &amp;nbsp;SSL_version(s) == DTLS1_BAD_VER)
&lt;br&gt;&amp;nbsp;			{
&lt;br&gt;&amp;nbsp;			s-&amp;gt;d1-&amp;gt;mtu = larg;
&lt;br&gt;&amp;nbsp;			return larg;
&lt;br&gt;Index: ssl/ssl_sess.c
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /home/dwmw2/openssl-cvs/openssl/ssl/ssl_sess.c,v
&lt;br&gt;retrieving revision 1.51.2.9
&lt;br&gt;diff -u -p -r1.51.2.9 ssl_sess.c
&lt;br&gt;--- ssl/ssl_sess.c	4 Jun 2008 18:35:27 -0000	1.51.2.9
&lt;br&gt;+++ ssl/ssl_sess.c	29 Sep 2008 08:27:31 -0000
&lt;br&gt;@@ -211,6 +211,11 @@ int ssl_get_new_session(SSL *s, int sess
&lt;br&gt;&amp;nbsp;			ss-&amp;gt;ssl_version=TLS1_VERSION;
&lt;br&gt;&amp;nbsp;			ss-&amp;gt;session_id_length=SSL3_SSL_SESSION_ID_LENGTH;
&lt;br&gt;&amp;nbsp;			}
&lt;br&gt;+		else if (s-&amp;gt;version == DTLS1_BAD_VER)
&lt;br&gt;+			{
&lt;br&gt;+			ss-&amp;gt;ssl_version=DTLS1_BAD_VER;
&lt;br&gt;+			ss-&amp;gt;session_id_length=SSL3_SSL_SESSION_ID_LENGTH;
&lt;br&gt;+			}
&lt;br&gt;&amp;nbsp;		else if (s-&amp;gt;version == DTLS1_VERSION)
&lt;br&gt;&amp;nbsp;			{
&lt;br&gt;&amp;nbsp;			ss-&amp;gt;ssl_version=DTLS1_VERSION;
&lt;br&gt;Index: ssl/t1_enc.c
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /home/dwmw2/openssl-cvs/openssl/ssl/t1_enc.c,v
&lt;br&gt;retrieving revision 1.35.2.6
&lt;br&gt;diff -u -p -r1.35.2.6 t1_enc.c
&lt;br&gt;--- ssl/t1_enc.c	13 Sep 2008 18:25:36 -0000	1.35.2.6
&lt;br&gt;+++ ssl/t1_enc.c	29 Sep 2008 08:35:54 -0000
&lt;br&gt;@@ -757,10 +757,10 @@ int tls1_mac(SSL *ssl, unsigned char *md
&lt;br&gt;&amp;nbsp;	HMAC_CTX_init(&amp;hmac);
&lt;br&gt;&amp;nbsp;	HMAC_Init_ex(&amp;hmac,mac_sec,EVP_MD_size(hash),hash,NULL);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-	if (ssl-&amp;gt;version == DTLS1_VERSION &amp;&amp; ssl-&amp;gt;client_version != DTLS1_BAD_VER)
&lt;br&gt;+	if (ssl-&amp;gt;version == DTLS1_BAD_VER ||
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;(ssl-&amp;gt;version == DTLS1_VERSION &amp;&amp; ssl-&amp;gt;client_version != DTLS1_BAD_VER))
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;&amp;nbsp;		unsigned char dtlsseq[8],*p=dtlsseq;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp;		s2n(send?ssl-&amp;gt;d1-&amp;gt;w_epoch:ssl-&amp;gt;d1-&amp;gt;r_epoch, p);
&lt;br&gt;&amp;nbsp;		memcpy (p,&amp;seq[2],6);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -785,7 +785,7 @@ printf(&amp;quot;rec=&amp;quot;);
&lt;br&gt;&amp;nbsp;{unsigned int z; for (z=0; z&amp;lt;rec-&amp;gt;length; z++) printf(&amp;quot;%02X &amp;quot;,buf[z]); printf(&amp;quot;\n&amp;quot;); }
&lt;br&gt;&amp;nbsp;#endif
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-	if ( SSL_version(ssl) != DTLS1_VERSION)
&lt;br&gt;+	if ( SSL_version(ssl) != DTLS1_VERSION &amp;&amp; SSL_version(ssl) != DTLS1_BAD_VER)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;&amp;nbsp;		for (i=7; i&amp;gt;=0; i--)
&lt;br&gt;&amp;nbsp;			{
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;dwmw2
&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19768137&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19768137&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-PATCH--Support-DTLS-compatibility-with-Cisco-AnyConnect-VPN-tp19721132p19768137.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19768202</id>
	<title>Help needed in including debug statements in the sockets in SSL.</title>
	<published>2008-10-01T02:44:27Z</published>
	<updated>2008-10-01T02:44:27Z</updated>
	<author>
		<name>prashanth s joshi</name>
	</author>
	<content type="html">&lt;div dir=&quot;ltr&quot;&gt;Hi SSL experts, &lt;br&gt;&lt;br&gt;I am working on the SSL decryption currently. My immediate requirement is as follows:&lt;br&gt;I need to include some debugging statements in the socket calls such as recv and send. How do I do that? What are all the changes that I need to carry out to the make file etc.? If you could be pointers to manipulate the make file , to link etc, it would be very helpfull. (My intention is not just to debug or trace the socket calls. My intention is actually to enhance the socket call functions further after including the debug statements in the socket calls.)&lt;br&gt;
&lt;br&gt;Regards,&lt;br&gt;Prashanth&lt;br&gt;&lt;/div&gt;
</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Help-needed-in-including-debug-statements-in-the-sockets-in-SSL.-tp19768202p19768202.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19755644</id>
	<title>exception with purify in bn_mont.c:402 (v=bn_mul_add_words(rp,np,nl,(rp[0]*n0)&amp;BN_MASK2);)</title>
	<published>2008-09-30T23:11:43Z</published>
	<updated>2008-09-30T23:11:43Z</updated>
	<author>
		<name>Rohit Omar</name>
	</author>
	<content type="html">&lt;html xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot; xmlns:w=&quot;urn:schemas-microsoft-com:office:word&quot; xmlns=&quot;http://www.w3.org/TR/REC-html40&quot;&gt;

&lt;head&gt;
&lt;meta http-equiv=Content-Type content=&quot;text/html; charset=us-ascii&quot;&gt;
&lt;meta name=Generator content=&quot;Microsoft Word 11 (filtered medium)&quot;&gt;


&lt;/head&gt;

&lt;body lang=EN-US link=blue vlink=purple&gt;

&lt;div class=Section1&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Hi&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;I am getting exception in crypto\bn\bn_mont.c:402 (v=bn_mul_add_words(rp,np,nl,(rp[0]*n0)&amp;amp;BN_MASK2);)
while executing with Rational purify. I think bn_mul_add_words called as
assembly code from crypto\bn\asm\bn_win32.asm.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Please see following stacktrace&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;[E] EXU: Unhandled exception&amp;nbsp; {1 occurrence}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exception code: 0xc0000005
[Error: access violation reading from 0x806c001d]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exception address:
???&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ip=0x806C001D]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Filter: mainCRTStartup+0x929
[f:\vs70builds\3077\vc\crtbld\crt\src\crt0.c:270 ip=0x007E225D]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exception
location&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
RtlConvertUlongToLargeInteger+0x6a [C:\WINDOWS\system32\ntdll.dll ip=0x7C9032A8]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
RtlConvertUlongToLargeInteger+0x3c [C:\WINDOWS\system32\ntdll.dll ip=0x7C90327A]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
KiUserExceptionDispatcher+0xe [C:\WINDOWS\system32\ntdll.dll ip=0x7C90E46A]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
BN_from_montgomery+0x637 [e:\els_code\licensing\licensing_sdk\trunk\vxcrypto\crypto\bn\bn_mont.c:402
ip=0x007700C9]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
BN_mod_mul_montgomery+0x2d5 [e:\els_code\licensing\licensing_sdk\trunk\vxcrypto\crypto\bn\bn_mont.c:187
ip=0x0076F9A9]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
BN_mod_exp_mont+0x8b5 [e:\els_code\licensing\licensing_sdk\trunk\vxcrypto\crypto\bn\bn_exp.c:434
ip=0x0076A987]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
RSA_eay_public_decrypt+0xa62 [e:\els_code\licensing\licensing_sdk\trunk\vxcrypto\crypto\rsa\rsa_eay.c:673
ip=0x00703AD5]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
RSA_public_decrypt+0x96 [e:\els_code\licensing\licensing_sdk\trunk\vxcrypto\crypto\rsa\rsa_lib.c:300
ip=0x006BB118]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
RSA_verify+0x495&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [e:\els_code\licensing\licensing_sdk\trunk\vxcrypto\crypto\rsa\rsa_sign.c:174
ip=0x006BDACF]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
SlicOpenSSLSignatureProvider::verify(BYTE const*,UINT,BYTE *,UINT)+0xb2f [e:\els_code\licensing\licensing_sdk\trunk\slic_crypto\source\openssl\slic_openssl_sig.cpp:160
ip=0x00678961]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
XLicense::isSignatureValid(void)+0x488 [e:\els_code\licensing\licensing_sdk\trunk\slic\source\xmldom.cpp:2040
ip=0x0063577A]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
XKey::checkout(SlicLicense&amp;amp;,_checkout_options)+0xdc0 [e:\els_code\licensing\licensing_sdk\trunk\slic\source\xmldom.cpp:1265
ip=0x0063B8B2]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
XLicenseDocument::checkout(SlicLicense&amp;amp;,_checkout_options,XKey * *)+0xafd [e:\els_code\licensing\licensing_sdk\trunk\slic\source\xmldom.cpp:3650
ip=0x0063D78F]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
SlicXmlLicenseServiceProvider::isLicenseInStrValid(SlicString const&amp;amp;,SlicString
const&amp;amp;,int,SlicString const&amp;amp;)+0x73d [e:\els_code\licensing\licensing_sdk\trunk\slic\source\xmllsp.cpp:2181
ip=0x0065581F]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SlicXmlLicenseServiceProvider::isLicenseInFileValid(SlicString
const&amp;amp;,SlicString const&amp;amp;,int,SlicString const&amp;amp;)+0x27b [e:\els_code\licensing\licensing_sdk\trunk\slic\source\xmllsp.cpp:2217
ip=0x0064B92D]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;strong&gt;&lt;b&gt;&lt;font size=2 color=black face=Arial&gt;&lt;span style='font-size:10.0pt;font-family:Arial;color:black'&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;strong&gt;&lt;b&gt;&lt;font size=2 color=black face=Arial&gt;&lt;span style='font-size:10.0pt;font-family:Arial;color:black'&gt;&amp;nbsp;Regards&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;/strong&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;font-family:Arial'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;strong&gt;&lt;b&gt;&lt;font size=2 color=black face=Arial&gt;&lt;span style='font-size:10.0pt;font-family:Arial;color:black'&gt;&amp;nbsp;Rohit Omar&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;strong&gt;&lt;b&gt;&lt;font size=3 color=black face=&quot;Times New Roman&quot;&gt;&lt;span style='font-size:12.0pt;color:black'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;/strong&gt;&lt;font size=2 face=Arial&gt;&lt;span lang=FR style='font-size:10.0pt;font-family:Arial'&gt;Symantec
Corporation&lt;/span&gt;&lt;/font&gt;&lt;span lang=FR&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span lang=FR style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;a href=&quot;http://www.symantec.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;www.symantec.com&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span lang=FR style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;-----------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 color=navy face=Arial&gt;&lt;span lang=FR style='font-size:10.0pt;font-family:Arial;color:navy'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;b&gt;&lt;font size=2 face=Arial&gt;&lt;span lang=FR style='font-size:10.0pt;font-family:Arial;
font-weight:bold'&gt;Office: &lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;font size=2 face=Arial&gt;&lt;span lang=FR style='font-size:10.0pt;font-family:Arial'&gt;91-20-66067157&lt;/span&gt;&lt;/font&gt;&lt;o:p&gt;&lt;/o