<feed xmlns='http://www.w3.org/2005/Atom'>
<title>efi-boot-shim.git/.gitignore, 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-05T14:10:35+00:00</updated>
<entry>
<title>Generate and use generated_sbat_var_defs.h</title>
<updated>2025-02-05T14:10:35+00:00</updated>
<author>
<name>Jan Setje-Eilers</name>
<email>jan.setjeeilers@oracle.com</email>
</author>
<published>2025-02-04T01:15:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=5ae408aede0a410f28de92a5fdc5ce406f2c4515'/>
<id>urn:sha1:5ae408aede0a410f28de92a5fdc5ce406f2c4515</id>
<content type='text'>
Build changes to generate include/generated_sbat_var_defs.h from
SbatLevel_Variable.txt and use that header file. From here on
forward SbatLevel_Variable.txt should be the only place a new
revocation needs to be recorded.

Signed-off-by: Jan Setje-Eilers &lt;Jan.SetjeEilers@oracle.com&gt;
</content>
</entry>
<entry>
<title>Add generate_sbat_var_defs utility program</title>
<updated>2025-02-05T14:10:35+00:00</updated>
<author>
<name>Jan Setje-Eilers</name>
<email>jan.setjeeilers@oracle.com</email>
</author>
<published>2024-12-21T02:49:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=743f3fa0e40c3971b3ea9c5eb7724cbf2a91c282'/>
<id>urn:sha1:743f3fa0e40c3971b3ea9c5eb7724cbf2a91c282</id>
<content type='text'>
This adds the utility program generate_sbat_var_defs, which can be used
to generate the sbar_var_defs.h header file from the human readable
SbatLevel_Variable.txt file.

Signed-off-by: Jan Setje-Eilers &lt;Jan.SetjeEilers@oracle.com&gt;
</content>
</entry>
<entry>
<title>Add libFuzzer support for csv.c</title>
<updated>2023-06-29T18:35:50+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2023-06-28T19:15:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=1578b55a70bd2204cb0ad6db18ae4c003494df81'/>
<id>urn:sha1:1578b55a70bd2204cb0ad6db18ae4c003494df81</id>
<content type='text'>
shim takes several forms of input from several sources that are not
necessarily trustworthy.  As such, we need to take measures to validate
that we don't have unacceptable results from bad inputs.  One such
measure is "fuzzing" the inputs which parse untrusted data by running
them with randomized or partially randomized input.

This change adds such testing using clang's "libFuzzer" to our CSV
parser.  I've run this on 24-cores at 4GHz for half an hour, and so far
each fuzzer has converged on 79% coverage.  I expect the 21% that's not
getting covered are the EFI API mock interfaces we're building in from
test.c and similar.  So far no errors have been found, which is what was
expected since this particular API is being manually fuzzed with ~8kB of
/dev/urandom on every build since 2021-02-23.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Add a make rule for compile_commands.json</title>
<updated>2023-06-23T21:12:58+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2023-04-28T15:52:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=89d25a1c027688400371bcc9b4eb4d1481edee00'/>
<id>urn:sha1:89d25a1c027688400371bcc9b4eb4d1481edee00</id>
<content type='text'>
This adds a make rule to generate compile_commands.json, which some
verifier tools depend on.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>tests: add a mock implementation of {Get,Set}Variable and tests for it</title>
<updated>2021-09-07T21:05:04+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-07-22T19:45:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=2c9eebcf6ddd198c5ba49d784c4536d05023c28b'/>
<id>urn:sha1:2c9eebcf6ddd198c5ba49d784c4536d05023c28b</id>
<content type='text'>
Some tests will need variables, and so we need a mock implementation of
the various calls relating to them.

This patch adds implementations for the EFI Runtime Services calls
GetVariable(), SetVariable(), GetNextVariableName(), and
QueryVariableInfo().  Additionally, it enforces tunable limits on
storage for variables, and (with only a little work) the limits can be
different for SetVariable() vs what is returned by QueryVariableInfo().
That is, it can lie to you like real systems do.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Add some more stuff to .gitignore</title>
<updated>2021-09-07T21:05:04+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-08-02T17:04:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=588e2dd8174cc7a114d716a31211de4051c6c699'/>
<id>urn:sha1:588e2dd8174cc7a114d716a31211de4051c6c699</id>
<content type='text'>
This adds compile_commands.json (used by https://github.com/neoclide/coc.nvim)
and clangd's .cache/ directory to .gitignore.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>.gitignore: ignore .gdb*, not just .gdbinit</title>
<updated>2021-07-20T13:44:25+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-07-02T18:37:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=352a741bc5fa9a71776d56750f51d80f9f2e808f'/>
<id>urn:sha1:352a741bc5fa9a71776d56750f51d80f9f2e808f</id>
<content type='text'>
Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Post-process our PE to be sure.</title>
<updated>2021-05-25T15:03:26+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-05-14T00:42:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=05875f3aed1c90fe071c66de05744ca2bcbc2b9e'/>
<id>urn:sha1:05875f3aed1c90fe071c66de05744ca2bcbc2b9e</id>
<content type='text'>
On some versions of binutils[0], including binutils-2.23.52.0.1-55.el7,
do not correctly initialize the data when computing the PE optional
header checksum.  Unfortunately, this means that any time you get a
build that reproduces correctly using the version of objcopy from those
versions, it's just a matter of luck.

This patch introduces a new utility program, post-process-pe, which does
some basic validation of the resulting binaries, and if necessary,
performs some minor repairs:

- sets the timestamp to 0
  - this was previously done with dd using constant offsets that aren't
    really safe.
- re-computes the checksum.

[0] I suspect, but have not yet fully verified, that this is
    accidentally fixed by the following upstream binutils commit:

    commit cf7a3c01d82abdf110ef85ab770e5997d8ac28ac
    Author: Alan Modra &lt;amodra@gmail.com&gt;
    Date:   Tue Dec 15 22:09:30 2020 +1030

      Lose some COFF/PE static vars, and peicode.h constify

      This patch tidies some COFF and PE code that unnecessarily used static
      variables to communicate between functions.

v2 - MAP_PRIVATE was totally wrong...

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>build: load local build configuration from Make.local if present</title>
<updated>2021-03-16T17:23:17+00:00</updated>
<author>
<name>Paul Moore</name>
<email>pmoore2@cisco.com</email>
</author>
<published>2020-10-20T17:26:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=6fa1c8e6820421a5ca3c422cf8c7a7c6d7851460'/>
<id>urn:sha1:6fa1c8e6820421a5ca3c422cf8c7a7c6d7851460</id>
<content type='text'>
If the file Make.local exists, use it as a source of local build
configuration by including it in Make.defaults.

(cherry picked from commit 57e38a1ebf73 in the shim-15.2 branch)

Signed-off-by: Paul Moore &lt;pmoore2@cisco.com&gt;
</content>
</entry>
<entry>
<title>Add test cases for our CSV parser.</title>
<updated>2021-02-25T15:15:14+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-02-23T20:01:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=615e701d53383a67131e9082d1c7329b69aa9f5d'/>
<id>urn:sha1:615e701d53383a67131e9082d1c7329b69aa9f5d</id>
<content type='text'>
This does a couple of straightforward tests on our CSV parser, and then
for good measure it does two with random data - one that's just random
data, one that's had all the zeros changed to nonzero values.

Note that building and running this test does not quite work yet /on
this branch/.  In order to do that, we need some cleanups and
reorganizing that I don't want to push just yet, which can be found on
https://github.com/rhboot/shim/tree/test-reorg

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