Compare commits
135 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0269b2e6e2 | |||
| c6b64eeea6 | |||
| f8fad4629e | |||
| 6d3331f3e0 | |||
| 4314768295 | |||
| 474a939072 | |||
| ad99c98f02 | |||
| 21c0018455 | |||
| 848352fe79 | |||
| c0d8882e5e | |||
| 6b50092bc0 | |||
| e7432e0579 | |||
| a3cfc1c8d0 | |||
| 8d3243493b | |||
| 0953cb557e | |||
| d81ac76d9c | |||
| 0ac0490aa0 | |||
| ed9ef373ab | |||
| bcae88f0c7 | |||
| 950cbfaa8a | |||
| b10a8d39b1 | |||
| dccb5b8cb0 | |||
| 53d619667e | |||
| b7b3c1f672 | |||
| e2e00b4dab | |||
| 18e6e05cdc | |||
| 32cec2af36 | |||
| 84a26503fe | |||
| 29b869162b | |||
| 4f4e1de49d | |||
| 89051f8f21 | |||
| 01f3310569 | |||
| f8ef4e3f21 | |||
| 746379d7bd | |||
| a0f20de05e | |||
| 10b27e6288 | |||
| e23f4393ed | |||
| 512796ff83 | |||
| f17f8f1d65 | |||
| bcf40d2e77 | |||
| d83e1902a8 | |||
| 215e4b7473 | |||
| 1172a76773 | |||
| 50ebf8d332 | |||
| ada76af1e9 | |||
| 11ab49f43e | |||
| 3921cdc3a5 | |||
| 894a141532 | |||
| 72dcbcf42c | |||
| d950796a96 | |||
| 7b5c39d4d9 | |||
| ea56f3b863 | |||
| 50ad68dae9 | |||
| ce0faed683 | |||
| ec5172e2f6 | |||
| 9615592138 | |||
| 0bfc3e915d | |||
| 6c7f4873e2 | |||
| 3dfb0e0775 | |||
| 48512c25a4 | |||
| 5be9c1fe41 | |||
| 6eeef5d51e | |||
| 67d3b848b3 | |||
| 619cf774f1 | |||
| bdd2630154 | |||
| ed6699f643 | |||
| 9415e1f6b8 | |||
| 5132c0ae0e | |||
| 3ab1aa236a | |||
| d8b325de66 | |||
| f774a3b730 | |||
| 1054b72b56 | |||
| 9bf7131495 | |||
| 3b7447c795 | |||
| b3619b6a52 | |||
| eaa7bafd82 | |||
| 3d742eb40a | |||
| 98f563b99c | |||
| b0b61337a1 | |||
| 0c6905b14d | |||
| d86b338740 | |||
| 5935b68772 | |||
| 87cd0e943f | |||
| d16b594675 | |||
| 8d4d78924a | |||
| 55e97d22a7 | |||
| f95548b49e | |||
| c05f4e2e0c | |||
| 5aebd918aa | |||
| f2e33a0289 | |||
| f31cd341ac | |||
| 2caa1d5362 | |||
| d94ad9e4e9 | |||
| 2bbdd246fc | |||
| 92b118f856 | |||
| 5485d509db | |||
| 92da2f42e9 | |||
| 60522566b4 | |||
| 0378521a10 | |||
| abebe1c943 | |||
| d8f9a3009b | |||
| cbe86a76d9 | |||
| 4e112ff503 | |||
| 79efa92da6 | |||
| 67743d4ef1 | |||
| 56bb63fb3c | |||
| 08e4a73695 | |||
| 3807305ea6 | |||
| 95463fa943 | |||
| d5c04f55fb | |||
| d18b83a524 | |||
| 5d34622343 | |||
| ec766fc712 | |||
| a504792ef0 | |||
| 56f5b50e83 | |||
| 954d90a5be | |||
| faed27194c | |||
| cc04ce007e | |||
| 8d87aedea1 | |||
| e748bdc292 | |||
| c8fc3a668b | |||
| ec01722090 | |||
| f25ad2f317 | |||
| bced9e9109 | |||
| 50beb0a42d | |||
| 5940d5e434 | |||
| fe976f68a5 | |||
| a6e0be46a1 | |||
| e5c20ab7c7 | |||
| a260fe9151 | |||
| 2c5e71594c | |||
| 8a2353faa0 | |||
| d912c6003a | |||
| 811542bdcc | |||
| 609ef2b110 |
+2
-2
@@ -4,7 +4,7 @@
|
||||
# It needs to be regenerated every time a defconfig is added, using
|
||||
# "make .gitlab-ci.yml".
|
||||
|
||||
image: buildroot/base:20191027.2027
|
||||
image: buildroot/base:20200814.2228
|
||||
|
||||
.check_base:
|
||||
rules:
|
||||
@@ -28,7 +28,7 @@ check-flake8:
|
||||
- find * -type f -print0 | xargs -0 file | grep 'Python script' | cut -d':' -f1 >> files.txt
|
||||
- sort -u files.txt | tee files.processed
|
||||
script:
|
||||
- python -m flake8 --statistics --count --max-line-length=132 $(cat files.processed)
|
||||
- python3 -m flake8 --statistics --count --max-line-length=132 $(cat files.processed)
|
||||
after_script:
|
||||
- wc -l files.processed
|
||||
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@
|
||||
# It needs to be regenerated every time a defconfig is added, using
|
||||
# "make .gitlab-ci.yml".
|
||||
|
||||
image: buildroot/base:20191027.2027
|
||||
image: buildroot/base:20200814.2228
|
||||
|
||||
.check_base:
|
||||
rules:
|
||||
@@ -28,7 +28,7 @@ check-flake8:
|
||||
- find * -type f -print0 | xargs -0 file | grep 'Python script' | cut -d':' -f1 >> files.txt
|
||||
- sort -u files.txt | tee files.processed
|
||||
script:
|
||||
- python -m flake8 --statistics --count --max-line-length=132 $(cat files.processed)
|
||||
- python3 -m flake8 --statistics --count --max-line-length=132 $(cat files.processed)
|
||||
after_script:
|
||||
- wc -l files.processed
|
||||
|
||||
|
||||
@@ -1,3 +1,54 @@
|
||||
2020.05.3, released October 12th, 2020
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
meson: Correct SDK cross-compilation.conf file when
|
||||
per-package builds were used to build SDK.
|
||||
|
||||
systemd: Use /run rather than /var/run for PID files in units.
|
||||
|
||||
Toolchain: use Secure-PLT rather than BSS-PLT for PowerPC 32.
|
||||
|
||||
Fakeroot scripts (BR2_ROOTFS_POST_FAKEROOT_SCRIPT) are now run
|
||||
after all finalization hooks (including pre-rootfs) to ensure
|
||||
they can override any late configuration done by packages.
|
||||
|
||||
support/script/pycompile: Rework logic to ensure .pyc files
|
||||
contain absolute target paths, fixing code inspection at
|
||||
runtime when executed with cwd != '/'.
|
||||
|
||||
support/scripts/setlocalversion: Correct Mercurial output to
|
||||
match behaviour with Git.
|
||||
|
||||
support/scripts/apply-patches.sh: Use patch
|
||||
--no-backup-if-mismatch, so we no longer blindly have to
|
||||
remove *.orig files after patching, fixing issues with
|
||||
packages containing such files.
|
||||
|
||||
Updated/fixed packages: alsa-utils, apparmor, avahi,
|
||||
bandwidthd, barebox, bash, bison, brotli, busybox, cifs-utils,
|
||||
cryptsetup, cups, dhcpcd, dhcpdump, docker-cli, docker-engine,
|
||||
ecryptfs-utils, efl, fail2ban, freetype, gcc, gdb,
|
||||
ghostscript, gnutls, go, graphite2, gst1-plugins-base,
|
||||
gst1-plugins-ugly, imagemagick, ipmitool, jbig2dec, libhtp,
|
||||
libraw, libssh, libxml2, libxml-parser-perl, linux-headers,
|
||||
localedef, lua, mbedtls, memcached, mesa3d, meson, minidlna,
|
||||
mongodb, nginx, nodejs, nss-pam-ldapd, openvmtools,
|
||||
paho-mqtt-c, php, postgresql, python, python-aenum,
|
||||
python-django, python-engineio, python-fire, python-pymodbus,
|
||||
python-scapy, python-semver, python-sentry-sdk,
|
||||
python-socketio, python-texttable, python-tinyrpc,
|
||||
python-txtorcon, python3, qt5base, rsh-redone, runc, samba4,
|
||||
strace, supertux, suricata, systemd, uclibc, usb_modeswitch,
|
||||
vlc, vsftpd, wayland-protocols, wireguard-linux-compat,
|
||||
wireshark, wlroots, wolfssl, xserver_xorg-server, ympd,
|
||||
zeromq, zstd
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#12911: usb_modeswitch installation race condition
|
||||
#13251: cryptsetup does not work on branch 2020.02 following..
|
||||
|
||||
2020.05.2, released August 29th, 2020
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
@@ -232,6 +232,8 @@ N: Anthony Viallard <viallard@syscom-instruments.com>
|
||||
F: package/gnuplot/
|
||||
|
||||
N: Antoine Ténart <antoine.tenart@bootlin.com>
|
||||
F: package/libselinux/
|
||||
F: package/refpolicy/
|
||||
F: package/wf111/
|
||||
|
||||
N: Antony Pavlov <antonynpavlov@gmail.com>
|
||||
@@ -1888,6 +1890,7 @@ F: package/tpm-tools/
|
||||
F: package/trousers/
|
||||
|
||||
N: Norbert Lange <nolange79@gmail.com>
|
||||
F: package/systemd/
|
||||
F: package/tcf-agent/
|
||||
|
||||
N: Nylon Chen <nylon7@andestech.com>
|
||||
@@ -2220,6 +2223,7 @@ F: package/davfs2/
|
||||
|
||||
N: Ryan Barnett <ryan.barnett@rockwellcollins.com>
|
||||
F: package/atftp/
|
||||
F: package/c-periphery/
|
||||
F: package/miraclecast/
|
||||
F: package/python-pysnmp/
|
||||
F: package/python-pysnmp-mibs/
|
||||
|
||||
@@ -92,9 +92,9 @@ all:
|
||||
.PHONY: all
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2020.05.2
|
||||
export BR2_VERSION := 2020.05.3
|
||||
# Actual time the release is cut (for reproducible builds)
|
||||
BR2_VERSION_EPOCH = 1598724000
|
||||
BR2_VERSION_EPOCH = 1602525000
|
||||
|
||||
# Save running make version since it's clobbered by the make package
|
||||
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
||||
|
||||
+13
-9
@@ -88,13 +88,6 @@ $(1)_KCONFIG_DEPENDENCIES = \
|
||||
$(BR2_BISON_HOST_DEPENDENCY) \
|
||||
$(BR2_FLEX_HOST_DEPENDENCY)
|
||||
|
||||
ifeq ($$(BR2_TARGET_$(1)_BAREBOXENV),y)
|
||||
define $(1)_BUILD_BAREBOXENV_CMDS
|
||||
$$(TARGET_CC) $$(TARGET_CFLAGS) $$(TARGET_LDFLAGS) -o $$(@D)/bareboxenv \
|
||||
$$(@D)/scripts/bareboxenv.c
|
||||
endef
|
||||
endif
|
||||
|
||||
ifeq ($$(BR2_TARGET_$(1)_CUSTOM_ENV),y)
|
||||
$(1)_ENV_NAME = $$(notdir $$(call qstrip,\
|
||||
$$(BR2_TARGET_$(1)_CUSTOM_ENV_PATH)))
|
||||
@@ -109,12 +102,23 @@ endef
|
||||
endif
|
||||
|
||||
ifneq ($$($(1)_CUSTOM_EMBEDDED_ENV_PATH),)
|
||||
define $(1)_KCONFIG_FIXUP_CMDS
|
||||
define $(1)_KCONFIG_FIXUP_CUSTOM_EMBEDDED_ENV_PATH
|
||||
$$(call KCONFIG_ENABLE_OPT,CONFIG_DEFAULT_ENVIRONMENT)
|
||||
$$(call KCONFIG_SET_OPT,CONFIG_DEFAULT_ENVIRONMENT_PATH,"$$($(1)_CUSTOM_EMBEDDED_ENV_PATH)")
|
||||
endef
|
||||
endif
|
||||
|
||||
define $(1)_KCONFIG_FIXUP_BAREBOXENV
|
||||
$$(if $$(BR2_TARGET_$(1)_BAREBOXENV),\
|
||||
$$(call KCONFIG_ENABLE_OPT,CONFIG_BAREBOXENV_TARGET),\
|
||||
$$(call KCONFIG_DISABLE_OPT,CONFIG_BAREBOXENV_TARGET))
|
||||
endef
|
||||
|
||||
define $(1)_KCONFIG_FIXUP_CMDS
|
||||
$$($(1)_KCONFIG_FIXUP_CUSTOM_EMBEDDED_ENV_PATH)
|
||||
$$($(1)_KCONFIG_FIXUP_BAREBOXENV)
|
||||
endef
|
||||
|
||||
define $(1)_BUILD_CMDS
|
||||
$$($(1)_BUILD_BAREBOXENV_CMDS)
|
||||
$$(TARGET_MAKE_ENV) $$(MAKE) $$($(1)_MAKE_FLAGS) -C $$(@D)
|
||||
@@ -136,7 +140,7 @@ endef
|
||||
|
||||
ifeq ($$(BR2_TARGET_$(1)_BAREBOXENV),y)
|
||||
define $(1)_INSTALL_TARGET_CMDS
|
||||
cp $$(@D)/bareboxenv $$(TARGET_DIR)/usr/bin
|
||||
cp $$(@D)/scripts/bareboxenv-target $$(TARGET_DIR)/usr/bin/bareboxenv
|
||||
endef
|
||||
endif
|
||||
|
||||
|
||||
@@ -10,9 +10,9 @@ that is known to work. You are welcome to add support for other boards
|
||||
to Buildroot too.
|
||||
|
||||
To do so, you need to create a normal Buildroot configuration that
|
||||
builds a basic system for the hardware: toolchain, kernel, bootloader,
|
||||
filesystem and a simple BusyBox-only userspace. No specific package
|
||||
should be selected: the configuration should be as minimal as
|
||||
builds a basic system for the hardware: (internal) toolchain, kernel,
|
||||
bootloader, filesystem and a simple BusyBox-only userspace. No specific
|
||||
package should be selected: the configuration should be as minimal as
|
||||
possible, and should only build a working basic BusyBox system for the
|
||||
target platform. You can of course use more complicated configurations
|
||||
for your internal projects, but the Buildroot project will only
|
||||
@@ -22,7 +22,17 @@ selections are highly application-specific.
|
||||
Once you have a known working configuration, run +make
|
||||
savedefconfig+. This will generate a minimal +defconfig+ file at the
|
||||
root of the Buildroot source tree. Move this file into the +configs/+
|
||||
directory, and rename it +<boardname>_defconfig+.
|
||||
directory, and rename it +<boardname>_defconfig+. If the configuration
|
||||
is a bit more complicated, it is nice to manually reformat it and
|
||||
separate it into sections, with a comment before each section. Typical
|
||||
sections are _Architecture_, _Toolchain options_ (typically just linux
|
||||
headers version), _Firmware_, _Bootloader_, _Kernel_, and _Filesystem_.
|
||||
|
||||
Always use fixed versions or commit hashes for the different
|
||||
components, not the "latest" version. For example, set
|
||||
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y+ and
|
||||
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE+ to the kernel version you tested
|
||||
with.
|
||||
|
||||
It is recommended to use as much as possible upstream versions of the
|
||||
Linux kernel and bootloaders, and to use as much as possible default
|
||||
|
||||
@@ -371,6 +371,37 @@ in the following cases:
|
||||
* whenever you feel it will help presenting your work, your choices,
|
||||
the review process, etc.
|
||||
|
||||
==== Patches for maintenance branches
|
||||
|
||||
When fixing bugs on a maintenance branch, bugs should be fixed on the
|
||||
master branch first. The commit log for such a patch may then contain a
|
||||
post-commit note specifying what branches are affected:
|
||||
|
||||
----
|
||||
package/foo: fix stuff
|
||||
|
||||
Signed-off-by: Your Real Name <your@email.address>
|
||||
---
|
||||
Backport to: 2020.02.x, 2020.05.x
|
||||
(2020.08.x not affected as the version was bumped)
|
||||
----
|
||||
|
||||
Those changes will then be backported by a maintainer to the affected
|
||||
branches.
|
||||
|
||||
However, some bugs may apply only to a specific release, for example
|
||||
because it is using an older version of a package. In that case, patches
|
||||
should be based off the maintenance branch, and the patch subject prefix
|
||||
must include the maintenance branch name (for example "[PATCH 2020.02.x]").
|
||||
This can be done with the +git format-patch+ flag +--subject-prefix+:
|
||||
|
||||
---------------------
|
||||
$ git format-patch --subject-prefix "PATCH 2020.02.x" \
|
||||
-M -s -o outgoing origin/2020.02.x
|
||||
---------------------
|
||||
|
||||
Then send the patches with +git send-email+, as described above.
|
||||
|
||||
==== Patch revision changelog
|
||||
|
||||
When improvements are requested, the new revision of each commit
|
||||
|
||||
+2
-2
@@ -163,11 +163,11 @@ $$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): $$(ROOTFS_$(2)_DEPENDENCIES)
|
||||
echo "chown -h -R 0:0 $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT)
|
||||
PATH=$$(BR_PATH) $$(TOPDIR)/support/scripts/mkusers $$(ROOTFS_FULL_USERS_TABLE) $$(TARGET_DIR) >> $$(FAKEROOT_SCRIPT)
|
||||
echo "$$(HOST_DIR)/bin/makedevs -d $$(ROOTFS_FULL_DEVICES_TABLE) $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT)
|
||||
$$(foreach hook,$$(ROOTFS_PRE_CMD_HOOKS),\
|
||||
$$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep))
|
||||
$$(foreach s,$$(call qstrip,$$(BR2_ROOTFS_POST_FAKEROOT_SCRIPT)),\
|
||||
echo "echo '$$(TERM_BOLD)>>> Executing fakeroot script $$(s)$$(TERM_RESET)'" >> $$(FAKEROOT_SCRIPT); \
|
||||
echo $$(EXTRA_ENV) $$(s) $$(TARGET_DIR) $$(BR2_ROOTFS_POST_SCRIPT_ARGS) >> $$(FAKEROOT_SCRIPT)$$(sep))
|
||||
$$(foreach hook,$$(ROOTFS_PRE_CMD_HOOKS),\
|
||||
$$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep))
|
||||
|
||||
$$(foreach hook,$$(ROOTFS_$(2)_PRE_GEN_HOOKS),\
|
||||
$$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep))
|
||||
|
||||
+5
-5
@@ -1,12 +1,12 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
|
||||
sha256 62532fb257fe98a68601e4ca36bd3d34300b4f26f447bf495df4693442601ee8 linux-5.6.19.tar.xz
|
||||
sha256 1448334371fb52f511255726832464d33877a210a7350260fb18eb225ae211eb linux-5.5.19.tar.xz
|
||||
sha256 86f13d050f6389c5a1727fa81510ee8eceac795297bc584f443354609617fea4 linux-5.4.61.tar.xz
|
||||
sha256 c0b3d8085c5ba235df38b00b740e053659709e8a5ca21957a239f6bc22c45007 linux-5.4.70.tar.xz
|
||||
# From https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc
|
||||
sha256 6994dda988e9fb7f5661cf80ff42039016cb0044acd39f830937ba0220296388 linux-4.4.234.tar.xz
|
||||
sha256 756f8544d261e8117716c911261690e4fb5491e14c1f4612c83e0986453782e3 linux-4.9.234.tar.xz
|
||||
sha256 394f28798670240baacd9e2cce521fbd79f8da5e1fc191695b0e11381445a021 linux-4.14.195.tar.xz
|
||||
sha256 6912db1c242d72ce9c8d4ff71982ac935d97690822af5c1c6ec22412b31667a4 linux-4.19.142.tar.xz
|
||||
sha256 067814035c17e77dee84076dcc06a95eb675344cd926b7b79a16b80fee593364 linux-4.4.238.tar.xz
|
||||
sha256 b1eaf60b771ec4df0546d2b7539e164355008ea2f680a0642ae430e9cb134a3f linux-4.9.238.tar.xz
|
||||
sha256 5d404a0224a34b5379f1871cc46825487d557c2660459d2b5c3cd4871d699a38 linux-4.14.200.tar.xz
|
||||
sha256 f2f709ef086a4d8cb3c15a857daa44dfecf1b88d7d7c53c980fb180f6dccbace linux-4.19.150.tar.xz
|
||||
# Locally computed
|
||||
sha256 c20f9014b89ea3e27f55f1d407aa5a4724ed38ac520c197291e9d644f164c43a linux-cip-4.19.132-cip30.tar.gz
|
||||
sha256 81dd791d9ad6c3fddaeaffc6d7d8df0e13831283a5fe494c437ac7820d79ca39 linux-cip-4.19.132-cip30-rt12.tar.gz
|
||||
|
||||
@@ -90,10 +90,10 @@ define ALSA_UTILS_INSTALL_INIT_SYSTEMD
|
||||
$(TARGET_DIR)/usr/lib/systemd/system/alsa-restore.service
|
||||
$(INSTALL) -D -m 0644 $(@D)/alsactl/alsa-state.service \
|
||||
$(TARGET_DIR)/usr/lib/systemd/system/alsa-state.service
|
||||
mkdir $(TARGET_DIR)/usr/lib/systemd/system/alsa-restore.service.d
|
||||
$(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/lib/systemd/system/alsa-restore.service.d
|
||||
printf '[Install]\nWantedBy=multi-user.target\n' \
|
||||
>$(TARGET_DIR)/usr/lib/systemd/system/alsa-restore.service.d/buildroot-enable.conf
|
||||
mkdir $(TARGET_DIR)/usr/lib/systemd/system/alsa-state.service.d
|
||||
$(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/lib/systemd/system/alsa-state.service.d
|
||||
printf '[Install]\nWantedBy=multi-user.target\n' \
|
||||
>$(TARGET_DIR)/usr/lib/systemd/system/alsa-state.service.d/buildroot-enable.conf;
|
||||
endef
|
||||
|
||||
@@ -53,6 +53,15 @@ ifeq ($(BR2_PACKAGE_APACHE),y)
|
||||
APPARMOR_DEPENDENCIES += apache
|
||||
APPARMOR_TOOLS += changehat/mod_apparmor
|
||||
APPARMOR_MAKE_OPTS += APXS=$(STAGING_DIR)/usr/bin/apxs
|
||||
|
||||
ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y)
|
||||
define APPARMOR_FIXUP_APXS
|
||||
$(SED) "s@$(PER_PACKAGE_DIR)/[^/]\+/@$(PER_PACKAGE_DIR)/apparmor/@g" \
|
||||
$(STAGING_DIR)/usr/bin/apxs \
|
||||
$(STAGING_DIR)/usr/build/config_vars.mk
|
||||
endef
|
||||
APPARMOR_POST_CONFIGURE_HOOKS += APPARMOR_FIXUP_APXS
|
||||
endif
|
||||
endif
|
||||
|
||||
define APPARMOR_BUILD_CMDS
|
||||
|
||||
@@ -35,6 +35,7 @@ AVAHI_CONF_OPTS = \
|
||||
--disable-mono \
|
||||
--disable-monodoc \
|
||||
--disable-stack-protector \
|
||||
--disable-introspection \
|
||||
--with-distro=none \
|
||||
--disable-manpages \
|
||||
$(if $(BR2_PACKAGE_AVAHI_AUTOIPD),--enable,--disable)-autoipd \
|
||||
|
||||
@@ -5,7 +5,7 @@ After=network.target
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/usr/bin/bandwidthd
|
||||
PIDFile=/var/run/bandwidthd.pid
|
||||
PIDFile=/run/bandwidthd.pid
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -0,0 +1,293 @@
|
||||
From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash55-017
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
|
||||
BASH PATCH REPORT
|
||||
=================
|
||||
|
||||
Bash-Release: 5.0
|
||||
Patch-ID: bash50-017
|
||||
|
||||
Bug-Reported-by: Valentin Lab <valentin.lab@kalysto.org>
|
||||
Bug-Reference-ID: <ab981b9c-60a5-46d0-b7e6-a6d88b80df50@kalysto.org>
|
||||
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-03/msg00062.html
|
||||
|
||||
Bug-Description:
|
||||
|
||||
There were cases where patch 16 reaped process substitution file descriptors
|
||||
(or FIFOs) and processes to early. This is a better fix for the problem that
|
||||
bash50-016 attempted to solve.
|
||||
|
||||
Patch (apply with `patch -p0'):
|
||||
|
||||
*** bash-5.0-patched/subst.c 2019-08-29 11:16:49.000000000 -0400
|
||||
--- b/subst.c 2020-04-02 16:24:19.000000000 -0400
|
||||
***************
|
||||
*** 5337,5341 ****
|
||||
}
|
||||
|
||||
! char *
|
||||
copy_fifo_list (sizep)
|
||||
int *sizep;
|
||||
--- b/5337,5341 ----
|
||||
}
|
||||
|
||||
! void *
|
||||
copy_fifo_list (sizep)
|
||||
int *sizep;
|
||||
***************
|
||||
*** 5343,5347 ****
|
||||
if (sizep)
|
||||
*sizep = 0;
|
||||
! return (char *)NULL;
|
||||
}
|
||||
|
||||
--- b/5343,5347 ----
|
||||
if (sizep)
|
||||
*sizep = 0;
|
||||
! return (void *)NULL;
|
||||
}
|
||||
|
||||
***************
|
||||
*** 5409,5414 ****
|
||||
if (fifo_list[i].file)
|
||||
{
|
||||
! fifo_list[j].file = fifo_list[i].file;
|
||||
! fifo_list[j].proc = fifo_list[i].proc;
|
||||
j++;
|
||||
}
|
||||
--- b/5409,5419 ----
|
||||
if (fifo_list[i].file)
|
||||
{
|
||||
! if (i != j)
|
||||
! {
|
||||
! fifo_list[j].file = fifo_list[i].file;
|
||||
! fifo_list[j].proc = fifo_list[i].proc;
|
||||
! fifo_list[i].file = (char *)NULL;
|
||||
! fifo_list[i].proc = 0;
|
||||
! }
|
||||
j++;
|
||||
}
|
||||
***************
|
||||
*** 5426,5433 ****
|
||||
void
|
||||
close_new_fifos (list, lsize)
|
||||
! char *list;
|
||||
int lsize;
|
||||
{
|
||||
int i;
|
||||
|
||||
if (list == 0)
|
||||
--- b/5431,5439 ----
|
||||
void
|
||||
close_new_fifos (list, lsize)
|
||||
! void *list;
|
||||
int lsize;
|
||||
{
|
||||
int i;
|
||||
+ char *plist;
|
||||
|
||||
if (list == 0)
|
||||
***************
|
||||
*** 5437,5442 ****
|
||||
}
|
||||
|
||||
! for (i = 0; i < lsize; i++)
|
||||
! if (list[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
|
||||
unlink_fifo (i);
|
||||
|
||||
--- b/5443,5448 ----
|
||||
}
|
||||
|
||||
! for (plist = (char *)list, i = 0; i < lsize; i++)
|
||||
! if (plist[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
|
||||
unlink_fifo (i);
|
||||
|
||||
***************
|
||||
*** 5560,5568 ****
|
||||
}
|
||||
|
||||
! char *
|
||||
copy_fifo_list (sizep)
|
||||
int *sizep;
|
||||
{
|
||||
! char *ret;
|
||||
|
||||
if (nfds == 0 || totfds == 0)
|
||||
--- b/5566,5574 ----
|
||||
}
|
||||
|
||||
! void *
|
||||
copy_fifo_list (sizep)
|
||||
int *sizep;
|
||||
{
|
||||
! void *ret;
|
||||
|
||||
if (nfds == 0 || totfds == 0)
|
||||
***************
|
||||
*** 5570,5579 ****
|
||||
if (sizep)
|
||||
*sizep = 0;
|
||||
! return (char *)NULL;
|
||||
}
|
||||
|
||||
if (sizep)
|
||||
*sizep = totfds;
|
||||
! ret = (char *)xmalloc (totfds * sizeof (pid_t));
|
||||
return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
|
||||
}
|
||||
--- b/5576,5585 ----
|
||||
if (sizep)
|
||||
*sizep = 0;
|
||||
! return (void *)NULL;
|
||||
}
|
||||
|
||||
if (sizep)
|
||||
*sizep = totfds;
|
||||
! ret = xmalloc (totfds * sizeof (pid_t));
|
||||
return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
|
||||
}
|
||||
***************
|
||||
*** 5648,5655 ****
|
||||
void
|
||||
close_new_fifos (list, lsize)
|
||||
! char *list;
|
||||
int lsize;
|
||||
{
|
||||
int i;
|
||||
|
||||
if (list == 0)
|
||||
--- b/5654,5662 ----
|
||||
void
|
||||
close_new_fifos (list, lsize)
|
||||
! void *list;
|
||||
int lsize;
|
||||
{
|
||||
int i;
|
||||
+ pid_t *plist;
|
||||
|
||||
if (list == 0)
|
||||
***************
|
||||
*** 5659,5664 ****
|
||||
}
|
||||
|
||||
! for (i = 0; i < lsize; i++)
|
||||
! if (list[i] == 0 && i < totfds && dev_fd_list[i])
|
||||
unlink_fifo (i);
|
||||
|
||||
--- b/5666,5671 ----
|
||||
}
|
||||
|
||||
! for (plist = (pid_t *)list, i = 0; i < lsize; i++)
|
||||
! if (plist[i] == 0 && i < totfds && dev_fd_list[i])
|
||||
unlink_fifo (i);
|
||||
|
||||
*** bash-5.0-patched/subst.h 2018-10-21 18:46:09.000000000 -0400
|
||||
--- b/subst.h 2020-04-02 16:29:28.000000000 -0400
|
||||
***************
|
||||
*** 274,280 ****
|
||||
extern void unlink_fifo __P((int));
|
||||
|
||||
! extern char *copy_fifo_list __P((int *));
|
||||
! extern void unlink_new_fifos __P((char *, int));
|
||||
! extern void close_new_fifos __P((char *, int));
|
||||
|
||||
extern void clear_fifo_list __P((void));
|
||||
--- b/274,279 ----
|
||||
extern void unlink_fifo __P((int));
|
||||
|
||||
! extern void *copy_fifo_list __P((int *));
|
||||
! extern void close_new_fifos __P((void *, int));
|
||||
|
||||
extern void clear_fifo_list __P((void));
|
||||
*** bash-5.0-patched/execute_cmd.c 2020-02-06 20:16:48.000000000 -0500
|
||||
--- b/execute_cmd.c 2020-04-02 17:00:10.000000000 -0400
|
||||
***************
|
||||
*** 565,569 ****
|
||||
#if defined (PROCESS_SUBSTITUTION)
|
||||
volatile int ofifo, nfifo, osize, saved_fifo;
|
||||
! volatile char *ofifo_list;
|
||||
#endif
|
||||
|
||||
--- b/565,569 ----
|
||||
#if defined (PROCESS_SUBSTITUTION)
|
||||
volatile int ofifo, nfifo, osize, saved_fifo;
|
||||
! volatile void *ofifo_list;
|
||||
#endif
|
||||
|
||||
***************
|
||||
*** 751,760 ****
|
||||
# endif
|
||||
|
||||
! if (variable_context != 0) /* XXX - also if sourcelevel != 0? */
|
||||
{
|
||||
ofifo = num_fifos ();
|
||||
ofifo_list = copy_fifo_list ((int *)&osize);
|
||||
begin_unwind_frame ("internal_fifos");
|
||||
! add_unwind_protect (xfree, ofifo_list);
|
||||
saved_fifo = 1;
|
||||
}
|
||||
--- b/751,762 ----
|
||||
# endif
|
||||
|
||||
! /* XXX - also if sourcelevel != 0? */
|
||||
! if (variable_context != 0)
|
||||
{
|
||||
ofifo = num_fifos ();
|
||||
ofifo_list = copy_fifo_list ((int *)&osize);
|
||||
begin_unwind_frame ("internal_fifos");
|
||||
! if (ofifo_list)
|
||||
! add_unwind_protect (xfree, ofifo_list);
|
||||
saved_fifo = 1;
|
||||
}
|
||||
***************
|
||||
*** 1100,1123 ****
|
||||
nfifo = num_fifos ();
|
||||
if (nfifo > ofifo)
|
||||
! close_new_fifos ((char *)ofifo_list, osize);
|
||||
free ((void *)ofifo_list);
|
||||
discard_unwind_frame ("internal_fifos");
|
||||
}
|
||||
- # if defined (HAVE_DEV_FD)
|
||||
- /* Reap process substitutions at the end of loops */
|
||||
- switch (command->type)
|
||||
- {
|
||||
- case cm_while:
|
||||
- case cm_until:
|
||||
- case cm_for:
|
||||
- case cm_group:
|
||||
- # if defined (ARITH_FOR_COMMAND)
|
||||
- case cm_arith_for:
|
||||
- # endif
|
||||
- reap_procsubs ();
|
||||
- default:
|
||||
- break;
|
||||
- }
|
||||
- # endif /* HAVE_DEV_FD */
|
||||
#endif
|
||||
|
||||
--- b/1102,1109 ----
|
||||
nfifo = num_fifos ();
|
||||
if (nfifo > ofifo)
|
||||
! close_new_fifos ((void *)ofifo_list, osize);
|
||||
free ((void *)ofifo_list);
|
||||
discard_unwind_frame ("internal_fifos");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
*** bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
|
||||
--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
|
||||
***************
|
||||
*** 26,30 ****
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 16
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
--- b/26,30 ----
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 17
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
@@ -0,0 +1,49 @@
|
||||
From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash55-018
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
|
||||
BASH PATCH REPORT
|
||||
=================
|
||||
|
||||
Bash-Release: 5.0
|
||||
Patch-ID: bash50-018
|
||||
|
||||
Bug-Reported-by: oguzismailuysal@gmail.com
|
||||
Bug-Reference-ID:
|
||||
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-10/msg00098.html
|
||||
|
||||
Bug-Description:
|
||||
|
||||
In certain cases, bash does not perform quoted null removal on patterns
|
||||
that are used as part of word expansions such as ${parameter##pattern}, so
|
||||
empty patterns are treated as non-empty.
|
||||
|
||||
Patch (apply with `patch -p0'):
|
||||
|
||||
*** bash-5.0.17/subst.c 2020-04-02 17:14:58.000000000 -0400
|
||||
--- b/subst.c 2020-07-09 15:28:19.000000000 -0400
|
||||
***************
|
||||
*** 5113,5116 ****
|
||||
--- b/5113,5118 ----
|
||||
(int *)NULL, (int *)NULL)
|
||||
: (WORD_LIST *)0;
|
||||
+ if (l)
|
||||
+ word_list_remove_quoted_nulls (l);
|
||||
pat = string_list (l);
|
||||
dispose_words (l);
|
||||
|
||||
*** bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
|
||||
--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
|
||||
***************
|
||||
*** 26,30 ****
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 17
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
--- b/26,30 ----
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 18
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
@@ -13,5 +13,6 @@ BISON_LICENSE_FILES = COPYING
|
||||
BISON_MAKE = $(MAKE1)
|
||||
HOST_BISON_DEPENDENCIES = host-m4
|
||||
HOST_BISON_CONF_OPTS = --enable-relocatable
|
||||
HOST_BISON_CONF_ENV = ac_cv_libtextstyle=no
|
||||
|
||||
$(eval $(host-autotools-package))
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
From 7289e5a378ba13801996a84d89d8fe95c3fc4c11 Mon Sep 17 00:00:00 2001
|
||||
From 6cb16322decd643fed9de332d9cda77f7738b7af Mon Sep 17 00:00:00 2001
|
||||
From: Adrian Perez de Castro <aperez@igalia.com>
|
||||
Date: Mon, 26 Mar 2018 19:08:31 +0100
|
||||
Date: Mon, 7 Sep 2020 12:14:22 +0300
|
||||
Subject: [PATCH] CMake: Allow using BUILD_SHARED_LIBS to choose static/shared
|
||||
libs
|
||||
|
||||
@@ -18,16 +18,16 @@ This way, the following will both work as expected:
|
||||
|
||||
This is helpful for distributions which need (or want) to build only
|
||||
static libraries.
|
||||
---
|
||||
CMakeLists.txt | 42 ++++++++++++++----------------------------
|
||||
c/fuzz/test_fuzzer.sh | 6 +++---
|
||||
2 files changed, 17 insertions(+), 31 deletions(-)
|
||||
|
||||
Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
|
||||
Upstream-Status: Submitted [https://github.com/google/brotli/pull/655]
|
||||
[Upstream status: https://github.com/google/brotli/pull/655]
|
||||
---
|
||||
CMakeLists.txt | 46 ++++++++++++++-----------------------------
|
||||
c/fuzz/test_fuzzer.sh | 6 +++---
|
||||
2 files changed, 18 insertions(+), 34 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index fc45f80..3f87f13 100644
|
||||
index 4ff3401..f889311 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -6,6 +6,8 @@ cmake_minimum_required(VERSION 2.8.6)
|
||||
@@ -36,10 +36,10 @@ index fc45f80..3f87f13 100644
|
||||
|
||||
+option(BUILD_SHARED_LIBS "Build shared libraries" ON)
|
||||
+
|
||||
# If Brotli is being bundled in another project, we don't want to
|
||||
# install anything. However, we want to let people override this, so
|
||||
# we'll use the BROTLI_BUNDLED_MODE variable to let them do that; just
|
||||
@@ -114,10 +116,6 @@ set(BROTLI_LIBRARIES_CORE brotlienc brotlidec brotlicommon)
|
||||
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
message(STATUS "Setting build type to Release as none was specified.")
|
||||
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build." FORCE)
|
||||
@@ -137,10 +139,6 @@ set(BROTLI_LIBRARIES_CORE brotlienc brotlidec brotlicommon)
|
||||
set(BROTLI_LIBRARIES ${BROTLI_LIBRARIES_CORE} ${LIBM_LIBRARY})
|
||||
mark_as_advanced(BROTLI_LIBRARIES)
|
||||
|
||||
@@ -50,14 +50,20 @@ index fc45f80..3f87f13 100644
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
add_definitions(-DOS_LINUX)
|
||||
elseif(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
||||
@@ -137,24 +135,22 @@ endfunction()
|
||||
transform_sources_list("scripts/sources.lst" "${CMAKE_CURRENT_BINARY_DIR}/sources.lst.cmake")
|
||||
@@ -161,29 +159,25 @@ transform_sources_list("scripts/sources.lst" "${CMAKE_CURRENT_BINARY_DIR}/source
|
||||
include("${CMAKE_CURRENT_BINARY_DIR}/sources.lst.cmake")
|
||||
|
||||
-add_library(brotlicommon SHARED ${BROTLI_COMMON_C})
|
||||
-add_library(brotlidec SHARED ${BROTLI_DEC_C})
|
||||
-add_library(brotlienc SHARED ${BROTLI_ENC_C})
|
||||
-
|
||||
if(BROTLI_EMSCRIPTEN)
|
||||
- set(BROTLI_SHARED_LIBS "")
|
||||
-else()
|
||||
- set(BROTLI_SHARED_LIBS brotlicommon brotlidec brotlienc)
|
||||
- add_library(brotlicommon SHARED ${BROTLI_COMMON_C})
|
||||
- add_library(brotlidec SHARED ${BROTLI_DEC_C})
|
||||
- add_library(brotlienc SHARED ${BROTLI_ENC_C})
|
||||
+ set(BUILD_SHARED_LIBS OFF)
|
||||
endif()
|
||||
|
||||
-set(BROTLI_STATIC_LIBS brotlicommon-static brotlidec-static brotlienc-static)
|
||||
-add_library(brotlicommon-static STATIC ${BROTLI_COMMON_C})
|
||||
-add_library(brotlidec-static STATIC ${BROTLI_DEC_C})
|
||||
-add_library(brotlienc-static STATIC ${BROTLI_ENC_C})
|
||||
@@ -68,27 +74,27 @@ index fc45f80..3f87f13 100644
|
||||
# Older CMake versions does not understand INCLUDE_DIRECTORIES property.
|
||||
include_directories(${BROTLI_INCLUDE_DIRS})
|
||||
|
||||
-foreach(lib IN LISTS BROTLI_SHARED_LIBS)
|
||||
- target_compile_definitions(${lib} PUBLIC "BROTLI_SHARED_COMPILATION" )
|
||||
- string(TOUPPER "${lib}" LIB)
|
||||
- set_target_properties (${lib} PROPERTIES DEFINE_SYMBOL "${LIB}_SHARED_COMPILATION")
|
||||
-endforeach()
|
||||
+if(BUILD_SHARED_LIBS)
|
||||
+ foreach(lib brotlicommon brotlidec brotlienc)
|
||||
+ target_compile_definitions(${lib} PUBLIC "BROTLI_SHARED_COMPILATION" )
|
||||
+ string(TOUPPER "${lib}" LIB)
|
||||
+ set_target_properties (${lib} PROPERTIES DEFINE_SYMBOL "${LIB}_SHARED_COMPILATION" )
|
||||
+ set_target_properties (${lib} PROPERTIES DEFINE_SYMBOL "${LIB}_SHARED_COMPILATION")
|
||||
+ endforeach()
|
||||
+endif()
|
||||
+
|
||||
foreach(lib brotlicommon brotlidec brotlienc)
|
||||
- target_compile_definitions(${lib} PUBLIC "BROTLI_SHARED_COMPILATION" )
|
||||
- string(TOUPPER "${lib}" LIB)
|
||||
- set_target_properties (${lib} PROPERTIES DEFINE_SYMBOL "${LIB}_SHARED_COMPILATION" )
|
||||
-endforeach()
|
||||
-
|
||||
-foreach(lib brotlicommon brotlidec brotlienc brotlicommon-static brotlidec-static brotlienc-static)
|
||||
|
||||
-foreach(lib IN LISTS BROTLI_SHARED_LIBS BROTLI_STATIC_LIBS)
|
||||
+foreach(lib brotlicommon brotlidec brotlienc)
|
||||
target_link_libraries(${lib} ${LIBM_LIBRARY})
|
||||
set_property(TARGET ${lib} APPEND PROPERTY INCLUDE_DIRECTORIES ${BROTLI_INCLUDE_DIRS})
|
||||
set_target_properties(${lib} PROPERTIES
|
||||
@@ -167,9 +163,6 @@ endforeach()
|
||||
target_link_libraries(brotlidec brotlicommon)
|
||||
@@ -200,9 +194,6 @@ target_link_libraries(brotlidec brotlicommon)
|
||||
target_link_libraries(brotlienc brotlicommon)
|
||||
endif()
|
||||
|
||||
-target_link_libraries(brotlidec-static brotlicommon-static)
|
||||
-target_link_libraries(brotlienc-static brotlicommon-static)
|
||||
@@ -96,7 +102,7 @@ index fc45f80..3f87f13 100644
|
||||
# For projects stuck on older versions of CMake, this will set the
|
||||
# BROTLI_INCLUDE_DIRS and BROTLI_LIBRARIES variables so they still
|
||||
# have a relatively easy way to use Brotli:
|
||||
@@ -183,7 +176,7 @@ endif()
|
||||
@@ -216,7 +207,7 @@ endif()
|
||||
|
||||
# Build the brotli executable
|
||||
add_executable(brotli ${BROTLI_CLI_C})
|
||||
@@ -104,8 +110,8 @@ index fc45f80..3f87f13 100644
|
||||
+target_link_libraries(brotli ${BROTLI_LIBRARIES})
|
||||
|
||||
# Installation
|
||||
if(NOT BROTLI_BUNDLED_MODE)
|
||||
@@ -199,13 +192,6 @@ if(NOT BROTLI_BUNDLED_MODE)
|
||||
if(NOT BROTLI_EMSCRIPTEN)
|
||||
@@ -233,13 +224,6 @@ if(NOT BROTLI_BUNDLED_MODE)
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
)
|
||||
|
||||
@@ -119,26 +125,6 @@ index fc45f80..3f87f13 100644
|
||||
install(
|
||||
DIRECTORY ${BROTLI_INCLUDE_DIRS}/brotli
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
diff --git a/c/fuzz/test_fuzzer.sh b/c/fuzz/test_fuzzer.sh
|
||||
index 9985194..4b99947 100755
|
||||
--- a/c/fuzz/test_fuzzer.sh
|
||||
+++ b/c/fuzz/test_fuzzer.sh
|
||||
@@ -13,12 +13,12 @@ mkdir bin
|
||||
cd bin
|
||||
|
||||
cmake $BROTLI -DCMAKE_C_COMPILER="$CC" \
|
||||
- -DBUILD_TESTING=OFF -DENABLE_SANITIZER=address
|
||||
-make -j$(nproc) brotlidec-static
|
||||
+ -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DENABLE_SANITIZER=address
|
||||
+make -j$(nproc) brotlidec
|
||||
|
||||
${CC} -o run_decode_fuzzer -std=c99 -fsanitize=address -I$SRC/include \
|
||||
$SRC/fuzz/decode_fuzzer.c $SRC/fuzz/run_decode_fuzzer.c \
|
||||
- ./libbrotlidec-static.a ./libbrotlicommon-static.a
|
||||
+ ./libbrotlidec.a ./libbrotlicommon.a
|
||||
|
||||
mkdir decode_corpora
|
||||
unzip $BROTLI/java/org/brotli/integration/fuzz_data.zip -d decode_corpora
|
||||
--
|
||||
2.19.1
|
||||
2.28.0
|
||||
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
From 09b0992b6acb7faa6fd3b23f9bc036ea117230fc Mon Sep 17 00:00:00 2001
|
||||
From: Eugene Kliuchnikov <eustas.ru@gmail.com>
|
||||
Date: Wed, 2 Sep 2020 11:38:26 +0200
|
||||
Subject: [PATCH] Revert "Add runtime linker path to pkg-config files (#740)"
|
||||
(#838)
|
||||
|
||||
This reverts commit 31754d4ffce14153b5c2addf7a11019ec23f51c1.
|
||||
[Retrieved from:
|
||||
https://github.com/google/brotli/commit/09b0992b6acb7faa6fd3b23f9bc036ea117230fc]
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
scripts/libbrotlicommon.pc.in | 2 +-
|
||||
scripts/libbrotlidec.pc.in | 2 +-
|
||||
scripts/libbrotlienc.pc.in | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/scripts/libbrotlicommon.pc.in b/scripts/libbrotlicommon.pc.in
|
||||
index 10ca969e..2a8cf7a3 100644
|
||||
--- a/scripts/libbrotlicommon.pc.in
|
||||
+++ b/scripts/libbrotlicommon.pc.in
|
||||
@@ -7,5 +7,5 @@ Name: libbrotlicommon
|
||||
URL: https://github.com/google/brotli
|
||||
Description: Brotli common dictionary library
|
||||
Version: @PACKAGE_VERSION@
|
||||
-Libs: -L${libdir} -R${libdir} -lbrotlicommon
|
||||
+Libs: -L${libdir} -lbrotlicommon
|
||||
Cflags: -I${includedir}
|
||||
diff --git a/scripts/libbrotlidec.pc.in b/scripts/libbrotlidec.pc.in
|
||||
index e7c3124f..6f8ef2e4 100644
|
||||
--- a/scripts/libbrotlidec.pc.in
|
||||
+++ b/scripts/libbrotlidec.pc.in
|
||||
@@ -7,6 +7,6 @@ Name: libbrotlidec
|
||||
URL: https://github.com/google/brotli
|
||||
Description: Brotli decoder library
|
||||
Version: @PACKAGE_VERSION@
|
||||
-Libs: -L${libdir} -R${libdir} -lbrotlidec
|
||||
+Libs: -L${libdir} -lbrotlidec
|
||||
Requires.private: libbrotlicommon >= 1.0.2
|
||||
Cflags: -I${includedir}
|
||||
diff --git a/scripts/libbrotlienc.pc.in b/scripts/libbrotlienc.pc.in
|
||||
index 4dd0811b..2098afe2 100644
|
||||
--- a/scripts/libbrotlienc.pc.in
|
||||
+++ b/scripts/libbrotlienc.pc.in
|
||||
@@ -7,6 +7,6 @@ Name: libbrotlienc
|
||||
URL: https://github.com/google/brotli
|
||||
Description: Brotli encoder library
|
||||
Version: @PACKAGE_VERSION@
|
||||
-Libs: -L${libdir} -R${libdir} -lbrotlienc
|
||||
+Libs: -L${libdir} -lbrotlienc
|
||||
Requires.private: libbrotlicommon >= 1.0.2
|
||||
Cflags: -I${includedir}
|
||||
@@ -1,5 +1,5 @@
|
||||
# Locally generated:
|
||||
sha512 a82362aa36d2f2094bca0b2808d9de0d57291fb3a4c29d7c0ca0a37e73087ec5ac4df299c8c363e61106fccf2fe7f58b5cf76eb97729e2696058ef43b1d3930a v1.0.7.tar.gz
|
||||
sha512 b8e2df955e8796ac1f022eb4ebad29532cb7e3aa6a4b6aee91dbd2c7d637eee84d9a144d3e878895bb5e62800875c2c01c8f737a1261020c54feacf9f676b5f5 v1.0.9.tar.gz
|
||||
|
||||
# Hash for license files:
|
||||
sha512 bae78184c2f50f86d8c727826d3982c469454c42b9af81f4ef007e39036434fa894cf5be3bf5fc65b7de2301f0a72d067a8186e303327db8a96bd14867e0a3a8 LICENSE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
BROTLI_VERSION = 1.0.7
|
||||
BROTLI_VERSION = 1.0.9
|
||||
BROTLI_SOURCE = v$(BROTLI_VERSION).tar.gz
|
||||
BROTLI_SITE = https://github.com/google/brotli/archive
|
||||
BROTLI_LICENSE = MIT
|
||||
|
||||
@@ -42,19 +42,19 @@ case "$1" in
|
||||
rm -f $TMPFILE
|
||||
|
||||
if [ -x /usr/sbin/avahi-autoipd ]; then
|
||||
/usr/sbin/avahi-autoipd -k $interface
|
||||
/usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface
|
||||
fi
|
||||
;;
|
||||
|
||||
leasefail|nak)
|
||||
if [ -x /usr/sbin/avahi-autoipd ]; then
|
||||
/usr/sbin/avahi-autoipd -wD $interface --no-chroot
|
||||
/usr/sbin/avahi-autoipd -c $interface || /usr/sbin/avahi-autoipd -wD $interface --no-chroot
|
||||
fi
|
||||
;;
|
||||
|
||||
renew|bound)
|
||||
if [ -x /usr/sbin/avahi-autoipd ]; then
|
||||
/usr/sbin/avahi-autoipd -k $interface
|
||||
/usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface
|
||||
fi
|
||||
/sbin/ifconfig $interface $ip $BROADCAST $NETMASK
|
||||
if [ -n "$ipv6" ] ; then
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
sha256 92fc29c8e9039637f3344267500f1fa381e2cccd7d10142f0c1676fa575904a7 cifs-utils-6.10.tar.bz2
|
||||
sha256 b859239a3f204f8220d3e54ed43bf8109e1ef202042dd87ba87492f8878728d9 cifs-utils-6.11.tar.bz2
|
||||
|
||||
# Hash for license file:
|
||||
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
CIFS_UTILS_VERSION = 6.10
|
||||
CIFS_UTILS_VERSION = 6.11
|
||||
CIFS_UTILS_SOURCE = cifs-utils-$(CIFS_UTILS_VERSION).tar.bz2
|
||||
CIFS_UTILS_SITE = http://ftp.samba.org/pub/linux-cifs/cifs-utils
|
||||
CIFS_UTILS_LICENSE = GPL-3.0+
|
||||
|
||||
@@ -0,0 +1,512 @@
|
||||
From 55cf272d275c561459f2c9c3dc943ef7a69c9d4c Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Kozina <okozina@redhat.com>
|
||||
Date: Tue, 14 Apr 2020 17:24:54 +0200
|
||||
Subject: [PATCH] Avoid name clash with newer json-c library.
|
||||
|
||||
This is partial revert of previous commit and also
|
||||
fixes wrong decision to name our internal helpers with
|
||||
json_object prefix.
|
||||
|
||||
(cherry picked from commit e6a356974330e3ae21579a5737976e9a2aad1b51)
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
lib/luks2/luks2_internal.h | 8 +++-----
|
||||
lib/luks2/luks2_json_format.c | 6 +++---
|
||||
lib/luks2/luks2_json_metadata.c | 18 ++++++++----------
|
||||
lib/luks2/luks2_keyslot.c | 8 ++++----
|
||||
lib/luks2/luks2_keyslot_luks2.c | 16 ++++++++--------
|
||||
lib/luks2/luks2_keyslot_reenc.c | 20 ++++++++++----------
|
||||
lib/luks2/luks2_luks1_convert.c | 22 +++++++++++-----------
|
||||
lib/luks2/luks2_reencrypt.c | 16 ++++++++--------
|
||||
lib/luks2/luks2_segment.c | 12 ++++++------
|
||||
9 files changed, 61 insertions(+), 65 deletions(-)
|
||||
|
||||
diff --git a/lib/luks2/luks2_internal.h b/lib/luks2/luks2_internal.h
|
||||
index 6a8b8f2a..d2222e84 100644
|
||||
--- a/lib/luks2/luks2_internal.h
|
||||
+++ b/lib/luks2/luks2_internal.h
|
||||
@@ -59,11 +59,9 @@ json_object *LUKS2_get_segments_jobj(struct luks2_hdr *hdr);
|
||||
void hexprint_base64(struct crypt_device *cd, json_object *jobj,
|
||||
const char *sep, const char *line_sep);
|
||||
|
||||
-#if !(defined JSON_C_VERSION_NUM && JSON_C_VERSION_NUM >= ((13 << 8) | 99))
|
||||
-uint64_t json_object_get_uint64(json_object *jobj);
|
||||
-json_object *json_object_new_uint64(uint64_t value);
|
||||
-#endif
|
||||
-uint32_t json_object_get_uint32(json_object *jobj);
|
||||
+uint64_t crypt_jobj_get_uint64(json_object *jobj);
|
||||
+uint32_t crypt_jobj_get_uint32(json_object *jobj);
|
||||
+json_object *crypt_jobj_new_uint64(uint64_t value);
|
||||
|
||||
int json_object_object_add_by_uint(json_object *jobj, unsigned key, json_object *jobj_val);
|
||||
void json_object_object_del_by_uint(json_object *jobj, unsigned key);
|
||||
diff --git a/lib/luks2/luks2_json_format.c b/lib/luks2/luks2_json_format.c
|
||||
index d4f36247..32ea0ea4 100644
|
||||
--- a/lib/luks2/luks2_json_format.c
|
||||
+++ b/lib/luks2/luks2_json_format.c
|
||||
@@ -325,8 +325,8 @@ int LUKS2_generate_hdr(
|
||||
|
||||
json_object_object_add_by_uint(jobj_segments, 0, jobj_segment);
|
||||
|
||||
- json_object_object_add(jobj_config, "json_size", json_object_new_uint64(metadata_size - LUKS2_HDR_BIN_LEN));
|
||||
- json_object_object_add(jobj_config, "keyslots_size", json_object_new_uint64(keyslots_size));
|
||||
+ json_object_object_add(jobj_config, "json_size", crypt_jobj_new_uint64(metadata_size - LUKS2_HDR_BIN_LEN));
|
||||
+ json_object_object_add(jobj_config, "keyslots_size", crypt_jobj_new_uint64(keyslots_size));
|
||||
|
||||
JSON_DBG(cd, hdr->jobj, "Header JSON:");
|
||||
return 0;
|
||||
@@ -400,6 +400,6 @@ int LUKS2_set_keyslots_size(struct crypt_device *cd,
|
||||
if (!json_object_object_get_ex(hdr->jobj, "config", &jobj_config))
|
||||
return 1;
|
||||
|
||||
- json_object_object_add(jobj_config, "keyslots_size", json_object_new_uint64(keyslots_size));
|
||||
+ json_object_object_add(jobj_config, "keyslots_size", crypt_jobj_new_uint64(keyslots_size));
|
||||
return 0;
|
||||
}
|
||||
diff --git a/lib/luks2/luks2_json_metadata.c b/lib/luks2/luks2_json_metadata.c
|
||||
index 52421fac..19fb9588 100644
|
||||
--- a/lib/luks2/luks2_json_metadata.c
|
||||
+++ b/lib/luks2/luks2_json_metadata.c
|
||||
@@ -219,7 +219,7 @@ int LUKS2_get_default_segment(struct luks2_hdr *hdr)
|
||||
* json_type_int needs to be validated first.
|
||||
* See validate_json_uint32()
|
||||
*/
|
||||
-uint32_t json_object_get_uint32(json_object *jobj)
|
||||
+uint32_t crypt_jobj_get_uint32(json_object *jobj)
|
||||
{
|
||||
return json_object_get_int64(jobj);
|
||||
}
|
||||
@@ -241,15 +241,14 @@ static json_bool json_str_to_uint64(json_object *jobj, uint64_t *value)
|
||||
return 1;
|
||||
}
|
||||
|
||||
-#if !(defined JSON_C_VERSION_NUM && JSON_C_VERSION_NUM >= ((13 << 8) | 99))
|
||||
-uint64_t json_object_get_uint64(json_object *jobj)
|
||||
+uint64_t crypt_jobj_get_uint64(json_object *jobj)
|
||||
{
|
||||
uint64_t r;
|
||||
json_str_to_uint64(jobj, &r);
|
||||
return r;
|
||||
}
|
||||
|
||||
-json_object *json_object_new_uint64(uint64_t value)
|
||||
+json_object *crypt_jobj_new_uint64(uint64_t value)
|
||||
{
|
||||
/* 18446744073709551615 */
|
||||
char num[21];
|
||||
@@ -263,7 +262,6 @@ json_object *json_object_new_uint64(uint64_t value)
|
||||
jobj = json_object_new_string(num);
|
||||
return jobj;
|
||||
}
|
||||
-#endif
|
||||
|
||||
/*
|
||||
* Validate helpers
|
||||
@@ -457,7 +455,7 @@ static int hdr_validate_json_size(struct crypt_device *cd, json_object *hdr_jobj
|
||||
|
||||
json = json_object_to_json_string_ext(hdr_jobj,
|
||||
JSON_C_TO_STRING_PLAIN | JSON_C_TO_STRING_NOSLASHESCAPE);
|
||||
- json_area_size = json_object_get_uint64(jobj1);
|
||||
+ json_area_size = crypt_jobj_get_uint64(jobj1);
|
||||
json_size = (uint64_t)strlen(json);
|
||||
|
||||
if (hdr_json_size != json_area_size) {
|
||||
@@ -545,7 +543,7 @@ static int hdr_validate_crypt_segment(struct crypt_device *cd,
|
||||
return 1;
|
||||
}
|
||||
|
||||
- sector_size = json_object_get_uint32(jobj_sector_size);
|
||||
+ sector_size = crypt_jobj_get_uint32(jobj_sector_size);
|
||||
if (!sector_size || MISALIGNED_512(sector_size)) {
|
||||
log_dbg(cd, "Illegal sector size: %" PRIu32, sector_size);
|
||||
return 1;
|
||||
@@ -1569,7 +1567,7 @@ static void hdr_dump_keyslots(struct crypt_device *cd, json_object *hdr_jobj)
|
||||
log_std(cd, " %s: %s%s\n", slot, tmps, r == -ENOENT ? " (unbound)" : "");
|
||||
|
||||
if (json_object_object_get_ex(val, "key_size", &jobj2))
|
||||
- log_std(cd, "\tKey: %u bits\n", json_object_get_uint32(jobj2) * 8);
|
||||
+ log_std(cd, "\tKey: %u bits\n", crypt_jobj_get_uint32(jobj2) * 8);
|
||||
|
||||
log_std(cd, "\tPriority: %s\n", get_priority_desc(val));
|
||||
|
||||
@@ -1652,7 +1650,7 @@ static void hdr_dump_segments(struct crypt_device *cd, json_object *hdr_jobj)
|
||||
log_std(cd, "\tcipher: %s\n", json_object_get_string(jobj1));
|
||||
|
||||
if (json_object_object_get_ex(jobj_segment, "sector_size", &jobj1))
|
||||
- log_std(cd, "\tsector: %" PRIu32 " [bytes]\n", json_object_get_uint32(jobj1));
|
||||
+ log_std(cd, "\tsector: %" PRIu32 " [bytes]\n", crypt_jobj_get_uint32(jobj1));
|
||||
|
||||
if (json_object_object_get_ex(jobj_segment, "integrity", &jobj1) &&
|
||||
json_object_object_get_ex(jobj1, "type", &jobj2))
|
||||
@@ -1749,7 +1747,7 @@ int LUKS2_get_data_size(struct luks2_hdr *hdr, uint64_t *size, bool *dynamic)
|
||||
return 0;
|
||||
}
|
||||
|
||||
- tmp += json_object_get_uint64(jobj_size);
|
||||
+ tmp += crypt_jobj_get_uint64(jobj_size);
|
||||
}
|
||||
|
||||
/* impossible, real device size must not be zero */
|
||||
diff --git a/lib/luks2/luks2_keyslot.c b/lib/luks2/luks2_keyslot.c
|
||||
index 7d06df80..d853fc8e 100644
|
||||
--- a/lib/luks2/luks2_keyslot.c
|
||||
+++ b/lib/luks2/luks2_keyslot.c
|
||||
@@ -301,11 +301,11 @@ int LUKS2_keyslot_area(struct luks2_hdr *hdr,
|
||||
|
||||
if (!json_object_object_get_ex(jobj_area, "offset", &jobj))
|
||||
return -EINVAL;
|
||||
- *offset = json_object_get_uint64(jobj);
|
||||
+ *offset = crypt_jobj_get_uint64(jobj);
|
||||
|
||||
if (!json_object_object_get_ex(jobj_area, "size", &jobj))
|
||||
return -EINVAL;
|
||||
- *length = json_object_get_uint64(jobj);
|
||||
+ *length = crypt_jobj_get_uint64(jobj);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -840,8 +840,8 @@ int placeholder_keyslot_alloc(struct crypt_device *cd,
|
||||
|
||||
/* Area object */
|
||||
jobj_area = json_object_new_object();
|
||||
- json_object_object_add(jobj_area, "offset", json_object_new_uint64(area_offset));
|
||||
- json_object_object_add(jobj_area, "size", json_object_new_uint64(area_length));
|
||||
+ json_object_object_add(jobj_area, "offset", crypt_jobj_new_uint64(area_offset));
|
||||
+ json_object_object_add(jobj_area, "size", crypt_jobj_new_uint64(area_length));
|
||||
json_object_object_add(jobj_keyslot, "area", jobj_area);
|
||||
|
||||
json_object_object_add_by_uint(jobj_keyslots, keyslot, jobj_keyslot);
|
||||
diff --git a/lib/luks2/luks2_keyslot_luks2.c b/lib/luks2/luks2_keyslot_luks2.c
|
||||
index 7b438a8b..953ba168 100644
|
||||
--- a/lib/luks2/luks2_keyslot_luks2.c
|
||||
+++ b/lib/luks2/luks2_keyslot_luks2.c
|
||||
@@ -220,7 +220,7 @@ static int luks2_keyslot_set_key(struct crypt_device *cd,
|
||||
|
||||
if (!json_object_object_get_ex(jobj_area, "offset", &jobj2))
|
||||
return -EINVAL;
|
||||
- area_offset = json_object_get_uint64(jobj2);
|
||||
+ area_offset = crypt_jobj_get_uint64(jobj2);
|
||||
|
||||
if (!json_object_object_get_ex(jobj_area, "encryption", &jobj2))
|
||||
return -EINVAL;
|
||||
@@ -313,7 +313,7 @@ static int luks2_keyslot_get_key(struct crypt_device *cd,
|
||||
|
||||
if (!json_object_object_get_ex(jobj_area, "offset", &jobj2))
|
||||
return -EINVAL;
|
||||
- area_offset = json_object_get_uint64(jobj2);
|
||||
+ area_offset = crypt_jobj_get_uint64(jobj2);
|
||||
|
||||
if (!json_object_object_get_ex(jobj_area, "encryption", &jobj2))
|
||||
return -EINVAL;
|
||||
@@ -494,8 +494,8 @@ static int luks2_keyslot_alloc(struct crypt_device *cd,
|
||||
/* Area object */
|
||||
jobj_area = json_object_new_object();
|
||||
json_object_object_add(jobj_area, "type", json_object_new_string("raw"));
|
||||
- json_object_object_add(jobj_area, "offset", json_object_new_uint64(area_offset));
|
||||
- json_object_object_add(jobj_area, "size", json_object_new_uint64(area_length));
|
||||
+ json_object_object_add(jobj_area, "offset", crypt_jobj_new_uint64(area_offset));
|
||||
+ json_object_object_add(jobj_area, "size", crypt_jobj_new_uint64(area_length));
|
||||
json_object_object_add(jobj_keyslot, "area", jobj_area);
|
||||
|
||||
json_object_object_add_by_uint(jobj_keyslots, keyslot, jobj_keyslot);
|
||||
@@ -607,7 +607,7 @@ static int luks2_keyslot_dump(struct crypt_device *cd, int keyslot)
|
||||
log_std(cd, "\tCipher: %s\n", json_object_get_string(jobj1));
|
||||
|
||||
json_object_object_get_ex(jobj_area, "key_size", &jobj1);
|
||||
- log_std(cd, "\tCipher key: %u bits\n", json_object_get_uint32(jobj1) * 8);
|
||||
+ log_std(cd, "\tCipher key: %u bits\n", crypt_jobj_get_uint32(jobj1) * 8);
|
||||
|
||||
json_object_object_get_ex(jobj_kdf, "type", &jobj1);
|
||||
log_std(cd, "\tPBKDF: %s\n", json_object_get_string(jobj1));
|
||||
@@ -617,7 +617,7 @@ static int luks2_keyslot_dump(struct crypt_device *cd, int keyslot)
|
||||
log_std(cd, "\tHash: %s\n", json_object_get_string(jobj1));
|
||||
|
||||
json_object_object_get_ex(jobj_kdf, "iterations", &jobj1);
|
||||
- log_std(cd, "\tIterations: %" PRIu64 "\n", json_object_get_uint64(jobj1));
|
||||
+ log_std(cd, "\tIterations: %" PRIu64 "\n", crypt_jobj_get_uint64(jobj1));
|
||||
} else {
|
||||
json_object_object_get_ex(jobj_kdf, "time", &jobj1);
|
||||
log_std(cd, "\tTime cost: %" PRIu64 "\n", json_object_get_int64(jobj1));
|
||||
@@ -640,10 +640,10 @@ static int luks2_keyslot_dump(struct crypt_device *cd, int keyslot)
|
||||
log_std(cd, "\tAF hash: %s\n", json_object_get_string(jobj1));
|
||||
|
||||
json_object_object_get_ex(jobj_area, "offset", &jobj1);
|
||||
- log_std(cd, "\tArea offset:%" PRIu64 " [bytes]\n", json_object_get_uint64(jobj1));
|
||||
+ log_std(cd, "\tArea offset:%" PRIu64 " [bytes]\n", crypt_jobj_get_uint64(jobj1));
|
||||
|
||||
json_object_object_get_ex(jobj_area, "size", &jobj1);
|
||||
- log_std(cd, "\tArea length:%" PRIu64 " [bytes]\n", json_object_get_uint64(jobj1));
|
||||
+ log_std(cd, "\tArea length:%" PRIu64 " [bytes]\n", crypt_jobj_get_uint64(jobj1));
|
||||
|
||||
return 0;
|
||||
}
|
||||
diff --git a/lib/luks2/luks2_keyslot_reenc.c b/lib/luks2/luks2_keyslot_reenc.c
|
||||
index 64b8d274..c6b92db3 100644
|
||||
--- a/lib/luks2/luks2_keyslot_reenc.c
|
||||
+++ b/lib/luks2/luks2_keyslot_reenc.c
|
||||
@@ -67,13 +67,13 @@ int reenc_keyslot_alloc(struct crypt_device *cd,
|
||||
|
||||
if (params->data_shift) {
|
||||
json_object_object_add(jobj_area, "type", json_object_new_string("datashift"));
|
||||
- json_object_object_add(jobj_area, "shift_size", json_object_new_uint64(params->data_shift << SECTOR_SHIFT));
|
||||
+ json_object_object_add(jobj_area, "shift_size", crypt_jobj_new_uint64(params->data_shift << SECTOR_SHIFT));
|
||||
} else
|
||||
/* except data shift protection, initial setting is irrelevant. Type can be changed during reencryption */
|
||||
json_object_object_add(jobj_area, "type", json_object_new_string("none"));
|
||||
|
||||
- json_object_object_add(jobj_area, "offset", json_object_new_uint64(area_offset));
|
||||
- json_object_object_add(jobj_area, "size", json_object_new_uint64(area_length));
|
||||
+ json_object_object_add(jobj_area, "offset", crypt_jobj_new_uint64(area_offset));
|
||||
+ json_object_object_add(jobj_area, "size", crypt_jobj_new_uint64(area_length));
|
||||
|
||||
json_object_object_add(jobj_keyslot, "type", json_object_new_string("reencrypt"));
|
||||
json_object_object_add(jobj_keyslot, "key_size", json_object_new_int(1)); /* useless but mandatory */
|
||||
@@ -113,8 +113,8 @@ static int reenc_keyslot_store_data(struct crypt_device *cd,
|
||||
!json_object_object_get_ex(jobj_area, "size", &jobj_length))
|
||||
return -EINVAL;
|
||||
|
||||
- area_offset = json_object_get_uint64(jobj_offset);
|
||||
- area_length = json_object_get_uint64(jobj_length);
|
||||
+ area_offset = crypt_jobj_get_uint64(jobj_offset);
|
||||
+ area_length = crypt_jobj_get_uint64(jobj_length);
|
||||
|
||||
if (!area_offset || !area_length || ((uint64_t)buffer_len > area_length))
|
||||
return -EINVAL;
|
||||
@@ -242,14 +242,14 @@ static int reenc_keyslot_dump(struct crypt_device *cd, int keyslot)
|
||||
log_std(cd, "\t%-12s%d [bytes]\n", "Hash data:", json_object_get_int(jobj1));
|
||||
} else if (!strcmp(json_object_get_string(jobj_resilience), "datashift")) {
|
||||
json_object_object_get_ex(jobj_area, "shift_size", &jobj1);
|
||||
- log_std(cd, "\t%-12s%" PRIu64 "[bytes]\n", "Shift size:", json_object_get_uint64(jobj1));
|
||||
+ log_std(cd, "\t%-12s%" PRIu64 "[bytes]\n", "Shift size:", crypt_jobj_get_uint64(jobj1));
|
||||
}
|
||||
|
||||
json_object_object_get_ex(jobj_area, "offset", &jobj1);
|
||||
- log_std(cd, "\tArea offset:%" PRIu64 " [bytes]\n", json_object_get_uint64(jobj1));
|
||||
+ log_std(cd, "\tArea offset:%" PRIu64 " [bytes]\n", crypt_jobj_get_uint64(jobj1));
|
||||
|
||||
json_object_object_get_ex(jobj_area, "size", &jobj1);
|
||||
- log_std(cd, "\tArea length:%" PRIu64 " [bytes]\n", json_object_get_uint64(jobj1));
|
||||
+ log_std(cd, "\tArea length:%" PRIu64 " [bytes]\n", crypt_jobj_get_uint64(jobj1));
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -304,7 +304,7 @@ static int reenc_keyslot_validate(struct crypt_device *cd, json_object *jobj_key
|
||||
return -EINVAL;
|
||||
if (!validate_json_uint32(jobj_sector_size))
|
||||
return -EINVAL;
|
||||
- sector_size = json_object_get_uint32(jobj_sector_size);
|
||||
+ sector_size = crypt_jobj_get_uint32(jobj_sector_size);
|
||||
if (sector_size < SECTOR_SIZE || NOTPOW2(sector_size)) {
|
||||
log_dbg(cd, "Invalid sector_size (%" PRIu32 ") for checksum resilience mode.", sector_size);
|
||||
return -EINVAL;
|
||||
@@ -313,7 +313,7 @@ static int reenc_keyslot_validate(struct crypt_device *cd, json_object *jobj_key
|
||||
if (!(jobj_shift_size = json_contains(cd, jobj_area, "type:datashift", "Keyslot area", "shift_size", json_type_string)))
|
||||
return -EINVAL;
|
||||
|
||||
- shift_size = json_object_get_uint64(jobj_shift_size);
|
||||
+ shift_size = crypt_jobj_get_uint64(jobj_shift_size);
|
||||
if (!shift_size)
|
||||
return -EINVAL;
|
||||
|
||||
diff --git a/lib/luks2/luks2_luks1_convert.c b/lib/luks2/luks2_luks1_convert.c
|
||||
index 7f5f26b7..cbaa8603 100644
|
||||
--- a/lib/luks2/luks2_luks1_convert.c
|
||||
+++ b/lib/luks2/luks2_luks1_convert.c
|
||||
@@ -91,8 +91,8 @@ static int json_luks1_keyslot(const struct luks_phdr *hdr_v1, int keyslot, struc
|
||||
}
|
||||
area_size = offs_b - offs_a;
|
||||
json_object_object_add(jobj_area, "key_size", json_object_new_int(hdr_v1->keyBytes));
|
||||
- json_object_object_add(jobj_area, "offset", json_object_new_uint64(offset));
|
||||
- json_object_object_add(jobj_area, "size", json_object_new_uint64(area_size));
|
||||
+ json_object_object_add(jobj_area, "offset", crypt_jobj_new_uint64(offset));
|
||||
+ json_object_object_add(jobj_area, "size", crypt_jobj_new_uint64(area_size));
|
||||
json_object_object_add(keyslot_obj, "area", jobj_area);
|
||||
|
||||
*keyslot_object = keyslot_obj;
|
||||
@@ -145,7 +145,7 @@ static int json_luks1_segment(const struct luks_phdr *hdr_v1, struct json_object
|
||||
/* offset field */
|
||||
number = (uint64_t)hdr_v1->payloadOffset * SECTOR_SIZE;
|
||||
|
||||
- field = json_object_new_uint64(number);
|
||||
+ field = crypt_jobj_new_uint64(number);
|
||||
if (!field) {
|
||||
json_object_put(segment_obj);
|
||||
return -ENOMEM;
|
||||
@@ -401,8 +401,8 @@ static int json_luks1_object(struct luks_phdr *hdr_v1, struct json_object **luks
|
||||
json_object_object_add(luks1_obj, "config", field);
|
||||
|
||||
json_size = LUKS2_HDR_16K_LEN - LUKS2_HDR_BIN_LEN;
|
||||
- json_object_object_add(field, "json_size", json_object_new_uint64(json_size));
|
||||
- json_object_object_add(field, "keyslots_size", json_object_new_uint64(keyslots_size));
|
||||
+ json_object_object_add(field, "json_size", crypt_jobj_new_uint64(json_size));
|
||||
+ json_object_object_add(field, "keyslots_size", crypt_jobj_new_uint64(keyslots_size));
|
||||
|
||||
*luks1_object = luks1_obj;
|
||||
return 0;
|
||||
@@ -418,8 +418,8 @@ static void move_keyslot_offset(json_object *jobj, int offset_add)
|
||||
UNUSED(key);
|
||||
json_object_object_get_ex(val, "area", &jobj_area);
|
||||
json_object_object_get_ex(jobj_area, "offset", &jobj2);
|
||||
- offset = json_object_get_uint64(jobj2) + offset_add;
|
||||
- json_object_object_add(jobj_area, "offset", json_object_new_uint64(offset));
|
||||
+ offset = crypt_jobj_get_uint64(jobj2) + offset_add;
|
||||
+ json_object_object_add(jobj_area, "offset", crypt_jobj_new_uint64(offset));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -749,7 +749,7 @@ int LUKS2_luks2_to_luks1(struct crypt_device *cd, struct luks2_hdr *hdr2, struct
|
||||
return -EINVAL;
|
||||
if (!json_object_object_get_ex(jobj_area, "offset", &jobj1))
|
||||
return -EINVAL;
|
||||
- offset = json_object_get_uint64(jobj1);
|
||||
+ offset = crypt_jobj_get_uint64(jobj1);
|
||||
} else {
|
||||
if (LUKS2_find_area_gap(cd, hdr2, key_size, &offset, &area_length))
|
||||
return -EINVAL;
|
||||
@@ -781,7 +781,7 @@ int LUKS2_luks2_to_luks1(struct crypt_device *cd, struct luks2_hdr *hdr2, struct
|
||||
|
||||
if (!json_object_object_get_ex(jobj_kdf, "iterations", &jobj1))
|
||||
continue;
|
||||
- hdr1->keyblock[i].passwordIterations = json_object_get_uint32(jobj1);
|
||||
+ hdr1->keyblock[i].passwordIterations = crypt_jobj_get_uint32(jobj1);
|
||||
|
||||
if (!json_object_object_get_ex(jobj_kdf, "salt", &jobj1))
|
||||
continue;
|
||||
@@ -822,7 +822,7 @@ int LUKS2_luks2_to_luks1(struct crypt_device *cd, struct luks2_hdr *hdr2, struct
|
||||
|
||||
if (!json_object_object_get_ex(jobj_digest, "iterations", &jobj1))
|
||||
return -EINVAL;
|
||||
- hdr1->mkDigestIterations = json_object_get_uint32(jobj1);
|
||||
+ hdr1->mkDigestIterations = crypt_jobj_get_uint32(jobj1);
|
||||
|
||||
if (!json_object_object_get_ex(jobj_digest, "digest", &jobj1))
|
||||
return -EINVAL;
|
||||
@@ -847,7 +847,7 @@ int LUKS2_luks2_to_luks1(struct crypt_device *cd, struct luks2_hdr *hdr2, struct
|
||||
|
||||
if (!json_object_object_get_ex(jobj_segment, "offset", &jobj1))
|
||||
return -EINVAL;
|
||||
- offset = json_object_get_uint64(jobj1) / SECTOR_SIZE;
|
||||
+ offset = crypt_jobj_get_uint64(jobj1) / SECTOR_SIZE;
|
||||
if (offset > UINT32_MAX)
|
||||
return -EINVAL;
|
||||
/* FIXME: LUKS1 requires offset == 0 || offset >= luks1_hdr_size */
|
||||
diff --git a/lib/luks2/luks2_reencrypt.c b/lib/luks2/luks2_reencrypt.c
|
||||
index 6bac4420..c99577cc 100644
|
||||
--- a/lib/luks2/luks2_reencrypt.c
|
||||
+++ b/lib/luks2/luks2_reencrypt.c
|
||||
@@ -165,7 +165,7 @@ static uint32_t reencrypt_alignment(struct luks2_hdr *hdr)
|
||||
if (!json_object_object_get_ex(jobj_area, "sector_size", &jobj_sector_size))
|
||||
return 0;
|
||||
|
||||
- return json_object_get_uint32(jobj_sector_size);
|
||||
+ return crypt_jobj_get_uint32(jobj_sector_size);
|
||||
}
|
||||
|
||||
static json_object *_enc_create_segments_shift_after(struct crypt_device *cd,
|
||||
@@ -200,13 +200,13 @@ static json_object *_enc_create_segments_shift_after(struct crypt_device *cd,
|
||||
json_segment_remove_flag(jobj_seg_new, "in-reencryption");
|
||||
tmp = rh->length;
|
||||
} else {
|
||||
- json_object_object_add(jobj_seg_new, "offset", json_object_new_uint64(rh->offset + data_offset));
|
||||
- json_object_object_add(jobj_seg_new, "iv_tweak", json_object_new_uint64(rh->offset >> SECTOR_SHIFT));
|
||||
+ json_object_object_add(jobj_seg_new, "offset", crypt_jobj_new_uint64(rh->offset + data_offset));
|
||||
+ json_object_object_add(jobj_seg_new, "iv_tweak", crypt_jobj_new_uint64(rh->offset >> SECTOR_SHIFT));
|
||||
tmp = json_segment_get_size(jobj_seg_new, 0) + rh->length;
|
||||
}
|
||||
|
||||
/* alter size of new segment, reenc_seg == 0 we're finished */
|
||||
- json_object_object_add(jobj_seg_new, "size", reenc_seg > 0 ? json_object_new_uint64(tmp) : json_object_new_string("dynamic"));
|
||||
+ json_object_object_add(jobj_seg_new, "size", reenc_seg > 0 ? crypt_jobj_new_uint64(tmp) : json_object_new_string("dynamic"));
|
||||
json_object_object_add_by_uint(jobj_segs_post, reenc_seg, jobj_seg_new);
|
||||
|
||||
return jobj_segs_post;
|
||||
@@ -256,7 +256,7 @@ static json_object *reencrypt_make_hot_segments_encrypt_shift(struct crypt_devic
|
||||
jobj_seg_shrunk = NULL;
|
||||
if (json_object_copy(LUKS2_get_segment_jobj(hdr, sg), &jobj_seg_shrunk))
|
||||
goto err;
|
||||
- json_object_object_add(jobj_seg_shrunk, "size", json_object_new_uint64(segment_size - rh->length));
|
||||
+ json_object_object_add(jobj_seg_shrunk, "size", crypt_jobj_new_uint64(segment_size - rh->length));
|
||||
json_object_object_add_by_uint(jobj_segs_hot, sg++, jobj_seg_shrunk);
|
||||
}
|
||||
|
||||
@@ -336,7 +336,7 @@ static json_object *reencrypt_make_post_segments_forward(struct crypt_device *cd
|
||||
goto err;
|
||||
jobj_old_seg = jobj_old_seg_copy;
|
||||
fixed_length = rh->device_size - fixed_length;
|
||||
- json_object_object_add(jobj_old_seg, "size", json_object_new_uint64(fixed_length));
|
||||
+ json_object_object_add(jobj_old_seg, "size", crypt_jobj_new_uint64(fixed_length));
|
||||
} else
|
||||
json_object_get(jobj_old_seg);
|
||||
json_object_object_add_by_uint(jobj_segs_post, 1, jobj_old_seg);
|
||||
@@ -491,7 +491,7 @@ static json_object *reencrypt_make_hot_segments_backward(struct crypt_device *cd
|
||||
if (rh->offset) {
|
||||
if (json_object_copy(LUKS2_get_segment_jobj(hdr, 0), &jobj_old_seg))
|
||||
goto err;
|
||||
- json_object_object_add(jobj_old_seg, "size", json_object_new_uint64(rh->offset));
|
||||
+ json_object_object_add(jobj_old_seg, "size", crypt_jobj_new_uint64(rh->offset));
|
||||
|
||||
json_object_object_add_by_uint(jobj_segs_hot, sg++, jobj_old_seg);
|
||||
}
|
||||
@@ -575,7 +575,7 @@ static uint64_t reencrypt_data_shift(struct luks2_hdr *hdr)
|
||||
if (!json_object_object_get_ex(jobj_area, "shift_size", &jobj_data_shift))
|
||||
return 0;
|
||||
|
||||
- return json_object_get_uint64(jobj_data_shift);
|
||||
+ return crypt_jobj_get_uint64(jobj_data_shift);
|
||||
}
|
||||
|
||||
static crypt_reencrypt_mode_info reencrypt_mode(struct luks2_hdr *hdr)
|
||||
diff --git a/lib/luks2/luks2_segment.c b/lib/luks2/luks2_segment.c
|
||||
index 6ece2fdd..cd5108e8 100644
|
||||
--- a/lib/luks2/luks2_segment.c
|
||||
+++ b/lib/luks2/luks2_segment.c
|
||||
@@ -55,7 +55,7 @@ uint64_t json_segment_get_offset(json_object *jobj_segment, unsigned blockwise)
|
||||
!json_object_object_get_ex(jobj_segment, "offset", &jobj))
|
||||
return 0;
|
||||
|
||||
- return blockwise ? json_object_get_uint64(jobj) >> SECTOR_SHIFT : json_object_get_uint64(jobj);
|
||||
+ return blockwise ? crypt_jobj_get_uint64(jobj) >> SECTOR_SHIFT : crypt_jobj_get_uint64(jobj);
|
||||
}
|
||||
|
||||
const char *json_segment_type(json_object *jobj_segment)
|
||||
@@ -77,7 +77,7 @@ uint64_t json_segment_get_iv_offset(json_object *jobj_segment)
|
||||
!json_object_object_get_ex(jobj_segment, "iv_tweak", &jobj))
|
||||
return 0;
|
||||
|
||||
- return json_object_get_uint64(jobj);
|
||||
+ return crypt_jobj_get_uint64(jobj);
|
||||
}
|
||||
|
||||
uint64_t json_segment_get_size(json_object *jobj_segment, unsigned blockwise)
|
||||
@@ -88,7 +88,7 @@ uint64_t json_segment_get_size(json_object *jobj_segment, unsigned blockwise)
|
||||
!json_object_object_get_ex(jobj_segment, "size", &jobj))
|
||||
return 0;
|
||||
|
||||
- return blockwise ? json_object_get_uint64(jobj) >> SECTOR_SHIFT : json_object_get_uint64(jobj);
|
||||
+ return blockwise ? crypt_jobj_get_uint64(jobj) >> SECTOR_SHIFT : crypt_jobj_get_uint64(jobj);
|
||||
}
|
||||
|
||||
const char *json_segment_get_cipher(json_object *jobj_segment)
|
||||
@@ -229,8 +229,8 @@ static json_object *_segment_create_generic(const char *type, uint64_t offset, c
|
||||
return NULL;
|
||||
|
||||
json_object_object_add(jobj, "type", json_object_new_string(type));
|
||||
- json_object_object_add(jobj, "offset", json_object_new_uint64(offset));
|
||||
- json_object_object_add(jobj, "size", length ? json_object_new_uint64(*length) : json_object_new_string("dynamic"));
|
||||
+ json_object_object_add(jobj, "offset", crypt_jobj_new_uint64(offset));
|
||||
+ json_object_object_add(jobj, "size", length ? crypt_jobj_new_uint64(*length) : json_object_new_string("dynamic"));
|
||||
|
||||
return jobj;
|
||||
}
|
||||
@@ -252,7 +252,7 @@ json_object *json_segment_create_crypt(uint64_t offset,
|
||||
if (!jobj)
|
||||
return NULL;
|
||||
|
||||
- json_object_object_add(jobj, "iv_tweak", json_object_new_uint64(iv_offset));
|
||||
+ json_object_object_add(jobj, "iv_tweak", crypt_jobj_new_uint64(iv_offset));
|
||||
json_object_object_add(jobj, "encryption", json_object_new_string(cipher));
|
||||
json_object_object_add(jobj, "sector_size", json_object_new_int(sector_size));
|
||||
if (reencryption)
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -6,15 +6,17 @@ Subject: [PATCH] Remove man from BUILDDIRS in configure
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
[Fabrice: updated for 2.3.0]
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
[Michael: updated for 2.3.3]
|
||||
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
|
||||
---
|
||||
config-scripts/cups-common.m4 | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/config-scripts/cups-common.m4 b/config-scripts/cups-common.m4
|
||||
index fbba715..77d0f5c 100644
|
||||
index a460a73..d427acb 100644
|
||||
--- a/config-scripts/cups-common.m4
|
||||
+++ b/config-scripts/cups-common.m4
|
||||
@@ -446,7 +446,7 @@ AC_ARG_WITH(components, [ --with-components set components to build:
|
||||
@@ -434,7 +434,7 @@ LIBHEADERSPRIV="\$(COREHEADERSPRIV) \$(DRIVERHEADERSPRIV)"
|
||||
|
||||
case "$COMPONENTS" in
|
||||
all)
|
||||
@@ -24,5 +26,5 @@ index fbba715..77d0f5c 100644
|
||||
|
||||
core)
|
||||
--
|
||||
2.8.1
|
||||
2.17.1
|
||||
|
||||
|
||||
@@ -16,23 +16,25 @@ genstrings call.]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
[Fabrice: updated for 2.3.0]
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
[Michael: updated for 2.3.3]
|
||||
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
|
||||
---
|
||||
ppdc/Makefile | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/ppdc/Makefile b/ppdc/Makefile
|
||||
index 68bf6b2..d57a0c9 100644
|
||||
index 32e2e0b..7b18879 100644
|
||||
--- a/ppdc/Makefile
|
||||
+++ b/ppdc/Makefile
|
||||
@@ -242,8 +242,6 @@ genstrings: genstrings.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) \
|
||||
$(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o genstrings genstrings.o \
|
||||
libcupsppdc.a $(LINKCUPSSTATIC)
|
||||
$(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
|
||||
@@ -186,8 +186,6 @@ genstrings: genstrings.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) \
|
||||
$(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o genstrings genstrings.o \
|
||||
libcupsppdc.a $(LINKCUPSSTATIC)
|
||||
$(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
|
||||
- echo Generating localization strings...
|
||||
- ./genstrings >sample.c
|
||||
|
||||
|
||||
#
|
||||
--
|
||||
2.6.4
|
||||
2.17.1
|
||||
|
||||
|
||||
@@ -13,15 +13,17 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Signed-off-by: Olivier Schonken <olivier.schonken@gmail.com>
|
||||
[Fabrice: updated for 2.3.0]
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
[Michael: updated for 2.3.3]
|
||||
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
|
||||
---
|
||||
Makedefs.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makedefs.in b/Makedefs.in
|
||||
index 3afef0a..299b297 100644
|
||||
index 5f1d32f..d669ea8 100644
|
||||
--- a/Makedefs.in
|
||||
+++ b/Makedefs.in
|
||||
@@ -148,7 +148,7 @@ IPPFIND_BIN = @IPPFIND_BIN@
|
||||
@@ -155,7 +155,7 @@ ALL_CXXFLAGS = -I.. -D_CUPS_SOURCE $(CXXFLAGS) \
|
||||
$(ONDEMANDFLAGS) $(OPTIONS)
|
||||
ALL_DSOFLAGS = -L../cups @ARCHFLAGS@ @RELROFLAGS@ $(DSOFLAGS) $(OPTIM)
|
||||
ALL_LDFLAGS = -L../cups @LDARCHFLAGS@ @RELROFLAGS@ $(LDFLAGS) \
|
||||
@@ -31,5 +33,5 @@ index 3afef0a..299b297 100644
|
||||
ARFLAGS = @ARFLAGS@
|
||||
BACKLIBS = @BACKLIBS@
|
||||
--
|
||||
2.7.4
|
||||
2.17.1
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# Allow USB printers in the lp group
|
||||
# Match rules converted from usblp.c driver's usblp_ids
|
||||
ACTION=="add", SUBSYSTEM=="usb", ATTR{bInterfaceClass}=="07", ATTR{bInterfaceSubClass}=="01", GROUP="lp"
|
||||
@@ -1,4 +1,4 @@
|
||||
# Locally calculated:
|
||||
sha256 1bca9d89507e3f68cbc84482fe46ae8d5333af5bc2b9061347b2007182ac77ce cups-2.3.1-source.tar.gz
|
||||
sha256 261fd948bce8647b6d5cb2a1784f0c24cc52b5c4e827b71d726020bcc502f3ee cups-2.3.3-source.tar.gz
|
||||
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE
|
||||
sha256 a5d616e6322a9cb1a971e18765025edfca4f3cd9c0eafc32d6d2eb4b8c8787b5 NOTICE
|
||||
|
||||
+20
-1
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
CUPS_VERSION = 2.3.1
|
||||
CUPS_VERSION = 2.3.3
|
||||
CUPS_SOURCE = cups-$(CUPS_VERSION)-source.tar.gz
|
||||
CUPS_SITE = https://github.com/apple/cups/releases/download/v$(CUPS_VERSION)
|
||||
CUPS_LICENSE = Apache-2.0 with GPL-2.0/LGPL-2.0 exception
|
||||
@@ -22,6 +22,9 @@ CUPS_CONF_OPTS = \
|
||||
--disable-gssapi \
|
||||
--disable-pam \
|
||||
--libdir=/usr/lib \
|
||||
--with-cups-user=lp \
|
||||
--with-cups-group=lp \
|
||||
--with-system-groups="lpadmin sys root" \
|
||||
--without-rcdir
|
||||
CUPS_CONFIG_SCRIPTS = cups-config
|
||||
CUPS_DEPENDENCIES = \
|
||||
@@ -72,9 +75,25 @@ else
|
||||
CUPS_CONF_OPTS += --disable-avahi
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
|
||||
define CUPS_INSTALL_UDEV_RULES
|
||||
$(INSTALL) -D -m 0644 package/cups/70-usb-printers.rules \
|
||||
$(TARGET_DIR)/lib/udev/rules.d/70-usb-printers.rules
|
||||
endef
|
||||
|
||||
CUPS_POST_INSTALL_TARGET_HOOKS += CUPS_INSTALL_UDEV_RULES
|
||||
endif
|
||||
|
||||
define CUPS_INSTALL_INIT_SYSV
|
||||
$(INSTALL) -D -m 0755 package/cups/S81cupsd \
|
||||
$(TARGET_DIR)/etc/init.d/S81cupsd
|
||||
endef
|
||||
|
||||
# lp user is needed to run cups spooler
|
||||
# lpadmin group membership grants administrative privileges
|
||||
define CUPS_USERS
|
||||
lp -1 lp -1 * /var/spool/lpd /bin/false - lp
|
||||
- - lpadmin -1 * - - - Printers admin group.
|
||||
endef
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -5,7 +5,7 @@ After=network.target
|
||||
[Service]
|
||||
Type=forking
|
||||
EnvironmentFile=-/etc/default/dhcpcd
|
||||
PIDFile=/var/run/dhcpcd.pid
|
||||
PIDFile=/run/dhcpcd.pid
|
||||
ExecStart=/sbin/dhcpcd $DAEMON_ARGS
|
||||
Restart=always
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ DHCPDUMP_CFLAGS = $(TARGET_CFLAGS) -DHAVE_STRSEP
|
||||
|
||||
define DHCPDUMP_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CC="$(TARGET_CC) $(DHCPDUMP_CFLAGS) \
|
||||
-D_GNU_SOURCE" LIBS="$(DHCPDUMP_LIBS)"
|
||||
-D_GNU_SOURCE" LIBS="$(DHCPDUMP_LIBS)" dhcpdump
|
||||
endef
|
||||
|
||||
define DHCPDUMP_INSTALL_TARGET_CMDS
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 a5b1d6c5766f77896273e864a448a7f0ea4055bb52f50f884f14ad6ef0d5fdb4 docker-cli-19.03.11.tar.gz
|
||||
sha256 00801d6b7e9777cf2cf54255ca5afb7b58b3d35c14bb0f60bb9f07d031883223 docker-cli-19.03.12.tar.gz
|
||||
sha256 2d81ea060825006fc8f3fe28aa5dc0ffeb80faf325b612c955229157b8c10dc0 LICENSE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
DOCKER_CLI_VERSION = 19.03.11
|
||||
DOCKER_CLI_VERSION = 19.03.12
|
||||
DOCKER_CLI_SITE = $(call github,docker,cli,v$(DOCKER_CLI_VERSION))
|
||||
DOCKER_CLI_WORKSPACE = gopath
|
||||
|
||||
@@ -17,8 +17,8 @@ DOCKER_CLI_TAGS = autogen
|
||||
DOCKER_CLI_BUILD_TARGETS = cmd/docker
|
||||
|
||||
DOCKER_CLI_LDFLAGS = \
|
||||
-X github.com/docker/cli/cli.GitCommit=$(DOCKER_CLI_VERSION) \
|
||||
-X github.com/docker/cli/cli.Version=$(DOCKER_CLI_VERSION)
|
||||
-X github.com/docker/cli/cli/version.GitCommit=$(DOCKER_CLI_VERSION) \
|
||||
-X github.com/docker/cli/cli/version.Version=$(DOCKER_CLI_VERSION)
|
||||
|
||||
ifeq ($(BR2_PACKAGE_DOCKER_CLI_STATIC),y)
|
||||
DOCKER_CLI_LDFLAGS += -extldflags '-static'
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 5ff62d7b3638a275b2c459e53a4d1a7a8fb03dde8305defcd55e05e059e5618d docker-engine-19.03.11.tar.gz
|
||||
sha256 858e4e74ee0097bcbdb71d737e268dfcfd1970efa4a1600354253b02fd403e39 docker-engine-19.03.12.tar.gz
|
||||
sha256 7c87873291f289713ac5df48b1f2010eb6963752bbd6b530416ab99fc37914a8 LICENSE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
DOCKER_ENGINE_VERSION = 19.03.11
|
||||
DOCKER_ENGINE_VERSION = 19.03.12
|
||||
DOCKER_ENGINE_SITE = $(call github,docker,engine,v$(DOCKER_ENGINE_VERSION))
|
||||
|
||||
DOCKER_ENGINE_LICENSE = Apache-2.0
|
||||
|
||||
@@ -15,6 +15,7 @@ ECRYPTFS_UTILS_CONF_OPTS = --disable-pywrap
|
||||
|
||||
#Needed for build system to find pk11func.h and libnss3.so
|
||||
ECRYPTFS_UTILS_CONF_ENV = \
|
||||
ac_cv_path_POD2MAN=true \
|
||||
NSS_CFLAGS="-I$(STAGING_DIR)/usr/include/nss -I$(STAGING_DIR)/usr/include/nspr" \
|
||||
NSS_LIBS="-lnss3"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
config BR2_PACKAGE_EFL
|
||||
bool "efl"
|
||||
# g++ issue with 4.4.5, tested with g++ 4.7.2
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11
|
||||
depends on BR2_HOST_GCC_AT_LEAST_4_9 # host-efl
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # untested without threads
|
||||
depends on BR2_USE_MMU
|
||||
@@ -301,8 +301,9 @@ comment "SVG loader needs a toolchain w/ gcc >= 4.8"
|
||||
|
||||
endif # BR2_PACKAGE_EFL
|
||||
|
||||
comment "efl needs a toolchain w/ C++, dynamic library, gcc >= 4.7, threads, wchar"
|
||||
comment "efl needs a toolchain w/ C++, dynamic library, gcc >= 4.9, host gcc >= 4.9, threads, wchar"
|
||||
depends on !BR2_INSTALL_LIBSTDCPP \
|
||||
|| !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 \
|
||||
|| BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
|
||||
|| !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 \
|
||||
|| !BR2_HOST_GCC_AT_LEAST_4_9 || BR2_STATIC_LIBS \
|
||||
|| !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
|
||||
depends on BR2_USE_MMU
|
||||
|
||||
@@ -27,6 +27,13 @@ define FAIL2BAN_FIX_DEFAULT_CONFIG
|
||||
endef
|
||||
FAIL2BAN_POST_INSTALL_TARGET_HOOKS += FAIL2BAN_FIX_DEFAULT_CONFIG
|
||||
|
||||
# fail2ban-python points to host python
|
||||
define FAIL2BAN_FIX_FAIL2BAN_PYTHON_SYMLINK
|
||||
ln -snf $(if $(BR2_PACKAGE_PYTHON),python,python3) \
|
||||
$(TARGET_DIR)/usr/bin/fail2ban-python
|
||||
endef
|
||||
FAIL2BAN_POST_INSTALL_TARGET_HOOKS += FAIL2BAN_FIX_FAIL2BAN_PYTHON_SYMLINK
|
||||
|
||||
define FAIL2BAN_INSTALL_INIT_SYSV
|
||||
$(INSTALL) -D -m 755 package/fail2ban/S60fail2ban \
|
||||
$(TARGET_DIR)/etc/init.d/S60fail2ban
|
||||
|
||||
@@ -14,8 +14,16 @@ FREETYPE_LICENSE_FILES = docs/LICENSE.TXT docs/FTL.TXT docs/GPLv2.TXT
|
||||
FREETYPE_DEPENDENCIES = host-pkgconf
|
||||
FREETYPE_CONFIG_SCRIPTS = freetype-config
|
||||
|
||||
# harfbuzz already depends on freetype so disable harfbuzz in freetype to avoid
|
||||
# a circular dependency
|
||||
FREETYPE_CONF_OPTS = --without-harfbuzz
|
||||
|
||||
HOST_FREETYPE_DEPENDENCIES = host-pkgconf
|
||||
HOST_FREETYPE_CONF_OPTS = --without-zlib --without-bzip2 --without-png
|
||||
HOST_FREETYPE_CONF_OPTS = \
|
||||
--without-bzip2 \
|
||||
--without-harfbuzz \
|
||||
--without-png \
|
||||
--without-zlib
|
||||
|
||||
# since 2.9.1 needed for freetype-config install
|
||||
FREETYPE_CONF_OPTS += --enable-freetype-config
|
||||
@@ -37,9 +45,7 @@ endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBPNG),y)
|
||||
FREETYPE_DEPENDENCIES += libpng
|
||||
FREETYPE_CONF_OPTS += LIBPNG_CFLAGS="`$(STAGING_DIR)/usr/bin/libpng-config --cflags`" \
|
||||
LIBPNG_LDFLAGS="`$(STAGING_DIR)/usr/bin/libpng-config --ldflags`"
|
||||
FREETYPE_LIBPNG_LIBS = "`$(STAGING_DIR)/usr/bin/libpng-config --libs`"
|
||||
FREETYPE_CONF_OPTS += --with-png
|
||||
else
|
||||
FREETYPE_CONF_OPTS += --without-png
|
||||
endif
|
||||
@@ -52,14 +58,5 @@ define FREETYPE_FIX_CONFIG_FILE
|
||||
endef
|
||||
FREETYPE_POST_INSTALL_STAGING_HOOKS += FREETYPE_FIX_CONFIG_FILE
|
||||
|
||||
# libpng isn't included in freetype-config & freetype2.pc :-/
|
||||
define FREETYPE_FIX_CONFIG_FILE_LIBS
|
||||
$(SED) "s,^Libs.private:,& $(FREETYPE_LIBPNG_LIBS)," \
|
||||
$(STAGING_DIR)/usr/lib/pkgconfig/freetype2.pc
|
||||
$(SED) "s,-lfreetype,& $(FREETYPE_LIBPNG_LIBS)," \
|
||||
$(STAGING_DIR)/usr/bin/freetype-config
|
||||
endef
|
||||
FREETYPE_POST_INSTALL_STAGING_HOOKS += FREETYPE_FIX_CONFIG_FILE_LIBS
|
||||
|
||||
$(eval $(autotools-package))
|
||||
$(eval $(host-autotools-package))
|
||||
|
||||
+15
-5
@@ -130,6 +130,14 @@ ifeq ($(BR2_sparc)$(BR2_sparc64),y)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --disable-libsanitizer
|
||||
endif
|
||||
|
||||
# The logic in libbacktrace/configure.ac to detect if __sync builtins
|
||||
# are available assumes they are as soon as target_subdir is not
|
||||
# empty, i.e when cross-compiling. However, some platforms do not have
|
||||
# __sync builtins, so help the configure script a bit.
|
||||
ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_4),)
|
||||
HOST_GCC_COMMON_CONF_ENV += target_configargs="libbacktrace_cv_sys_sync=no"
|
||||
endif
|
||||
|
||||
# TLS support is not needed on uClibc/no-thread and
|
||||
# uClibc/linux-threads, otherwise, for all other situations (glibc,
|
||||
# musl and uClibc/NPTL), we need it.
|
||||
@@ -212,6 +220,13 @@ HOST_GCC_COMMON_CONF_OPTS += \
|
||||
--with-long-double-128
|
||||
endif
|
||||
|
||||
# Set default to Secure-PLT to prevent run-time
|
||||
# generation of PLT stubs (supports RELRO and
|
||||
# SELinux non-exemem capabilities)
|
||||
ifeq ($(BR2_powerpc),y)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --enable-secureplt
|
||||
endif
|
||||
|
||||
# PowerPC64 big endian by default uses the elfv1 ABI, and PowerPC 64
|
||||
# little endian by default uses the elfv2 ABI. However, musl has
|
||||
# decided to use the elfv2 ABI for both, so we force the elfv2 ABI for
|
||||
@@ -260,11 +275,6 @@ HOST_GCC_COMMON_CCACHE_HASH_FILES += \
|
||||
ifeq ($(BR2_xtensa),y)
|
||||
HOST_GCC_COMMON_CCACHE_HASH_FILES += $(ARCH_XTENSA_OVERLAY_TAR)
|
||||
endif
|
||||
ifeq ($(ARCH),powerpc)
|
||||
ifneq ($(BR2_SOFT_FLOAT),)
|
||||
HOST_GCC_COMMON_CCACHE_HASH_FILES += package/gcc/$(GCC_VERSION)/1000-powerpc-link-with-math-lib.patch.conditional
|
||||
endif
|
||||
endif
|
||||
|
||||
# _CONF_OPTS contains some references to the absolute path of $(HOST_DIR)
|
||||
# and a reference to the Buildroot git revision (BR2_VERSION_FULL),
|
||||
|
||||
+2
-1
@@ -69,7 +69,8 @@ GDB_DISABLE_BINUTILS_CONF_OPTS = \
|
||||
--disable-binutils \
|
||||
--disable-install-libbfd \
|
||||
--disable-ld \
|
||||
--disable-gas
|
||||
--disable-gas \
|
||||
--disable-gprof
|
||||
|
||||
GDB_CONF_ENV = \
|
||||
ac_cv_type_uintptr_t=yes \
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
From 5fed765abb8ff07c381cc3ebb9367e9560f7a658 Mon Sep 17 00:00:00 2001
|
||||
From: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
Date: Mon, 20 Mar 2017 23:43:03 +0100
|
||||
Subject: [PATCH] Fix cross compilation issue
|
||||
|
||||
Without this patch unsafe paths are used:
|
||||
x86_64-linux-gcc: ERROR: unsafe header/library path used in cross-compilation: '/libtiff'
|
||||
|
||||
Downloaded from
|
||||
http://bugs.ghostscript.com/show_bug.cgi?id=696508#c3
|
||||
|
||||
Slightly updated to work with 9.23
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index d0f62d7..0d49344 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1173,7 +1173,7 @@ XPSWRITEDEVICE=''
|
||||
|
||||
|
||||
LIBTIFFDIR='src'
|
||||
-LIBTIFFCONFDIR=''
|
||||
+LIBTIFFCONFDIR='src'
|
||||
TIFFCFLAGS=''
|
||||
|
||||
TIFFDEVS_ALL='tiffs tiff12nc tiff24nc tiff48nc tiff32nc tiff64nc tiffcrle tifflzw tiffpack tiffgray tiffsep tiffsep1 tiffscaled tiffscaled4 tiffscaled8 tiffscaled24 tiffscaled32'
|
||||
FAX_DEVS_ALL='cfax dfaxlow dfaxhigh fax faxg3 faxg32d faxg4 tiffg3 tiffg32d tiffg4 tfax'
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs952/SHA512SUMS
|
||||
sha512 4c4a33884e1138bad553eee61fac1a72158297ad5c2ce46a4b36150848dea8158affaf2b902f4ff03e4f72ebc8154c198b618112624f409230a610b7648faa67 ghostscript-9.52.tar.xz
|
||||
# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9532/SHA512SUMS
|
||||
sha512 73aa6013aeecbd1345317a40349089a2f19a2205fc11b8ca0b619df1e91f2ca8b03efc09be9e079cb5ab8e1b838aa2236349cd1c177217c14308242f99138ae4 ghostscript-9.53.2.tar.gz
|
||||
|
||||
# Hash for license file:
|
||||
sha256 6f852249f975287b3efd43a5883875e47fa9f3125e2f1b18b5c09517ac30ecf2 LICENSE
|
||||
|
||||
@@ -4,13 +4,10 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GHOSTSCRIPT_VERSION = 9.52
|
||||
GHOSTSCRIPT_VERSION = 9.53.2
|
||||
GHOSTSCRIPT_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs$(subst .,,$(GHOSTSCRIPT_VERSION))
|
||||
GHOSTSCRIPT_SOURCE = ghostscript-$(GHOSTSCRIPT_VERSION).tar.xz
|
||||
GHOSTSCRIPT_LICENSE = AGPL-3.0
|
||||
GHOSTSCRIPT_LICENSE_FILES = LICENSE
|
||||
# 0001-Fix-cross-compilation-issue.patch
|
||||
GHOSTSCRIPT_AUTORECONF = YES
|
||||
GHOSTSCRIPT_DEPENDENCIES = \
|
||||
host-lcms2 \
|
||||
host-libjpeg \
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.14.tar.xz.sig
|
||||
sha256 5630751adec7025b8ef955af4d141d00d252a985769f51b4059e5affa3d39d63 gnutls-3.6.14.tar.xz
|
||||
# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.15.tar.xz.sig
|
||||
sha256 0ea8c3283de8d8335d7ae338ef27c53a916f15f382753b174c18b45ffd481558 gnutls-3.6.15.tar.xz
|
||||
# Locally calculated
|
||||
sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b doc/COPYING
|
||||
sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 doc/COPYING.LESSER
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
GNUTLS_VERSION_MAJOR = 3.6
|
||||
GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).14
|
||||
GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).15
|
||||
GNUTLS_SOURCE = gnutls-$(GNUTLS_VERSION).tar.xz
|
||||
GNUTLS_SITE = https://www.gnupg.org/ftp/gcrypt/gnutls/v$(GNUTLS_VERSION_MAJOR)
|
||||
GNUTLS_LICENSE = LGPL-2.1+ (core library)
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
# From https://golang.org/dl/
|
||||
sha256 197333e97290e9ea8796f738d61019dcba1c377c2f3961fd6a114918ecc7ab06 go1.13.14.src.tar.gz
|
||||
sha256 5fb43171046cf8784325e67913d55f88a683435071eef8e9da1aa8a1588fcf5d go1.13.15.src.tar.gz
|
||||
sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GO_VERSION = 1.13.14
|
||||
GO_VERSION = 1.13.15
|
||||
GO_SITE = https://storage.googleapis.com/golang
|
||||
GO_SOURCE = go$(GO_VERSION).src.tar.gz
|
||||
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
From 3edb88b55c0870989778c670d555aa159a2c3abc Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Mon, 31 Aug 2020 20:56:43 +0200
|
||||
Subject: [PATCH] don't install a libtool file with static library
|
||||
|
||||
Static library is supported since version 1.3.11 and
|
||||
https://github.com/silnrsi/graphite/commit/2f143c04da5caa43ddf4dba437b2f2bc26bf4238
|
||||
|
||||
However, graphite2 is still installing libgraphite2.la which contains
|
||||
incorrect information (i.e. dlname set to libgraphite2.so and
|
||||
old_library set to ''):
|
||||
|
||||
dlname='libgraphite2.so'
|
||||
|
||||
library_names='libgraphite2.so.3.2.1 libgraphite2.so.3 libgraphite2.so'
|
||||
|
||||
old_library=''
|
||||
|
||||
dependency_libs=''
|
||||
|
||||
This will result in the following build failure with any applications
|
||||
using this file such as harfbuzz:
|
||||
|
||||
arm-linux-g++.br_real: error: /home/buildroot/autobuild/run/instance-3/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgraphite2.so: No such file or directory
|
||||
make[5]: *** [main] Error 1
|
||||
|
||||
Instead of trying to fix this libtool file, just disable it when
|
||||
building a static library as it is not needed
|
||||
|
||||
Fixes:
|
||||
- http://autobuild.buildroot.org/results/9ebe1d11e80755d59190ef2aae82bbba5cc45e44
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
[Upstream status: https://github.com/silnrsi/graphite/pull/65]
|
||||
---
|
||||
src/CMakeLists.txt | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index b6ac26bf..a7ace040 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -131,7 +131,9 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
nolib_test(stdc++ $<TARGET_SONAME_FILE:graphite2>)
|
||||
endif ()
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
|
||||
- CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}")
|
||||
+ if (BUILD_SHARED_LIBS)
|
||||
+ CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}")
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
@@ -146,7 +148,9 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
include(Graphite)
|
||||
nolib_test(stdc++ $<TARGET_SONAME_FILE:graphite2>)
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
|
||||
- CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}")
|
||||
+ if (BUILD_SHARED_LIBS)
|
||||
+ CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}")
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
--
|
||||
2.28.0
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
config BR2_PACKAGE_GRAPHITE2
|
||||
bool "graphite2"
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on !BR2_STATIC_LIBS
|
||||
help
|
||||
Graphite is a project within SIL's scripts and software dev
|
||||
groups to provide cross-platform rendering for complex
|
||||
writing systems.
|
||||
|
||||
http://graphite.sil.org/
|
||||
https://github.com/silnrsi/graphite
|
||||
|
||||
comment "graphite2 needs a toolchain w/ C++, dynamic library"
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS
|
||||
comment "graphite2 needs a toolchain w/ C++"
|
||||
depends on !BR2_INSTALL_LIBSTDCPP
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
# From http://sourceforge.net/projects/silgraphite/files/graphite2
|
||||
md5 b39d5ed21195f8b709bcee548c87e2b5 graphite2-1.3.10.tgz
|
||||
sha1 668f3bce96fc02d90ea875b401ed36b2e8957d2f graphite2-1.3.10.tgz
|
||||
# From https://github.com/silnrsi/graphite/releases/download/1.3.14/graphite2-1.3.14.sha256sum
|
||||
sha256 f99d1c13aa5fa296898a181dff9b82fb25f6cc0933dbaa7a475d8109bd54209d graphite2-1.3.14.tgz
|
||||
# Locally computed
|
||||
sha256 90fde3b2f9ea95d68ffb19278d07d9b8a7efa5ba0e413bebcea802ce05cda1ae graphite2-1.3.10.tgz
|
||||
sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LICENSE
|
||||
|
||||
@@ -4,9 +4,10 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GRAPHITE2_VERSION = 1.3.10
|
||||
GRAPHITE2_VERSION = 1.3.14
|
||||
GRAPHITE2_SOURCE = graphite2-$(GRAPHITE2_VERSION).tgz
|
||||
GRAPHITE2_SITE = http://downloads.sourceforge.net/project/silgraphite/graphite2
|
||||
GRAPHITE2_SITE = \
|
||||
https://github.com/silnrsi/graphite/releases/download/$(GRAPHITE2_VERSION)
|
||||
GRAPHITE2_INSTALL_STAGING = YES
|
||||
GRAPHITE2_LICENSE = LGPL-2.1+
|
||||
GRAPHITE2_LICENSE_FILES = LICENSE
|
||||
|
||||
@@ -51,19 +51,22 @@ else
|
||||
GST1_PLUGINS_BASE_CONF_OPTS += -Dorc=disabled
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API),y)
|
||||
ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API)$(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM)$(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_WINDOW),yyy)
|
||||
GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=enabled
|
||||
else
|
||||
GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=disabled
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL),y)
|
||||
GST1_PLUGINS_BASE_GL_API_LIST = opengl
|
||||
GST1_PLUGINS_BASE_DEPENDENCIES += libgl libglu
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),y)
|
||||
GST1_PLUGINS_BASE_GL_API_LIST += gles2
|
||||
GST1_PLUGINS_BASE_DEPENDENCIES += libgles
|
||||
endif
|
||||
else
|
||||
GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=disabled
|
||||
endif
|
||||
|
||||
GST1_PLUGINS_BASE_CONF_OPTS += -Dgl_api='$(subst $(space),$(comma),$(GST1_PLUGINS_BASE_GL_API_LIST))'
|
||||
|
||||
ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLX),y)
|
||||
|
||||
@@ -89,7 +89,7 @@ endif
|
||||
|
||||
# Add GPL license if GPL plugins enabled.
|
||||
ifeq ($(GST1_PLUGINS_UGLY_HAS_GPL_LICENSE),y)
|
||||
GST1_PLUGINS_UGLY_LICENSE += GPL-2.0
|
||||
GST1_PLUGINS_UGLY_LICENSE += , GPL-2.0
|
||||
endif
|
||||
|
||||
# Use the following command to extract license info for plugins.
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally computed
|
||||
sha256 238ee17196fcb80bb58485910aaefc12d48f99e4043c2a28f06ff9588161c4e3 7.0.8-59.tar.gz
|
||||
sha256 5b47db932754743460eba7a226aea85b63e3408d3c7affb4d0117f70c9594ded LICENSE
|
||||
sha256 9f2b8b131222354b196c640fca4e53eb0bbf62246621b9d467f223366272d7a7 imagemagick-7.0.10-28.tar.gz
|
||||
sha256 e2d364de83dd9e7c866bd99ee7dac2fe92071fb70e9b187293353fb285cf09ac LICENSE
|
||||
|
||||
@@ -4,9 +4,8 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IMAGEMAGICK_VERSION = 7.0.8-59
|
||||
IMAGEMAGICK_SOURCE = $(IMAGEMAGICK_VERSION).tar.gz
|
||||
IMAGEMAGICK_SITE = https://github.com/ImageMagick/ImageMagick/archive
|
||||
IMAGEMAGICK_VERSION = 7.0.10-28
|
||||
IMAGEMAGICK_SITE = $(call github,ImageMagick,ImageMagick,$(IMAGEMAGICK_VERSION))
|
||||
IMAGEMAGICK_LICENSE = Apache-2.0
|
||||
IMAGEMAGICK_LICENSE_FILES = LICENSE
|
||||
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
From d615cb6c39d401a569941be2a615176191afa7ac Mon Sep 17 00:00:00 2001
|
||||
From: Chrostoper Ertl <chertl@microsoft.com>
|
||||
Date: Thu, 28 Nov 2019 16:33:59 +0000
|
||||
Subject: [PATCH] fru: Fix buffer overflow vulnerabilities
|
||||
|
||||
Partial fix for CVE-2020-5208, see
|
||||
https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp
|
||||
|
||||
The `read_fru_area_section` function only performs size validation of
|
||||
requested read size, and falsely assumes that the IPMI message will not
|
||||
respond with more than the requested amount of data; it uses the
|
||||
unvalidated response size to copy into `frubuf`. If the response is
|
||||
larger than the request, this can result in overflowing the buffer.
|
||||
|
||||
The same issue affects the `read_fru_area` function.
|
||||
|
||||
[Retrieve from
|
||||
https://github.com/ipmitool/ipmitool/commit/e824c23316ae50beb7f7488f2055ac65e8b341f2]
|
||||
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
|
||||
---
|
||||
lib/ipmi_fru.c | 33 +++++++++++++++++++++++++++++++--
|
||||
1 file changed, 31 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/ipmi_fru.c b/lib/ipmi_fru.c
|
||||
index cf00eff..af99aa9 100644
|
||||
--- a/lib/ipmi_fru.c
|
||||
+++ b/lib/ipmi_fru.c
|
||||
@@ -615,7 +615,10 @@ int
|
||||
read_fru_area(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
|
||||
uint32_t offset, uint32_t length, uint8_t *frubuf)
|
||||
{
|
||||
- uint32_t off = offset, tmp, finish;
|
||||
+ uint32_t off = offset;
|
||||
+ uint32_t tmp;
|
||||
+ uint32_t finish;
|
||||
+ uint32_t size_left_in_buffer;
|
||||
struct ipmi_rs * rsp;
|
||||
struct ipmi_rq req;
|
||||
uint8_t msg_data[4];
|
||||
@@ -628,10 +631,12 @@ read_fru_area(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
|
||||
|
||||
finish = offset + length;
|
||||
if (finish > fru->size) {
|
||||
+ memset(frubuf + fru->size, 0, length - fru->size);
|
||||
finish = fru->size;
|
||||
lprintf(LOG_NOTICE, "Read FRU Area length %d too large, "
|
||||
"Adjusting to %d",
|
||||
offset + length, finish - offset);
|
||||
+ length = finish - offset;
|
||||
}
|
||||
|
||||
memset(&req, 0, sizeof(req));
|
||||
@@ -667,6 +672,7 @@ read_fru_area(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
|
||||
}
|
||||
}
|
||||
|
||||
+ size_left_in_buffer = length;
|
||||
do {
|
||||
tmp = fru->access ? off >> 1 : off;
|
||||
msg_data[0] = id;
|
||||
@@ -707,9 +713,18 @@ read_fru_area(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
|
||||
}
|
||||
|
||||
tmp = fru->access ? rsp->data[0] << 1 : rsp->data[0];
|
||||
+ if(rsp->data_len < 1
|
||||
+ || tmp > rsp->data_len - 1
|
||||
+ || tmp > size_left_in_buffer)
|
||||
+ {
|
||||
+ printf(" Not enough buffer size");
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
memcpy(frubuf, rsp->data + 1, tmp);
|
||||
off += tmp;
|
||||
frubuf += tmp;
|
||||
+ size_left_in_buffer -= tmp;
|
||||
/* sometimes the size returned in the Info command
|
||||
* is too large. return 0 so higher level function
|
||||
* still attempts to parse what was returned */
|
||||
@@ -742,7 +757,9 @@ read_fru_area_section(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
|
||||
uint32_t offset, uint32_t length, uint8_t *frubuf)
|
||||
{
|
||||
static uint32_t fru_data_rqst_size = 20;
|
||||
- uint32_t off = offset, tmp, finish;
|
||||
+ uint32_t off = offset;
|
||||
+ uint32_t tmp, finish;
|
||||
+ uint32_t size_left_in_buffer;
|
||||
struct ipmi_rs * rsp;
|
||||
struct ipmi_rq req;
|
||||
uint8_t msg_data[4];
|
||||
@@ -755,10 +772,12 @@ read_fru_area_section(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
|
||||
|
||||
finish = offset + length;
|
||||
if (finish > fru->size) {
|
||||
+ memset(frubuf + fru->size, 0, length - fru->size);
|
||||
finish = fru->size;
|
||||
lprintf(LOG_NOTICE, "Read FRU Area length %d too large, "
|
||||
"Adjusting to %d",
|
||||
offset + length, finish - offset);
|
||||
+ length = finish - offset;
|
||||
}
|
||||
|
||||
memset(&req, 0, sizeof(req));
|
||||
@@ -773,6 +792,8 @@ read_fru_area_section(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
|
||||
if (fru->access && fru_data_rqst_size > 16)
|
||||
#endif
|
||||
fru_data_rqst_size = 16;
|
||||
+
|
||||
+ size_left_in_buffer = length;
|
||||
do {
|
||||
tmp = fru->access ? off >> 1 : off;
|
||||
msg_data[0] = id;
|
||||
@@ -804,8 +825,16 @@ read_fru_area_section(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
|
||||
}
|
||||
|
||||
tmp = fru->access ? rsp->data[0] << 1 : rsp->data[0];
|
||||
+ if(rsp->data_len < 1
|
||||
+ || tmp > rsp->data_len - 1
|
||||
+ || tmp > size_left_in_buffer)
|
||||
+ {
|
||||
+ printf(" Not enough buffer size");
|
||||
+ return -1;
|
||||
+ }
|
||||
memcpy((frubuf + off)-offset, rsp->data + 1, tmp);
|
||||
off += tmp;
|
||||
+ size_left_in_buffer -= tmp;
|
||||
|
||||
/* sometimes the size returned in the Info command
|
||||
* is too large. return 0 so higher level function
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
From 879f57c3b1ff17b1ca0dbdc8aac9c7a814e876fc Mon Sep 17 00:00:00 2001
|
||||
From: Chrostoper Ertl <chertl@microsoft.com>
|
||||
Date: Thu, 28 Nov 2019 16:44:18 +0000
|
||||
Subject: [PATCH] fru: Fix buffer overflow in ipmi_spd_print_fru
|
||||
|
||||
Partial fix for CVE-2020-5208, see
|
||||
https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp
|
||||
|
||||
The `ipmi_spd_print_fru` function has a similar issue as the one fixed
|
||||
by the previous commit in `read_fru_area_section`. An initial request is
|
||||
made to get the `fru.size`, which is used as the size for the allocation
|
||||
of `spd_data`. Inside a loop, further requests are performed to get the
|
||||
copy sizes which are not checked before being used as the size for a
|
||||
copy into the buffer.
|
||||
|
||||
[Retrieve from:
|
||||
https://github.com/ipmitool/ipmitool/commit/840fb1cbb4fb365cb9797300e3374d4faefcdb10]
|
||||
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
|
||||
---
|
||||
lib/dimm_spd.c | 9 ++++++++-
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/dimm_spd.c b/lib/dimm_spd.c
|
||||
index 41e30db..68f3b4f 100644
|
||||
--- a/lib/dimm_spd.c
|
||||
+++ b/lib/dimm_spd.c
|
||||
@@ -1621,7 +1621,7 @@ ipmi_spd_print_fru(struct ipmi_intf * intf, uint8_t id)
|
||||
struct ipmi_rq req;
|
||||
struct fru_info fru;
|
||||
uint8_t *spd_data, msg_data[4];
|
||||
- int len, offset;
|
||||
+ uint32_t len, offset;
|
||||
|
||||
msg_data[0] = id;
|
||||
|
||||
@@ -1697,6 +1697,13 @@ ipmi_spd_print_fru(struct ipmi_intf * intf, uint8_t id)
|
||||
}
|
||||
|
||||
len = rsp->data[0];
|
||||
+ if(rsp->data_len < 1
|
||||
+ || len > rsp->data_len - 1
|
||||
+ || len > fru.size - offset)
|
||||
+ {
|
||||
+ printf(" Not enough buffer size");
|
||||
+ return -1;
|
||||
+ }
|
||||
memcpy(&spd_data[offset], rsp->data + 1, len);
|
||||
offset += len;
|
||||
} while (offset < fru.size);
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
From cd785a7fe4f42ab59bcefcf01b9175f039af29b5 Mon Sep 17 00:00:00 2001
|
||||
From: Chrostoper Ertl <chertl@microsoft.com>
|
||||
Date: Thu, 28 Nov 2019 16:51:49 +0000
|
||||
Subject: [PATCH] session: Fix buffer overflow in ipmi_get_session_info
|
||||
|
||||
Partial fix for CVE-2020-5208, see
|
||||
https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp
|
||||
|
||||
The `ipmi_get_session_info` function does not properly check the
|
||||
response `data_len`, which is used as a copy size, allowing stack buffer
|
||||
overflow.
|
||||
|
||||
[Retrieve from:
|
||||
https://github.com/ipmitool/ipmitool/commit/41d7026946fafbd4d1ec0bcaca3ea30a6e8eed22]
|
||||
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
|
||||
---
|
||||
lib/ipmi_session.c | 12 ++++++++----
|
||||
1 file changed, 8 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/lib/ipmi_session.c b/lib/ipmi_session.c
|
||||
index 141f0f4..b9af1fd 100644
|
||||
--- a/lib/ipmi_session.c
|
||||
+++ b/lib/ipmi_session.c
|
||||
@@ -309,8 +309,10 @@ ipmi_get_session_info(struct ipmi_intf * intf,
|
||||
}
|
||||
else
|
||||
{
|
||||
- memcpy(&session_info, rsp->data, rsp->data_len);
|
||||
- print_session_info(&session_info, rsp->data_len);
|
||||
+ memcpy(&session_info, rsp->data,
|
||||
+ __min(rsp->data_len, sizeof(session_info)));
|
||||
+ print_session_info(&session_info,
|
||||
+ __min(rsp->data_len, sizeof(session_info)));
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -341,8 +343,10 @@ ipmi_get_session_info(struct ipmi_intf * intf,
|
||||
break;
|
||||
}
|
||||
|
||||
- memcpy(&session_info, rsp->data, rsp->data_len);
|
||||
- print_session_info(&session_info, rsp->data_len);
|
||||
+ memcpy(&session_info, rsp->data,
|
||||
+ __min(rsp->data_len, sizeof(session_info)));
|
||||
+ print_session_info(&session_info,
|
||||
+ __min(rsp->data_len, sizeof(session_info)));
|
||||
|
||||
} while (i <= session_info.session_slot_count);
|
||||
break;
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
From 1d479fc61feacc64adea64da9601f3dfcf6f74b3 Mon Sep 17 00:00:00 2001
|
||||
From: Chrostoper Ertl <chertl@microsoft.com>
|
||||
Date: Thu, 28 Nov 2019 16:56:38 +0000
|
||||
Subject: [PATCH] channel: Fix buffer overflow
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Partial fix for CVE-2020-5208, see
|
||||
https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp
|
||||
|
||||
The `ipmi_get_channel_cipher_suites` function does not properly check
|
||||
the final response’s `data_len`, which can lead to stack buffer overflow
|
||||
on the final copy.
|
||||
|
||||
[Retrieve from:
|
||||
https://github.com/ipmitool/ipmitool/commit/9452be87181a6e83cfcc768b3ed8321763db50e4
|
||||
|
||||
The patch is slightly modified manually. The define
|
||||
(MAX_CIPHER_SUITE_DATA_LEN) was introduced upstream in another patch.
|
||||
Replace the define by the value 0x10.]
|
||||
|
||||
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
|
||||
---
|
||||
lib/ipmi_channel.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/ipmi_channel.c b/lib/ipmi_channel.c
|
||||
index fab2e54..59ac227 100644
|
||||
--- a/lib/ipmi_channel.c
|
||||
+++ b/lib/ipmi_channel.c
|
||||
@@ -413,7 +413,10 @@ ipmi_get_channel_cipher_suites(struct ipmi_intf *intf, const char *payload_type,
|
||||
lprintf(LOG_ERR, "Unable to Get Channel Cipher Suites");
|
||||
return -1;
|
||||
}
|
||||
- if (rsp->ccode > 0) {
|
||||
+ if (rsp->ccode
|
||||
+ || rsp->data_len < 1
|
||||
+ || rsp->data_len > sizeof(uint8_t) + 0x10)
|
||||
+ {
|
||||
lprintf(LOG_ERR, "Get Channel Cipher Suites failed: %s",
|
||||
val2str(rsp->ccode, completion_code_vals));
|
||||
return -1;
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
From ceebf5998b71e11c81133680560b498977d3d3cd Mon Sep 17 00:00:00 2001
|
||||
From: Chrostoper Ertl <chertl@microsoft.com>
|
||||
Date: Thu, 28 Nov 2019 17:06:39 +0000
|
||||
Subject: [PATCH] lanp: Fix buffer overflows in get_lan_param_select
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Partial fix for CVE-2020-5208, see
|
||||
https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp
|
||||
|
||||
The `get_lan_param_select` function is missing a validation check on the
|
||||
response’s `data_len`, which it then returns to caller functions, where
|
||||
stack buffer overflow can occur.
|
||||
|
||||
[Retrieve from:
|
||||
https://github.com/ipmitool/ipmitool/commit/d45572d71e70840e0d4c50bf48218492b79c1a10]
|
||||
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
|
||||
---
|
||||
lib/ipmi_lanp.c | 14 +++++++-------
|
||||
1 file changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/lib/ipmi_lanp.c b/lib/ipmi_lanp.c
|
||||
index 65d881b..022c7f1 100644
|
||||
--- a/lib/ipmi_lanp.c
|
||||
+++ b/lib/ipmi_lanp.c
|
||||
@@ -1809,7 +1809,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
|
||||
if (p == NULL) {
|
||||
return (-1);
|
||||
}
|
||||
- memcpy(data, p->data, p->data_len);
|
||||
+ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
|
||||
/* set new ipaddr */
|
||||
memcpy(data+3, temp, 4);
|
||||
printf("Setting LAN Alert %d IP Address to %d.%d.%d.%d\n", alert,
|
||||
@@ -1824,7 +1824,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
|
||||
if (p == NULL) {
|
||||
return (-1);
|
||||
}
|
||||
- memcpy(data, p->data, p->data_len);
|
||||
+ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
|
||||
/* set new macaddr */
|
||||
memcpy(data+7, temp, 6);
|
||||
printf("Setting LAN Alert %d MAC Address to "
|
||||
@@ -1838,7 +1838,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
|
||||
if (p == NULL) {
|
||||
return (-1);
|
||||
}
|
||||
- memcpy(data, p->data, p->data_len);
|
||||
+ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
|
||||
|
||||
if (strncasecmp(argv[1], "def", 3) == 0 ||
|
||||
strncasecmp(argv[1], "default", 7) == 0) {
|
||||
@@ -1864,7 +1864,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
|
||||
if (p == NULL) {
|
||||
return (-1);
|
||||
}
|
||||
- memcpy(data, p->data, p->data_len);
|
||||
+ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
|
||||
|
||||
if (strncasecmp(argv[1], "on", 2) == 0 ||
|
||||
strncasecmp(argv[1], "yes", 3) == 0) {
|
||||
@@ -1889,7 +1889,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
|
||||
if (p == NULL) {
|
||||
return (-1);
|
||||
}
|
||||
- memcpy(data, p->data, p->data_len);
|
||||
+ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
|
||||
|
||||
if (strncasecmp(argv[1], "pet", 3) == 0) {
|
||||
printf("Setting LAN Alert %d destination to PET Trap\n", alert);
|
||||
@@ -1917,7 +1917,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
|
||||
if (p == NULL) {
|
||||
return (-1);
|
||||
}
|
||||
- memcpy(data, p->data, p->data_len);
|
||||
+ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
|
||||
|
||||
if (str2uchar(argv[1], &data[2]) != 0) {
|
||||
lprintf(LOG_ERR, "Invalid time: %s", argv[1]);
|
||||
@@ -1933,7 +1933,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
|
||||
if (p == NULL) {
|
||||
return (-1);
|
||||
}
|
||||
- memcpy(data, p->data, p->data_len);
|
||||
+ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
|
||||
|
||||
if (str2uchar(argv[1], &data[3]) != 0) {
|
||||
lprintf(LOG_ERR, "Invalid retry: %s", argv[1]);
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -0,0 +1,141 @@
|
||||
From bf3ded3a474d85da99eb717acdcd8ff4f89f9879 Mon Sep 17 00:00:00 2001
|
||||
From: Chrostoper Ertl <chertl@microsoft.com>
|
||||
Date: Thu, 28 Nov 2019 17:13:45 +0000
|
||||
Subject: [PATCH] fru, sdr: Fix id_string buffer overflows
|
||||
|
||||
Final part of the fixes for CVE-2020-5208, see
|
||||
https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp
|
||||
|
||||
9 variants of stack buffer overflow when parsing `id_string` field of
|
||||
SDR records returned from `CMD_GET_SDR` command.
|
||||
|
||||
SDR record structs have an `id_code` field, and an `id_string` `char`
|
||||
array.
|
||||
|
||||
The length of `id_string` is calculated as `(id_code & 0x1f) + 1`,
|
||||
which can be larger than expected 16 characters (if `id_code = 0xff`,
|
||||
then length will be `(0xff & 0x1f) + 1 = 32`).
|
||||
|
||||
In numerous places, this can cause stack buffer overflow when copying
|
||||
into fixed buffer of size `17` bytes from this calculated length.
|
||||
|
||||
[Retrieve from:
|
||||
https://github.com/ipmitool/ipmitool/commit/7ccea283dd62a05a320c1921e3d8d71a87772637]
|
||||
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
|
||||
---
|
||||
lib/ipmi_fru.c | 2 +-
|
||||
lib/ipmi_sdr.c | 40 ++++++++++++++++++++++++----------------
|
||||
2 files changed, 25 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/lib/ipmi_fru.c b/lib/ipmi_fru.c
|
||||
index af99aa9..98bc984 100644
|
||||
--- a/lib/ipmi_fru.c
|
||||
+++ b/lib/ipmi_fru.c
|
||||
@@ -3062,7 +3062,7 @@ ipmi_fru_print(struct ipmi_intf * intf, struct sdr_record_fru_locator * fru)
|
||||
return 0;
|
||||
|
||||
memset(desc, 0, sizeof(desc));
|
||||
- memcpy(desc, fru->id_string, fru->id_code & 0x01f);
|
||||
+ memcpy(desc, fru->id_string, __min(fru->id_code & 0x01f, sizeof(desc)));
|
||||
desc[fru->id_code & 0x01f] = 0;
|
||||
printf("FRU Device Description : %s (ID %d)\n", desc, fru->device_id);
|
||||
|
||||
diff --git a/lib/ipmi_sdr.c b/lib/ipmi_sdr.c
|
||||
index 2a9cbe3..62aac08 100644
|
||||
--- a/lib/ipmi_sdr.c
|
||||
+++ b/lib/ipmi_sdr.c
|
||||
@@ -2084,7 +2084,7 @@ ipmi_sdr_print_sensor_eventonly(struct ipmi_intf *intf,
|
||||
return -1;
|
||||
|
||||
memset(desc, 0, sizeof (desc));
|
||||
- snprintf(desc, (sensor->id_code & 0x1f) + 1, "%s", sensor->id_string);
|
||||
+ snprintf(desc, sizeof(desc), "%.*s", (sensor->id_code & 0x1f) + 1, sensor->id_string);
|
||||
|
||||
if (verbose) {
|
||||
printf("Sensor ID : %s (0x%x)\n",
|
||||
@@ -2135,7 +2135,7 @@ ipmi_sdr_print_sensor_mc_locator(struct ipmi_intf *intf,
|
||||
return -1;
|
||||
|
||||
memset(desc, 0, sizeof (desc));
|
||||
- snprintf(desc, (mc->id_code & 0x1f) + 1, "%s", mc->id_string);
|
||||
+ snprintf(desc, sizeof(desc), "%.*s", (mc->id_code & 0x1f) + 1, mc->id_string);
|
||||
|
||||
if (verbose == 0) {
|
||||
if (csv_output)
|
||||
@@ -2228,7 +2228,7 @@ ipmi_sdr_print_sensor_generic_locator(struct ipmi_intf *intf,
|
||||
char desc[17];
|
||||
|
||||
memset(desc, 0, sizeof (desc));
|
||||
- snprintf(desc, (dev->id_code & 0x1f) + 1, "%s", dev->id_string);
|
||||
+ snprintf(desc, sizeof(desc), "%.*s", (dev->id_code & 0x1f) + 1, dev->id_string);
|
||||
|
||||
if (!verbose) {
|
||||
if (csv_output)
|
||||
@@ -2285,7 +2285,7 @@ ipmi_sdr_print_sensor_fru_locator(struct ipmi_intf *intf,
|
||||
char desc[17];
|
||||
|
||||
memset(desc, 0, sizeof (desc));
|
||||
- snprintf(desc, (fru->id_code & 0x1f) + 1, "%s", fru->id_string);
|
||||
+ snprintf(desc, sizeof(desc), "%.*s", (fru->id_code & 0x1f) + 1, fru->id_string);
|
||||
|
||||
if (!verbose) {
|
||||
if (csv_output)
|
||||
@@ -2489,35 +2489,43 @@ ipmi_sdr_print_name_from_rawentry(struct ipmi_intf *intf, uint16_t id,
|
||||
|
||||
int rc =0;
|
||||
char desc[17];
|
||||
+ const char *id_string;
|
||||
+ uint8_t id_code;
|
||||
memset(desc, ' ', sizeof (desc));
|
||||
|
||||
switch ( type) {
|
||||
case SDR_RECORD_TYPE_FULL_SENSOR:
|
||||
record.full = (struct sdr_record_full_sensor *) raw;
|
||||
- snprintf(desc, (record.full->id_code & 0x1f) +1, "%s",
|
||||
- (const char *)record.full->id_string);
|
||||
+ id_code = record.full->id_code;
|
||||
+ id_string = record.full->id_string;
|
||||
break;
|
||||
+
|
||||
case SDR_RECORD_TYPE_COMPACT_SENSOR:
|
||||
record.compact = (struct sdr_record_compact_sensor *) raw ;
|
||||
- snprintf(desc, (record.compact->id_code & 0x1f) +1, "%s",
|
||||
- (const char *)record.compact->id_string);
|
||||
+ id_code = record.compact->id_code;
|
||||
+ id_string = record.compact->id_string;
|
||||
break;
|
||||
+
|
||||
case SDR_RECORD_TYPE_EVENTONLY_SENSOR:
|
||||
record.eventonly = (struct sdr_record_eventonly_sensor *) raw ;
|
||||
- snprintf(desc, (record.eventonly->id_code & 0x1f) +1, "%s",
|
||||
- (const char *)record.eventonly->id_string);
|
||||
- break;
|
||||
+ id_code = record.eventonly->id_code;
|
||||
+ id_string = record.eventonly->id_string;
|
||||
+ break;
|
||||
+
|
||||
case SDR_RECORD_TYPE_MC_DEVICE_LOCATOR:
|
||||
record.mcloc = (struct sdr_record_mc_locator *) raw ;
|
||||
- snprintf(desc, (record.mcloc->id_code & 0x1f) +1, "%s",
|
||||
- (const char *)record.mcloc->id_string);
|
||||
+ id_code = record.mcloc->id_code;
|
||||
+ id_string = record.mcloc->id_string;
|
||||
break;
|
||||
+
|
||||
default:
|
||||
rc = -1;
|
||||
- break;
|
||||
- }
|
||||
+ }
|
||||
+ if (!rc) {
|
||||
+ snprintf(desc, sizeof(desc), "%.*s", (id_code & 0x1f) + 1, id_string);
|
||||
+ }
|
||||
|
||||
- lprintf(LOG_INFO, "ID: 0x%04x , NAME: %-16s", id, desc);
|
||||
+ lprintf(LOG_INFO, "ID: 0x%04x , NAME: %-16s", id, desc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -10,6 +10,14 @@ IPMITOOL_SITE = http://downloads.sourceforge.net/project/ipmitool/ipmitool/$(IPM
|
||||
IPMITOOL_LICENSE = BSD-3-Clause
|
||||
IPMITOOL_LICENSE_FILES = COPYING
|
||||
|
||||
# 0008-fru-Fix-buffer-overflow-vulnerabilities.patch
|
||||
# 0009-fru-Fix-buffer-overflow-in-ipmi_spd_print_fru.patch
|
||||
# 0010-session-Fix-buffer-overflow-in-ipmi_get_session_info.patch
|
||||
# 0011-channel-Fix-buffer-overflow.patch
|
||||
# 0012-lanp-Fix-buffer-overflows-in-get_lan_param_select.patch
|
||||
# 0013-fru-sdr-Fix-id_string-buffer-overflows.patch
|
||||
IPMITOOL_IGNORE_CVES += CVE-2020-5208
|
||||
|
||||
ifeq ($(BR2_PACKAGE_IPMITOOL_LANPLUS),y)
|
||||
IPMITOOL_DEPENDENCIES += openssl
|
||||
IPMITOOL_CONF_OPTS += --enable-intf-lanplus
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs952/MD5SUMS
|
||||
# https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9530/MD5SUMS
|
||||
# and SHA512SUMS are missing the hashes for this file.
|
||||
# Locally computed:
|
||||
sha256 9e19775237350e299c422b7b91b0c045e90ffa4ba66abf28c8fb5eb005772f5e jbig2dec-0.18.tar.gz
|
||||
sha256 279476695b38f04939aa59d041be56f6bade3422003a406a85e9792c27118a37 jbig2dec-0.19.tar.gz
|
||||
|
||||
# Hash for license files:
|
||||
sha256 1bf5258afe453934484fd0cea97508b72301633a6a78b0ae8a9ee44ac78f26d9 LICENSE
|
||||
|
||||
@@ -4,8 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
JBIG2DEC_VERSION = 0.18
|
||||
JBIG2DEC_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs952
|
||||
JBIG2DEC_VERSION = 0.19
|
||||
JBIG2DEC_SITE = \
|
||||
https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9530
|
||||
JBIG2DEC_LICENSE = AGPL-3.0+
|
||||
JBIG2DEC_LICENSE_FILES = LICENSE
|
||||
JBIG2DEC_INSTALL_STAGING = YES
|
||||
|
||||
@@ -4,10 +4,10 @@ config BR2_PACKAGE_LIBEXOSIP2
|
||||
select BR2_PACKAGE_LIBOSIP2
|
||||
help
|
||||
eXosip is a library that hides the complexity of using the
|
||||
SIP protocol for mutlimedia session establishement.
|
||||
SIP protocol for multimedia session establishment.
|
||||
This protocol is mainly to be used by VoIP telephony
|
||||
applications (endpoints or conference server) but might be
|
||||
also usefull for any application that wish to establish
|
||||
also useful for any application that wish to establish
|
||||
sessions like multiplayer games.
|
||||
eXosip is based in libosip.
|
||||
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
From 39e534ab696157b244ec226d649c789dcf423e42 Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Wed, 24 Apr 2019 20:48:57 +0200
|
||||
Subject: [PATCH] htp.pc.in: add -lz to Libs.private
|
||||
|
||||
zlib is a mandatory dependency so add it to Libs.private otherwise
|
||||
static linking of packages linking with htp (e.g. suricata) will fail.
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
[Upstream status: https://github.com/OISF/libhtp/pull/294]
|
||||
---
|
||||
htp.pc.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/htp.pc.in b/htp.pc.in
|
||||
index 2fec995..9b1a6cc 100644
|
||||
--- a/htp.pc.in
|
||||
+++ b/htp.pc.in
|
||||
@@ -7,6 +7,6 @@ Name: @PACKAGE_NAME@
|
||||
Description: A security-aware HTTP parser, designed for use in IDS/IPS and WAF products.
|
||||
Version: @PACKAGE_VERSION@
|
||||
Libs: -L${libdir} -lhtp
|
||||
-Libs.private: @LIBICONV@
|
||||
+Libs.private: -lz @LIBICONV@
|
||||
Cflags: -I${includedir} -I${libdir}/htp/include
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally computed:
|
||||
sha256 953651fdfe828805bb82dc1aa8b56187b0e2f80781727343e68ccf8afd6a9122 libhtp-0.5.33.tar.gz
|
||||
sha256 4c3ac4c6027710455ffe725f24ac6a83b2c13fe0afc83b74df2cca78ba46976a libhtp-0.5.35.tar.gz
|
||||
sha256 87c93904e5434c81622ea690c2b90097b9f162aaa92a96542649a157dbf98d15 LICENSE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBHTP_VERSION = 0.5.33
|
||||
LIBHTP_VERSION = 0.5.35
|
||||
LIBHTP_SITE = $(call github,OISF,libhtp,$(LIBHTP_VERSION))
|
||||
LIBHTP_LICENSE = BSD-3-Clause
|
||||
LIBHTP_LICENSE_FILES = LICENSE
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Locally calculated
|
||||
sha256 40a262d7cc71702711a0faec106118ee004f86c86cc228281d12d16da03e02f5 LibRaw-0.19.5.tar.gz
|
||||
sha256 eea173a556abac0370461e57e12aab266894ea6be3874c2be05fd87871f75449 LICENSE.LGPL
|
||||
sha256 0e3098d2d54a12434715f6679ea408d57da5e8d613c385c58ecc6fe5d30cc81f LICENSE.CDDL
|
||||
sha256 ed971b7f1f57fd8e7d28419ff7749cfe0f296e701687756e798a69555fd76646 README.md
|
||||
sha256 1f0a383da2ce9f409087facd28261decbf6be72cc90c78cd003b0766e4d694a3 LibRaw-0.20.0.tar.gz
|
||||
sha256 eea173a556abac0370461e57e12aab266894ea6be3874c2be05fd87871f75449 LICENSE.LGPL
|
||||
sha256 0e3098d2d54a12434715f6679ea408d57da5e8d613c385c58ecc6fe5d30cc81f LICENSE.CDDL
|
||||
sha256 313415f7f48f6cd3cc78856626aab4bbe97dbb1e9a11db9c25396ca8d0e76cd9 README.md
|
||||
|
||||
@@ -4,15 +4,13 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBRAW_VERSION = 0.19.5
|
||||
LIBRAW_VERSION = 0.20.0
|
||||
LIBRAW_SOURCE = LibRaw-$(LIBRAW_VERSION).tar.gz
|
||||
LIBRAW_SITE = http://www.libraw.org/data
|
||||
LIBRAW_INSTALL_STAGING = YES
|
||||
LIBRAW_CONF_OPTS += \
|
||||
--disable-examples \
|
||||
--disable-openmp \
|
||||
--disable-demosaic-pack-gpl2 \
|
||||
--disable-demosaic-pack-gpl3
|
||||
--disable-openmp
|
||||
LIBRAW_LICENSE = LGPL-2.1 or CDDL-1.0
|
||||
LIBRAW_LICENSE_FILES = LICENSE.LGPL LICENSE.CDDL README.md
|
||||
LIBRAW_DEPENDENCIES = host-pkgconf
|
||||
@@ -43,4 +41,11 @@ else
|
||||
LIBRAW_CONF_OPTS += --disable-lcms
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_ZLIB),y)
|
||||
LIBRAW_CONF_OPTS += --enable-zlib
|
||||
LIBRAW_DEPENDENCIES += zlib
|
||||
else
|
||||
LIBRAW_CONF_OPTS += --disable-zlib
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
From 8d8428cbbc2c00d078cfbc967e4e6fee7ff7bf0b Mon Sep 17 00:00:00 2001
|
||||
From: Heiko Thiery <heiko.thiery@gmail.com>
|
||||
Date: Wed, 15 Apr 2020 11:57:29 +0200
|
||||
Subject: [PATCH] libssh.h: bump to version 0.9.4
|
||||
|
||||
In the released version of libssh the version bump was not done
|
||||
properly. Therefore the current release 0.9.4 reports 0.9.3.
|
||||
|
||||
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
|
||||
---
|
||||
include/libssh/libssh.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/libssh/libssh.h b/include/libssh/libssh.h
|
||||
index 79030131..e2a8d991 100644
|
||||
--- a/include/libssh/libssh.h
|
||||
+++ b/include/libssh/libssh.h
|
||||
@@ -79,7 +79,7 @@
|
||||
/* libssh version */
|
||||
#define LIBSSH_VERSION_MAJOR 0
|
||||
#define LIBSSH_VERSION_MINOR 9
|
||||
-#define LIBSSH_VERSION_MICRO 3
|
||||
+#define LIBSSH_VERSION_MICRO 4
|
||||
|
||||
#define LIBSSH_VERSION_INT SSH_VERSION_INT(LIBSSH_VERSION_MAJOR, \
|
||||
LIBSSH_VERSION_MINOR, \
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
From 6417f5a3cac8537ac6f6ff7fc1642dfaa0917fb4 Mon Sep 17 00:00:00 2001
|
||||
From: Jakub Jelen <jjelen@redhat.com>
|
||||
Date: Thu, 16 Apr 2020 11:13:34 +0200
|
||||
Subject: [PATCH] channels: Avoid returning SSH_AGAIN from
|
||||
ssh_channel_poll_timeout()
|
||||
|
||||
This addresses a regression introduced in 3bad0607, partially fixed in 022409e9,
|
||||
but the function was still able to return SSH_AGAIN, which was not expected by
|
||||
callers.
|
||||
|
||||
Based on discussion in [1] and [2]
|
||||
|
||||
[1] https://gitlab.com/libssh/libssh-mirror/-/merge_requests/101
|
||||
[2] https://www.libssh.org/archive/libssh/2020-03/0000029.html
|
||||
|
||||
Signed-off-by: Jakub Jelen <jjelen@redhat.com>
|
||||
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
|
||||
|
||||
[Backport from upstream commit:
|
||||
6417f5a3cac8537ac6f6ff7fc1642dfaa0917fb4]
|
||||
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
|
||||
---
|
||||
src/channels.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/src/channels.c b/src/channels.c
|
||||
index bcc1c207..9fe309d0 100644
|
||||
--- a/src/channels.c
|
||||
+++ b/src/channels.c
|
||||
@@ -3116,6 +3116,12 @@ int ssh_channel_poll_timeout(ssh_channel channel, int timeout, int is_stderr)
|
||||
session->session_state == SSH_SESSION_STATE_ERROR) {
|
||||
rc = SSH_ERROR;
|
||||
goto out;
|
||||
+ } else if (rc == SSH_AGAIN) {
|
||||
+ /* If the above timeout expired, it is ok and we do not need to
|
||||
+ * attempt to check the read buffer. The calling functions do not
|
||||
+ * expect us to return SSH_AGAIN either here. */
|
||||
+ rc = SSH_OK;
|
||||
+ goto out;
|
||||
}
|
||||
len = ssh_buffer_get_len(stdbuf);
|
||||
if (len > 0) {
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
# https://www.libssh.org/files/0.9/libssh-0.9.3.tar.xz.asc
|
||||
# https://www.libssh.org/files/0.9/libssh-0.9.5.tar.xz.asc
|
||||
# with key 8DFF53E18F2ABC8D8F3C92237EE0FC4DCC014E3D
|
||||
sha256 150897a569852ac05aac831dc417a7ba8e610c86ca2e0154a99c6ade2486226b libssh-0.9.4.tar.xz
|
||||
sha256 acffef2da98e761fc1fd9c4fddde0f3af60ab44c4f5af05cd1b2d60a3fa08718 libssh-0.9.5.tar.xz
|
||||
sha256 1656186e951db1c010a8485481fa94587f7e53a26d24976bef97945ad0c4df5a COPYING
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
LIBSSH_VERSION_MAJOR = 0.9
|
||||
LIBSSH_VERSION = $(LIBSSH_VERSION_MAJOR).4
|
||||
LIBSSH_VERSION = $(LIBSSH_VERSION_MAJOR).5
|
||||
LIBSSH_SOURCE = libssh-$(LIBSSH_VERSION).tar.xz
|
||||
LIBSSH_SITE = https://www.libssh.org/files/$(LIBSSH_VERSION_MAJOR)
|
||||
LIBSSH_LICENSE = LGPL-2.1
|
||||
|
||||
@@ -12,9 +12,14 @@ LIBXML_PARSER_PERL_LICENSE = Artistic or GPL-1.0+
|
||||
LIBXML_PARSER_PERL_LICENSE_FILES = README
|
||||
LIBXML_PARSER_PERL_RUN_PERL = `which perl`
|
||||
|
||||
HOST_LIBXML_PARSER_PERL_CONFIGURE_OPTS = \
|
||||
$(HOST_CONFIGURE_OPTS) \
|
||||
LD="$(HOSTCC)"
|
||||
|
||||
define HOST_LIBXML_PARSER_PERL_CONFIGURE_CMDS
|
||||
(cd $(@D) ; \
|
||||
$(HOST_CONFIGURE_OPTS) $(LIBXML_PARSER_PERL_RUN_PERL) Makefile.PL \
|
||||
$(HOST_LIBXML_PARSER_PERL_CONFIGURE_OPTS) \
|
||||
$(LIBXML_PARSER_PERL_RUN_PERL) Makefile.PL \
|
||||
PREFIX=$(HOST_DIR) \
|
||||
EXPATLIBPATH=$(HOST_DIR)/lib \
|
||||
EXPATINCPATH=$(HOST_DIR)/include \
|
||||
@@ -25,7 +30,7 @@ define HOST_LIBXML_PARSER_PERL_CONFIGURE_CMDS
|
||||
endef
|
||||
|
||||
define HOST_LIBXML_PARSER_PERL_BUILD_CMDS
|
||||
$(HOST_MAKE_ENV) $(MAKE) -C $(@D)
|
||||
$(HOST_MAKE_ENV) $(MAKE) $(HOST_LIBXML_PARSER_PERL_CONFIGURE_OPTS) -C $(@D)
|
||||
endef
|
||||
|
||||
define HOST_LIBXML_PARSER_PERL_INSTALL_CMDS
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
From 50f06b3efb638efb0abd95dc62dca05ae67882c2 Mon Sep 17 00:00:00 2001
|
||||
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||||
Date: Fri, 7 Aug 2020 21:54:27 +0200
|
||||
Subject: [PATCH] Fix out-of-bounds read with 'xmllint --htmlout'
|
||||
|
||||
Make sure that truncated UTF-8 sequences don't cause an out-of-bounds
|
||||
array access.
|
||||
|
||||
Thanks to @SuhwanSong and the Agency for Defense Development (ADD) for
|
||||
the report.
|
||||
|
||||
Fixes #178.
|
||||
|
||||
[Retrieved from:
|
||||
https://gitlab.gnome.org/GNOME/libxml2/-/commit/50f06b3efb638efb0abd95dc62dca05ae67882c2]
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
xmllint.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/xmllint.c b/xmllint.c
|
||||
index f6a8e4636..c647486f3 100644
|
||||
--- a/xmllint.c
|
||||
+++ b/xmllint.c
|
||||
@@ -528,6 +528,12 @@ static void
|
||||
xmlHTMLEncodeSend(void) {
|
||||
char *result;
|
||||
|
||||
+ /*
|
||||
+ * xmlEncodeEntitiesReentrant assumes valid UTF-8, but the buffer might
|
||||
+ * end with a truncated UTF-8 sequence. This is a hack to at least avoid
|
||||
+ * an out-of-bounds read.
|
||||
+ */
|
||||
+ memset(&buffer[sizeof(buffer)-4], 0, 4);
|
||||
result = (char *) xmlEncodeEntitiesReentrant(NULL, BAD_CAST buffer);
|
||||
if (result) {
|
||||
xmlGenericError(xmlGenericErrorContext, "%s", result);
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -13,6 +13,8 @@ LIBXML2_LICENSE_FILES = COPYING
|
||||
LIBXML2_IGNORE_CVES += CVE-2020-7595
|
||||
# 0002-Fix-memory-leak-in-xmlSchemaValidateStream.patch
|
||||
LIBXML2_IGNORE_CVES += CVE-2019-20388
|
||||
# 0003-Fix-out-of-bounds-read-with-xmllint--htmlout.patch
|
||||
LIBXML2_IGNORE_CVES += CVE-2020-24977
|
||||
LIBXML2_CONFIG_SCRIPTS = xml2-config
|
||||
|
||||
# relocation truncated to fit: R_68K_GOT16O
|
||||
|
||||
@@ -53,7 +53,6 @@ config BR2_KERNEL_HEADERS_4_19
|
||||
config BR2_KERNEL_HEADERS_5_4
|
||||
bool "Linux 5.4.x kernel headers"
|
||||
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4
|
||||
select BR2_KERNEL_HEADERS_LATEST
|
||||
|
||||
config BR2_KERNEL_HEADERS_5_5
|
||||
bool "Linux 5.5.x kernel headers"
|
||||
@@ -62,6 +61,7 @@ config BR2_KERNEL_HEADERS_5_5
|
||||
config BR2_KERNEL_HEADERS_5_6
|
||||
bool "Linux 5.6.x kernel headers"
|
||||
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6
|
||||
select BR2_KERNEL_HEADERS_LATEST
|
||||
|
||||
config BR2_KERNEL_HEADERS_VERSION
|
||||
bool "Manually specified Linux version"
|
||||
@@ -334,11 +334,11 @@ endchoice
|
||||
|
||||
config BR2_DEFAULT_KERNEL_HEADERS
|
||||
string
|
||||
default "4.4.234" if BR2_KERNEL_HEADERS_4_4
|
||||
default "4.9.234" if BR2_KERNEL_HEADERS_4_9
|
||||
default "4.14.195" if BR2_KERNEL_HEADERS_4_14
|
||||
default "4.19.142" if BR2_KERNEL_HEADERS_4_19
|
||||
default "5.4.61" if BR2_KERNEL_HEADERS_5_4
|
||||
default "4.4.238" if BR2_KERNEL_HEADERS_4_4
|
||||
default "4.9.238" if BR2_KERNEL_HEADERS_4_9
|
||||
default "4.14.200" if BR2_KERNEL_HEADERS_4_14
|
||||
default "4.19.150" if BR2_KERNEL_HEADERS_4_19
|
||||
default "5.4.70" if BR2_KERNEL_HEADERS_5_4
|
||||
default "5.5.19" if BR2_KERNEL_HEADERS_5_5
|
||||
default "5.6.19" if BR2_KERNEL_HEADERS_5_6
|
||||
default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
|
||||
|
||||
@@ -14,6 +14,7 @@ HOST_LOCALEDEF_DL_SUBDIR = glibc
|
||||
|
||||
HOST_LOCALEDEF_DEPENDENCIES = \
|
||||
$(BR2_MAKE_HOST_DEPENDENCY) \
|
||||
$(BR2_PYTHON3_HOST_DEPENDENCY) \
|
||||
host-bison \
|
||||
host-gawk
|
||||
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# Hashes from: http://www.lua.org/ftp/
|
||||
md5 2e115fe26e435e33b0d5c022e4490567 lua-5.1.5.tar.gz
|
||||
sha1 b3882111ad02ecc6b972f8c1241647905cb2e3fc lua-5.1.5.tar.gz
|
||||
|
||||
# Locally computed
|
||||
sha256 ee5e3e82af1e1b543c4f216e399d7c8cfee797711913f349e385101c4ae60a79 COPYRIGHT
|
||||
@@ -1,31 +0,0 @@
|
||||
Fix revision number
|
||||
|
||||
In 0002-shared-libs-for-lua.patch, revision number is used to set
|
||||
library name:
|
||||
TO_SOLIB = liblua.so.$(R)
|
||||
|
||||
However, library is built using PKG_VERSION which is passed only during
|
||||
build step:
|
||||
$(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $?
|
||||
|
||||
As a result, dynamic library is not installed in staging or target paths
|
||||
since bump to lua 5.3.5
|
||||
|
||||
So, instead of replacing R by PKG_VERSION and passing this variable in
|
||||
all steps, simply update R to 5
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
|
||||
Index: b/Makefile
|
||||
===================================================================
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -47,6 +47,6 @@
|
||||
|
||||
# Lua version and release.
|
||||
V= 5.3
|
||||
-R= $V.4
|
||||
+R= $V.5
|
||||
|
||||
# Targets start here.
|
||||
all: $(PLAT)
|
||||
@@ -0,0 +1,6 @@
|
||||
# Hashes from: http://www.lua.org/ftp/
|
||||
md5 83f23dbd5230140a3770d5f54076948d lua-5.3.6.tar.gz
|
||||
sha1 f27d20d6c81292149bc4308525a9d6733c224fa5 lua-5.3.6.tar.gz
|
||||
|
||||
# Locally computed
|
||||
sha256 2ddff2161e0c4487d744943565538743c0721485873092f6809d072a983b06ef doc/readme.html
|
||||
@@ -1,8 +0,0 @@
|
||||
# Hashes from: http://www.lua.org/ftp/
|
||||
md5 4f4b4f323fd3514a68e0ab3da8ce3455 lua-5.3.5.tar.gz
|
||||
sha1 112eb10ff04d1b4c9898e121d6bdf54a81482447 lua-5.3.5.tar.gz
|
||||
|
||||
md5 2e115fe26e435e33b0d5c022e4490567 lua-5.1.5.tar.gz
|
||||
sha1 b3882111ad02ecc6b972f8c1241647905cb2e3fc lua-5.1.5.tar.gz
|
||||
# Locally computed
|
||||
sha256 ee5e3e82af1e1b543c4f216e399d7c8cfee797711913f349e385101c4ae60a79 COPYRIGHT
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LUA_5_3),y)
|
||||
LUA_VERSION = 5.3.5
|
||||
LUA_VERSION = 5.3.6
|
||||
else
|
||||
LUA_VERSION = 5.1.5
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# From https://github.com/ARMmbed/mbedtls/releases/tag/v2.16.8:
|
||||
sha256 fe9e3b15c3375943bdfebbbb20dd6b4f1147b3b5d926248bd835d73247407430 mbedtls-2.16.8.tar.gz
|
||||
# Locally calculated
|
||||
sha256 4786b7d1676f5e4d248f3a7f2d28446876d64962634f060ff21b92c690cfbe86 mbedtls-2.16.7.tar.gz
|
||||
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache-2.0.txt
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
MBEDTLS_VERSION = 2.16.7
|
||||
MBEDTLS_SITE = $(call github,ARMmbed,mbedtls,mbedtls-$(MBEDTLS_VERSION))
|
||||
MBEDTLS_VERSION = 2.16.8
|
||||
MBEDTLS_SITE = $(call github,ARMmbed,mbedtls,v$(MBEDTLS_VERSION))
|
||||
MBEDTLS_CONF_OPTS = \
|
||||
-DENABLE_PROGRAMS=$(if $(BR2_PACKAGE_MBEDTLS_PROGRAMS),ON,OFF) \
|
||||
-DENABLE_TESTING=OFF
|
||||
|
||||
@@ -1,142 +0,0 @@
|
||||
From 1146bf07624b5820b942b84b68e66f0d3dd25914 Mon Sep 17 00:00:00 2001
|
||||
From: Ola Jeppsson <ola.jeppsson@gmail.com>
|
||||
Date: Mon, 7 Oct 2019 18:07:30 -0400
|
||||
Subject: [PATCH] configure: Fix cross-compilation errors
|
||||
|
||||
AC_RUN_IFELSE does not work when cross-compiling so we need to provide
|
||||
fallback methods for those cases.
|
||||
|
||||
I tried to use constructs that work with Autoconf 2.52.
|
||||
Alas, I wasn't able to generate a working build system with that version.
|
||||
|
||||
Autoconf 2.58 / Automake 1.7.9 is the earliest combo that I could get
|
||||
to work (with and without this patch).
|
||||
Perhaps it's time for a slight bump for the required version numbers?
|
||||
|
||||
Cross-compiles sucessfully against:
|
||||
riscv64-unknown-linux-gnu
|
||||
|
||||
Downloaded from upstream PR:
|
||||
https://github.com/memcached/memcached/pull/552
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
configure.ac | 80 +++++++++++++++++++++++++++-------------------------
|
||||
1 file changed, 41 insertions(+), 39 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index fb78fc5..27dc939 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -264,23 +264,42 @@ return sizeof(void*) == 8 ? 0 : 1;
|
||||
],[
|
||||
CFLAGS="-m64 $org_cflags"
|
||||
],[
|
||||
- AC_MSG_ERROR([Don't know how to build a 64-bit object.])
|
||||
+ AC_MSG_ERROR([Don't know how to build a 64-bit object.])
|
||||
+ ],[
|
||||
+ dnl cross compile
|
||||
+ AC_MSG_WARN([Assuming no extra CFLAGS are required for cross-compiling 64bit version.])
|
||||
])
|
||||
fi
|
||||
|
||||
dnl If data pointer is 64bit or not.
|
||||
-AC_RUN_IFELSE(
|
||||
- [AC_LANG_PROGRAM([], [dnl
|
||||
-return sizeof(void*) == 8 ? 0 : 1;
|
||||
- ])
|
||||
-],[
|
||||
- have_64bit_ptr=yes
|
||||
-],[
|
||||
+AC_CHECK_HEADERS([stdint.h])
|
||||
+AS_IF([test -z "$have_64bit_ptr"],
|
||||
+ [AC_RUN_IFELSE(
|
||||
+ [AC_LANG_PROGRAM([], [return sizeof(void*) == 8 ? 0 : 1;])],
|
||||
+ [have_64bit_ptr=yes ],
|
||||
+ [have_64bit_ptr=no],
|
||||
+ [dnl cross compile (this test requires C99)
|
||||
+ AS_IF([test "x$ac_cv_header_stdint_h" = xyes],
|
||||
+ [AC_COMPILE_IFELSE(
|
||||
+ [AC_LANG_PROGRAM([
|
||||
+ #include <stdint.h>
|
||||
+ #if UINTPTR_MAX == 0xFFFFFFFFFFFFFFFFUL
|
||||
+ /* 64 bit pointer */
|
||||
+ #else
|
||||
+ #error 32 bit pointer
|
||||
+ #endif
|
||||
+ ], [])],
|
||||
+ [have_64bit_ptr=yes],
|
||||
+ [have_64bit_ptr=no])],
|
||||
+ [have_64bit_ptr=unknown])
|
||||
+ ])
|
||||
])
|
||||
-
|
||||
-if test $have_64bit_ptr = yes; then
|
||||
+AS_IF([test "$have_64bit_ptr" = "unknown" ],[
|
||||
+ AC_MSG_ERROR([Cannot detect pointer size. Must pass have_64bit_ptr={yes,no} to configure.])
|
||||
+])
|
||||
+AS_IF([test "$have_64bit_ptr" = yes],[
|
||||
AC_DEFINE(HAVE_64BIT_PTR, 1, [data pointer is 64bit])
|
||||
-fi
|
||||
+])
|
||||
|
||||
# Issue 213: Search for clock_gettime to help people linking
|
||||
# with a static version of libevent
|
||||
@@ -570,30 +589,10 @@ fi
|
||||
AC_C_SOCKLEN_T
|
||||
|
||||
dnl Check if we're a little-endian or a big-endian system, needed by hash code
|
||||
-AC_DEFUN([AC_C_ENDIAN],
|
||||
-[AC_CACHE_CHECK(for endianness, ac_cv_c_endian,
|
||||
-[
|
||||
- AC_RUN_IFELSE(
|
||||
- [AC_LANG_PROGRAM([], [dnl
|
||||
- long val = 1;
|
||||
- char *c = (char *) &val;
|
||||
- exit(*c == 1);
|
||||
- ])
|
||||
- ],[
|
||||
- ac_cv_c_endian=big
|
||||
- ],[
|
||||
- ac_cv_c_endian=little
|
||||
- ])
|
||||
-])
|
||||
-if test $ac_cv_c_endian = big; then
|
||||
- AC_DEFINE(ENDIAN_BIG, 1, [machine is bigendian])
|
||||
-fi
|
||||
-if test $ac_cv_c_endian = little; then
|
||||
- AC_DEFINE(ENDIAN_LITTLE, 1, [machine is littleendian])
|
||||
-fi
|
||||
-])
|
||||
-
|
||||
-AC_C_ENDIAN
|
||||
+AC_C_BIGENDIAN(
|
||||
+ [AC_DEFINE(ENDIAN_BIG, 1, [machine is bigendian])],
|
||||
+ [AC_DEFINE(ENDIAN_LITTLE, 1, [machine is littleendian])],
|
||||
+ [AC_MSG_ERROR([Cannot detect endianness. Must pass ac_cv_c_bigendian={yes,no} to configure.])])
|
||||
|
||||
AC_DEFUN([AC_C_HTONLL],
|
||||
[
|
||||
@@ -670,12 +669,15 @@ AC_DEFUN([AC_C_ALIGNMENT],
|
||||
],[
|
||||
ac_cv_c_alignment=need
|
||||
],[
|
||||
- ac_cv_c_alignment=need
|
||||
+ dnl cross compile
|
||||
+ ac_cv_c_alignment=maybe
|
||||
])
|
||||
])
|
||||
-if test $ac_cv_c_alignment = need; then
|
||||
- AC_DEFINE(NEED_ALIGN, 1, [Machine need alignment])
|
||||
-fi
|
||||
+AS_IF([test $ac_cv_c_alignment = need],
|
||||
+ [AC_DEFINE(NEED_ALIGN, 1, [Machine need alignment])])
|
||||
+AS_IF([test $ac_cv_c_alignment = maybe],
|
||||
+ [AC_MSG_WARN([Assuming aligned access is required when cross-compiling])
|
||||
+ AC_DEFINE(NEED_ALIGN, 1, [Machine need alignment])])
|
||||
])
|
||||
|
||||
AC_C_ALIGNMENT
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -1,76 +0,0 @@
|
||||
From ec7f3bc97c53578d5ca332b9e86c4d08d155c5a0 Mon Sep 17 00:00:00 2001
|
||||
From: Ola Jeppsson <ola.jeppsson@gmail.com>
|
||||
Date: Mon, 7 Oct 2019 19:57:46 -0400
|
||||
Subject: [PATCH] configure: Simplify pointer size check
|
||||
|
||||
Tested with:
|
||||
Autoconf 2.59 / Automake 1.7.9
|
||||
Autoconf 2.69 / Automake 1.16.1
|
||||
|
||||
Downloaded from upstream PR:
|
||||
https://github.com/memcached/memcached/pull/552
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
configure.ac | 31 ++-----------------------------
|
||||
restart.h | 2 +-
|
||||
2 files changed, 3 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 27dc939..7e5bd5d 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -271,35 +271,8 @@ return sizeof(void*) == 8 ? 0 : 1;
|
||||
])
|
||||
fi
|
||||
|
||||
-dnl If data pointer is 64bit or not.
|
||||
-AC_CHECK_HEADERS([stdint.h])
|
||||
-AS_IF([test -z "$have_64bit_ptr"],
|
||||
- [AC_RUN_IFELSE(
|
||||
- [AC_LANG_PROGRAM([], [return sizeof(void*) == 8 ? 0 : 1;])],
|
||||
- [have_64bit_ptr=yes ],
|
||||
- [have_64bit_ptr=no],
|
||||
- [dnl cross compile (this test requires C99)
|
||||
- AS_IF([test "x$ac_cv_header_stdint_h" = xyes],
|
||||
- [AC_COMPILE_IFELSE(
|
||||
- [AC_LANG_PROGRAM([
|
||||
- #include <stdint.h>
|
||||
- #if UINTPTR_MAX == 0xFFFFFFFFFFFFFFFFUL
|
||||
- /* 64 bit pointer */
|
||||
- #else
|
||||
- #error 32 bit pointer
|
||||
- #endif
|
||||
- ], [])],
|
||||
- [have_64bit_ptr=yes],
|
||||
- [have_64bit_ptr=no])],
|
||||
- [have_64bit_ptr=unknown])
|
||||
- ])
|
||||
-])
|
||||
-AS_IF([test "$have_64bit_ptr" = "unknown" ],[
|
||||
- AC_MSG_ERROR([Cannot detect pointer size. Must pass have_64bit_ptr={yes,no} to configure.])
|
||||
-])
|
||||
-AS_IF([test "$have_64bit_ptr" = yes],[
|
||||
- AC_DEFINE(HAVE_64BIT_PTR, 1, [data pointer is 64bit])
|
||||
-])
|
||||
+dnl Check if data pointer is 64bit or not
|
||||
+AC_CHECK_SIZEOF([void *])
|
||||
|
||||
# Issue 213: Search for clock_gettime to help people linking
|
||||
# with a static version of libevent
|
||||
diff --git a/restart.h b/restart.h
|
||||
index 76cd0a8..9de5096 100644
|
||||
--- a/restart.h
|
||||
+++ b/restart.h
|
||||
@@ -4,7 +4,7 @@
|
||||
#define RESTART_TAG_MAXLEN 255
|
||||
|
||||
// Track the pointer size for restart fiddling.
|
||||
-#ifdef HAVE_64BIT_PTR
|
||||
+#if SIZEOF_VOID_P == 8
|
||||
typedef uint64_t mc_ptr_t;
|
||||
#else
|
||||
typedef uint32_t mc_ptr_t;
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
From 0447ae4cbbebb87d3f28bb92f7e219a47263b889 Mon Sep 17 00:00:00 2001
|
||||
From: Sergei Trofimovich <slyfox@gentoo.org>
|
||||
Date: Thu, 23 Jan 2020 22:16:36 +0000
|
||||
Subject: [PATCH] hash: fix build failure against gcc-10
|
||||
|
||||
On gcc-10 (and gcc-9 -fno-common) build fails as:
|
||||
|
||||
```
|
||||
gcc -g -O2 -pthread -pthread -Wall -Werror -pedantic -Wmissing-prototypes \
|
||||
-Wmissing-declarations -Wredundant-decls -o memcached ... -levent
|
||||
ld: memcached-hash.o:memcached/hash.h:5:
|
||||
multiple definition of `hash'; memcached-memcached.o:memcached/hash.h:5: first defined here
|
||||
```
|
||||
|
||||
gcc-10 will change the default from -fcommon to fno-common:
|
||||
https://gcc.gnu.org/PR85678.
|
||||
|
||||
The error also happens if CFLAGS=-fno-common passed explicitly.
|
||||
|
||||
Reported-by: Brian Evans
|
||||
Bug: https://bugs.gentoo.org/706196
|
||||
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
||||
[Retrieved from:
|
||||
https://github.com/memcached/memcached/commit/0447ae4cbbebb87d3f28bb92f7e219a47263b889]
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
hash.c | 2 ++
|
||||
hash.h | 2 +-
|
||||
2 files changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hash.c b/hash.c
|
||||
index a0c30369f..b5ff28ae4 100644
|
||||
--- a/hash.c
|
||||
+++ b/hash.c
|
||||
@@ -4,6 +4,8 @@
|
||||
#include "jenkins_hash.h"
|
||||
#include "murmur3_hash.h"
|
||||
|
||||
+hash_func hash;
|
||||
+
|
||||
int hash_init(enum hashfunc_type type) {
|
||||
switch(type) {
|
||||
case JENKINS_HASH:
|
||||
diff --git a/hash.h b/hash.h
|
||||
index 059d1e2a6..3b2a98478 100644
|
||||
--- a/hash.h
|
||||
+++ b/hash.h
|
||||
@@ -2,7 +2,7 @@
|
||||
#define HASH_H
|
||||
|
||||
typedef uint32_t (*hash_func)(const void *key, size_t length);
|
||||
-hash_func hash;
|
||||
+extern hash_func hash;
|
||||
|
||||
enum hashfunc_type {
|
||||
JENKINS_HASH=0, MURMUR3_HASH
|
||||
@@ -1,6 +1,6 @@
|
||||
# From http://www.memcached.org/files/memcached-1.5.19.tar.gz.sha1
|
||||
sha1 14e6a02e743838696fcb620edf6a2fd7e60cabec memcached-1.5.19.tar.gz
|
||||
# From http://www.memcached.org/files/memcached-1.5.22.tar.gz.sha1
|
||||
sha1 3fe5d3929130e860efcfde18d4d396a29db006b7 memcached-1.5.22.tar.gz
|
||||
|
||||
# Locally computed
|
||||
sha256 3ddcdaa2d14d215f3111a7448b79c889c57618a26e97ad989581f1880a5a4be0 memcached-1.5.19.tar.gz
|
||||
sha256 bc887c4ad8051fe690ace9528fe37a2e0bb362e6d963331d82e845ca9b585a0c COPYING
|
||||
sha256 c2b47e9d20575a2367087c229636ffc3fb699a6c3a7f3a22f44402f25f5f1f93 memcached-1.5.22.tar.gz
|
||||
sha256 bc887c4ad8051fe690ace9528fe37a2e0bb362e6d963331d82e845ca9b585a0c COPYING
|
||||
|
||||
@@ -4,16 +4,13 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
MEMCACHED_VERSION = 1.5.19
|
||||
MEMCACHED_VERSION = 1.5.22
|
||||
MEMCACHED_SITE = http://www.memcached.org/files
|
||||
MEMCACHED_DEPENDENCIES = libevent
|
||||
MEMCACHED_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99'
|
||||
MEMCACHED_CONF_OPTS = --disable-coverage
|
||||
MEMCACHED_LICENSE = BSD-3-Clause
|
||||
MEMCACHED_LICENSE_FILES = COPYING
|
||||
# 0001-configure-Fix-cross-compilation-errors.patch
|
||||
# 0002-configure-Simplify-pointer-size-check.patch
|
||||
MEMCACHED_AUTORECONF = YES
|
||||
|
||||
ifeq ($(BR2_ENDIAN),"BIG")
|
||||
MEMCACHED_CONF_ENV += ac_cv_c_endian=big
|
||||
|
||||
@@ -370,7 +370,13 @@ config BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU
|
||||
Support for Nvidia-based GPUs.
|
||||
|
||||
config BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON
|
||||
bool "DRI radeon driver"
|
||||
bool "DRI radeon r100 driver"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
# libdrm's radeon option depends on LIBDRM_HAS_ATOMIC. Propagating
|
||||
# that dependency here causes a circular dependency that Kconfig
|
||||
# can't see is just spurious. However, that dependency is about
|
||||
# the toolchain having sync4 primitives, which is always a given
|
||||
# for i386 and x86_64.
|
||||
select BR2_PACKAGE_MESA3D_DRI_DRIVER
|
||||
select BR2_PACKAGE_LIBDRM_RADEON
|
||||
help
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user