diff options
author | Ralph Amissah <ralph@amissah.com> | 2014-05-12 21:22:19 -0400 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2014-05-12 21:22:19 -0400 |
commit | 3ea16523f1a3cbbdcd451a3845725417ee2141d8 (patch) | |
tree | 837c9de4e9779ba2adacc4cbe4edad6d8a7ddc3f /lib/sisu/v6/param.rb | |
parent | v5: 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.rb | 13 |
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) |