From 360b98355e08c455d627c31c5f63bdda75fe8de2 Mon Sep 17 00:00:00 2001 From: naruse Date: Thu, 26 Nov 2015 08:31:12 +0000 Subject: [PATCH] fixup! r52695 OpenSSL's SHA1 struct name is SHA_CTX (which is also used for SHA-0), but function name is SHA1_Transform. http://openssl.org/docs/man0.9.8/crypto/SHA1.html also note that LibreSSL 2.3 remove the SHA-0 support but still support SHA-1. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/digest/digest_conf.rb | 5 +++-- ext/digest/sha1/extconf.rb | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ext/digest/digest_conf.rb b/ext/digest/digest_conf.rb index b2a8195fa2..6a4ef6f176 100644 --- a/ext/digest/digest_conf.rb +++ b/ext/digest/digest_conf.rb @@ -1,4 +1,4 @@ -def digest_conf(name, hdr = name, funcs = nil) +def digest_conf(name, hdr = name, funcs = nil, types = nil) unless with_config("bundled-#{name}") cc = with_config("common-digest") if cc == true or /\b#{name}\b/ =~ cc @@ -15,9 +15,10 @@ def digest_conf(name, hdr = name, funcs = nil) if have_library("crypto") funcs ||= name.upcase funcs = Array(funcs) + types ||= funcs hdr = "openssl/#{hdr}.h" if funcs.all? {|func| OpenSSL.check_func("#{func}_Transform", hdr)} && - funcs.all? {|func| have_type("#{func}_CTX", hdr)} + types.all? {|type| have_type("#{type}_CTX", hdr)} $defs << "-D#{name.upcase}_USE_OPENSSL" return :ossl end diff --git a/ext/digest/sha1/extconf.rb b/ext/digest/sha1/extconf.rb index b5c111f36e..03cbf66b5e 100644 --- a/ext/digest/sha1/extconf.rb +++ b/ext/digest/sha1/extconf.rb @@ -9,7 +9,7 @@ $defs << "-DHAVE_CONFIG_H" $objs = [ "sha1init.#{$OBJEXT}" ] -digest_conf("sha1", "sha", "SHA") +digest_conf("sha1", "sha", nil, %w[SHA]) have_header("sys/cdefs.h")