<feed xmlns='http://www.w3.org/2005/Atom'>
<title>efi-boot-shim.git/include/pe.h, branch rolling</title>
<subtitle> (mirror of https://github.com/vyos/efi-boot-shim.git)
</subtitle>
<id>https://git.amelek.net/vyos/efi-boot-shim.git/atom?h=rolling</id>
<link rel='self' href='https://git.amelek.net/vyos/efi-boot-shim.git/atom?h=rolling'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/'/>
<updated>2025-02-26T00:40:54+00:00</updated>
<entry>
<title>Add shim's current NX_COMPAT status to HSIStatus</title>
<updated>2025-02-26T00:40:54+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2025-02-21T00:20:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=89e615081af5fbafefeae5b09def3a003e467838'/>
<id>urn:sha1:89e615081af5fbafefeae5b09def3a003e467838</id>
<content type='text'>
hughsie asked me to also make it observable at runtime whether the shim
binary that was used to boot was set as NX_COMPAT or not.

This adds that into the HSIStatus data as "shim-has-nx-compat-set".

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>pe: read_header(): allow skipping SecDir content validation</title>
<updated>2025-02-26T00:40:54+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2025-02-25T16:44:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=3bce11831343ba6e67740f23ab3a6c6f09bc0bca'/>
<id>urn:sha1:3bce11831343ba6e67740f23ab3a6c6f09bc0bca</id>
<content type='text'>
When we're parsing the PE header of shim itself from the Loaded Image
object, the signatures aren't present, but the Certificate Table entry
in the Data Directory has not been cleared, so it'll fail verification.

We know when we're doing that, so this patch makes that test optional.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Split pe.c up even more.</title>
<updated>2023-06-23T21:13:13+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2023-04-28T18:44:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=996496065e9231dc51ca99b903615df8640bb797'/>
<id>urn:sha1:996496065e9231dc51ca99b903615df8640bb797</id>
<content type='text'>
This moves the parts of pe.c that *don't* depend on Cryptlib into
pe-relocate.c, so we can write test cases for them without having to
make a second openssl build without EFI support.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Add verify_image</title>
<updated>2022-05-17T22:30:52+00:00</updated>
<author>
<name>Eric Snowberg</name>
<email>eric.snowberg@oracle.com</email>
</author>
<published>2022-01-27T22:33:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=bb4b60e800823c1e48220935e3b9180c8c82e1a7'/>
<id>urn:sha1:bb4b60e800823c1e48220935e3b9180c8c82e1a7</id>
<content type='text'>
In the future we will want to examine binaries without wanting to
execute them.  Create verify_image based off existing handle_image
code.

Signed-off-by: Eric Snowberg &lt;eric.snowberg@oracle.com&gt;
</content>
</entry>
<entry>
<title>shim: implement SBAT verification for the shim_lock protocol</title>
<updated>2022-04-05T17:37:03+00:00</updated>
<author>
<name>Chris Coulson</name>
<email>chris.coulson@canonical.com</email>
</author>
<published>2022-02-28T21:29:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=a2da05fcb8972628bec08e4adfc13abbafc319ad'/>
<id>urn:sha1:a2da05fcb8972628bec08e4adfc13abbafc319ad</id>
<content type='text'>
This implements SBAT verification via the shim_lock protocol
by moving verification inside the existing verify_buffer()
function that is shared by both shim_verify() and handle_image().

The .sbat section is optional for code verified via the shim_lock
protocol, unlike for code that is verified and executed directly
by shim. For executables that don't have a .sbat section,
verification is skipped when using the protocol.

A vendor can enforce SBAT verification for code verified via the
shim_lock protocol by revoking all pre-SBAT binaries via a dbx
update or by using vendor_dbx and then only signing binaries that
have a .sbat section from that point.

Signed-off-by: Chris Coulson &lt;chris.coulson@canonical.com&gt;
</content>
</entry>
<entry>
<title>pe: simplify generate_hash()</title>
<updated>2021-09-10T20:09:26+00:00</updated>
<author>
<name>Heinrich Schuchardt</name>
<email>heinrich.schuchardt@canonical.com</email>
</author>
<published>2021-09-03T20:38:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=26998367eb6153cd24b6e82949d5f7874a036372'/>
<id>urn:sha1:26998367eb6153cd24b6e82949d5f7874a036372</id>
<content type='text'>
Copying the value of datasize_in to two further variables and then using
all three randomly in the code makes it hard to read.

datasize_in is never changed in generate_hash() so we can do with this
parameter alone. Rename it to datasize.

Signed-off-by: Heinrich Schuchardt &lt;heinrich.schuchardt@canonical.com&gt;
</content>
</entry>
<entry>
<title>sbat: make shim to parse it's own .sbat section on init</title>
<updated>2021-02-19T19:28:10+00:00</updated>
<author>
<name>Javier Martinez Canillas</name>
<email>javierm@redhat.com</email>
</author>
<published>2021-02-17T13:03:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=8e34030ba544b4583c87e070d1a1e0e6b9ff5d60'/>
<id>urn:sha1:8e34030ba544b4583c87e070d1a1e0e6b9ff5d60</id>
<content type='text'>
This is needed for shim to verify itself when booting, to make sure that
shim binaries can't be executed anymore after been revoked by SBAT.

Signed-off-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
</content>
</entry>
<entry>
<title>Move a bunch of PE-related stuff out of shim.c</title>
<updated>2021-02-13T16:02:59+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2020-12-02T18:59:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=06e98a10f639ba53201876f2ff9fbd468bfa8189'/>
<id>urn:sha1:06e98a10f639ba53201876f2ff9fbd468bfa8189</id>
<content type='text'>
Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Renaming PeImage.h to pe.h wasn't actually a good idea.</title>
<updated>2021-01-29T23:45:00+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-01-29T23:45:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=1fa0b8d50a7f93b266728f297fee8c43becec203'/>
<id>urn:sha1:1fa0b8d50a7f93b266728f297fee8c43becec203</id>
<content type='text'>
I renamed PeImage.h to pe.h when I de-capitalized them, but this turns
out to be a bad idea because we already have a pe.h on the SBAT branch.
Woops.

This moves it to peimage.h

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Always use lower case for our local include file names.</title>
<updated>2021-01-29T23:24:57+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-01-29T20:11:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=0789f48d70b7593808f18dc4f1dbce2ca67df0f4'/>
<id>urn:sha1:0789f48d70b7593808f18dc4f1dbce2ca67df0f4</id>
<content type='text'>
clang-format doesn't allow you to specify an include sort order, and
just assumes asciibetical is a pretty good order, which doesn't work as
well as you would hope.

This makes them all lower case so they don't need to be re-sorted.

I also went through and checked that we're using quoted local includes
at all the appropriate places.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
</feed>
