<feed xmlns='http://www.w3.org/2005/Atom'>
<title>efi-boot-shim.git/lib, branch 15.4</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=15.4</id>
<link rel='self' href='https://git.amelek.net/vyos/efi-boot-shim.git/atom?h=15.4'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/'/>
<updated>2021-03-25T18:36:53+00:00</updated>
<entry>
<title>Make building outside of the top directory work.</title>
<updated>2021-03-25T18:36:53+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-03-24T21:51:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=8578b75f9c18fd267c8a0746192ab3f051561df2'/>
<id>urn:sha1:8578b75f9c18fd267c8a0746192ab3f051561df2</id>
<content type='text'>
This also makes the cross-build targets (and not the others) /use/ this
functionality, so we'll catch it if we break it again.

This fixes issue #340.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Fix boot failures due to variable size constraints</title>
<updated>2021-03-22T20:44:03+00:00</updated>
<author>
<name>Chris Coulson</name>
<email>chris.coulson@canonical.com</email>
</author>
<published>2021-03-19T16:50:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=f9294c2fa9feaf5353c0b7a4a7ce102a820c1a3f'/>
<id>urn:sha1:f9294c2fa9feaf5353c0b7a4a7ce102a820c1a3f</id>
<content type='text'>
There are multiple issues in the MOK variable mirroring code due
to volatile variable size constraints, which all result in boot
failures:

- If a signature is encountered which doesn't fit in to a single
variable, the code enters an infinite loop because the cursor
isn't advanced in mirror_mok_db() after the call to
mirror_one_esl().

- If an ESL is encountered which doesn't fit in to a single
variable, it looks like the intention is for the ESL to be split
across multiple variables. However, mirror_one_esl() will write
the maximum variable size on each call, regardless of how much
data is remaining for the current ESL. If the size of a ESL isn't
a multiple of the maximum variable size, the final call to
mirror_one_esl() will append data from the start of the next
ESL and the cursor in mirror_mok_db() will be advanced to an
arbitrary location in the next ESL. This either results in garbage
being mirrored (if you're lucky), or in my case - another infinite
loop as it appears to encounter a signature that doesn't fit in to
a single variable.

- If no signatures can be mirrored when mirror_mok_db() is called
with only_first=TRUE, it tries to create a variable with a single
SHA256 signature in it. But mirror_mok_db() returns an error
(EFI_INVALID_PARAMETER) regardless of whether this succeeds.
</content>
</entry>
<entry>
<title>Make 'make test' work on gcc 4.8.5</title>
<updated>2021-03-22T20:43:44+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-03-21T19:57:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=33db42def2ce6fe040b5f77642347e8b3c6420e5'/>
<id>urn:sha1:33db42def2ce6fe040b5f77642347e8b3c6420e5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Ensure that MOK variable mirroring creates well formed ESLs</title>
<updated>2021-03-19T02:47:43+00:00</updated>
<author>
<name>Chris Coulson</name>
<email>chris.coulson@canonical.com</email>
</author>
<published>2021-03-18T14:32:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=3dd40ade68c6ff63e776b5f9acbd811a3c345d01'/>
<id>urn:sha1:3dd40ade68c6ff63e776b5f9acbd811a3c345d01</id>
<content type='text'>
The MOK variable mirroring makes use of variable_create_esl, which
can only create a well-formed EFI_SIGNATURE_LIST containing a single
signature. Fix fill_esl and variable_create_esl to support creating
a EFI_SIGNATURE_LIST with one or more supplied EFI_SIGNATURE_DATA
structures.

Introduce variable_create_esl_with_one_signature and
fill_esl_with_one_signature for code that does want to create a
EFI_SIGNATURE_LIST containing a single signature constructed from
a supplied signature data buffer and owner GUID.
</content>
</entry>
<entry>
<title>Sort input file names in lib/Makefile</title>
<updated>2021-03-17T15:54:21+00:00</updated>
<author>
<name>Thomas Frauendorfer | Miray Software</name>
<email>tf@miray.de</email>
</author>
<published>2021-03-17T09:49:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=7defee6ad60d16dc762c110f67ec9074cbb4039a'/>
<id>urn:sha1:7defee6ad60d16dc762c110f67ec9074cbb4039a</id>
<content type='text'>
The order in which the foreach() returns files differes from
Debian on WSL1 and Debian running natively.
When shim is build on these two platforms the resulting binaries differ.

This patch manually sorts the input file list to create identical binaries.

Signed-off-by: Thomas Frauendorfer | Miray Software &lt;tf@miray.de&gt;
</content>
</entry>
<entry>
<title>More va_* work</title>
<updated>2021-03-12T09:15:01+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-03-11T21:48:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=4457d79ce0ea638e7732f5529bf13849e290940d'/>
<id>urn:sha1:4457d79ce0ea638e7732f5529bf13849e290940d</id>
<content type='text'>
Be much more explicit about exactly which va_* stuff comes from which
ABI in both shim and gnu-efi.  This fixes the problem where we see:

| (null):0:(null)() v-&gt;name:"(null)" v-&gt;rtname:"(null)"
| (null):0:(null)() v-&gt;data_size:0 v-&gt;data:0x0

and similar messages where everything is NULL.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>get_variable_attr(): fix a nit scan-build found.</title>
<updated>2021-03-12T09:15:01+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-03-11T16:30:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=ed6265c567f7e5aaa0d326e8a5fc21f3499f3ffc'/>
<id>urn:sha1:ed6265c567f7e5aaa0d326e8a5fc21f3499f3ffc</id>
<content type='text'>
scan-build believes we can hit a situation where get_variable_attr() is
called with NULL data, in which case we're not correctly returning an
error.

This adds the error return.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Add more string test cases.</title>
<updated>2021-03-10T20:54:20+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-03-10T19:26:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=c722a590d08506f29ddb70c1c57c511a836efb7a'/>
<id>urn:sha1:c722a590d08506f29ddb70c1c57c511a836efb7a</id>
<content type='text'>
This adds test cases for the rest of our ASCII string functions.  While
doing so, it fixes two minor bugs:
- strcasecmp() now handles utf8 correctly
- strncpy() no longer does the stpncpy() behavior of clearing leftover
  buffer

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Add some test cases, and make "make test" actually work.</title>
<updated>2021-03-10T20:54:20+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-03-09T16:56:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=bbdfa72a0a5f8d5a8dd4a47e67195504a22ece5b'/>
<id>urn:sha1:bbdfa72a0a5f8d5a8dd4a47e67195504a22ece5b</id>
<content type='text'>
Note the one test case I'm not 100% sure about.  Someone let me know.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Fix stdarg to work the same everywhere.</title>
<updated>2021-03-10T20:54:20+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-03-09T19:40:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=9beca885c29c77bb901547321a5ce6fd3c9c8ee3'/>
<id>urn:sha1:9beca885c29c77bb901547321a5ce6fd3c9c8ee3</id>
<content type='text'>
This gets us the same working definition for VA_* va_* etc everywhere,
and it's the same definition edk2 is using.

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