Matthew Garrett
fb620efef8
Callbacks should return INTN, not UINTN
2012-10-09 09:44:55 -04:00
Matthew Garrett
3839b92b85
Remove unused variable
2012-10-09 09:43:37 -04:00
Matthew Garrett
fcb7401ed6
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
cfa77df48e
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
27db5b66aa
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
ae46cf9d05
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
19423e7f2b
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
ea5bba7315
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
13f88088c9
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
d2188bbf12
Fix menu items
...
Only show the MOK manipulation menu item if MokNew existed
2012-10-06 17:30:46 -04:00
Matthew Garrett
ba3c876b24
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
32b08c73d8
Fall back to MokManager if grub failed to validate
...
If we can't verify grub, fall back to MokManager. This permits shipping a
copy of shim and MokManager without distributing a key, letting
distributions provide their own for user installation.
2012-10-06 17:20:30 -04:00
Matthew Garrett
e4889c525b
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
0e81abac81
Don't show the invalid key number
2012-10-04 17:39:59 +08:00
Gary Ching-Pang Lin
8bddd68127
Use the same function to get commands and password
2012-10-04 17:39:54 +08:00
Gary Ching-Pang Lin
419c5e3577
Print the key number for the non-existent key also
2012-10-04 16:28:52 +08:00
Gary Ching-Pang Lin
27129e60a6
Don't print Backspace as we print nothing
2012-10-02 18:17:29 +08:00
Gary Ching-Pang Lin
3b8cc123ce
Calculate SHA1 fingerprint
...
openssl shows sha1 fingerprint by default.
2012-10-02 14:51:42 +08:00
Gary Ching-Pang Lin
7ad1f3b86d
Replace functions with the ones in gnu-efi
2012-10-02 12:58:32 +08:00
Gary Ching-Pang Lin
000e235101
Use LibDeleteVariable in gnu-efi
2012-10-02 11:55:44 +08:00
Gary Ching-Pang Lin
a737c14265
More tips for the MOK password
2012-09-27 16:54:38 +08:00
Gary Ching-Pang Lin
77e0d721ec
Filter out newline from the password array
2012-09-26 17:19:27 +08:00
Gary Ching-Pang Lin
a2cc3b0d11
correct wording
2012-09-26 16:36:53 +08:00
Gary Ching-Pang Lin
c6bd45d065
Build debug image for all efi files
2012-09-26 15:46:42 +08:00
Gary Ching-Pang Lin
c83f32162d
Define the max length of password
2012-09-24 17:27:52 +08:00
Gary Ching-Pang Lin
7dc45398d6
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
f42825e60e
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
ce2384495c
Make sure the variables are not broken
2012-09-21 16:44:56 +08:00
Gary Ching-Pang Lin
b386860250
Allow the new keys to be listed again
2012-09-21 15:36:57 +08:00
Gary Ching-Pang Lin
03953e08bc
Reject the binary when there is no key in MokList
2012-09-21 15:10:31 +08:00
Gary Ching-Pang Lin
12e2d62500
Make the key list interactive
2012-09-20 18:15:50 +08:00
Gary Ching-Pang Lin
caf006b44f
Make sure the time string is set
2012-09-20 15:54:57 +08:00
Gary Ching-Pang Lin
ff8d867c68
Improve the layout of the key info
2012-09-20 15:22:53 +08:00
Gary Ching-Pang Lin
e6194ddd0a
Remove the unused debug message
2012-09-20 10:35:43 +08:00
Gary Ching-Pang Lin
b3ff35663b
Check the MOK list correctly
2012-09-20 10:28:00 +08:00
Gary Ching-Pang Lin
1d7c0f8602
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
5d4b6ba037
Abandon the variable, MokMgmt
2012-09-19 14:54:35 +08:00
Gary Ching-Pang Lin
ed2ecf8655
Copy the MOK list to a RT variable
...
The RT variable, MokListRT, is a copy of MokList so that the
runtime applications can synchronize the key list without touching
the BS variable.
2012-09-11 17:43:44 +08:00
Gary Ching-Pang Lin
28c581335e
Use the machine owner keys to verify images
2012-09-11 16:39:12 +08:00
Gary Ching-Pang Lin
481c1e1e76
Add a separate efi application to manage MOKs
2012-09-11 16:38:29 +08:00
Gary Ching-Pang Lin
1395a9916b
Always try StartImage first
2012-09-11 16:37:02 +08:00
Gary Ching-Pang Lin
5f00e44f9a
Only launch MokManager when necessary
2012-09-11 16:34:25 +08:00
Gary Ching-Pang Lin
19e957f489
Retrieve attributes of variables
...
We have to make sure the machine owner key is stored in a BS
variable.
2012-09-11 16:31:05 +08:00
Gary Ching-Pang Lin
1fe0d49c9b
Merge branch 'master' into mok-prototype3
...
Conflicts:
shim.c
2012-09-07 18:22:34 +08:00
Gary Ching-Pang Lin
0d7c3dbde5
Load MokManager for MOK management
2012-09-07 18:11:45 +08:00
Gary Ching-Pang Lin
e235c85af1
Make the image loading process more generic
2012-09-07 17:43:21 +08:00
Peter Jones
bcd0a4e8df
Fix data alignment on vendor_cert so we don't wind up with padding.
2012-09-06 16:43:30 -04:00
Peter Jones
07c21a109d
Add some convenience make targets.
...
Adds targets for "test-archive" and "archive"
2012-09-06 12:38:30 -04:00
Peter Jones
3c2f1d6c3d
Break out of our db checking loop at the appropriate time.
...
The break in check_db_cert is at the wrong level due to a typo in
indentation, and as a result only the last cert in the list can
correctly match. Rectify that.
Signed-off-by: Peter Jones <pjones@redhat.com>
2012-09-06 12:13:44 -04:00
Matthew Garrett
3682a89543
Use the file size, not the image size field, for verification.
2012-09-06 12:13:44 -04:00