[前][次][番号順一覧][スレッド一覧][生データ]

ruby-cvs:24690

From: akr ruby-lang.org
Date: Fri, 20 Jun 2008 11:46:18 +0900 (JST)
Subject: [ruby-cvs:24690] Ruby:r17465 (trunk): * string.c (rb_memhash): randomize hash to avoid algorithmic

akr	2008-06-20 11:46:17 +0900 (Fri, 20 Jun 2008)

  New Revision: 17465

  Modified files:
    trunk/ChangeLog
    trunk/include/ruby/intern.h
    trunk/inits.c
    trunk/random.c
    trunk/string.c
    trunk/test/ruby/test_string.rb
    trunk/thread.c

  Log:
    * string.c (rb_memhash): randomize hash to avoid algorithmic
      complexity attacks.
      (rb_str_hash): use rb_memhash.
    
    * include/ruby/intern.h (rb_reset_random_seed): declared.
    
    * thread.c (rb_thread_atfork): call rb_reset_random_seed.
    
    * inits.c (rb_call_inits): call Init_RandomSeed at first.
    
    * random.c (seed_initialized): defined.
      (fill_random_seed): extracted from random_seed.
      (make_seed_value): extracted from random_seed.
      (rb_f_rand): initialize random seed at first.
      (initial_seed): defined.
      (Init_RandomSeed): defined.
      (Init_RandomSeed2): defined.
      (rb_reset_random_seed): defined.
      (Init_Random): call Init_RandomSeed2.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_string.rb?r1=17465&r2=17464&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/string.c?r1=17465&r2=17464&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=17465&r2=17464&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/thread.c?r1=17465&r2=17464&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/inits.c?r1=17465&r2=17464&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/random.c?r1=17465&r2=17464&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/include/ruby/intern.h?r1=17465&r2=17464&diff_format=u


[前][次][番号順一覧][スレッド一覧][生データ]