summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-06 08:05:24 +0000
committerknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-06 08:05:24 +0000
commit061fd36d75bff6335d2c6fdced5a70eb14bc8322 (patch)
tree19e04b8c92576201ace9e7f828047a44776383a4
parent70bde7a3b5347e6e68a6cb82714ef03304c13bb1 (diff)
* ext/openssl/ossl_ssl_session.c (ossl_ssl_session_initialize):
Add a null check for ssl; submitted by akira yamada in [ruby-dev:34950]. * ext/openssl/ossl_ssl.c (Init_ossl_ssl): Define OP_NO_TICKET if SSL_OP_NO_TICKET is present; submitted by akira yamada in [ruby-dev:34944]. * test/openssl/test_ssl.rb (OpenSSL#test_server_session): Add a workaround for the case where OpenSSL is configured with --enable-tlsext; submitted by akira yamada in [ruby-dev:34944]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog14
-rw-r--r--ext/openssl/ossl_ssl.c3
-rw-r--r--ext/openssl/ossl_ssl_session.c2
-rw-r--r--lib/cgi/session.rb4
-rw-r--r--lib/cgi/session/pstore.rb2
-rw-r--r--lib/delegate.rb2
-rw-r--r--lib/erb.rb2
-rw-r--r--lib/forwardable.rb2
-rw-r--r--lib/irb/extend-command.rb2
-rw-r--r--lib/irb/help.rb2
-rw-r--r--lib/irb/notifier.rb2
-rw-r--r--lib/irb/ruby-lex.rb2
-rw-r--r--lib/irb/slex.rb2
-rw-r--r--lib/logger.rb2
-rw-r--r--lib/net/https.rb4
-rw-r--r--lib/optparse.rb6
-rw-r--r--lib/pstore.rb4
-rw-r--r--lib/rdoc/parsers/parse_c.rb8
-rw-r--r--lib/rdoc/parsers/parse_f95.rb8
-rw-r--r--lib/resolv.rb4
-rw-r--r--lib/rexml/attlistdecl.rb2
-rw-r--r--lib/rexml/document.rb2
-rw-r--r--lib/rexml/element.rb6
-rw-r--r--lib/rexml/formatters/pretty.rb2
-rw-r--r--lib/rexml/functions.rb2
-rw-r--r--lib/rexml/text.rb2
-rw-r--r--lib/rexml/xpath.rb2
-rw-r--r--lib/rinda/ring.rb4
-rw-r--r--lib/time.rb4
-rw-r--r--lib/webrick/httpproxy.rb2
-rw-r--r--lib/webrick/httpresponse.rb2
-rw-r--r--missing/vsnprintf.c2
-rw-r--r--object.c17
-rw-r--r--test/openssl/test_ssl.rb7
-rw-r--r--version.h2
-rw-r--r--win32/win32.h1
36 files changed, 87 insertions, 49 deletions
diff --git a/ChangeLog b/ChangeLog
index aa0ae8c70d..6ea2b95f26 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+Fri Jun 6 17:04:56 2008 Akinori MUSHA <knu@iDaemons.org>
+
+ * ext/openssl/ossl_ssl_session.c (ossl_ssl_session_initialize):
+ Add a null check for ssl; submitted by akira yamada
+ in [ruby-dev:34950].
+
+ * ext/openssl/ossl_ssl.c (Init_ossl_ssl): Define OP_NO_TICKET if
+ SSL_OP_NO_TICKET is present; submitted by akira yamada
+ in [ruby-dev:34944].
+
+ * test/openssl/test_ssl.rb (OpenSSL#test_server_session): Add a
+ workaround for the case where OpenSSL is configured with
+ --enable-tlsext; submitted by akira yamada in [ruby-dev:34944].
+
Fri Jun 6 16:58:23 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/iconv/iconv.c (iconv_iconv): fix for length argument and now
diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
index 675fe657b0..01b86fec27 100644
--- a/ext/openssl/ossl_ssl.c
+++ b/ext/openssl/ossl_ssl.c
@@ -1466,6 +1466,9 @@ Init_ossl_ssl()
ossl_ssl_def_const(OP_NO_SSLv2);
ossl_ssl_def_const(OP_NO_SSLv3);
ossl_ssl_def_const(OP_NO_TLSv1);
+#if defined(SSL_OP_NO_TICKET)
+ ossl_ssl_def_const(OP_NO_TICKET);
+#endif
ossl_ssl_def_const(OP_PKCS1_CHECK_1);
ossl_ssl_def_const(OP_PKCS1_CHECK_2);
ossl_ssl_def_const(OP_NETSCAPE_CA_DN_BUG);
diff --git a/ext/openssl/ossl_ssl_session.c b/ext/openssl/ossl_ssl_session.c
index 82de3efbe3..63c2bbb87a 100644
--- a/ext/openssl/ossl_ssl_session.c
+++ b/ext/openssl/ossl_ssl_session.c
@@ -47,7 +47,7 @@ static VALUE ossl_ssl_session_initialize(VALUE self, VALUE arg1)
Data_Get_Struct(arg1, SSL, ssl);
- if ((ctx = SSL_get1_session(ssl)) == NULL)
+ if (!ssl || (ctx = SSL_get1_session(ssl)) == NULL)
ossl_raise(eSSLSession, "no session available");
} else {
BIO *in = ossl_obj2bio(arg1);
diff --git a/lib/cgi/session.rb b/lib/cgi/session.rb
index e7e7587c65..a6e999bc34 100644
--- a/lib/cgi/session.rb
+++ b/lib/cgi/session.rb
@@ -230,7 +230,7 @@ class CGI
# session_path:: the path for which this session applies. Defaults
# to the directory of the CGI script.
#
- # +option+ is also passed on to the session storage class initialiser; see
+ # +option+ is also passed on to the session storage class initializer; see
# the documentation for each session storage class for the options
# they support.
#
@@ -357,7 +357,7 @@ class CGI
# characters; automatically generated session ids observe
# this requirement.
#
- # +option+ is a hash of options for the initialiser. The
+ # +option+ is a hash of options for the initializer. The
# following options are recognised:
#
# tmpdir:: the directory to use for storing the FileStore
diff --git a/lib/cgi/session/pstore.rb b/lib/cgi/session/pstore.rb
index bd93d0a6ff..3d204d5dc0 100644
--- a/lib/cgi/session/pstore.rb
+++ b/lib/cgi/session/pstore.rb
@@ -30,7 +30,7 @@ class CGI
# characters; automatically generated session ids observe
# this requirement.
#
- # +option+ is a hash of options for the initialiser. The
+ # +option+ is a hash of options for the initializer. The
# following options are recognised:
#
# tmpdir:: the directory to use for storing the PStore
diff --git a/lib/delegate.rb b/lib/delegate.rb
index 0bf5cae7cb..bd2b5e4813 100644
--- a/lib/delegate.rb
+++ b/lib/delegate.rb
@@ -250,7 +250,7 @@ SimpleDelegater = SimpleDelegator
# your class.
#
# class MyClass < DelegateClass( ClassToDelegateTo ) # Step 1
-# def initiaize
+# def initialize
# super(obj_of_ClassToDelegateTo) # Step 2
# end
# end
diff --git a/lib/erb.rb b/lib/erb.rb
index a37832dafe..2ae5a1ab4a 100644
--- a/lib/erb.rb
+++ b/lib/erb.rb
@@ -656,7 +656,7 @@ class ERB
#
# def build
# b = binding
- # # create and run templates, filling member data variebles
+ # # create and run templates, filling member data variables
# ERB.new(<<-'END_PRODUCT'.gsub(/^\s+/, ""), 0, "", "@product").result b
# <%= PRODUCT[:name] %>
# <%= PRODUCT[:desc] %>
diff --git a/lib/forwardable.rb b/lib/forwardable.rb
index b6344cd4f6..cc6e4ee418 100644
--- a/lib/forwardable.rb
+++ b/lib/forwardable.rb
@@ -38,7 +38,7 @@
# @q = [ ] # prepare delegate object
# end
#
-# # setup prefered interface, enq() and deq()...
+# # setup preferred interface, enq() and deq()...
# def_delegator :@q, :push, :enq
# def_delegator :@q, :shift, :deq
#
diff --git a/lib/irb/extend-command.rb b/lib/irb/extend-command.rb
index 8994f2f8d2..508721c11d 100644
--- a/lib/irb/extend-command.rb
+++ b/lib/irb/extend-command.rb
@@ -112,7 +112,7 @@ module IRB
end
end
- # aliases = [commans_alias, flag], ...
+ # aliases = [commands_alias, flag], ...
def self.def_extend_command(cmd_name, cmd_class, load_file = nil, *aliases)
case cmd_class
when Symbol
diff --git a/lib/irb/help.rb b/lib/irb/help.rb
index f091999bd1..4921de6ec9 100644
--- a/lib/irb/help.rb
+++ b/lib/irb/help.rb
@@ -1,5 +1,5 @@
#
-# irb/help.rb - print usase module
+# irb/help.rb - print usage module
# $Release Version: 0.9.5$
# $Revision$
# $Date$
diff --git a/lib/irb/notifier.rb b/lib/irb/notifier.rb
index c8e66fa859..0f79bc5a8d 100644
--- a/lib/irb/notifier.rb
+++ b/lib/irb/notifier.rb
@@ -1,5 +1,5 @@
#
-# notifier.rb - optput methods used by irb
+# notifier.rb - output methods used by irb
# $Release Version: 0.9.5$
# $Revision$
# $Date$
diff --git a/lib/irb/ruby-lex.rb b/lib/irb/ruby-lex.rb
index ab584d5253..313a809ccd 100644
--- a/lib/irb/ruby-lex.rb
+++ b/lib/irb/ruby-lex.rb
@@ -1,5 +1,5 @@
#
-# irb/ruby-lex.rb - ruby lexcal analizer
+# irb/ruby-lex.rb - ruby lexcal analyzer
# $Release Version: 0.9.5$
# $Revision$
# $Date$
diff --git a/lib/irb/slex.rb b/lib/irb/slex.rb
index a6ea6fb473..f7e3a3b2b2 100644
--- a/lib/irb/slex.rb
+++ b/lib/irb/slex.rb
@@ -1,5 +1,5 @@
#
-# irb/slex.rb - symple lex analizer
+# irb/slex.rb - simple lex analyzer
# $Release Version: 0.9.5$
# $Revision$
# $Date$
diff --git a/lib/logger.rb b/lib/logger.rb
index 60e72424ad..9030fa1d0d 100644
--- a/lib/logger.rb
+++ b/lib/logger.rb
@@ -1,4 +1,4 @@
-# logger.rb - saimple logging utility
+# logger.rb - simple logging utility
# Copyright (C) 2000-2003, 2005 NAKAMURA, Hiroshi <nakahiro@sarion.co.jp>.
require 'monitor'
diff --git a/lib/net/https.rb b/lib/net/https.rb
index e296dbbed4..7847c3ffea 100644
--- a/lib/net/https.rb
+++ b/lib/net/https.rb
@@ -65,11 +65,11 @@ It can be replaced by the following code:
: key, key=((|key|))
Sets an OpenSSL::PKey::RSA or OpenSSL::PKey::DSA object.
- (This method is appeared in Michal Rokos's OpenSSL extention.)
+ (This method is appeared in Michal Rokos's OpenSSL extension.)
: cert, cert=((|cert|))
Sets an OpenSSL::X509::Certificate object as client certificate
- (This method is appeared in Michal Rokos's OpenSSL extention).
+ (This method is appeared in Michal Rokos's OpenSSL extension).
: ca_file, ca_file=((|path|))
Sets path of a CA certification file in PEM format.
diff --git a/lib/optparse.rb b/lib/optparse.rb
index 0479c5af6b..134b540cfb 100644
--- a/lib/optparse.rb
+++ b/lib/optparse.rb
@@ -826,7 +826,7 @@ class OptionParser
#
# Directs to reject specified class argument.
#
- # +t+:: Argument class speficier, any object including Class.
+ # +t+:: Argument class specifier, any object including Class.
#
# reject(t)
#
@@ -1037,13 +1037,13 @@ class OptionParser
# "-x[OPTIONAL]"
# "-x"
# There is also a special form which matches character range (not full
- # set of regural expression):
+ # set of regular expression):
# "-[a-z]MANDATORY"
# "-[a-z][OPTIONAL]"
# "-[a-z]"
#
# [Argument style and description:]
- # Instead of specifying mandatory or optional orguments directly in the
+ # Instead of specifying mandatory or optional arguments directly in the
# switch parameter, this separate parameter can be used.
# "=MANDATORY"
# "=[OPTIONAL]"
diff --git a/lib/pstore.rb b/lib/pstore.rb
index 6df64474ab..ab495d9ed7 100644
--- a/lib/pstore.rb
+++ b/lib/pstore.rb
@@ -11,14 +11,14 @@ require "fileutils"
require "digest/md5"
#
-# PStore implements a file based persistance mechanism based on a Hash. User
+# PStore implements a file based persistence mechanism based on a Hash. User
# code can store hierarchies of Ruby objects (values) into the data store file
# by name (keys). An object hierarchy may be just a single object. User code
# may later read values back from the data store or even update data, as needed.
#
# The transactional behavior ensures that any changes succeed or fail together.
# This can be used to ensure that the data store is not left in a transitory
-# state, where some values were upated but others were not.
+# state, where some values were updated but others were not.
#
# Behind the scenes, Ruby objects are stored to the data store file with
# Marshal. That carries the usual limitations. Proc objects cannot be
diff --git a/lib/rdoc/parsers/parse_c.rb b/lib/rdoc/parsers/parse_c.rb
index 25fc66af3f..7eefa29706 100644
--- a/lib/rdoc/parsers/parse_c.rb
+++ b/lib/rdoc/parsers/parse_c.rb
@@ -117,10 +117,10 @@ module RDoc
# method in the HTML output. This method must be in the same source file
# as the rb_define_method.
#
- # C classes can be diagramed (see /tc/dl/ruby/ruby/error.c), and RDoc
+ # C classes can be diagrammed (see /tc/dl/ruby/ruby/error.c), and RDoc
# integrates C and Ruby source into one tree
#
- # The comment blocks may include special direcives:
+ # The comment blocks may include special directives:
#
# [Document-class: <i>name</i>]
# This comment block is documentation for the given class. Use this
@@ -131,10 +131,10 @@ module RDoc
# automatically find the method from it's declaration
#
# [call-seq: <i>text up to an empty line</i>]
- # Because C source doesn't give descripive names to Ruby-level parameters,
+ # Because C source doesn't give descriptive names to Ruby-level parameters,
# you need to document the calling sequence explicitly
#
- # In additon, RDoc assumes by default that the C method implementing a
+ # In addition, RDoc assumes by default that the C method implementing a
# Ruby function is in the same source file as the rb_define_method call.
# If this isn't the case, add the comment
#
diff --git a/lib/rdoc/parsers/parse_f95.rb b/lib/rdoc/parsers/parse_f95.rb
index f3f6d76103..f1a1ae4d4b 100644
--- a/lib/rdoc/parsers/parse_f95.rb
+++ b/lib/rdoc/parsers/parse_f95.rb
@@ -201,7 +201,7 @@ module RDoc
@progress = $stderr unless options.quiet
end
- # devine code constructs
+ # define code constructs
def scan
# remove private comment
@@ -1065,7 +1065,7 @@ module RDoc
#
# If "all" argument is true, information of all arguments are returned.
# If "modified_params" is true, list of arguments are decorated,
- # for exameple, optional arguments are parenthetic as "[arg]".
+ # for example, optional arguments are parenthetic as "[arg]".
#
def find_arguments(args, text, all=nil, indent=nil, modified_params=nil)
return unless args || all
@@ -1143,8 +1143,8 @@ EOF
#
# Comments just after module or subprogram, or arguments are
- # returnd. If "COMMENTS_ARE_UPPER" is true, comments just before
- # modules or subprograms are returnd
+ # returned. If "COMMENTS_ARE_UPPER" is true, comments just before
+ # modules or subprograms are returned
#
def find_comments text
return "" unless text
diff --git a/lib/resolv.rb b/lib/resolv.rb
index 08f80e071c..a3ed32ed6d 100644
--- a/lib/resolv.rb
+++ b/lib/resolv.rb
@@ -252,7 +252,7 @@ class Resolv
end
##
- # Iterates over all hostnames for +address+ retrived from the hosts file.
+ # Iterates over all hostnames for +address+ retrieved from the hosts file.
def each_name(address, &proc)
lazy_initialize
@@ -2015,7 +2015,7 @@ class Resolv
end
##
- # A String reperesentation of this IPv4 address.
+ # A String representation of this IPv4 address.
##
# The raw IPv4 address as a String.
diff --git a/lib/rexml/attlistdecl.rb b/lib/rexml/attlistdecl.rb
index d4b5c38af6..ef4721b5ce 100644
--- a/lib/rexml/attlistdecl.rb
+++ b/lib/rexml/attlistdecl.rb
@@ -44,7 +44,7 @@ module REXML
@pairs.keys.include? key
end
- # Itterate over the key/value pairs:
+ # Iterate over the key/value pairs:
# attlist_decl.each { |attribute_name, attribute_value| ... }
def each(&block)
@pairs.each(&block)
diff --git a/lib/rexml/document.rb b/lib/rexml/document.rb
index 81e63c60f1..54aa691ad8 100644
--- a/lib/rexml/document.rb
+++ b/lib/rexml/document.rb
@@ -147,7 +147,7 @@ module REXML
# A controversial point is whether Document should always write the XML
# declaration (<?xml version='1.0'?>) whether or not one is given by the
# user (or source document). REXML does not write one if one was not
- # specified, because it adds unneccessary bandwidth to applications such
+ # specified, because it adds unnecessary bandwidth to applications such
# as XML-RPC.
#
# See also the classes in the rexml/formatters package for the proper way
diff --git a/lib/rexml/element.rb b/lib/rexml/element.rb
index 92612036a1..3db87c6126 100644
--- a/lib/rexml/element.rb
+++ b/lib/rexml/element.rb
@@ -360,7 +360,7 @@ module REXML
# Iterates through the children, yielding for each Element that
# has a particular text set.
# text::
- # the text to search for. If nil, or not supplied, will itterate
+ # the text to search for. If nil, or not supplied, will iterate
# over all +Element+ children that contain at least one +Text+ node.
# max::
# (optional) causes this method to return after yielding
@@ -989,7 +989,7 @@ module REXML
end
alias :size :length
- # Itterates over the attributes of an Element. Yields actual Attribute
+ # Iterates over the attributes of an Element. Yields actual Attribute
# nodes, not String values.
#
# doc = Document.new '<a x="1" y="2"/>'
@@ -1006,7 +1006,7 @@ module REXML
end
end
- # Itterates over each attribute of an Element, yielding the expanded name
+ # Iterates over each attribute of an Element, yielding the expanded name
# and value as a pair of Strings.
#
# doc = Document.new '<a x="1" y="2"/>'
diff --git a/lib/rexml/formatters/pretty.rb b/lib/rexml/formatters/pretty.rb
index 22b6d857cd..d21175d34a 100644
--- a/lib/rexml/formatters/pretty.rb
+++ b/lib/rexml/formatters/pretty.rb
@@ -125,7 +125,7 @@ module REXML
end
def wrap(string, width)
- # Recursivly wrap string at width.
+ # Recursively wrap string at width.
return string if string.length <= width
place = string.rindex(' ', width) # Position in string with last ' ' before cutoff
return string[0,place] + "\n" + wrap(string[place+1..-1], width)
diff --git a/lib/rexml/functions.rb b/lib/rexml/functions.rb
index 8293e9c5ac..fefc9ef940 100644
--- a/lib/rexml/functions.rb
+++ b/lib/rexml/functions.rb
@@ -235,7 +235,7 @@ module REXML
# from string then we ignore the second &
# subsequent mappings
#
- # if a charactcer maps to nil then we delete it
+ # if a character maps to nil then we delete it
# in the output. This happens if the from
# string is longer than the to string
#
diff --git a/lib/rexml/text.rb b/lib/rexml/text.rb
index 9804aa710b..2bc00429b3 100644
--- a/lib/rexml/text.rb
+++ b/lib/rexml/text.rb
@@ -189,7 +189,7 @@ module REXML
end
def wrap(string, width, addnewline=false)
- # Recursivly wrap string at width.
+ # Recursively wrap string at width.
return string if string.length <= width
place = string.rindex(' ', width) # Position in string with last ' ' before cutoff
if addnewline then
diff --git a/lib/rexml/xpath.rb b/lib/rexml/xpath.rb
index 939399e283..e8813efd3e 100644
--- a/lib/rexml/xpath.rb
+++ b/lib/rexml/xpath.rb
@@ -30,7 +30,7 @@ module REXML
parser.parse(path, element).flatten[0]
end
- # Itterates over nodes that match the given path, calling the supplied
+ # Iterates over nodes that match the given path, calling the supplied
# block with the match.
# element::
# The context element
diff --git a/lib/rinda/ring.rb b/lib/rinda/ring.rb
index ac8a716216..1fad92dbc7 100644
--- a/lib/rinda/ring.rb
+++ b/lib/rinda/ring.rb
@@ -19,7 +19,7 @@ module Rinda
# 1. A RingServer begins listening on the broadcast UDP address.
# 2. A RingFinger sends a UDP packet containing the DRb URI where it will
# listen for a reply.
- # 3. The RingServer recieves the UDP packet and connects back to the
+ # 3. The RingServer receives the UDP packet and connects back to the
# provided DRb URI with the DRb service.
class RingServer
@@ -119,7 +119,7 @@ module Rinda
end
##
- # Contains all discoverd TupleSpaces except for the primary.
+ # Contains all discovered TupleSpaces except for the primary.
def self.to_a
finger.to_a
diff --git a/lib/time.rb b/lib/time.rb
index 2de21cd7c8..a37a067390 100644
--- a/lib/time.rb
+++ b/lib/time.rb
@@ -363,7 +363,7 @@ class Time
min = $5.to_i
sec = $6.to_i
usec = 0
- usec = $7.to_f * 1000000 if $7
+ usec = ($7[1..-1] + '000000')[0,6].to_i if $7
if $8
zone = $8
year, mon, day, hour, min, sec =
@@ -621,6 +621,8 @@ if __FILE__ == $0
t = Time.utc(1960, 12, 31, 23, 0, 0, 123456)
assert_equal("1960-12-31T23:00:00.123456Z", t.xmlschema(6))
end
+
+ assert_equal(249, Time.xmlschema("2008-06-05T23:49:23.000249+09:00").usec)
end
def test_completion
diff --git a/lib/webrick/httpproxy.rb b/lib/webrick/httpproxy.rb
index 14e3499775..9295259085 100644
--- a/lib/webrick/httpproxy.rb
+++ b/lib/webrick/httpproxy.rb
@@ -47,7 +47,7 @@ module WEBrick
req.header.delete("proxy-authorization")
end
- # Some header fields shuold not be transfered.
+ # Some header fields should not be transferred.
HopByHop = %w( connection keep-alive proxy-authenticate upgrade
proxy-authorization te trailers transfer-encoding )
ShouldNotTransfer = %w( set-cookie proxy-connection )
diff --git a/lib/webrick/httpresponse.rb b/lib/webrick/httpresponse.rb
index d0f232d1e1..62156b1abd 100644
--- a/lib/webrick/httpresponse.rb
+++ b/lib/webrick/httpresponse.rb
@@ -132,7 +132,7 @@ module WEBrick
end
end
- # Determin the message length (RFC2616 -- 4.4 Message Length)
+ # Determine the message length (RFC2616 -- 4.4 Message Length)
if @status == 304 || @status == 204 || HTTPStatus::info?(@status)
@header.delete('content-length')
@body = ""
diff --git a/missing/vsnprintf.c b/missing/vsnprintf.c
index 6afdfa189f..dd4f75cfd8 100644
--- a/missing/vsnprintf.c
+++ b/missing/vsnprintf.c
@@ -496,7 +496,7 @@ BSD_vfprintf(fp, fmt0, ap)
/*
* Choose PADSIZE to trade efficiency vs. size. If larger printf
- * fields occur frequently, increase PADSIZE and make the initialisers
+ * fields occur frequently, increase PADSIZE and make the initializers
* below longer.
*/
#define PADSIZE 16 /* pad chunk size */
diff --git a/object.c b/object.c
index 813518676f..3b6b8385f2 100644
--- a/object.c
+++ b/object.c
@@ -1573,8 +1573,21 @@ rb_class_initialize(argc, argv, klass)
* call-seq:
* class.allocate() => obj
*
- * Allocates space for a new object of <i>class</i>'s class. The
- * returned object must be an instance of <i>class</i>.
+ * Allocates space for a new object of <i>class</i>'s class and does not
+ * call initialize on the new instance. The returned object must be an
+ * instance of <i>class</i>.
+ *
+ * klass = Class.new do
+ * def initialize(*args)
+ * @initialized = true
+ * end
+ *
+ * def initialized?
+ * @initialized || false
+ * end
+ * end
+ *
+ * klass.allocate.initialized? #=> false
*
*/
diff --git a/test/openssl/test_ssl.rb b/test/openssl/test_ssl.rb
index 82caa26cff..29d3d19edc 100644
--- a/test/openssl/test_ssl.rb
+++ b/test/openssl/test_ssl.rb
@@ -499,7 +499,12 @@ class OpenSSL::TestSSL < Test::Unit::TestCase
start_server(PORT, OpenSSL::SSL::VERIFY_NONE, true, :ctx_proc => ctx_proc, :server_proc => server_proc) do |server, port|
10.times do |i|
sock = TCPSocket.new("127.0.0.1", port)
- ssl = OpenSSL::SSL::SSLSocket.new(sock)
+ ctx = OpenSSL::SSL::SSLContext.new
+ if defined?(OpenSSL::SSL::OP_NO_TICKET)
+ # disable RFC4507 support
+ ctx.options = OpenSSL::SSL::OP_NO_TICKET
+ end
+ ssl = OpenSSL::SSL::SSLSocket.new(sock, ctx)
ssl.sync_close = true
ssl.session = first_session if first_session
ssl.connect
diff --git a/version.h b/version.h
index 015891dc0f..279cd8c558 100644
--- a/version.h
+++ b/version.h
@@ -2,7 +2,7 @@
#define RUBY_RELEASE_DATE "2008-06-06"
#define RUBY_VERSION_CODE 187
#define RUBY_RELEASE_CODE 20080606
-#define RUBY_PATCHLEVEL 5
+#define RUBY_PATCHLEVEL 6
#define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 8
diff --git a/win32/win32.h b/win32/win32.h
index abac2b1e3d..4d97ee4d5c 100644
--- a/win32/win32.h
+++ b/win32/win32.h
@@ -25,6 +25,7 @@
#endif
#ifdef USE_WINSOCK2
#include <winsock2.h>
+#include <ws2tcpip.h>
#include <windows.h>
#else
#include <windows.h>