Commit Graph

2532 Commits

Author SHA1 Message Date
Gary Lin
e5154d3ac3 redfish: Assume the device is updatable by default
The "Updateable" field may not be available.

Signed-off-by: Gary Lin <glin@suse.com>
2018-08-06 06:19:56 +01:00
Gary Lin
2e0e179298 redfish: Read options from redfish.conf
This commit adds redfish.conf to configure the IP and username/password
in case those are not available in SMBIOS and the EFI variables.

Since we can configure the IP in the conf file, the environment
variable, FWUPD_REDFISH_URI, is removed.

Signed-off-by: Gary Lin <glin@suse.com>
2018-08-06 06:19:56 +01:00
Gary Lin
27986ebf3e redfish: Generate IDs for redfish devices
Generate IDs for redfish devices and skip the devices without a
proper GUID.

Signed-off-by: Gary Lin <glin@suse.com>
2018-08-06 06:19:56 +01:00
Gary Lin
213bdf0637 redfish: Fetch the inventory collection
All inventory members are in the inventory collection.

Signed-off-by: Gary Lin <glin@suse.com>
2018-08-06 06:19:56 +01:00
Gary Lin
ce8aa4f84a redfish: Always use Basic Auth
Although SoupAuthManager can create a proper SoupAuth from the
WWW-Authenticate header, some redfish implementations didn't provide
such header, and we would get a 401 response in the end.

In DSP0266, it mentions that "HTTP BASIC authentication as defined by
RFC7235 shall be supported", so it shall be safe to use Basic Auth
by default.

Signed-off-by: Gary Lin <glin@suse.com>
2018-08-06 06:19:56 +01:00
Gary Lin
95ee874b2e redfish: Remove the json object of Links
UpdateService is in the root json object, so we don't need the Links
json object.

Signed-off-by: Gary Lin <glin@suse.com>
2018-08-06 06:19:56 +01:00
Gary Lin
701b46bbb2 redfish: Adjust the first redfish path
Change the redfish path from "/redfish/v1" to "/redfish/v1/" so that we
don't have to handle 308 redirect.

Signed-off-by: Gary Lin <glin@suse.com>
2018-08-06 06:19:56 +01:00
Gary Lin
3456238f0a redfish: Detect the HPE DeviceClass
DeviceClass in Oem/Hpe indicates the type of device in the HPE machine.
In case SoftwareId is absent, we can use DeviceClass instead.

Signed-off-by: Gary Lin <glin@suse.com>
2018-08-06 06:19:56 +01:00
Gary Lin
ad594286b2 redfish: Check "Updateable" and "SoftwareId" before using them
Although "Updateable" is defined in SoftwareInventory schema since
redfish v1.0.0, some machines(*) didn't support the field.

"SoftwareId" is defined in SoftwareInventory schema since v1.1.0, so
it probably isn't supported by every redfish machines.

(*) Try "/redfish/v1/UpdateService/FirmwareInventory/1/" with HPE DL380
    Gen 10 in https://ilorestfulapiexplorer.ext.hpe.com/

Signed-off-by: Gary Lin <glin@suse.com>
2018-08-06 06:19:56 +01:00
Mario Limonciello
5b57d7fcd3 trivial: debian: correct another syntax error in SB signing template 2018-08-05 08:33:20 -05:00
Mario Limonciello
2f7669f278 contrib/debian: generate debian/copyright dynamically 2018-08-05 08:22:23 -05:00
Mario Limonciello
7154f63397 trivial: Adjust syntax of varying copyright holders to unify across project 2018-08-05 08:22:23 -05:00
Mario Limonciello
67604eab64 trivial: debian: correct secure boot signing template name (Closes: #905471) 2018-08-05 00:05:23 -05:00
Mario Limonciello
8dee8fd12c trivial: gitignore: Don't ever include artifacts from Debian builds 2018-08-04 22:36:01 -05:00
Mario Limonciello
54b0e239bd trivial: debian: refresh debian/copyright (Closes: #904671) 2018-08-04 22:31:32 -05:00
Mario Limonciello
df12c14032 trivial: debian: Fix secure boot signing template (Closes: #905468) 2018-08-04 22:25:36 -05:00
Mario Limonciello
0ad1185aa9 trivial: debian: make sure EFI binaries are in correct binary package 2018-08-04 19:49:47 -05:00
Mario Limonciello
607597d2d8 trivial: debian/rules: dynamically install EFI binaries 2018-08-04 19:40:31 -05:00
Mario Limonciello
20c0234086 trivial: debian: use pkg-config to determine when to turn on redfish and UEFI
Fixes FTBFS in Debian due to Redfish not working on !x86
2018-08-04 16:57:50 -05:00
Richard Hughes
2d37c3f64b trivial: Add a virtual provide of com.redhat.fwupdate
Some firmware depends on this component, which we absorbed in the last release.

See also: https://github.com/hughsie/fwupd/issues/614
2018-08-04 19:06:03 +01:00
Mario Limonciello
e6cc71bea1 fu-hwids: Fix a segfault in smbios data processing caught by fuzzing
Reported-by: Lionel Debroux <lionel_debroux@yahoo.fr>
2018-08-04 06:31:51 +01:00
Mario Limonciello
ef6f1d7698 thunderbolt-power: Reset the timer on every TBT add uevent
This should help issues where the TBT controller takes a longer
time to run at cold boot startup.

Refer to https://bugzilla.kernel.org/show_bug.cgi?id=199631 for
more information.
2018-08-04 06:30:52 +01:00
Mario Limonciello
c4afb99620 trivial: thunderbolt: Don't re-use GErrors
In instances that we keep processing (such as warnings) these should
be dedicated error variables.
2018-08-01 06:36:07 +01:00
Mario Limonciello
25d51d1429 thunderbolt: Handle -EAGAIN from the kernel better when reading NVM (Closes #608)
Sometimes during initialization trying to read nvm_version will fail
with -EAGAIN.  In these instances keep trying to read.
2018-08-01 06:36:07 +01:00
Mario Limonciello
7beace3d9c trivial: ci: Only add gnu-efi to build-deps for supported architectures
For Debian/Ubuntu this was causing FTBFS (dep-wait) on any architectures
that didn't have gnu-efi.
2018-07-30 16:41:59 -05:00
Mario Limonciello
7769304c7b trivial: debian: fix the filename of the signed archive used for secure boot
In the process of bringing over from fwupdate this line was missed
from debian/rules.
2018-07-23 13:26:45 -05:00
Gary Lin
af71145c67 redfish: Fetch the inventory member correctly
In the Members array of FirmwareInventory or SoftwareInventory, each
element of the array only contains the URI to the member. For example:

  "Members":
  [
    {
      "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/1/"
    },
    {
      "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/2/"
    },
    {
      "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/3/"
    }
  ]

We have to get the real member object through the given URI.
2018-07-23 09:19:18 +01:00
Mario Limonciello
e6cda81f8d synapticsmst: Drop the dependency on Dell plugin to populate devices
If the dock information is available then show that in the device name
and restrict the GUIDs created.

If it's not available, then just create GUIDs for all known docks
2018-07-19 11:09:05 -05:00
Mario Limonciello
9fea78eb04 thunderbolt: show ErrorMessage when in safe mode 2018-07-18 16:32:26 -05:00
Mario Limonciello
0e00ed9b13 dell: Show error messages when capsule updates are disabled 2018-07-18 16:32:26 -05:00
Mario Limonciello
d1775bc026 uefi: Populate UpdateError with reasons that the plugin won't run
Previously if missing secure boot binaries, or invalid ESP was created the
plugin would just not load.

Now instead populate UpdateError and remove the updateble flag, but still show
the device in fwupdmgr and fwupdtool.
2018-07-17 14:30:27 +01:00
Richard Hughes
d625eca20a trivial: Fix some spelling in the architecture plan
Also, add the LVFS and drag the graphics into the 20th century.
2018-07-15 10:09:02 +01:00
Mario Limonciello
6c41292bdb trivial: dell: drop blacklist of old systems
The minimum version of libsmbios is now 2.4, so don't include any
code blacklisting running on known failing systems.
2018-07-13 13:04:42 -05:00
Mario Limonciello
76397da55f trivial: ci: install bubblewrap in Fedora, Ubuntu, & Debian 2018-07-13 10:51:12 -05:00
Mario Limonciello
b821557b35 Fix bubblewrap functionality on Debian systems
Per https://github.com/projectatomic/bubblewrap/issues/200
the paths need to be built differently to be able to accomodate
an unmerged /usr that Debian has.

Use ro bind mounts rather than symlinks to be compatible to both
Fedora's approach and Debian's approach
2018-07-13 10:51:12 -05:00
Richard Hughes
a37817e6f7 trivial: Add missing translations 2018-07-12 20:37:54 +01:00
Mario Limonciello
5eef1e83f7 trivial: fedora: fix missing libgcab1-devel 2018-07-12 14:24:48 -05:00
Mario Limonciello
df6b0c1491 trivial: add make to depends for the template 2018-07-12 14:24:48 -05:00
Mario Limonciello
08efb277a1 Update the template building service for the move to fwupd
Since the EFI binary copied to fwupd the signing service will
also need to use templates from fwupd.
2018-07-12 14:24:48 -05:00
Steve McIntyre
d819ebf18f Initial support for UEFI Secure Boot in Debian infrastructure
(Hopefully without breaking the Ubuntu packaging!)

When building, also generate a fwupdate-$ARCH-signed-template package
which contains metadata needed by the Debian signing service. This
will end up being turned into a new source package including a signed
version of the fwupdate binary.

Update the existing debian packaging files for fwupdate to do this,
and also add the core of the template in the debian/signing-template
directory. Also add a couple of helper scripts to drive things, and
update our README.Debian.
2018-07-12 14:24:48 -05:00
Mario Limonciello
bc5b496c61 trivial: debian: add gnu-efi to debian build deps 2018-07-12 14:24:48 -05:00
Richard Hughes
70c9ab0288 Do not use /usr/bin/env in the shebang line
According to Fedora policy env must not be used as it could be overridden by
values in the PATH.

For details, https://fedoraproject.org/wiki/Packaging:Guidelines#Shebang_lines
2018-07-12 07:08:53 -05:00
Richard Hughes
64881c0e2a trivial: Fix the Fedora spec file to build with F29 2018-07-11 20:49:37 +01:00
Richard Hughes
aefe2d1e6f trivial: post release version bump 2018-07-11 20:09:10 +01:00
Richard Hughes
9cc84a1b35 Release fwupd 1.1.0 2018-07-11 20:05:42 +01:00
Mario Limonciello
e6e2bf9d97 trivial: Allow EFI application path to come from a different root 2018-07-10 14:10:16 -05:00
Mario Limonciello
10a4824cb0 trivial: Allow running on an older systemd
Build the path list dynamically based on enabled plugins and use options
that are compatible with older systemd when appropriate
2018-07-10 11:05:10 -05:00
Mario Limonciello
fd65ddda8a uefi: Rename all intermediary files and UEFI variables to prefix fwupd
fwupdate prefix is used by fwupdate and this will prevent clashes in case
its used instead.
2018-07-10 10:45:39 -05:00
Mario Limonciello
14fad85164 UEFI: Rename UEFI boot entry
1) Drop the path at the end of the title (\fwupdx64.efi)
2) Linux-Firmware-Updater to Linux Firmware Updater

The behavior that required the hacky name has been fixed since shim 10
which is in all the relevant distros now.
3322257e61
2018-07-10 10:45:39 -05:00
Mario Limonciello
44305bbde4 Rename EFI application from fwup<arch>.efi to fwupd<arch>.efi
This will prevent potentially clashing with fwupdate's EFI application
and allow them to remain co-installable.
2018-07-10 10:45:39 -05:00