capdev: fix capuse hashing, remove 'todo' panic
authorFergus Simpson <afergs@google.com>
Fri, 13 Jan 2017 19:13:28 +0000 (11:13 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 18 Jan 2017 18:27:55 +0000 (13:27 -0500)
commitc6b07853d18f4c952c4ee9729b52ea9b1ee5b868
treecea1aaf00066d8b5606a6b1ca4684947d2e5698a
parent39d8f3ab21b58fca2566b402d37d848e1defab9a
capdev: fix capuse hashing, remove 'todo' panic

Brings the capability device into a working state by fixing two hashing
bugs and removing a todo panic.

The first bug was in the call to capuse - the SHA256 member from a
different enum than was expected by the function was used. The same
index (1) in the expected enum was for SHA1 hashing. This meant the
produced hash was always the wrong type.

The second bug was in the usage of the return of the hashing function -
it returns a 32-byte binary representation, but it was used as a 64-byte
ASCII representation. This patch implements code to change the binary
representation into ASCII - 1 byte per nibble.

There was a todo panic that was triggered when both "from" and "to"
parameters were provided. It has been removed since it works now.

Change-Id: I24a0c546176db6d2347bf824f3803c60d4f5b0b1
Signed-off-by: Fergus Simpson <afergs@google.com>
Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/drivers/dev/capability.c