Commit Graph

89 Commits

Author SHA1 Message Date
Matthew Garrett
e204505d2d Add menu header
Add a basic header to the menu to make it clearer what's going on.
Define SHIM_VENDOR in order to override the default.
2012-10-11 09:55:14 -04:00
Matthew Garrett
5f292f8f91 Clear screen on exit 2012-10-11 09:45:14 -04:00
Matthew Garrett
202b5c3e12 Add timeout support
We should time out if there aren't any keypresses at the top level menu
within a reasonable timeframe.
2012-10-11 09:44:27 -04:00
Matthew Garrett
66fe4506fb Fix whitespace 2012-10-11 09:26:16 -04:00
Gary Ching-Pang Lin
dfbe823b53 Remove unnecessary newline
The newline character shouldn't be present in the menu item string
2012-10-11 09:24:06 -04:00
Gary Ching-Pang Lin
d6332c078f Pass the size of MokNew to the key enrollment function
The size of MokNew was missing and it caused crash when enrolling new MOKs
with mokutil
2012-10-11 09:24:06 -04:00
Matthew Garrett
4aeb0a9162 Callbacks should return INTN, not UINTN 2012-10-09 09:44:55 -04:00
Matthew Garrett
41f5d6095f Remove unused variable 2012-10-09 09:43:37 -04:00
Matthew Garrett
c9696a1c97 Don't lose the last file in top-level directories
The filesystem callback was failing to account for the additional menu
item to return to the filesystem list, and so the last file entry in the
root directory would be missing from the list.
2012-10-09 09:43:08 -04:00
Matthew Garrett
d1c2586c23 Fix filesystem enrollment
We would always enrol a single key, deleting any existing keys in the
database. Fix that up.
2012-10-08 17:35:50 -04:00
Matthew Garrett
1e9de96f8a Add an auth argument to store_keys()
If the user is manually installing keys from a filesystem then we don't need
to ask for the key password.
2012-10-08 17:34:55 -04:00
Matthew Garrett
cb22de62e7 Add __attribute__ ((packed)) to MokListNode definition
Packing this lets us use MokListNode with the binary MokList representation.
2012-10-08 17:33:32 -04:00
Matthew Garrett
9201fa9ec6 Disable menu freeing
This looks like it ought to work, but is currently failing. Leaking here
isn't a big deal, so just disable it until I figure out what's wrong.
2012-10-06 17:52:38 -04:00
Matthew Garrett
a68a0c7b03 Fix menucount
Menucount wasn't being incremented for the final top level menu, so
the file explorer menu item wasn't appearing.
2012-10-06 17:39:21 -04:00
Matthew Garrett
c9d2ff8c40 Free menus and add statics
Make sure we free menu items after exiting a menu. Also, add some missing
static annotations.
2012-10-06 17:30:49 -04:00
Matthew Garrett
24eace9953 Fix menu items
Only show the MOK manipulation menu item if MokNew existed
2012-10-06 17:30:46 -04:00
Matthew Garrett
27a8fc9fd1 Always show the MokManager UI
If someone explicitly starts MokManager then we want to show the UI
2012-10-06 17:22:33 -04:00
Matthew Garrett
d991c4a178 Add filesystem browsing and enrollment
Add a basic menu system and file explorer. This makes it possible for the
user to enrol keys from media from within shim rather than having to boot
an OS first. This would permit vendors to distribute a signed shim without
having to install their own keys first - the keys could be stored on the
install media instead.
2012-10-05 19:04:57 -04:00
Gary Ching-Pang Lin
577029ad75 Don't show the invalid key number 2012-10-04 17:39:59 +08:00
Gary Ching-Pang Lin
3ece2b337e Use the same function to get commands and password 2012-10-04 17:39:54 +08:00
Gary Ching-Pang Lin
67f1e0b259 Print the key number for the non-existent key also 2012-10-04 16:28:52 +08:00
Gary Ching-Pang Lin
0692f833c9 Don't print Backspace as we print nothing 2012-10-02 18:17:29 +08:00
Gary Ching-Pang Lin
5e43e91f3d Calculate SHA1 fingerprint
openssl shows sha1 fingerprint by default.
2012-10-02 14:51:42 +08:00
Gary Ching-Pang Lin
5816917f72 Replace functions with the ones in gnu-efi 2012-10-02 12:58:32 +08:00
Gary Ching-Pang Lin
f3104a7314 Use LibDeleteVariable in gnu-efi 2012-10-02 11:55:44 +08:00
Gary Ching-Pang Lin
aa8e90679d More tips for the MOK password 2012-09-27 16:54:38 +08:00
Gary Ching-Pang Lin
44423f01a4 Filter out newline from the password array 2012-09-26 17:19:27 +08:00
Gary Ching-Pang Lin
a4c1e5965f correct wording 2012-09-26 16:36:53 +08:00
Gary Ching-Pang Lin
ff857b4b8d Define the max length of password 2012-09-24 17:27:52 +08:00
Gary Ching-Pang Lin
215e462b10 Request a password to verify the key list
The password must contain 8 characters at least and 16 characters
at most and will be hashed with the key list altogether. The keys
in MokNew won't be allowed to be enrolled unless the user provides
the correct password.
2012-09-24 15:48:01 +08:00
Gary Ching-Pang Lin
5d328c6c45 Erase stored keys when there is no key in the new key list 2012-09-21 16:45:02 +08:00
Gary Ching-Pang Lin
6919a3f7c7 Make sure the variables are not broken 2012-09-21 16:44:56 +08:00
Gary Ching-Pang Lin
6306b495c5 Allow the new keys to be listed again 2012-09-21 15:36:57 +08:00
Gary Ching-Pang Lin
f775849e12 Make the key list interactive 2012-09-20 18:15:50 +08:00
Gary Ching-Pang Lin
f78ff3bf0e Make sure the time string is set 2012-09-20 15:54:57 +08:00
Gary Ching-Pang Lin
ea8ee44476 Improve the layout of the key info 2012-09-20 15:22:53 +08:00
Gary Ching-Pang Lin
2db8a14ad4 Remove the unused debug message 2012-09-20 10:35:43 +08:00
Gary Ching-Pang Lin
c326e2dff4 Simplify the key management
Move the key list building and management to mokutil to keep
MokManager as simple as possible.
2012-09-19 17:12:30 +08:00
Gary Ching-Pang Lin
333bd97743 Add a separate efi application to manage MOKs 2012-09-11 16:38:29 +08:00