]> git.cryptolib.org Git - avr-crypto-lib.git/blobdiff - host/nessie_check.rb
fixing some decryption bugs in GCM128
[avr-crypto-lib.git] / host / nessie_check.rb
index 56bd17be50da837a7385a1df8989dcaf8b8c8c62..cea8925e31438c8295f1b01ab5c89279d0677d13 100644 (file)
@@ -1,4 +1,4 @@
-#!/usr/bin/ruby 
+#!/usr/bin/ruby
 # nessie_check.rb
 =begin
     This file is part of the AVR-Crypto-Lib.
     along with this program.  If not, see <http://www.gnu.org/licenses/>.
 =end
 
+$debug = true
+
 def skip_header(file)
   begin
     l = file.gets().strip
+    l = '' if !l
   end until /[*]{10,}.*/.match(l)
   begin
     l = file.gets().strip
+    l = '' if !l
   end until /[*]{10,}.*/.match(l)
   begin
     l = file.gets().strip
+    l = '' if !l
   end until /[=]{5,}.*/.match(l)
   begin
     l = file.gets().strip
+    l = '' if !l
   end until /[=]{5,}.*/.match(l)
 end
 
@@ -47,7 +53,7 @@ def get_next_assign(file, i)
          return nil if file.eof
          l = file.gets().strip()
          if not /[^=]+=[^=]+/.match(l)
-           value += l if /[0-9A-Fa-f]{5}/.match(l)
+           value += l if /^[0-9A-Fa-f]{5}/.match(l)
          end
     end until /[^=]+=[^=]+/.match(l)
        $last_assign[i] = l
@@ -59,7 +65,7 @@ def get_next_assign(file, i)
          return nil if file.eof
          l = file.gets().strip()
          if not /[^=]+=[^=]+/.match(l)
-           value += l if /[0-9A-Fa-f]{5}/.match(l)
+           value += l if /^[0-9A-Fa-f]{5}/.match(l)
          end
     end until /[^=]+=[^=]+/.match(l)
        $last_assign[i] = l
@@ -84,10 +90,10 @@ def compare(fname1, fname2)
       pos +=1
        end
        if(a!=b and a!=nil and b!=nil)
-         $error = 1
-         puts("a key: "+a[0]+" value: "+a[1])
-         puts("b key: "+b[0]+" value: "+b[1])
-       end     
+         $error += 1
+         puts("a key: "+a[0]+" value: "+a[1]) if $debug
+         puts("b key: "+b[0]+" value: "+b[1]) if $debug
+       end
   end until a==nil or b==nil
 end
 
@@ -109,12 +115,16 @@ if ARGV.size==3
     $quiet=true
   end
 else
-  f1 = ARGV[1]
-  f2 = ARGV[2]
+  f1 = ARGV[0]
+  f2 = ARGV[1]
 end
-  
+
 puts("compare("+f1+", "+f2+")")
 compare(f1, f2)
-puts($error==0?"[ok]":"[failed]")
+if $error!=0
+  puts("[failed] ("+$error.to_s()+")")
+else
+  puts("[ok]")
+end
 
 exit($error)