Commit Graph

1445 Commits

Author SHA1 Message Date
Steve McIntyre
ee2d7bb94f Prepare Debian release 15+1533136590.3beb971-7 2019-05-08 02:06:02 +01:00
Steve McIntyre
ea8f00b9bf Remove the hash for Sledge's test arm64 grub binary
Not needed now.
2019-05-08 02:03:37 +01:00
Steve McIntyre
28e8f71ef2 Add an empty list of hashes for the Ubuntu build
so they'll get an empty dbs list rather than breaking the build
2019-05-07 11:05:48 +01:00
dann frazier
81dc204854 Output efisiglist commands to the build log
It wouldn't hurt to keep a record of them.
2019-05-06 13:56:20 -06:00
dann frazier
a42739719f Require dbx hashes
While it maybe convenient for a developer to be able to do a build
w/o any dbx hashes, it prevents the $(DBX_LIST) target from having
a proper dependency on the $(DBX_HASHES) file. If a developer were
to add a new hash in a built tree, make would not detect that on
a subsequent build and would not update the $(DBX_LIST) file.

Continue to support a NULL $(DBX_LIST) build by touching the
$(DBX_LIST) file in case no efisiglist commands ran. Developers
can now create an empty $(DBX_HASHES) file to get that.
2019-05-06 13:50:24 -06:00
dann frazier
99990d2175 Use $@ instead of referencing ${DBX_LIST} in multiple places 2019-05-06 13:33:20 -06:00
dann frazier
cdceb0fb38 'set -e' the code that generates the dbx list
Without this we would silently ignore an efisiglist command error.
2019-05-06 13:30:17 -06:00
dann frazier
55d5545782 Remove unnecessary exports 2019-05-06 13:29:30 -06:00
Steve McIntyre
cd18644209 Merge branch 'hack' from 93sam
Changes:

 crash fixes
 generate dbx file at runtime
2019-05-06 13:14:28 +01:00
Steve McIntyre
549f650b3d Add more hashes that we want to blacklist
signed arm64 grub binaries that allow use of the devicetree command,
as found in

 grub-efi-arm64-signed_1+2.02+dfsg1+16_arm64.deb
 grub-efi-arm64-signed_1+2.02+dfsg1+17_arm64.deb
2019-05-06 13:07:00 +01:00
Steve McIntyre
88a7a6505b Add initial file with test checksums for the dbx list 2019-05-06 13:00:19 +01:00
Steve McIntyre
6cf246a5c9 Generate a vendor dbx file at build time
This allow us to block executing binaries with specific
checksums. Generate the dbx list at runtime from a simple list of
sha256 hashes, so we can update this easily. If we need to also
blacklist a cert later, we'll need to update this code to add that
option too.

Add a build-dep on pesign to get the needed efisiglist program.
2019-05-04 18:56:30 +01:00
Steve McIntyre
e17b0af466 Build using gcc-7
To get better control of reproducibility during the lifetime of
Buster
2019-05-03 01:25:06 +00:00
Steve McIntyre
839af42e06 Update VCS-* fields in debian/control 2019-05-03 01:25:04 +00:00
Steve McIntyre
315e87677b Fix OBJ_create() to tolerate a NULL sn and ln
Cherry-picked fix from upstream MR at
3a9e237b1b

From: f13615c5b8

Apply an upstream patch from OpenSSL to tolerate a NULL sn. This
avoids a NULL pointer reference in shim.c:verify_eku(). This was
discovered because it causes a crash on ARM where, unlike x86, it does
not necessarily have memory mapped at 0x0.

Fixes: 6c180c6004 ("shim: verify Extended Key Usage flags")
Signed-off-by: dann frazier <dann.frazier@canonical.com>
2019-05-03 01:25:01 +00:00
Steve McIntyre
878d860c31 VLogError(): Avoid NULL pointer dereferences in (V)Sprint calls
Backport of upstream fix:

VLogError() calculates the size of format strings by using calls to
SPrint and VSPrint with a StrSize of 0 and NULL for an output
buffer. Unfortunately, this is an incorrect usage of (V)Sprint. A
StrSize of "0" is special-cased to mean "there is no limit". So, we
end up writing our string to address 0x0. This was discovered because
it causes a crash on ARM where, unlike x86, it does not necessarily
have memory mapped at 0x0.

Avoid the (V)Sprint calls altogether by using (V)PoolPrint, which
handles the size calculation and allocation for us.

Signed-off-by: Peter Jones <pjones@redhat.com>
Fixes: 25f6fd08cd ("try to show errors more usefully.")
[dannf: commit message ]
Signed-off-by: dann frazier <dann.frazier@canonical.com>
2019-05-03 01:24:56 +00:00
Steve McIntyre
8036ee26a1 Merge branch 'update-vcs-fields' into 'master'
debian/control: Update Vcs-* fields

See merge request efi-team/shim!4
2019-03-25 10:51:40 +00:00
Ansgar Burchardt
9987936665 debian/control: Update Vcs-* fields 2019-03-25 07:49:52 +01:00
Steve McIntyre
cb7c0af03e Prepare Debian release 15+1533136590.3beb971-6 2019-03-23 19:04:38 +00:00
Helmut Grohne
aa19fc4d38 Fix FTCBFS: Set CROSS_COMPILE. (Closes: #922152) 2019-03-23 19:00:59 +00:00
Steve McIntyre
6bb3165209 Add Provides: and Breaks: to shim-helpers-$arch-signed
to fix clashes with the old shim-signed package for fbx64.efi.signed
and mmx64.efi.signed. Closes: #924619
2019-03-23 18:58:54 +00:00
Steve McIntyre
6a35a720a6 Prepare Debian release 15+1533136590.3beb971-5 2019-03-12 01:38:52 +00:00
Steve McIntyre
14b8b20ebd Remove Rules-Requires-Root in the signing template.
We manually install things owned by root. There might be better ways
to do this, but this will do for now.
2019-03-12 01:37:40 +00:00
Steve McIntyre
424d859ce1 Add changelog entry for Ansgar's fix in 196119a5 2019-03-12 01:30:40 +00:00
Steve McIntyre
1341faba13 Merge branch 'correct-maintainer-address' into 'master'
Correct maintainer address in signing template

See merge request efi-team/shim!3
2019-03-12 01:25:18 +00:00
Ansgar Burchardt
196119a594 Correct maintainer address in signing template 2019-03-11 22:53:44 +01:00
Steve McIntyre
208bd43be2 Prepare Debian release 15+1533136590.3beb971-4
Force a no-change rebuild on all arches with a source-only upload
2019-03-09 22:27:03 +00:00
Steve McIntyre
b197d74e32 Prepare Debian release 15+1533136590.3beb971-3 2019-03-09 12:45:39 +00:00
Steve McIntyre
90609be3eb Update the signing-template JSON metadata
Move all the data under a new top-level "packages" key
Add an empty "trusted_certs" key - the helper binaries do not do any
further verification with an embedded key.
2019-03-08 22:04:53 +00:00
Steve McIntyre
226ac98674 Merge branch 'rename-helpers' into 'master'
Rename all the packages containg the helper binaries

See merge request efi-team/shim!2
2019-03-07 00:23:52 +00:00
Steve McIntyre
ba30131daf Rename all the packages containg the helper binaries
Remove potential confusion with shim-signed. We will now end up with
shim-helpers-$arch-signed to make it clear that they just contain the
helper binaries (fb.efi and mm.efi)
2019-03-06 22:44:57 +00:00
Steve McIntyre
d71a71f4e7 Change maintenance address to be the EFI team
Add me and vorlon to the Uploaders list
2019-03-06 22:04:49 +00:00
Steve McIntyre
739950c1c7 Typo fix: s,singing,signing,g 2019-03-06 21:56:31 +00:00
Luca Boccassi
51b45b0364 Add uname.patch to avoid architecture variability
Signed-off-by: Luca Boccassi <bluca@debian.org>
2019-02-15 21:50:10 +00:00
Luca Boccassi
9bfbee892e Include /usr/share/dpkg/architecture.mk instead of shelling out. 2019-02-15 21:26:05 +00:00
Luca Boccassi
8c00485c68 Override lintian error about template rules file
Lintian parses the shebang in the rules files of the templates packages
and complains that there is no dependency on make. But they are special
packages, so override it.
2019-02-15 21:26:05 +00:00
Philipp Hahn
f7add2255f Add shim-$arch-signed-template support
for getting the MOK-manager and fall-back binary to be signed by Debians
singing service instead of using an ephemeral key.

Closes: #922228
2019-02-15 21:26:05 +00:00
Philipp Hahn
c2dbb9ef4e Rename to shim-unsigned
as all EFI binaries are now unsigned. They are useless to any normal
user as
- shim is useless without being signed by an external UEFI CA.
- mm and fb won't be loaded by shim as they are now no longer linked to
  corresponding shim by the ephemeral key any longer.
2019-02-15 21:26:04 +00:00
Philipp Hahn
e914483c5b Disable ephemeral key on Debian
shim creates an ephemeral key, which gets embedded into shim and is used
to sign the corresponding mok-manager (mm*.efi) and fall-back-manager
(fb*.efi).
This makes the build unreproducible.

For Debian we will get those two binaries signed by our Debian-UEFI-CA,
which is the primary (and only) key embedded in shim.
2019-02-15 21:25:37 +00:00
Philipp Hahn
4bb202a099 debian/rules: fixing permissions no longer required
as Makefiles used "install -m 0644" by now.
2019-02-15 19:51:32 +00:00
Steve Langasek
8819008767 releasing package shim version 15+1533136590.3beb971-2 2019-02-11 05:18:25 +00:00
Steve Langasek
47660e6730 Update debian/copyright (drop reference to file no longer in source) 2019-02-10 21:16:09 -08:00
Steve Langasek
2b9acc731a Update Standards-Version. 2019-02-10 21:15:01 -08:00
Steve Langasek
1d945f7690 Ensure DEB_HOST_ARCH is set even if not present in the environment. 2019-02-10 21:10:48 -08:00
Steve Langasek
21efb35cce Enable build for i386. 2019-02-10 21:09:39 -08:00
Steve Langasek
cebae05a6d Fix debian/rules syntax for arm64 build. 2019-02-10 21:09:14 -08:00
Steve Langasek
2fab563a95 Update VCS to point to salsa. 2019-02-10 21:06:28 -08:00
Steve Langasek
100e3b0cdb Update debian/watch. 2019-02-10 00:15:42 -08:00
Steve Langasek
ab4c731c1d * New upstream release.
- debian/patches/second-stage-path: dropped; the default loader path now
    includes an arch suffix.
  - debian/patches/sbsigntool-no-pesign: dropped; no longer needed.
* Drop remaining patches that were not being applied.
* Sync packaging from Ubuntu:
  - debian/copyright: Update upstream source location.
  - debian/control: add a Build-Depends on libelf-dev.
  - Enable arm64 build.
  - debian/patches/fixup_git.patch: don't run git in clean; we're not
    really in a git tree.
  - debian/rules, debian/shim.install: use the upstream install target as
    intended, and move files to the target directory using dh_install.
  - define RELEASE and COMMIT_ID for the snapshot.
  - Set ENABLE_HTTPBOOT to enable the HTTP Boot feature.
  - Update dh_auto_build/dh_auto_clean/dh_auto_install for new upstream
    options: set MAKELEVEL.
  - Define an EFI_ARCH variable, and use that for paths to shim. This
    makes it possible to build a shim for other architectures than amd64.
  - Set EFIDIR=$distro for dh_auto_install; that will let files be installed
    in the "right" final directories, and makes boot.csv for us.
  - Set ENABLE_SHIM_CERT, to keep using ephemeral self-signed certs built
    at compile-time for MokManager and fallback.
  - Set ENABLE_SBSIGN, to use sbsign instead of pesign for signing fallback
    and MokManager.
2019-02-09 21:32:44 -08:00
Steve Langasek
0d63079c7d null merge of the Ubuntu git history 2019-02-09 21:26:40 -08:00