Skip to content

Commit cad8004

Browse files
committed
Merge branch 'ky/x509name-cmp-bugfix' into maint-2.0
* ky/x509name-cmp-bugfix: x509name: fix OpenSSL::X509::Name#{cmp,<=>}
2 parents 307db49 + f653cfa commit cad8004

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

ext/openssl/ossl_x509name.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ ossl_x509name_cmp(VALUE self, VALUE other)
362362

363363
result = ossl_x509name_cmp0(self, other);
364364
if (result < 0) return INT2FIX(-1);
365-
if (result > 1) return INT2FIX(1);
365+
if (result > 0) return INT2FIX(1);
366366

367367
return INT2FIX(0);
368368
}

test/test_x509name.rb

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -358,10 +358,16 @@ def test_equals2
358358
end
359359

360360
def test_spaceship
361-
n1 = OpenSSL::X509::Name.parse 'CN=a'
362-
n2 = OpenSSL::X509::Name.parse 'CN=b'
363-
364-
assert_equal(-1, n1 <=> n2)
361+
n1 = OpenSSL::X509::Name.new([["CN", "a"]])
362+
n2 = OpenSSL::X509::Name.new([["CN", "a"]])
363+
n3 = OpenSSL::X509::Name.new([["CN", "ab"]])
364+
365+
assert_equal 0, n1 <=> n2
366+
assert_equal -1, n1 <=> n3
367+
assert_equal 0, n2 <=> n1
368+
assert_equal -1, n2 <=> n3
369+
assert_equal 1, n3 <=> n1
370+
assert_equal 1, n3 <=> n2
365371
end
366372

367373
def name_hash(name)

0 commit comments

Comments
 (0)