OpenSSL Test Failure

e$B:XF#$G$9!#e(B

e$B7k9=A0$+$i$J$N$G$9$,!"<+J,$N4D6-e(B(Debian lenny on
x86)e$B$G$Oe(Btest-alle$B$,<:GT$7$^$9!#e(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:intimes’
    /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:incall’
    /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:intest_client_session’]:
    is not true.

5223 tests, 1668178 assertions, 1 failures, 0 errors

e$B$3$l$C$F<+J,$N4D6-$@$1$G$7$g$&$+!#e(BOpenSSLe$B$N%P!<%8%g%s$Oe(B
0.9.8g-13 e$B$G$9!#e(B
e$BLdBj$r2r7h$9$k$?$a$K!“B>$K$bDs6!$9$Y$->pJs$,$”$j$^$7$?$i!"65$($F$/$@$5$$!#e(B

e$BF#2,$G$9!#e(B

e$B7k9=A0$+$i$J$N$G$9$,!"<+J,$N4D6-e(B(Debian lenny on x86)e$B$G$Oe(Btest-alle$B$,<:e(B
e$BGT$7$^$9!#e(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:intimes’
    /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:incall’
    /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:intest_client_session’]:
    is not true.

5223 tests, 1668178 assertions, 1 failures, 0 errors

e$B$3$l$C$F<+J,$N4D6-$@$1$G$7$g$&$+!#e(BOpenSSLe$B$N%P!<%8%g%s$Oe(B 0.9.8g-13 e$B$G$9!#e(B
e$BLdBj$r2r7h$9$k$?$a$K!“B>$K$bDs6!$9$Y$->pJs$,$”$j$^$7$?$i!"65$($F$/$@$5$$!#e(B

x64e$B$Ge(Betche$B$J$N$G$9$,!“LdBj$J$/DL$j$^$9!#e(B
svn co e$B$+$i$d$C$F$b$@$a$G$9$+!)e(B
e$B$H$j$”$($:Js9p$N$_!#e(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

e$B:XF#$G$9!#e(B

On Fri, 5 Sep 2008 20:23:11 +0900
Fujioka [email protected] wrote:

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

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

e$B;n$7$K!"0[$J$k%G%#%l%/%H%j$Ke(Bsvn
coe$B$7$?8e!"0[$J$k%G%#%l%/%H%j$Ne(Bprefixe$B$r;XDj$7$Fe(B
make installe$B$7$?$N$G$9$,e(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’]:
    is not true.

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

e$B$HJQ$o$j$^$;$s$G$7$?!#$&!<$s!#e(B

e$B@>;3OB9-$G$9!#e(B

At Fri, 5 Sep 2008 20:06:11 +0900,
Tadashi S. wrote:

e$B$3$l$C$F<+J,$N4D6-$@$1$G$7$g$&$+!#e(BOpenSSLe$B$N%P!<%8%g%s$Oe(B 0.9.8g-13 e$B$G$9!#e(B
e$BLdBj$r2r7h$9$k$?$a$K!“B>$K$bDs6!$9$Y$->pJs$,$”$j$^$7$?$i!"65$($F$/$@$5$$!#e(B

e$B$3$A$i$Ne(Bx86e$B$Ne(Blennye$B4D6-$G$b0JA0$+$iH/@8$7$F$$$^$9!#e(B

Ubuntu 8.04.1e$B$@$HH/@8$7$J$$$N$G!"e(BUbuntu 8.04.1e$B$Ne(B
openssl_0.9.8g-4ubuntu3.3.diff.gze$B$He(B
lennye$B$Ne(Bopenssl_0.9.8g-13.diff.gze$B$rD/$a$F0c$$$r$$F$$k$He(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;

e$B$H$$$&ItJ,$,5$$K$J$C$?$N$G!"e(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
    

e$B$H$7$F$_$k$He(Blennye$B$G$bDL$k$h$&$K$J$j$^$7$?!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:36214] Re: OpenSSL Test Failure”
on Mon, 8 Sep 2008 20:19:14 +0900, Kazuhiro NISHIYAMA
[email protected] writes:

|> e$B$3$l$C$F<+J,$N4D6-$@$1$G$7$g$&$+!#e(BOpenSSLe$B$N%P!<%8%g%s$Oe(B 0.9.8g-13 e$B$G$9!#e(B
|> e$BLdBj$r2r7h$9$k$?$a$K!“B>$K$bDs6!$9$Y$->pJs$,$”$j$^$7$?$i!"65$($F$/$@$5$$!#e(B
|
|e$B$3$A$i$Ne(Bx86e$B$Ne(Blennye$B4D6-$G$b0JA0$+$iH/@8$7$F$$$^$9!#e(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
|
|e$B$H$7$F$_$k$He(Blennye$B$G$bDL$k$h$&$K$J$j$^$7$?!#e(B

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