Compare commits
113 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d8082db677 | |||
| 2fe040e7e7 | |||
| 5489b3a6c8 | |||
| 7306650bcf | |||
| 4b7c4b4236 | |||
| f5e83d08ee | |||
| 3a2b907381 | |||
| 6cfc64df27 | |||
| 74aed83080 | |||
| 2c30267ef1 | |||
| 43bb5874d6 | |||
| 48304cb30d | |||
| ec5d9ab6fc | |||
| 20878bc9ce | |||
| f4fc691181 | |||
| 160faed799 | |||
| 3a813a6a52 | |||
| 439447d1eb | |||
| 3e9e5bbc80 | |||
| 94d7c1485f | |||
| 8d495eb362 | |||
| 7e384e3c44 | |||
| 8e274f0d47 | |||
| f27b4185db | |||
| 32aaf6d853 | |||
| c74a02f937 | |||
| 74d60d39af | |||
| 57e7cbaa4b | |||
| 5b59dc0354 | |||
| 1b54d0349f | |||
| 9e5f973ea7 | |||
| fc8b89bced | |||
| 422fe3eb82 | |||
| 1332032d63 | |||
| 6fd8e71ab9 | |||
| 0749af79b0 | |||
| d78ea69ceb | |||
| 73ce759aa4 | |||
| bac46d4cec | |||
| 577f258ceb | |||
| 5d0fad8d0d | |||
| a7c334c1fd | |||
| f5bc68f7b7 | |||
| 985512051e | |||
| b683ba7b88 | |||
| dc404eaa08 | |||
| 8d4c84c9d5 | |||
| 6d661ac848 | |||
| 95a6c9b48c | |||
| 596aef22da | |||
| 91348417e7 | |||
| 2e679087e8 | |||
| 61689e7bb5 | |||
| 6865aa62dc | |||
| 85b5f2c6ff | |||
| 063c282383 | |||
| 803b26b798 | |||
| e76e4273a3 | |||
| 2cc9ced194 | |||
| a41e709f37 | |||
| 4c220c7b6c | |||
| 7401e05143 | |||
| e8272016df | |||
| 50ea613163 | |||
| 360273fa69 | |||
| 38535c6842 | |||
| 05498d367f | |||
| de76434713 | |||
| 2e56b20a4b | |||
| 9b02393346 | |||
| 15689a10b6 | |||
| 99273babe6 | |||
| b4fd1d20d4 | |||
| 264667d91a | |||
| dd8b784259 | |||
| ab8123c18a | |||
| b6b2266f2b | |||
| 34498c1f1a | |||
| 31794691b4 | |||
| 4c077cfbba | |||
| f0f448180b | |||
| b0406bb0df | |||
| ae88d05bb2 | |||
| f6f3a34810 | |||
| 5cef89e48a | |||
| a0a3e86c83 | |||
| e058e5e1bc | |||
| a052a9dfc3 | |||
| 3c547c1827 | |||
| 28ba28ef5c | |||
| 5a31e4f565 | |||
| a25c190df4 | |||
| 8673646dcc | |||
| 416bb105d8 | |||
| 941efc499f | |||
| 6dbe986282 | |||
| 98948b69d9 | |||
| 728bc4ce59 | |||
| 04af94f347 | |||
| e4ee12e107 | |||
| 81e54c98e2 | |||
| 51c21c223d | |||
| c1f8ff7e92 | |||
| f1e0848aef | |||
| 84e9581bd4 | |||
| 41b5fbd621 | |||
| 81b7cfcbd9 | |||
| eb81345aa9 | |||
| bd5de6ab6a | |||
| 7813cc4aaf | |||
| 42b76c6383 | |||
| 437ee02227 | |||
| a7f088767c |
+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,46 @@
|
||||
2020.02.7, 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.
|
||||
|
||||
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: bandwidthd, barebox, bash, bison,
|
||||
brotli, cifs-utils, cryptsetup, dhcpcd, dhcpdump, docker-cli,
|
||||
docker-engine, ecryptfs-utils, efl, fail2ban, freetype, gcc,
|
||||
gdb, ghostscript, gnutls, go, gst1-plugins-base,
|
||||
gst1-plugins-ugly, ipmitool, libhtp, libraw, libssh, libxml2,
|
||||
libxml-parser-perl, localedef, lua, memcached, mesa3d, meson,
|
||||
minidlna, nginx, nodejs, nss-pam-ldapd, openvmtools, php,
|
||||
postgresql, python, python-aenum, python-autobahn,
|
||||
python-engineio, python-fire, python-pymodbus, python-scapy,
|
||||
python-semver, python-sentry-sdk, python-socketio,
|
||||
python-texttable, python-tinyrpc, python-txtorcon, python3,
|
||||
qt5base, runc, samba4, strace, supertux, suricata, systemd,
|
||||
vlc, wayland-protocols, wireguard-linux-compat, wireshark,
|
||||
xserver_xorg-server, 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.02.6, released September 5th, 2020
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
@@ -218,6 +218,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>
|
||||
@@ -1815,6 +1817,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>
|
||||
@@ -2140,6 +2143,7 @@ F: package/davfs2/
|
||||
|
||||
N: Ryan Barnett <ryan.barnett@rockwellcollins.com>
|
||||
F: package/atftp/
|
||||
F: package/c-periphery/
|
||||
F: package/miraclecast/
|
||||
F: package/python-pyasn/
|
||||
F: package/python-pysnmp/
|
||||
|
||||
@@ -92,9 +92,9 @@ all:
|
||||
.PHONY: all
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2020.02.6
|
||||
export BR2_VERSION := 2020.02.7
|
||||
# Actual time the release is cut (for reproducible builds)
|
||||
BR2_VERSION_EPOCH = 1599333000
|
||||
BR2_VERSION_EPOCH = 1602538000
|
||||
|
||||
# Save running make version since it's clobbered by the make package
|
||||
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
||||
|
||||
+15
-11
@@ -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
|
||||
$$(call KCONFIG_ENABLE_OPT,CONFIG_DEFAULT_ENVIRONMENT,$$(@D)/.config)
|
||||
$$(call KCONFIG_SET_OPT,CONFIG_DEFAULT_ENVIRONMENT_PATH,"$$($(1)_CUSTOM_EMBEDDED_ENV_PATH)",$$(@D)/.config)
|
||||
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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
+1
-1
@@ -128,7 +128,7 @@ endif
|
||||
|
||||
config BR2_LINUX_KERNEL_VERSION
|
||||
string
|
||||
default "5.4.61" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
default "5.4.70" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
default "4.19.132-cip30" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
|
||||
default "4.19.132-cip30-rt12" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
|
||||
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
|
||||
|
||||
+5
-5
@@ -1,10 +1,10 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
|
||||
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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
From dbb4452787cb966cc74b2015689961875fd5d668 Mon Sep 17 00:00:00 2001
|
||||
From: Ryan Barnett <ryanbarnett3@gmail.com>
|
||||
Date: Mon, 27 Apr 2020 22:03:25 -0500
|
||||
Subject: [PATCH] Use DESTDIR when installing mount.smb3 and optionally install
|
||||
man page
|
||||
|
||||
Properly create mount.smb3 symlink by using DESTDIR. Also use
|
||||
CONFIG_MAN to optionally install manpage for mount.smb3.
|
||||
|
||||
Signed-off-by: Ryan Barnett <ryanbarnett3@gmail.com>
|
||||
---
|
||||
Upstream: https://marc.info/?l=linux-cifs&m=158804444725745&w=2
|
||||
---
|
||||
Makefile.am | 10 ++++++----
|
||||
1 file changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index fe9cd34..e0587f1 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -119,11 +119,13 @@ endif
|
||||
SUBDIRS = contrib
|
||||
|
||||
install-exec-hook:
|
||||
- (cd $(ROOTSBINDIR) && ln -sf mount.cifs mount.smb3)
|
||||
+ (cd $(DESTDIR)$(ROOTSBINDIR) && ln -sf mount.cifs mount.smb3)
|
||||
|
||||
+if CONFIG_MAN
|
||||
install-data-hook:
|
||||
- (cd $(man8dir) && ln -sf mount.cifs.8 mount.smb3.8)
|
||||
+ (cd $(DESTDIR)$(man8dir) && ln -sf mount.cifs.8 mount.smb3.8)
|
||||
+endif
|
||||
|
||||
uninstall-hook:
|
||||
- (cd $(ROOTSBINDIR) && rm -f $(ROOTSBINDIR)/mount.smb3)
|
||||
- (cd $(man8dir) && rm -f $(man8dir)/mount.smb3.8)
|
||||
+ rm -f $(DESTDIR)$(ROOTSBINDIR)/mount.smb3
|
||||
+ rm -f $(DESTDIR)$(man8dir)/mount.smb3.8
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
sha256 18d8f1bf92c13c4d611502dbd6759e3a766ddc8467ec8a2eda3f589e40b9ac9c cifs-utils-6.9.tar.bz2
|
||||
sha256 b859239a3f204f8220d3e54ed43bf8109e1ef202042dd87ba87492f8878728d9 cifs-utils-6.11.tar.bz2
|
||||
|
||||
# Hash for license file:
|
||||
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
|
||||
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
CIFS_UTILS_VERSION = 6.9
|
||||
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+
|
||||
CIFS_UTILS_LICENSE_FILES = COPYING
|
||||
# Missing install-sh in release tarball
|
||||
# Missing install-sh in release tarball and patching Makefile.am
|
||||
CIFS_UTILS_AUTORECONF = YES
|
||||
CIFS_UTILS_DEPENDENCIES = host-pkgconf
|
||||
|
||||
@@ -17,6 +17,9 @@ CIFS_UTILS_DEPENDENCIES = host-pkgconf
|
||||
# the global BR2_RELRO_FULL option.
|
||||
CIFS_UTILS_CONF_OPTS = --disable-pie --disable-man
|
||||
|
||||
# uses C11 code in smbinfo.c and mtab.c
|
||||
CIFS_UTILS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -std=gnu11"
|
||||
|
||||
ifeq ($(BR2_PACKAGE_KEYUTILS),y)
|
||||
CIFS_UTILS_DEPENDENCIES += keyutils
|
||||
endif
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -138,6 +138,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.
|
||||
@@ -220,6 +228,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
|
||||
|
||||
+2
-1
@@ -67,7 +67,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
|
||||
|
||||
|
||||
@@ -38,19 +38,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.
|
||||
|
||||
@@ -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,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
|
||||
|
||||
@@ -318,11 +318,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 BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
|
||||
default "custom" if BR2_KERNEL_HEADERS_CUSTOM_TARBALL
|
||||
default BR2_KERNEL_HEADERS_CUSTOM_REPO_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,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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -25,6 +25,10 @@ else ifeq ($(BR2_aarch64)$(BR2_aarch64_be),y)
|
||||
HOST_MESON_TARGET_CPU_FAMILY = aarch64
|
||||
else ifeq ($(BR2_i386),y)
|
||||
HOST_MESON_TARGET_CPU_FAMILY = x86
|
||||
else ifeq ($(BR2_m68k),y)
|
||||
HOST_MESON_TARGET_CPU_FAMILY = m68k
|
||||
else ifeq ($(BR2_microblazeel)$(BR2_microblazebe),y)
|
||||
HOST_MESON_TARGET_CPU_FAMILY = microblaze
|
||||
else ifeq ($(BR2_mips)$(BR2_mipsel),y)
|
||||
HOST_MESON_TARGET_CPU_FAMILY = mips
|
||||
else ifeq ($(BR2_mips64)$(BR2_mips64el),y)
|
||||
@@ -35,6 +39,8 @@ else ifeq ($(BR2_powerpc64)$(BR2_powerpc64le),y)
|
||||
HOST_MESON_TARGET_CPU_FAMILY = ppc64
|
||||
else ifeq ($(BR2_riscv),y)
|
||||
HOST_MESON_TARGET_CPU_FAMILY = riscv64
|
||||
else ifeq ($(BR2_sh4)$(BR2_sh4eb)$(BR2_sh4a)$(BR2_sh4aeb),y)
|
||||
HOST_MESON_TARGET_CPU_FAMILY = sh4
|
||||
else ifeq ($(BR2_sparc),y)
|
||||
HOST_MESON_TARGET_CPU_FAMILY = sparc
|
||||
else ifeq ($(BR2_sparc64),y)
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
From 90e88764f0fb3d981cd0c3cfd07d63323cc64090 Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Tue, 1 Sep 2020 22:55:24 +0200
|
||||
Subject: [PATCH] fix build with gcc 10
|
||||
|
||||
Define setjmp_buffer as static to avoid the following build failure with
|
||||
gcc 10 (which defaults to -fno-common):
|
||||
|
||||
/home/buildroot/autobuild/instance-1/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: image_utils.o:(.bss+0x0): multiple definition of `setjmp_buffer'; metadata.o:(.bss+0x0): first defined here
|
||||
collect2: error: ld returned 1 exit status
|
||||
|
||||
Fixes:
|
||||
- http://autobuild.buildroot.org/results/8754bb4f7d749f999d5f8ddfec587470ceec4476
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
image_utils.c | 2 +-
|
||||
metadata.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/image_utils.c b/image_utils.c
|
||||
index 24cfd08..e8d9635 100644
|
||||
--- a/image_utils.c
|
||||
+++ b/image_utils.c
|
||||
@@ -190,7 +190,7 @@ jpeg_memory_src(j_decompress_ptr cinfo, const unsigned char * buffer, size_t buf
|
||||
src->pub.bytes_in_buffer = bufsize;
|
||||
}
|
||||
|
||||
-jmp_buf setjmp_buffer;
|
||||
+static jmp_buf setjmp_buffer;
|
||||
/* Don't exit on error like libjpeg likes to do */
|
||||
static void
|
||||
libjpeg_error_handler(j_common_ptr cinfo)
|
||||
diff --git a/metadata.c b/metadata.c
|
||||
index 9cd86dc..4781db7 100644
|
||||
--- a/metadata.c
|
||||
+++ b/metadata.c
|
||||
@@ -502,7 +502,7 @@ GetAudioMetadata(const char *path, const char *name)
|
||||
}
|
||||
|
||||
/* For libjpeg error handling */
|
||||
-jmp_buf setjmp_buffer;
|
||||
+static jmp_buf setjmp_buffer;
|
||||
static void
|
||||
libjpeg_error_handler(j_common_ptr cinfo)
|
||||
{
|
||||
--
|
||||
2.28.0
|
||||
|
||||
@@ -0,0 +1,133 @@
|
||||
From 51bfbee51fd0376b5a66c944134af3e9972d8592 Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Sun, 6 Sep 2020 11:22:48 +0200
|
||||
Subject: [PATCH] upnphttp.c: fix CallStranger a.k.a. CVE-2020-12695
|
||||
|
||||
Import CheckCallback function from miniupnpd source code:
|
||||
https://github.com/miniupnp/miniupnp/commit/0d9634658860c3c8c209e466cc0ef7002bad3b0a
|
||||
|
||||
IPv6 code was kept even if minidlna does not support it currently.
|
||||
|
||||
This code is licensed under BSD-3-Clause like minidlna.
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
[Upstream status:
|
||||
https://sourceforge.net/p/minidlna/support-requests/71]
|
||||
---
|
||||
upnphttp.c | 92 ++++++++++++++++++++++++++++++++++++++++++++++++------
|
||||
1 file changed, 82 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/upnphttp.c b/upnphttp.c
|
||||
index 974434e..3be793e 100644
|
||||
--- a/upnphttp.c
|
||||
+++ b/upnphttp.c
|
||||
@@ -742,6 +742,70 @@ check_event(struct upnphttp *h)
|
||||
return type;
|
||||
}
|
||||
|
||||
+/**
|
||||
+ * returns 0 if the callback header value is not valid
|
||||
+ * 1 if it is valid.
|
||||
+ */
|
||||
+static int
|
||||
+checkCallbackURL(struct upnphttp * h)
|
||||
+{
|
||||
+ char addrstr[48];
|
||||
+ int ipv6;
|
||||
+ const char * p;
|
||||
+ int i;
|
||||
+
|
||||
+ if(!h->req_Callback || h->req_CallbackLen < 8)
|
||||
+ return 0;
|
||||
+ if(memcmp(h->req_Callback, "http://", 7) != 0)
|
||||
+ return 0;
|
||||
+ ipv6 = 0;
|
||||
+ i = 0;
|
||||
+ p = h->req_Callback + 7;
|
||||
+ if(*p == '[') {
|
||||
+ p++;
|
||||
+ ipv6 = 1;
|
||||
+ while(*p != ']' && i < (sizeof(addrstr)-1)
|
||||
+ && p < (h->req_Callback + h->req_CallbackLen))
|
||||
+ addrstr[i++] = *(p++);
|
||||
+ } else {
|
||||
+ while(*p != '/' && *p != ':' && i < (sizeof(addrstr)-1)
|
||||
+ && p < (h->req_Callback + h->req_CallbackLen))
|
||||
+ addrstr[i++] = *(p++);
|
||||
+ }
|
||||
+ addrstr[i] = '\0';
|
||||
+ if(ipv6) {
|
||||
+ struct in6_addr addr;
|
||||
+ if(inet_pton(AF_INET6, addrstr, &addr) <= 0)
|
||||
+ return 0;
|
||||
+#ifdef ENABLE_IPV6
|
||||
+ if(!h->ipv6
|
||||
+ || (0!=memcmp(&addr, &(h->clientaddr_v6), sizeof(struct in6_addr))))
|
||||
+ return 0;
|
||||
+#else
|
||||
+ return 0;
|
||||
+#endif
|
||||
+ } else {
|
||||
+ struct in_addr addr;
|
||||
+ if(inet_pton(AF_INET, addrstr, &addr) <= 0)
|
||||
+ return 0;
|
||||
+#ifdef ENABLE_IPV6
|
||||
+ if(h->ipv6) {
|
||||
+ if(!IN6_IS_ADDR_V4MAPPED(&(h->clientaddr_v6)))
|
||||
+ return 0;
|
||||
+ if(0!=memcmp(&addr, ((const char *)&(h->clientaddr_v6) + 12), 4))
|
||||
+ return 0;
|
||||
+ } else {
|
||||
+ if(0!=memcmp(&addr, &(h->clientaddr), sizeof(struct in_addr)))
|
||||
+ return 0;
|
||||
+ }
|
||||
+#else
|
||||
+ if(0!=memcmp(&addr, &(h->clientaddr), sizeof(struct in_addr)))
|
||||
+ return 0;
|
||||
+#endif
|
||||
+ }
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
static void
|
||||
ProcessHTTPSubscribe_upnphttp(struct upnphttp * h, const char * path)
|
||||
{
|
||||
@@ -759,17 +823,25 @@ ProcessHTTPSubscribe_upnphttp(struct upnphttp * h, const char * path)
|
||||
* - respond HTTP/x.x 200 OK
|
||||
* - Send the initial event message */
|
||||
/* Server:, SID:; Timeout: Second-(xx|infinite) */
|
||||
- sid = upnpevents_addSubscriber(path, h->req_Callback,
|
||||
- h->req_CallbackLen, h->req_Timeout);
|
||||
- h->respflags = FLAG_TIMEOUT;
|
||||
- if (sid)
|
||||
- {
|
||||
- DPRINTF(E_DEBUG, L_HTTP, "generated sid=%s\n", sid);
|
||||
- h->respflags |= FLAG_SID;
|
||||
- h->req_SID = sid;
|
||||
- h->req_SIDLen = strlen(sid);
|
||||
+ /* Check that the callback URL is on the same IP as
|
||||
+ * the request, and not on the internet, nor on ourself (DOS attack ?) */
|
||||
+ if(checkCallbackURL(h)) {
|
||||
+ sid = upnpevents_addSubscriber(path, h->req_Callback,
|
||||
+ h->req_CallbackLen, h->req_Timeout);
|
||||
+ h->respflags = FLAG_TIMEOUT;
|
||||
+ if (sid)
|
||||
+ {
|
||||
+ DPRINTF(E_DEBUG, L_HTTP, "generated sid=%s\n", sid);
|
||||
+ h->respflags |= FLAG_SID;
|
||||
+ h->req_SID = sid;
|
||||
+ h->req_SIDLen = strlen(sid);
|
||||
+ }
|
||||
+ BuildResp_upnphttp(h, 0, 0);
|
||||
+ } else {
|
||||
+ DPRINTF(E_WARN, L_HTTP, "Invalid Callback in SUBSCRIBE %.*s",
|
||||
+ h->req_CallbackLen, h->req_Callback);
|
||||
+ BuildResp2_upnphttp(h, 412, "Precondition Failed", 0, 0);
|
||||
}
|
||||
- BuildResp_upnphttp(h, 0, 0);
|
||||
}
|
||||
else if (type == E_RENEW)
|
||||
{
|
||||
--
|
||||
2.28.0
|
||||
|
||||
@@ -5,7 +5,7 @@ After=network.target
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/usr/sbin/minidlnad
|
||||
PIDFile=/var/run/minidlna/minidlna.pid
|
||||
PIDFile=/run/minidlna/minidlna.pid
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -4,7 +4,7 @@ After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/var/run/nginx.pid
|
||||
PIDFile=/run/nginx.pid
|
||||
ExecStartPre=/usr/bin/mkdir -p /var/log/nginx /var/tmp/nginx
|
||||
ExecStartPre=/usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;'
|
||||
ExecStart=/usr/sbin/nginx -g 'pid /var/run/nginx.pid; daemon on; master_process on;'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# From https://nodejs.org/dist/v12.18.0/SHASUMS256.txt
|
||||
sha256 d4688636a378367f5157f02bd5c13902f5c193356f8f7a35c99dfa383b03b13f node-v12.18.0.tar.xz
|
||||
# From https://nodejs.org/dist/v12.18.4/SHASUMS256.txt
|
||||
sha256 25f03cb18e53b6d0959d0c219e701a85eb4693f526bdda7c72bc6199b364f609 node-v12.18.4.tar.xz
|
||||
|
||||
# Hash for license file
|
||||
sha256 cd2e5817a25d7d28efba927b01056cae04a616b673014159f9eafeb008a0e747 LICENSE
|
||||
sha256 0dc03af08b95ea0c1e27f8fd591dee4383eb6f2c304db6eb6cdfb6751f7da87b LICENSE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
NODEJS_VERSION = 12.18.0
|
||||
NODEJS_VERSION = 12.18.4
|
||||
NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.xz
|
||||
NODEJS_SITE = http://nodejs.org/dist/v$(NODEJS_VERSION)
|
||||
NODEJS_DEPENDENCIES = host-python host-nodejs c-ares \
|
||||
|
||||
@@ -4,7 +4,7 @@ After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/var/run/nslcd/nslcd.pid
|
||||
PIDFile=/run/nslcd/nslcd.pid
|
||||
ExecStart=/usr/sbin/nslcd
|
||||
|
||||
[Install]
|
||||
|
||||
@@ -5,8 +5,8 @@ ConditionVirtualization=vmware
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/var/run/vmtoolsd.pid
|
||||
ExecStart=/usr/bin/vmtoolsd -b /var/run/vmtoolsd.pid
|
||||
PIDFile=/run/vmtoolsd.pid
|
||||
ExecStart=/usr/bin/vmtoolsd -b /run/vmtoolsd.pid
|
||||
Restart=on-failure
|
||||
KillMode=process
|
||||
KillSignal=SIGKILL
|
||||
|
||||
@@ -15,6 +15,8 @@ Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
[Gustavo: update for 5.6.10]
|
||||
Signed-off-by: Adam Duskett <aduskett@gmail.com>
|
||||
[aduskett@gmail.com: Update for 7.3.0]
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
[Bernd: rebased for 7.4.10]
|
||||
---
|
||||
build/php.m4 | 2 +-
|
||||
ext/iconv/config.m4 | 22 ----------------------
|
||||
@@ -24,7 +26,7 @@ diff --git a/build/php.m4 b/build/php.m4
|
||||
index 9586c490..8b3d47ed 100644
|
||||
--- a/build/php.m4
|
||||
+++ b/build/php.m4
|
||||
@@ -1971,7 +1971,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [
|
||||
@@ -1965,7 +1965,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [
|
||||
dnl Check external libs for iconv funcs.
|
||||
if test "$found_iconv" = "no"; then
|
||||
|
||||
|
||||
@@ -12,6 +12,8 @@ Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
[Gustavo: update for autoreconf/configure.in]
|
||||
Signed-off-by: Adam Duskett <aduskett@gmail.com>
|
||||
[Aduskett: update for 7.3.0]
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
[Bernd: rebased for 7.4.10]
|
||||
---
|
||||
configure.ac | 9 ++-------
|
||||
1 file changed, 2 insertions(+), 7 deletions(-)
|
||||
@@ -20,7 +22,7 @@ diff --git a/configure.ac b/configure.ac
|
||||
index 0dfab302..6026fb66 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1430,13 +1430,8 @@ CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag"
|
||||
@@ -1453,13 +1453,8 @@ CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag"
|
||||
INLINE_CFLAGS="$INLINE_CFLAGS $standard_libtool_flag"
|
||||
CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)"
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# From https://www.php.net/downloads.php
|
||||
sha256 23733f4a608ad1bebdcecf0138ebc5fd57cf20d6e0915f98a9444c3f747dc57b php-7.4.9.tar.xz
|
||||
sha256 5d31675a9b9c21b5bd03389418218c30b26558246870caba8eb54f5856e2d6ce php-7.4.11.tar.xz
|
||||
|
||||
# License file
|
||||
sha256 0967ad6cf4b7fe81d38709d7aaef3fecb3bd685be7eebb37b864aa34c991baa7 LICENSE
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PHP_VERSION = 7.4.9
|
||||
PHP_VERSION = 7.4.11
|
||||
PHP_SITE = http://www.php.net/distributions
|
||||
PHP_SOURCE = php-$(PHP_VERSION).tar.xz
|
||||
PHP_INSTALL_STAGING = YES
|
||||
|
||||
@@ -193,7 +193,7 @@ define PKG_MESON_INSTALL_CROSS_CONF
|
||||
-e 's%@TARGET_CXXFLAGS@%$(call make-comma-list,$(TARGET_CXXFLAGS))@PKG_TARGET_CFLAGS@%g' \
|
||||
-e 's%@HOST_DIR@%$(HOST_DIR)%g' \
|
||||
-e 's%@STAGING_DIR@%$(STAGING_DIR)%g' \
|
||||
-e 's%@STATIC@%$$(if $$(BR2_STATIC_LIBS),true,false)%g' \
|
||||
-e 's%@STATIC@%$(if $(BR2_STATIC_LIBS),true,false)%g' \
|
||||
$(HOST_MESON_PKGDIR)/cross-compilation.conf.in \
|
||||
> $(HOST_DIR)/etc/meson/cross-compilation.conf.in
|
||||
sed -e 's%@PKG_TARGET_CFLAGS@%%g' \
|
||||
@@ -203,4 +203,4 @@ define PKG_MESON_INSTALL_CROSS_CONF
|
||||
> $(HOST_DIR)/etc/meson/cross-compilation.conf
|
||||
endef
|
||||
|
||||
TOOLCHAIN_POST_INSTALL_STAGING_HOOKS += PKG_MESON_INSTALL_CROSS_CONF
|
||||
TOOLCHAIN_TARGET_FINALIZE_HOOKS += PKG_MESON_INSTALL_CROSS_CONF
|
||||
|
||||
@@ -11,12 +11,18 @@ case "$1" in
|
||||
--includedir)
|
||||
echo "$prefix/include"
|
||||
;;
|
||||
--includedir-server)
|
||||
echo "$prefix/include/postgresql/server"
|
||||
;;
|
||||
--libdir)
|
||||
echo "$prefix/lib"
|
||||
;;
|
||||
--version)
|
||||
echo "PostgreSQL @POSTGRESQL_VERSION@"
|
||||
;;
|
||||
--configure)
|
||||
echo "@POSTGRESQL_CONF_OPTIONS@"
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {--includedir|--libdir|--version}"
|
||||
echo "Usage: $0 {--includedir|--includedir-server|--libdir|--version|--configure}"
|
||||
esac
|
||||
|
||||
@@ -115,6 +115,7 @@ POSTGRESQL_POST_INSTALL_TARGET_HOOKS += POSTGRESQL_INSTALL_TARGET_FIXUP
|
||||
define POSTGRESQL_INSTALL_CUSTOM_PG_CONFIG
|
||||
$(INSTALL) -m 0755 -D package/postgresql/pg_config \
|
||||
$(STAGING_DIR)/usr/bin/pg_config
|
||||
$(SED) "s|@POSTGRESQL_CONF_OPTIONS@|$(POSTGRESQL_CONF_OPTS)|g" $(STAGING_DIR)/usr/bin/pg_config
|
||||
$(SED) "s|@POSTGRESQL_VERSION@|$(POSTGRESQL_VERSION)|g" $(STAGING_DIR)/usr/bin/pg_config
|
||||
endef
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@ Group=postgres
|
||||
StandardOutput=syslog
|
||||
StandardError=syslog
|
||||
SyslogIdentifier=postgres
|
||||
PIDFile=/var/lib/pgsql/postmaster.pid
|
||||
|
||||
ExecStartPre=/bin/sh -c "if [ ! -f /var/lib/pgsql/PG_VERSION ]; then /usr/bin/pg_ctl initdb -D /var/lib/pgsql; fi"
|
||||
ExecStart=/usr/bin/postgres -D /var/lib/pgsql
|
||||
|
||||
@@ -11,4 +11,13 @@ PYTHON_AENUM_SETUP_TYPE = setuptools
|
||||
PYTHON_AENUM_LICENSE = BSD-3-Clause
|
||||
PYTHON_AENUM_LICENSE_FILES = aenum/LICENSE
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PYTHON),y)
|
||||
# only needed/valid for python 3.x
|
||||
define PYTHON_AENUM_RM_PY3_FILE
|
||||
rm -f $(TARGET_DIR)/usr/lib/python*/site-packages/aenum/test_v3.py
|
||||
endef
|
||||
|
||||
PYTHON_AENUM_POST_INSTALL_TARGET_HOOKS += PYTHON_AENUM_RM_PY3_FILE
|
||||
endif
|
||||
|
||||
$(eval $(python-package))
|
||||
|
||||
@@ -11,4 +11,15 @@ PYTHON_AUTOBAHN_LICENSE = MIT
|
||||
PYTHON_AUTOBAHN_LICENSE_FILES = LICENSE
|
||||
PYTHON_AUTOBAHN_SETUP_TYPE = setuptools
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PYTHON),y)
|
||||
# only needed/valid for python 3.x
|
||||
define PYTHON_AUTOBAHN_RM_PY3_FILES
|
||||
rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/autobahn/asyncio \
|
||||
$(TARGET_DIR)/usr/lib/python*/site-packages/autobahn/xbr \
|
||||
$(TARGET_DIR)/usr/lib/python*/site-packages/autobahn/twisted/xbr.py
|
||||
endef
|
||||
|
||||
PYTHON_AUTOBAHN_POST_INSTALL_TARGET_HOOKS += PYTHON_AUTOBAHN_RM_PY3_FILES
|
||||
endif
|
||||
|
||||
$(eval $(python-package))
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
config BR2_PACKAGE_PYTHON_CYCLER
|
||||
bool "python-cycler"
|
||||
depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
|
||||
help
|
||||
Creates a Cycler objects much like cycler, but
|
||||
includes input validation.
|
||||
|
||||
@@ -10,4 +10,14 @@ PYTHON_ENGINEIO_SETUP_TYPE = setuptools
|
||||
PYTHON_ENGINEIO_LICENSE = MIT
|
||||
PYTHON_ENGINEIO_LICENSE_FILES = LICENSE
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PYTHON),y)
|
||||
# only needed/valid for python 3.x
|
||||
define PYTHON_ENGINEIO_RM_PY3_FILES
|
||||
rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/engineio/async_drivers \
|
||||
$(TARGET_DIR)/usr/lib/python*/site-packages/engineio/asyncio_*.py
|
||||
endef
|
||||
|
||||
PYTHON_ENGINEIO_POST_INSTALL_TARGET_HOOKS += PYTHON_ENGINEIO_RM_PY3_FILES
|
||||
endif
|
||||
|
||||
$(eval $(python-package))
|
||||
|
||||
@@ -11,4 +11,13 @@ PYTHON_FIRE_SETUP_TYPE = setuptools
|
||||
PYTHON_FIRE_LICENSE = Apache-2.0
|
||||
PYTHON_FIRE_LICENSE_FILES = LICENSE
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PYTHON),y)
|
||||
# only needed/valid for python 3.x
|
||||
define PYTHON_FIRE_RM_PY3_FILE
|
||||
rm -f $(TARGET_DIR)/usr/lib/python*/site-packages/fire/test_components_py3.py
|
||||
endef
|
||||
|
||||
PYTHON_FIRE_POST_INSTALL_TARGET_HOOKS += PYTHON_FIRE_RM_PY3_FILE
|
||||
endif
|
||||
|
||||
$(eval $(python-package))
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user