ruby/ext
emboss 0234bcfd19 * backport r34482 from trunk
* ext/openssl/ossl_ssl.c: Add SSL constants and allow to unset SSL
  option to prevent BEAST attack. See [Bug #5353].

  In OpenSSL, OP_DONT_INSERT_EMPTY_FRAGMENTS is used to prevent
  TLS-CBC-IV vulunerability described at
  http://www.openssl.org/~bodo/tls-cbc.txt
  It's known issue of TLSv1/SSLv3 but it attracts lots of attention
  these days as BEAST attack. (CVE-2011-3389)

  Until now ossl sets OP_ALL at SSLContext allocation and call
  SSL_CTX_set_options at connection.  SSL_CTX_set_options updates the
  value by using |= so bits set by OP_ALL cannot be unset afterwards.
  This commit changes to call SSL_CTX_set_options only 1 time for each
  SSLContext. It sets the specified value if SSLContext#options= are
  called and sets OP_ALL if not.

  To help users to unset bits in OP_ALL, this commit also adds several
  constant to SSL such as
  OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS.  These constants were
  not exposed in Ruby because there's no way to unset bits in OP_ALL
  before.

  Following is an example to enable 0/n split for BEAST prevention.

    ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS

* test/openssl/test_ssl.rb: Test above option exists.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@34524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-09 17:04:41 +00:00
..
-test- * string.c (rb_str_modify_expand): fix memory leak. 2012-02-08 13:30:04 +00:00
bigdecimal * remove trailing spaces. 2012-02-09 03:25:07 +00:00
continuation * cont.c (ruby_Init_{Continuation_body,Fiber_as_Coroutine}): prefixed 2009-01-20 07:17:28 +00:00
coverage * ext/coverage/coverage.c: resurrect r32071 + add GC guard for 2011-07-04 15:55:06 +00:00
curses * ext/curses/curses.c: Clean up documentation. 2011-06-17 04:10:37 +00:00
date merge revision(s) 34335,34337: 2012-02-06 12:29:54 +00:00
dbm merge revision(s) 33959,33963,34265: 2012-02-09 02:12:10 +00:00
digest * Backport r32950 from trunk. 2011-08-12 17:26:00 +00:00
dl merge revision(s) 34504,34506,34507,34508: 2012-02-09 07:20:53 +00:00
etc * ext: remove trailing spaces. 2011-05-22 09:26:02 +00:00
fcntl .cvsignore: have not been used already. [Bug #3468] 2010-08-07 05:43:21 +00:00
fiber * cont.c (ruby_Init_{Continuation_body,Fiber_as_Coroutine}): prefixed 2009-01-20 07:17:28 +00:00
fiddle * ext/fiddle/fiddle.c (Init_fiddle): declare in modern style. 2012-02-09 15:15:57 +00:00
gdbm * enc/utf_16le.c: surpress warning: shorten-64-to-32. 2011-03-21 21:23:42 +00:00
iconv * ext/iconv/iconv.c (Init_iconv): no warnings if $VERBOSE is nil. 2010-12-03 23:50:13 +00:00
io * backport r32579, r32581, r32587 by akr and r32588 by kazu. 2011-07-20 22:11:56 +00:00
json merge revision(s) 34306: 2012-02-05 15:06:50 +00:00
mathn * complex.c (nucomp_canonicalization): renamed. 2008-12-12 23:40:55 +00:00
nkf merge revision(s) 33225: 2011-09-08 12:18:41 +00:00
objspace * backport r32876 from trunk. 2011-08-07 05:18:22 +00:00
openssl * backport r34482 from trunk 2012-02-09 17:04:41 +00:00
pathname * backport r33086 from trunk. 2011-08-26 23:54:49 +00:00
psych merge revision(s) 33160,33381,33382,33383,33384,33385: 2011-12-12 17:47:29 +00:00
pty merge revision(s) 33468: 2012-01-03 01:00:23 +00:00
racc/cparse .cvsignore: have not been used already. [Bug #3468] 2010-08-07 05:43:21 +00:00
readline * remove trailing spaces. 2012-02-09 03:25:07 +00:00
ripper * ext: remove trailing spaces. 2011-05-22 09:26:02 +00:00
sdbm * ext/sdbm/init.c: parenthesize macro arguments. 2011-03-25 12:56:34 +00:00
socket * remove trailing spaces. 2012-02-09 03:25:07 +00:00
stringio * ext/stringio/stringio.c (strio_read): return new string if nil 2011-08-20 01:43:26 +00:00
strscan * ext/strscan/strscan.c: parenthesize macro arguments. 2011-03-31 11:42:23 +00:00
syck Fix: r32043 may raise NameError. 2011-06-13 07:41:20 +00:00
syslog * ext: remove trailing spaces. 2011-05-22 09:26:02 +00:00
tk * ex/tk/extconf.rb: support for the latest ActiveTcl with mingw. 2011-06-29 14:11:19 +00:00
win32ole * ext: remove trailing spaces. 2011-05-22 09:26:02 +00:00
zlib * backport r33023 from trunk. 2011-08-23 06:16:16 +00:00
.document * backport r32981 and r32982 from trunk. 2011-08-16 00:51:58 +00:00
extmk.rb * ext/extmk.rb (extmake): suppresses outputs from extconf.rb. 2011-07-03 14:44:59 +00:00
Setup * sprintf.c (rb_str_format): allow %c to print one character 2006-06-09 21:20:17 +00:00
Setup.atheos * ext/Setup*: remove tcltklib. 2005-01-26 05:15:02 +00:00
Setup.emx * ext/Setup*: remove tcltklib. 2005-01-26 05:15:02 +00:00
Setup.nt * ext/Setup*: remove tcltklib. 2005-01-26 05:15:02 +00:00