Ruby Forum Ruby-dev > OpenSSL Test Failure

Posted by Tadashi Saito (Guest)
on 05.09.2008 13:12
(Received via mailing list)
$B:XF#$G$9!#(B

$B7k9=A0$+$i$J$N$G$9$,!"<+J,$N4D6-(B(Debian lenny on 
x86)$B$G$O(Btest-all$B$,<:GT$7$^$9!#(B

  1) Failure:
test_client_session(OpenSSL::TestSSL)
    [/home/tadashi/svn/ruby/trunk/test/openssl/test_ssl.rb:449:in `block 
(2 levels) in test_client_session'
     /home/tadashi/svn/ruby/trunk/test/openssl/test_ssl.rb:440:in 
`times'
     /home/tadashi/svn/ruby/trunk/test/openssl/test_ssl.rb:440:in `block 
in test_client_session'
     /home/tadashi/svn/ruby/trunk/test/openssl/test_ssl.rb:129:in `call'
     /home/tadashi/svn/ruby/trunk/test/openssl/test_ssl.rb:129:in 
`start_server'
     /home/tadashi/svn/ruby/trunk/test/openssl/test_ssl.rb:439:in 
`test_client_session']:
<false> is not true.

5223 tests, 1668178 assertions, 1 failures, 0 errors

$B$3$l$C$F<+J,$N4D6-$@$1$G$7$g$&$+!#(BOpenSSL$B$N%P!<%8%g%s$O(B 
0.9.8g-13 $B$G$9!#(B
$BLdBj$r2r7h$9$k$?$a$K!"B>$K$bDs6!$9$Y$->pJs$,$"$j$^$7$?$i!"65$($F$/$@$5$$!#(B
Posted by Fujioka (Guest)
on 05.09.2008 13:29
(Received via mailing list)
$BF#2,$G$9!#(B

> $B7k9=A0$+$i$J$N$G$9$,!"<+J,$N4D6-(B(Debian lenny on x86)$B$G$O(Btest-all$B$,<:(B
$BGT$7$^$9!#(B
>
>   1) Failure:
> test_client_session(OpenSSL::TestSSL)
>     [/home/tadashi/svn/ruby/trunk/test/openssl/test_ssl.rb:449:in
`block (2 levels) in test_client_session'
>      /home/tadashi/svn/ruby/trunk/test/openssl/test_ssl.rb:440:in `times'
>      /home/tadashi/svn/ruby/trunk/test/openssl/test_ssl.rb:440:in
`block in test_client_session'
>      /home/tadashi/svn/ruby/trunk/test/openssl/test_ssl.rb:129:in `call'
>      /home/tadashi/svn/ruby/trunk/test/openssl/test_ssl.rb:129:in
`start_server'
>      /home/tadashi/svn/ruby/trunk/test/openssl/test_ssl.rb:439:in
`test_client_session']:
> <false> is not true.
>
> 5223 tests, 1668178 assertions, 1 failures, 0 errors
>
> $B$3$l$C$F<+J,$N4D6-$@$1$G$7$g$&$+!#(BOpenSSL$B$N%P!<%8%g%s$O(B 0.9.8g-13 $B$G$9!#(B
> $BLdBj$r2r7h$9$k$?$a$K!"B>$K$bDs6!$9$Y$->pJs$,$"$j$^$7$?$i!"65$($F$/$@$5$$!#(B
>

x64$B$G(Betch$B$J$N$G$9$,!"LdBj$J$/DL$j$^$9!#(B
svn co $B$+$i$d$C$F$b$@$a$G$9$+!)(B
$B$H$j$"$($:Js9p$N$_!#(B

$ ruby19 test/openssl/test_ssl.rb
Loaded suite test/openssl/test_ssl
Started
...........
Finished in 2.882403 seconds.

11 tests, 2192 assertions, 0 failures, 0 errors

$ cat /etc/debian_version
4.0

$ dpkg -l openssl
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err:
uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
ii  openssl        0.9.8c-4etch3  Secure Socket Layer (SSL) binary and
related
Posted by Tadashi Saito (Guest)
on 08.09.2008 10:44
(Received via mailing list)
$B:XF#$G$9!#(B

On Fri, 5 Sep 2008 20:23:11 +0900
Fujioka <fuj@rabbix.jp> wrote:

> svn co $B$+$i$d$C$F$b$@$a$G$9$+!)(B
> $B$H$j$"$($:Js9p$N$_!#(B

$BJs9p$"$j$,$H$&$4$6$$$^$9!#(B

$B;n$7$K!"0[$J$k%G%#%l%/%H%j$K(Bsvn 
co$B$7$?8e!"0[$J$k%G%#%l%/%H%j$N(Bprefix$B$r;XDj$7$F(B
make install$B$7$?$N$G$9$,(B,

$ /tmp/ruby-yet-another-trunk/bin/ruby-trunk -v
ruby 1.9.0 (2008-09-07 revision 19219) [i686-linux]

$ make test-all
 :
 :
  1) Failure:
test_client_session(OpenSSL::TestSSL)
    [/home/tadashi/svn/ruby/ya-trunk/test/openssl/test_ssl.rb:449:in 
`block (2 levels) in test_client_session'
     /home/tadashi/svn/ruby/ya-trunk/test/openssl/test_ssl.rb:440:in 
`times'
     /home/tadashi/svn/ruby/ya-trunk/test/openssl/test_ssl.rb:440:in 
`block in test_client_session'
     /home/tadashi/svn/ruby/ya-trunk/test/openssl/test_ssl.rb:129:in 
`call'
     /home/tadashi/svn/ruby/ya-trunk/test/openssl/test_ssl.rb:129:in 
`start_server'
     /home/tadashi/svn/ruby/ya-trunk/test/openssl/test_ssl.rb:439:in 
`test_client_session']:
<false> is not true.

5239 tests, 1668300 assertions, 1 failures, 0 errors
make: *** [test-all] $B%(%i!<(B 1

$B$HJQ$o$j$^$;$s$G$7$?!#$&!<$s!#(B
Posted by Kazuhiro NISHIYAMA (Guest)
on 08.09.2008 13:25
(Received via mailing list)
$B@>;3OB9-$G$9!#(B

At Fri, 5 Sep 2008 20:06:11 +0900,
Tadashi Saito wrote:
> 
> $B$3$l$C$F<+J,$N4D6-$@$1$G$7$g$&$+!#(BOpenSSL$B$N%P!<%8%g%s$O(B 0.9.8g-13 $B$G$9!#(B
> $BLdBj$r2r7h$9$k$?$a$K!"B>$K$bDs6!$9$Y$->pJs$,$"$j$^$7$?$i!"65$($F$/$@$5$$!#(B

$B$3$A$i$N(Bx86$B$N(Blenny$B4D6-$G$b0JA0$+$iH/@8$7$F$$$^$9!#(B

Ubuntu 8.04.1$B$@$HH/@8$7$J$$$N$G!"(BUbuntu 8.04.1$B$N(B
openssl_0.9.8g-4ubuntu3.3.diff.gz$B$H(B
lenny$B$N(Bopenssl_0.9.8g-13.diff.gz$B$rD/$a$F0c$$$r$_$F$_$k$H(B

--- openssl-0.9.8g.orig/ssl/s3_srvr.c
+++ openssl-0.9.8g/ssl/s3_srvr.c
@@ -1093,8 +1093,16 @@
      * session-id if we want it to be single use.
      * Currently I will not implement the '0' length session-id
      * 12-Jan-98 - I'll now support the '0' length stuff.
+     *
+     * We also have an additional case where stateless session
+     * resumption is successful: we always send back the old
+     * session id. In this case s->hit is non zero: this can
+     * only happen if stateless session resumption is succesful
+     * if session caching is disabled so existing functionality
+     * is unaffected.
      */
-    if (!(s->ctx->session_cache_mode & SSL_SESS_CACHE_SERVER))
+    if (!(s->ctx->session_cache_mode & SSL_SESS_CACHE_SERVER)
+      && !s->hit)
       s->session->session_id_length=0;

     sl=s->session->session_id_length;

$B$H$$$&ItJ,$,5$$K$J$C$?$N$G!"(B

Index: test/openssl/test_ssl.rb
===================================================================
--- test/openssl/test_ssl.rb  (revision 19243)
+++ test/openssl/test_ssl.rb  (working copy)
@@ -439,7 +439,8 @@
     start_server(PORT, OpenSSL::SSL::VERIFY_NONE, true) do |server, 
port|
       2.times do
         sock = TCPSocket.new("127.0.0.1", port)
-        ssl = OpenSSL::SSL::SSLSocket.new(sock)
+        ctx = OpenSSL::SSL::SSLContext.new("TLSv1")
+        ssl = OpenSSL::SSL::SSLSocket.new(sock, ctx)
         ssl.sync_close = true
         ssl.session = last_session if last_session
         ssl.connect

$B$H$7$F$_$k$H(Blenny$B$G$bDL$k$h$&$K$J$j$^$7$?!#(B
Posted by Yukihiro Matsumoto (Guest)
on 08.09.2008 20:50
(Received via mailing list)
$B$^$D$b$H(B $B$f$-$R$m$G$9(B

In message "Re: [ruby-dev:36214] Re: OpenSSL Test Failure"
    on Mon, 8 Sep 2008 20:19:14 +0900, Kazuhiro NISHIYAMA 
<zn@mbf.nifty.com> writes:

|> $B$3$l$C$F<+J,$N4D6-$@$1$G$7$g$&$+!#(BOpenSSL$B$N%P!<%8%g%s$O(B 0.9.8g-13 $B$G$9!#(B
|> $BLdBj$r2r7h$9$k$?$a$K!"B>$K$bDs6!$9$Y$->pJs$,$"$j$^$7$?$i!"65$($F$/$@$5$$!#(B
|
|$B$3$A$i$N(Bx86$B$N(Blenny$B4D6-$G$b0JA0$+$iH/@8$7$F$$$^$9!#(B

|--- test/openssl/test_ssl.rb  (revision 19243)
|+++ test/openssl/test_ssl.rb  (working copy)
|@@ -439,7 +439,8 @@
|     start_server(PORT, OpenSSL::SSL::VERIFY_NONE, true) do |server, port|
|       2.times do
|         sock = TCPSocket.new("127.0.0.1", port)
|-        ssl = OpenSSL::SSL::SSLSocket.new(sock)
|+        ctx = OpenSSL::SSL::SSLContext.new("TLSv1")
|+        ssl = OpenSSL::SSL::SSLSocket.new(sock, ctx)
|         ssl.sync_close = true
|         ssl.session = last_session if last_session
|         ssl.connect
|
|$B$H$7$F$_$k$H(Blenny$B$G$bDL$k$h$&$K$J$j$^$7$?!#(B

$B%3%_%C%H$7$F$/$@$5$$$^$;$s$+!)(B