mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	merge revision(s) 41808: [Backport #9066]
* ext/openssl/ossl_pkey_ec.c: Ensure compatibility to builds of OpenSSL with OPENSSL_NO_EC2M defined, but OPENSSL_NO_EC not defined. * test/openssl/test_pkey_ec.rb: Iterate over built-in curves (and assert their non-emptiness!) instead of hard-coding them, as this may cause problems with respect to the different availability of individual curves in individual OpenSSL builds. [ruby-core:54881] [Bug #8384] Thanks to Vit Ondruch for providing the patch! git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@43486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									ab05a6ddf7
								
							
						
					
					
						commit
						55b9300745
					
				
					 4 changed files with 31 additions and 14 deletions
				
			
		
							
								
								
									
										13
									
								
								ChangeLog
									
										
									
									
									
								
							
							
						
						
									
										13
									
								
								ChangeLog
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,3 +1,16 @@
 | 
			
		|||
Thu Oct 31 23:25:25 2013  Martin Bosslet  <Martin.Bosslet@gmail.com>
 | 
			
		||||
 | 
			
		||||
	* ext/openssl/ossl_pkey_ec.c: Ensure compatibility to builds of
 | 
			
		||||
	  OpenSSL with OPENSSL_NO_EC2M defined, but OPENSSL_NO_EC not
 | 
			
		||||
	  defined.
 | 
			
		||||
	* test/openssl/test_pkey_ec.rb: Iterate over built-in curves
 | 
			
		||||
	  (and assert their non-emptiness!) instead of hard-coding them, as
 | 
			
		||||
	  this may cause problems with respect to the different availability
 | 
			
		||||
	  of individual curves in individual OpenSSL builds.
 | 
			
		||||
	  [ruby-core:54881] [Bug #8384]
 | 
			
		||||
 | 
			
		||||
	  Thanks to Vit Ondruch for providing the patch!
 | 
			
		||||
 | 
			
		||||
Thu Oct 31 23:22:35 2013  NAKAMURA Usaku  <usa@ruby-lang.org>
 | 
			
		||||
 | 
			
		||||
	* object.c (rb_obj_cmp): [DOC] patched by Keith Bennett
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -757,8 +757,10 @@ static VALUE ossl_ec_group_initialize(int argc, VALUE *argv, VALUE self)
 | 
			
		|||
                method = EC_GFp_mont_method();
 | 
			
		||||
            } else if (id == s_GFp_nist) {
 | 
			
		||||
                method = EC_GFp_nist_method();
 | 
			
		||||
#if !defined(OPENSSL_NO_EC2M)
 | 
			
		||||
            } else if (id == s_GF2m_simple) {
 | 
			
		||||
                method = EC_GF2m_simple_method();
 | 
			
		||||
#endif
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (method) {
 | 
			
		||||
| 
						 | 
				
			
			@ -812,8 +814,10 @@ static VALUE ossl_ec_group_initialize(int argc, VALUE *argv, VALUE self)
 | 
			
		|||
 | 
			
		||||
            if (id == s_GFp) {
 | 
			
		||||
                new_curve = EC_GROUP_new_curve_GFp;
 | 
			
		||||
#if !defined(OPENSSL_NO_EC2M)
 | 
			
		||||
            } else if (id == s_GF2m) {
 | 
			
		||||
                new_curve = EC_GROUP_new_curve_GF2m;
 | 
			
		||||
#endif
 | 
			
		||||
            } else {
 | 
			
		||||
                ossl_raise(rb_eArgError, "unknown symbol, must be :GFp or :GF2m");
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,28 +7,28 @@ class OpenSSL::TestEC < Test::Unit::TestCase
 | 
			
		|||
    @data1 = 'foo'
 | 
			
		||||
    @data2 = 'bar' * 1000 # data too long for DSA sig
 | 
			
		||||
 | 
			
		||||
    @group1 = OpenSSL::PKey::EC::Group.new('secp112r1')
 | 
			
		||||
    @group2 = OpenSSL::PKey::EC::Group.new('sect163k1')
 | 
			
		||||
    @group3 = OpenSSL::PKey::EC::Group.new('prime256v1')
 | 
			
		||||
    @groups = []
 | 
			
		||||
    @keys = []
 | 
			
		||||
 | 
			
		||||
    @key1 = OpenSSL::PKey::EC.new
 | 
			
		||||
    @key1.group = @group1
 | 
			
		||||
    @key1.generate_key
 | 
			
		||||
    OpenSSL::PKey::EC.builtin_curves.each do |curve, comment|
 | 
			
		||||
      group = OpenSSL::PKey::EC::Group.new(curve)
 | 
			
		||||
 | 
			
		||||
    @key2 = OpenSSL::PKey::EC.new(@group2.curve_name)
 | 
			
		||||
    @key2.generate_key
 | 
			
		||||
      key = OpenSSL::PKey::EC.new(group)
 | 
			
		||||
      key.generate_key
 | 
			
		||||
 | 
			
		||||
    @key3 = OpenSSL::PKey::EC.new(@group3)
 | 
			
		||||
    @key3.generate_key
 | 
			
		||||
 | 
			
		||||
    @groups = [@group1, @group2, @group3]
 | 
			
		||||
    @keys = [@key1, @key2, @key3]
 | 
			
		||||
      @groups << group
 | 
			
		||||
      @keys << key
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def compare_keys(k1, k2)
 | 
			
		||||
    assert_equal(k1.to_pem, k2.to_pem)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_builtin_curves
 | 
			
		||||
    assert(!OpenSSL::PKey::EC.builtin_curves.empty?)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_curve_names
 | 
			
		||||
    @groups.each_with_index do |group, idx|
 | 
			
		||||
      key = @keys[idx]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
#define RUBY_VERSION "1.9.3"
 | 
			
		||||
#define RUBY_PATCHLEVEL 474
 | 
			
		||||
#define RUBY_PATCHLEVEL 475
 | 
			
		||||
 | 
			
		||||
#define RUBY_RELEASE_DATE "2013-10-31"
 | 
			
		||||
#define RUBY_RELEASE_YEAR 2013
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue