* configure.in: define USE_BUILTIN_FRAME_ADDRESS on x86_64
even if __builtin_frame_address is not used now.
By this, FreeBSD's clang can build ruby 1.8,
and alloca(1) doesn't work on it.
git-svn-id: svn+ssh://svn.ruby-lang.org/ruby/branches/ruby_1_8_7@44719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
https://github.com/ruby/ruby/pull/457
* util.c (ruby_strtod): ignore too long fraction part, which does not
affect the result.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@44351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
fix hostname verification. Patch by nahi.
* test/openssl/test_ssl.rb (OpenSSL#test_verify_certificate_identity):
test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@41676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_exception.rb (TestException#test_exception_to_s_should_not_propagate_untrustedness): test for it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@37148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* eval.c (stack_extend): prevent ALLOCA_N, which reserves a memory
space with for restoring machine stack stored in each threads, from
optimization out. backport r34278 from the trunk.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@36253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* backport r32609 from trunk.
* ext/openssl/ossl_hmac.c: Revert checking return type of
HMAC_Init_ex as it is not compatible with OpenSSL < 1.0.0.
* backport r32606 from trunk.
* ext/openssl/ossl_digest.c: Check return value of EVP_DigestInit_ex.
* ext/openssl/ossl_hmac.c: Check return value of HMAC_Init_ex.
Thanks, Jared Jennings, for the patch.
[ Ruby 1.9 - Bug #4944 ] [ruby-core:37670]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@36126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* eval.c (ruby_setjmp): need to save the stack after r2 (the Table
of Contents on ppc64) is saved onto the stack by getcontext().
based on <https://bugzilla.redhat.com/show_bug.cgi?id=628715>.
Bug#4411
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@35995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/bigdecimal/bigdecimal.c (VpMemAlloc): Fixes a bug reported by Drew Yao <ayao at apple.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@35953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bignum.c (rb_big2dbl), test/ruby/test_bignum.rb (test_to_f):
A negative Bignum out of Float range should be converted to -Infinity.
[ruby-core:30492] [Bug #3362]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@35941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
must not cast it to unsigned long, which may be shorter than
VALUE, and the result can be mere garbage.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@35619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bignum.c (rb_big2str0): prevent working clone from
GC. [exerb-dev:0578]. patched by MURASE Masamitsu
<masamitsu.murase AT gmail.com> at [exerb-dev:0580]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@35327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/yaml/rubytypes.rb (Exception.yaml_new): fix bug that causes
YAML serialization problem for Exception.
Exception#initialize doesn't use visible instance variable for
the exception message, so call the method with the message.
patched by Jingwen Owen Ou <jingweno AT gmail.com>.
http://github.com/ruby/ruby/pull/41
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@34920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* marshal.c (struct {dump,load}_arg): manage with dfree, instead
of using local variable which may be moved by context switch.
[ruby-dev:39425]
* marshal.c (mark_dump_arg): mark destination string. patch by
Vit Ondruch. [Bug #4339]
* marshal.c (clear_dump_arg, clear_load_arg): clean up also data
tables as same as symbols tables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@34867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
M ruby_1_8_7/ChangeLog
M ruby_1_8_7/inits.c
M ruby_1_8_7/version.h
M ruby_1_8_7/string.c
M ruby_1_8_7/st.c
M ruby_1_8_7/test/ruby/test_string.rb
M ruby_1_8_7/random.c
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@34151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/securerandom.rb: call OpenSSL::Random.seed at the
SecureRandom.random_bytes call.
based on the patch by Masahiro Tomita. [ruby-dev:44270]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@32741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Signed-off-by: URABE, Shyouhei <shyouhei@ruby-lang.org>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@34003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkconfig.rb: fix for continued lines. based on a patch from
Marcus Rueckert <darix AT opensu.se> at [ruby-core:20420].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Signed-off-by: URABE, Shyouhei <shyouhei@ruby-lang.org>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@34002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/tk/extconf.rb (intptr_t, uintptr_t): support for the latest ActiveTcl with mingw.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@32320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/openssl/extconf.rb: Should check SSLv2_*method.
openssl compiled with "no-ssl2" the extconf don't fail
when running `make' having this compilation errors.
Patched by Laurent Arnoud. fixes#4562, #4556
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@32234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/webrick/accesslog.rb (WEBrick::AccessLog.format): log parameter
embedding did not work. See #4913.
* test/webrick/test_accesslog.rb: Add for test it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@32209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/securerandom.rb (SecureRandom.random_bytes): modify PRNG state
to prevent random number sequence repeatation at forked
child process which has same pid.
reported by Eric Wong. [ruby-core:35765]
backport r32124 by nahi
* test/test_securerandom.rb: Add testcase. This testcase does NOT aim
to test cryptographically strongness and randomness. It includes
the test for PID recycle issue of OpenSSL described in #4579 but
it's disabled by default.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@32128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* variable.c (rb_autoload_load): There is a race condition while
autoloading. When two or more threads touch a single autoloaded
constant at a time, one of them does the require, but others
behave oddly. To fix this situation we now refrain from
deleting the autoload table while someone is doing the autoload.
That deletion is deferred to a point where a require ended
successfully. Doing so make it possible for multiple threads to
enter autoloading at the same time but the require is protected
against multiple simultaneous entrance anyway so all but one
thread gets blocked at that point. So with it, touching a
constant that gets autoloaded cause those threads to block until
there is another one that does the same thing.
[ruby-core:36308] (#921)
* variable.c (rb_const_get_0): ditto.
* variable.c (autoload_node): ditto.
* variable.c (autoload_delete): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@31732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Signed-off-by: URABE, Shyouhei <shyouhei@ruby-lang.org>
* variable.c (rb_const_get_0): Fix previous change. There were
possibilities when an autoload-specified library lacks
definition of the constant it was bound to. Once after such
library had already beed loaded, the autoload engine shall not
reload it. Instead the interpreter have to consider such
constant nonexistent. It results in a const_missing situation.
* variable.c (rb_autoload_load): ditto.
* variable.c (autoload_node): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@31734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Signed-off-by: URABE, Shyouhei <shyouhei@ruby-lang.org>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@31904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
keyword ($Id$). ProgName with revision number was written in the
header line of each logfile for ease of tracking what version user
is using in troubleshooting. Logger is already stable enough.
I commit this on confirmation from Shyouhei.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@31806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* eval.c (rb_thread_atfork): When a ruby process forks, its random
seed shall be reinitialized to prevent CVE-2003-0900 situation.
This bug affects for 1.8 and earlier series, but not for 1.9.
fixed [ruby-core:34944].
* io.c (pipe_open): ditto.
* random.c (rb_reset_random_seed): ditto.
* intern.h (rb_reset_random_seed): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@31655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Signed-off-by: URABE, Shyouhei <shyouhei@ruby-lang.org>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@31713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/socket/{getaddrinfo,getnameinfo}.c: include winsock2.h only when
specified to use winsock2 by user.
this problem is reported by kosaki.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@30479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Signed-off-by: URABE, Shyouhei <shyouhei@ruby-lang.org>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@31661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e