J
jkevinlb
Hi,
I have an Lua SSL client. The first time it connects, all is fine. But
then, I kill the client. Reconnect it. After a few commands, when more
datas are sent:
# /usr/lib/ruby/1.8/openssl/buffering.rb:178: warning: error on stack:
# error:1409F07F:SSL routines:SSL3_WRITE_PENDING:bad write retry
# Exception `OpenSSL::SSL::SSLError' at
# /usr/lib/ruby/1.8/openssl/buffering.rb:178 - SSL_write:: error:
1409F07F:SSL
# routines:SSL3_WRITE_PENDING:bad write retry
It's complety reproductible. Anybody has an idea ?
Thanks, regards.
Leo
-------------
Ruby (pseudo) code I use:
# SSL key and cert
key = OpenSSL:Key::RSA.new 512
cert = OpenSSL::X509::Certificate.new
cert.not_before = Time.now
cert.not_after = Time.now + 3600
cert.public_key = key.public_key
cert.sign key, OpenSSL:igest::SHA1.new
# SSL context
$ctx = OpenSSL::SSL::SSLContext.new
$ctx.key = key
$ctx.cert = cert
tcp_server = TCPserver.new $port
server = OpenSSL::SSL::SSLServer.new tcp_server, $ctx
while true
socket = server.accept
thread.new socket do |so|
while true
begin
send-receive work
rescue
socket.close
end
end
end
end
I have an Lua SSL client. The first time it connects, all is fine. But
then, I kill the client. Reconnect it. After a few commands, when more
datas are sent:
# /usr/lib/ruby/1.8/openssl/buffering.rb:178: warning: error on stack:
# error:1409F07F:SSL routines:SSL3_WRITE_PENDING:bad write retry
# Exception `OpenSSL::SSL::SSLError' at
# /usr/lib/ruby/1.8/openssl/buffering.rb:178 - SSL_write:: error:
1409F07F:SSL
# routines:SSL3_WRITE_PENDING:bad write retry
It's complety reproductible. Anybody has an idea ?
Thanks, regards.
Leo
-------------
Ruby (pseudo) code I use:
# SSL key and cert
key = OpenSSL:Key::RSA.new 512
cert = OpenSSL::X509::Certificate.new
cert.not_before = Time.now
cert.not_after = Time.now + 3600
cert.public_key = key.public_key
cert.sign key, OpenSSL:igest::SHA1.new
# SSL context
$ctx = OpenSSL::SSL::SSLContext.new
$ctx.key = key
$ctx.cert = cert
tcp_server = TCPserver.new $port
server = OpenSSL::SSL::SSLServer.new tcp_server, $ctx
while true
socket = server.accept
thread.new socket do |so|
while true
begin
send-receive work
rescue
socket.close
end
end
end
end