aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v6/param.rb
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2014-05-12 21:22:19 -0400
committerRalph Amissah <ralph@amissah.com>2014-05-12 21:22:19 -0400
commit3ea16523f1a3cbbdcd451a3845725417ee2141d8 (patch)
tree837c9de4e9779ba2adacc4cbe4edad6d8a7ddc3f /lib/sisu/v6/param.rb
parentv5: digests cleaning (diff)
v6: digests sha512 option implemented
* options sha512 sha256 md5 * command line --sha512 * rcconf.yml ['defsault']['digest'] = sha512 * (Closes: #744402)
Diffstat (limited to 'lib/sisu/v6/param.rb')
-rw-r--r--lib/sisu/v6/param.rb13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/sisu/v6/param.rb b/lib/sisu/v6/param.rb
index e3eaebae..9d310f7c 100644
--- a/lib/sisu/v6/param.rb
+++ b/lib/sisu/v6/param.rb
@@ -1281,14 +1281,23 @@ module SiSU_Param
if @sys.openssl !=false \
and FileTest.file?(@env.source_file_with_path)
@dgst=[]
- if @env.digest.type =~/sha256/
+ case @env.digest(@opt).type
+ when :sha512
+ dgst=@sys.sha512(@env.source_file_with_path)
+ @dgst=dgst[1].length==128 ? dgst : nil
+ puts 'check document (sha512) digest' if not @dgst
+ when :sha256
dgst=@sys.sha256(@env.source_file_with_path)
@dgst=dgst[1].length==64 ? dgst : nil
puts 'check document (sha256) digest' if not @dgst
- else
+ when :md5
dgst=@sys.md5(@env.source_file_with_path)
@dgst=dgst[1].length==32 ? dgst : nil
puts 'check document (md5) digest' if not @dgst
+ else
+ dgst=@sys.sha256(@env.source_file_with_path)
+ @dgst=dgst[1].length==64 ? dgst : nil
+ puts 'check document (sha256) digest' if not @dgst
end
elsif not FileTest.file?(@env.source_file_with_path)
#puts SiSU_Utils::CodeMarker.new(__LINE__,__FILE__).set(:fuchsia)