Update buildroot to 2020.11 (#1051)

Signed-off-by: Stefan Agner <stefan@agner.ch>
This commit is contained in:
Stefan Agner 2020-12-03 12:34:02 +01:00 committed by GitHub
parent c9c5f1b3e9
commit a4f5670cd8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
38 changed files with 745 additions and 78 deletions

View File

@ -1,3 +1,16 @@
2020.11, released December 2nd, 2020
Various fixes.
Updated/fixed packages: bustle, docker-containerd, gnuplot,
gst1-plugins-good, jemalloc, kmsxx, libcap, libplist,
libuhttpd, libxkbcommon, lynx, mariadb, netsurf, privoxy,
s390-tools, setserial, xserver_xorg-server
Issues resolved (http://bugs.uclibc.org):
#13276: libcap builds libcap.pc incorrectly
2020.11-rc3, released November 28th, 2020
Fixes all over the tree.

View File

@ -92,9 +92,9 @@ all:
.PHONY: all
# Set and export the version string
export BR2_VERSION := 2020.11-rc3
export BR2_VERSION := 2020.11
# Actual time the release is cut (for reproducible builds)
BR2_VERSION_EPOCH = 1606558000
BR2_VERSION_EPOCH = 1606948000
# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -174,13 +174,13 @@ List of Examples
---------------------------------------------------------------------
Buildroot 2020.11-rc3 manual generated on 2020-11-28 10:11:23 UTC
from git revision a418d0ac51
Buildroot 2020.11 manual generated on 2020-12-02 22:29:04 UTC from
git revision 9624a001f9
The Buildroot manual is written by the Buildroot developers. It is
licensed under the GNU General Public License, version 2. Refer to
the COPYING [http://git.buildroot.org/buildroot/tree/COPYING?id=
a418d0ac51e192adc54300f16b46b12a42b2b117] file in the Buildroot
9624a001f9d4314f8bcc9219df717d4c41fb5373] file in the Buildroot
sources for the full text of this license.
Copyright © 2004-2020 The Buildroot developers

View File

@ -42,40 +42,40 @@
</div>
</div>
<h3 style="text-align: center;">Latest stable release: <b>2020.08.2</b></h3>
<h3 style="text-align: center;">Latest stable release: <b>2020.11</b></h3>
<div class="row mt centered">
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
<a href="/downloads/buildroot-2020.08.2.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2020.11.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
<a href="/downloads/buildroot-2020.08.2.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2020.11.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
<h3><a href="/downloads/buildroot-2020.08.2.tar.gz">buildroot-2020.08.2.tar.gz</a></h3>
<p><a href="/downloads/buildroot-2020.08.2.tar.gz.sign">PGP signature</a></p>
<h3><a href="/downloads/buildroot-2020.11.tar.gz">buildroot-2020.11.tar.gz</a></h3>
<p><a href="/downloads/buildroot-2020.11.tar.gz.sign">PGP signature</a></p>
</div>
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
<a href="/downloads/buildroot-2020.08.2.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2020.11.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
<a href="/downloads/buildroot-2020.08.2.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2020.11.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
<h3><a href="/downloads/buildroot-2020.08.2.tar.bz2">buildroot-2020.08.2.tar.bz2</a></h3>
<p><a href="/downloads/buildroot-2020.08.2.tar.bz2.sign">PGP signature</a></p>
<h3><a href="/downloads/buildroot-2020.11.tar.bz2">buildroot-2020.11.tar.bz2</a></h3>
<p><a href="/downloads/buildroot-2020.11.tar.bz2.sign">PGP signature</a></p>
</div>
</div>
<!--
<h3 style="text-align: center;">Latest release candidate: <b>2020.11-rc3</b></h3>
<div class="row mt centered">
<div class="col-sm-6">
@ -109,7 +109,7 @@
<p><a href="/downloads/buildroot-2020.11-rc3.tar.bz2.sign">PGP signature</a></p>
</div>
</div>
-->
This and earlier releases (and their PGP signatures) can always be downloaded from
<a href="/downloads/">http://buildroot.net/downloads/</a>.
</div>

View File

@ -9,6 +9,24 @@
<h2>News</h2>
<ul class="timeline">
<li class="timeline-inverted">
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2020.11 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>2 December 2020</small></p>
</div>
<div class="timeline-body">
<p>The stable 2020.11 release is out - Thanks to everyone
contributing and testing the release candidates. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2020.11">CHANGES</a>
file for more details
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2020.11.tar.bz2">2020.11 release</a>.</p>
</div>
</div>
</li>
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">

View File

@ -39,7 +39,7 @@ config BR2_BINUTILS_VERSION_2_35_X
depends on !BR2_BINFMT_FLAT
config BR2_BINUTILS_VERSION_ARC
bool "binutils arc (2.31)"
bool "binutils arc (2.34.50)"
depends on BR2_arc
config BR2_BINUTILS_VERSION_CSKY

View File

@ -6,7 +6,7 @@
BUSTLE_VERSION = 0.7.5
BUSTLE_SITE = https://www.freedesktop.org/software/bustle/$(BUSTLE_VERSION)
BUSTLE_LICENSE = LGPL-2.1+
BUSTLE_LICENSE = LGPL-2.1+, GPL-3.0 (binaries)
BUSTLE_LICENSE_FILES = LICENSE
BUSTLE_DEPENDENCIES = libglib2 libpcap host-pkgconf

View File

@ -1,3 +1,3 @@
# Computed locally
sha256 d410b8efc94e4124990f01de7107223971be8c9258fc651decf9e0ba648485b5 docker-containerd-1.4.1.tar.gz
sha256 bc6d9452c700af0ebc09c0da8ddba55be4c03ac8928e72ca92d98905800c8018 docker-containerd-1.4.3.tar.gz
sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE

View File

@ -4,7 +4,7 @@
#
################################################################################
DOCKER_CONTAINERD_VERSION = 1.4.1
DOCKER_CONTAINERD_VERSION = 1.4.3
DOCKER_CONTAINERD_SITE = $(call github,containerd,containerd,v$(DOCKER_CONTAINERD_VERSION))
DOCKER_CONTAINERD_LICENSE = Apache-2.0
DOCKER_CONTAINERD_LICENSE_FILES = LICENSE

View File

@ -9,7 +9,7 @@ choice
Select the version of gcc you wish to use.
config BR2_GCC_VERSION_ARC
bool "gcc arc (9.x)"
bool "gcc arc (10.x)"
# Only supported architecture
depends on BR2_arc
select BR2_TOOLCHAIN_GCC_AT_LEAST_9

View File

@ -0,0 +1,243 @@
From b92c22b144d063c4436a6693045ceb57d344c495 Mon Sep 17 00:00:00 2001
From: Claudiu Zissulescu <claziss@synopsys.com>
Date: Wed, 11 Nov 2020 12:31:10 +0200
Subject: [PATCH] arc: Refurbish adc/sbc patterns
The adc/sbc patterns were unecessary spliting, remove that and
associated functions.
gcc/ChangeLog:
2020-10-11 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc-protos.h (arc_scheduling_not_expected): Remove
it.
(arc_sets_cc_p): Likewise.
(arc_need_delay): Likewise.
* config/arc/arc.c (arc_sets_cc_p): Likewise.
(arc_need_delay): Likewise.
(arc_scheduling_not_expected): Likewise.
* config/arc/arc.md: Convert adc/sbc patterns to simple
instruction definitions.
Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com>
Downloaded from upstream commit
https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/commit/b92c22b144d063c4436a6693045ceb57d344c495
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
gcc/config/arc/arc-protos.h | 3 --
gcc/config/arc/arc.c | 53 ---------------------
gcc/config/arc/arc.md | 95 +++++++++++--------------------------
3 files changed, 29 insertions(+), 122 deletions(-)
diff --git a/gcc/config/arc/arc-protos.h b/gcc/config/arc/arc-protos.h
index c72d78e3b9e..de4cf47c818 100644
--- a/gcc/config/arc/arc-protos.h
+++ b/gcc/config/arc/arc-protos.h
@@ -90,10 +90,7 @@ extern void split_subsi (rtx *);
extern void arc_split_move (rtx *);
extern const char *arc_short_long (rtx_insn *insn, const char *, const char *);
extern rtx arc_regno_use_in (unsigned int, rtx);
-extern bool arc_scheduling_not_expected (void);
-extern bool arc_sets_cc_p (rtx_insn *insn);
extern int arc_label_align (rtx_insn *label);
-extern bool arc_need_delay (rtx_insn *insn);
extern bool arc_text_label (rtx_insn *insn);
extern bool arc_short_comparison_p (rtx, int);
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
index 5a7b0cb6696..c3ee9181f93 100644
--- a/gcc/config/arc/arc.c
+++ b/gcc/config/arc/arc.c
@@ -10341,59 +10341,6 @@ arc_attr_type (rtx_insn *insn)
return get_attr_type (insn);
}
-/* Return true if insn sets the condition codes. */
-
-bool
-arc_sets_cc_p (rtx_insn *insn)
-{
- if (NONJUMP_INSN_P (insn))
- if (rtx_sequence *seq = dyn_cast <rtx_sequence *> (PATTERN (insn)))
- insn = seq->insn (seq->len () - 1);
- return arc_attr_type (insn) == TYPE_COMPARE;
-}
-
-/* Return true if INSN is an instruction with a delay slot we may want
- to fill. */
-
-bool
-arc_need_delay (rtx_insn *insn)
-{
- rtx_insn *next;
-
- if (!flag_delayed_branch)
- return false;
- /* The return at the end of a function needs a delay slot. */
- if (NONJUMP_INSN_P (insn) && GET_CODE (PATTERN (insn)) == USE
- && (!(next = next_active_insn (insn))
- || ((!NONJUMP_INSN_P (next) || GET_CODE (PATTERN (next)) != SEQUENCE)
- && arc_attr_type (next) == TYPE_RETURN))
- && (!TARGET_PAD_RETURN
- || (prev_active_insn (insn)
- && prev_active_insn (prev_active_insn (insn))
- && prev_active_insn (prev_active_insn (prev_active_insn (insn))))))
- return true;
- if (NONJUMP_INSN_P (insn)
- ? (GET_CODE (PATTERN (insn)) == USE
- || GET_CODE (PATTERN (insn)) == CLOBBER
- || GET_CODE (PATTERN (insn)) == SEQUENCE)
- : JUMP_P (insn)
- ? (GET_CODE (PATTERN (insn)) == ADDR_VEC
- || GET_CODE (PATTERN (insn)) == ADDR_DIFF_VEC)
- : !CALL_P (insn))
- return false;
- return num_delay_slots (insn) != 0;
-}
-
-/* Return true if the scheduling pass(es) has/have already run,
- i.e. where possible, we should try to mitigate high latencies
- by different instruction selection. */
-
-bool
-arc_scheduling_not_expected (void)
-{
- return cfun->machine->arc_reorg_started;
-}
-
/* Code has a minimum p2 alignment of 1, which we must restore after
an ADDR_DIFF_VEC. */
diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md
index f91adbc0d94..c635b69ddd5 100644
--- a/gcc/config/arc/arc.md
+++ b/gcc/config/arc/arc.md
@@ -2847,43 +2847,25 @@ archs4x, archs4xd"
(set_attr "type" "compare")
(set_attr "length" "4,4,8")])
-; w/c/c comes first (rather than w/0/C_0) to prevent the middle-end
-; needlessly prioritizing the matching constraint.
-; Rcw/0/C_0 comes before w/c/L so that the lower latency conditional
-; execution is used where possible.
-(define_insn_and_split "adc"
- [(set (match_operand:SI 0 "dest_reg_operand" "=w,Rcw,w,Rcw,w")
- (plus:SI (plus:SI (ltu:SI (reg:CC_C CC_REG) (const_int 0))
- (match_operand:SI 1 "nonmemory_operand"
- "%c,0,c,0,cCal"))
- (match_operand:SI 2 "nonmemory_operand" "c,C_0,L,I,cCal")))]
+(define_insn "adc"
+ [(set (match_operand:SI 0 "register_operand" "=r, r,r,r, r,r")
+ (plus:SI
+ (plus:SI
+ (ltu:SI (reg:CC_C CC_REG) (const_int 0))
+ (match_operand:SI 1 "nonmemory_operand" "%r, 0,r,0,Cal,r"))
+ (match_operand:SI 2 "nonmemory_operand" "r,C_0,L,I, r,Cal")))]
"register_operand (operands[1], SImode)
|| register_operand (operands[2], SImode)"
"@
- adc %0,%1,%2
- add.cs %0,%1,1
- adc %0,%1,%2
- adc %0,%1,%2
- adc %0,%1,%2"
- ; if we have a bad schedule after sched2, split.
- "reload_completed
- && !optimize_size && (!TARGET_ARC600_FAMILY)
- && arc_scheduling_not_expected ()
- && arc_sets_cc_p (prev_nonnote_insn (insn))
- /* If next comes a return or other insn that needs a delay slot,
- expect the adc to get into the delay slot. */
- && next_nonnote_insn (insn)
- && !arc_need_delay (next_nonnote_insn (insn))
- /* Restore operands before emitting. */
- && (extract_insn_cached (insn), 1)"
- [(set (match_dup 0) (match_dup 3))
- (cond_exec
- (ltu (reg:CC_C CC_REG) (const_int 0))
- (set (match_dup 0) (plus:SI (match_dup 0) (const_int 1))))]
- "operands[3] = simplify_gen_binary (PLUS, SImode, operands[1], operands[2]);"
+ adc\\t%0,%1,%2
+ add.cs\\t%0,%1,1
+ adc\\t%0,%1,%2
+ adc\\t%0,%1,%2
+ adc\\t%0,%1,%2
+ adc\\t%0,%1,%2"
[(set_attr "cond" "use")
(set_attr "type" "cc_arith")
- (set_attr "length" "4,4,4,4,8")])
+ (set_attr "length" "4,4,4,4,8,8")])
; combiner-splitter cmp / scc -> cmp / adc
(define_split
@@ -3015,7 +2997,7 @@ archs4x, archs4xd"
DONE;
}
emit_insn (gen_sub_f (l0, l1, l2));
- emit_insn (gen_sbc (h0, h1, h2, gen_rtx_REG (CCmode, CC_REG)));
+ emit_insn (gen_sbc (h0, h1, h2));
DONE;
")
@@ -3030,44 +3012,25 @@ archs4x, archs4xd"
(set_attr "type" "cc_arith")
(set_attr "length" "4")])
-; w/c/c comes first (rather than Rcw/0/C_0) to prevent the middle-end
-; needlessly prioritizing the matching constraint.
-; Rcw/0/C_0 comes before w/c/L so that the lower latency conditional execution
-; is used where possible.
-(define_insn_and_split "sbc"
- [(set (match_operand:SI 0 "dest_reg_operand" "=w,Rcw,w,Rcw,w")
- (minus:SI (minus:SI (match_operand:SI 1 "nonmemory_operand"
- "c,0,c,0,cCal")
- (ltu:SI (match_operand:CC_C 3 "cc_use_register")
- (const_int 0)))
- (match_operand:SI 2 "nonmemory_operand" "c,C_0,L,I,cCal")))]
+(define_insn "sbc"
+ [(set (match_operand:SI 0 "dest_reg_operand" "=r,r,r,r,r,r")
+ (minus:SI
+ (minus:SI
+ (match_operand:SI 1 "nonmemory_operand" "r, 0,r,0, r,Cal")
+ (ltu:SI (reg:CC_C CC_REG) (const_int 0)))
+ (match_operand:SI 2 "nonmemory_operand" "r,C_0,L,I,Cal,r")))]
"register_operand (operands[1], SImode)
|| register_operand (operands[2], SImode)"
"@
- sbc %0,%1,%2
- sub.cs %0,%1,1
- sbc %0,%1,%2
- sbc %0,%1,%2
- sbc %0,%1,%2"
- ; if we have a bad schedule after sched2, split.
- "reload_completed
- && !optimize_size && (!TARGET_ARC600_FAMILY)
- && arc_scheduling_not_expected ()
- && arc_sets_cc_p (prev_nonnote_insn (insn))
- /* If next comes a return or other insn that needs a delay slot,
- expect the adc to get into the delay slot. */
- && next_nonnote_insn (insn)
- && !arc_need_delay (next_nonnote_insn (insn))
- /* Restore operands before emitting. */
- && (extract_insn_cached (insn), 1)"
- [(set (match_dup 0) (match_dup 4))
- (cond_exec
- (ltu (reg:CC_C CC_REG) (const_int 0))
- (set (match_dup 0) (plus:SI (match_dup 0) (const_int -1))))]
- "operands[4] = simplify_gen_binary (MINUS, SImode, operands[1], operands[2]);"
+ sbc\\t%0,%1,%2
+ sub.cs\\t%0,%1,1
+ sbc\\t%0,%1,%2
+ sbc\\t%0,%1,%2
+ sbc\\t%0,%1,%2
+ sbc\\t%0,%1,%2"
[(set_attr "cond" "use")
(set_attr "type" "cc_arith")
- (set_attr "length" "4,4,4,4,8")])
+ (set_attr "length" "4,4,4,4,8,8")])
(define_insn "sub_f"
[(set (reg:CC CC_REG)

View File

@ -1,17 +0,0 @@
history.c: Patch to solve the 'undefined reference to gp_read_history'
Signed-off-by: Michael Fischer <mf@go-sys.de>
diff -purN gnuplot-5.4.0.org/src/history.c gnuplot-5.4.0/src/history.c
--- gnuplot-5.4.0.org/src/history.c 2019-12-10 07:22:32.000000000 +0100
+++ gnuplot-5.4.0/src/history.c 2020-09-14 10:07:36.525441702 +0200
@@ -91,7 +91,9 @@ write_history(char *filename)
void
read_history(char *filename)
{
- gp_read_history(filename);
+#ifdef GNUPLOT_HISTORY
+ gp_read_history(filename);
+#endif
}

View File

@ -1,6 +1,6 @@
# From https://sourceforge.net/projects/gnuplot/files/gnuplot/5.4.0/
md5 ac586178f3b031dea82cd3890cefb21b gnuplot-5.4.0.tar.gz
sha1 b4660dff7d047a453c55fd77faba11f63bb2d5ed gnuplot-5.4.0.tar.gz
# From https://sourceforge.net/projects/gnuplot/files/gnuplot/5.4.1/
md5 80f75b684f1175d36cd6908ff1ceb588 gnuplot-5.4.1.tar.gz
sha1 bb1cd34f8ec0357eccef70122f0fd531ced5dd29 gnuplot-5.4.1.tar.gz
# Locally computed
sha256 eb4082f03a399fd1e9e2b380cf7a4f785e77023d8dcc7e17570c1b5570a49c47 gnuplot-5.4.0.tar.gz
sha256 6b690485567eaeb938c26936e5e0681cf70c856d273cc2c45fabf64d8bc6590e gnuplot-5.4.1.tar.gz
sha256 895928ec0735cca1c8cec42656c7e314a065d0242813bb8693c0c1bf61fd4e4d Copyright

View File

@ -4,7 +4,7 @@
#
################################################################################
GNUPLOT_VERSION = 5.4.0
GNUPLOT_VERSION = 5.4.1
GNUPLOT_SITE = http://downloads.sourceforge.net/project/gnuplot/gnuplot/$(GNUPLOT_VERSION)
GNUPLOT_LICENSE = gnuplot license (open source)
GNUPLOT_LICENSE_FILES = Copyright

View File

@ -279,6 +279,7 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL
bool "qmlgl (qt5)"
depends on BR2_PACKAGE_QT5
depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative
depends on BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL
select BR2_PACKAGE_QT5BASE_WIDGETS
select BR2_PACKAGE_QT5DECLARATIVE
select BR2_PACKAGE_QT5DECLARATIVE_QUICK
@ -286,6 +287,9 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL
help
QT5 plugin which includes elements qmlglsrc and qmlglsink
comment "qmlgl (qt5) needs the gst1-plugins-base opengl library"
depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL
config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SHOUT2
bool "shout2"
select BR2_PACKAGE_LIBSHOUT

View File

@ -10,6 +10,7 @@ JEMALLOC_SITE = https://github.com/jemalloc/jemalloc/releases/download/$(JEMALLO
JEMALLOC_LICENSE = BSD-2-Clause
JEMALLOC_LICENSE_FILES = COPYING
JEMALLOC_INSTALL_STAGING = YES
JEMALLOC_CONFIG_SCRIPTS = jemalloc-config
# gcc bug internal compiler error: in merge_overlapping_regs, at
# regrename.c:304. This bug is fixed since gcc 6.

View File

@ -0,0 +1,27 @@
From f7ee1e8c96ffbfc645487e483b928d250a7e79ec Mon Sep 17 00:00:00 2001
From: Tobias Off <sebastianoff@web.de>
Date: Thu, 8 Oct 2020 22:37:55 +0200
Subject: [PATCH] added #include <string> to card.h to follow gcc10 porting
guide
[Upstream: https://github.com/tomba/kmsxx/commit/b53f9d383c9189a897c44cd88a8fc1b871fdc8a2.patch]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
kms++/inc/kms++/card.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/kms++/inc/kms++/card.h b/kms++/inc/kms++/card.h
index 90ad1f6..f055e27 100644
--- a/kms++/inc/kms++/card.h
+++ b/kms++/inc/kms++/card.h
@@ -3,6 +3,7 @@
#include <cstdint>
#include <vector>
#include <map>
+#include <string>
#include "decls.h"
#include "pipeline.h"
--
2.29.2

View File

@ -19,6 +19,8 @@ LIBCAP_MAKE_FLAGS = \
CROSS_COMPILE="$(TARGET_CROSS)" \
BUILD_CC="$(HOSTCC)" \
BUILD_CFLAGS="$(HOST_CFLAGS)" \
lib=lib \
prefix=/usr \
SHARED=$(if $(BR2_STATIC_LIBS),,yes) \
PTHREADS=$(if $(BR2_TOOLCHAIN_HAS_THREADS),yes,)
@ -38,27 +40,31 @@ endef
define LIBCAP_INSTALL_STAGING_CMDS
$(foreach d,$(LIBCAP_MAKE_DIRS), \
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/$(d) $(LIBCAP_MAKE_FLAGS) \
DESTDIR=$(STAGING_DIR) prefix=/usr lib=lib install
DESTDIR=$(STAGING_DIR) install
)
endef
define LIBCAP_INSTALL_TARGET_CMDS
$(foreach d,$(LIBCAP_MAKE_DIRS), \
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/$(d) $(LIBCAP_MAKE_FLAGS) \
DESTDIR=$(TARGET_DIR) prefix=/usr lib=lib install
DESTDIR=$(TARGET_DIR) install
)
endef
HOST_LIBCAP_MAKE_FLAGS = \
DYNAMIC=yes \
GOLANG=no \
lib=lib \
prefix=$(HOST_DIR) \
RAISE_SETFCAP=no
define HOST_LIBCAP_BUILD_CMDS
$(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D)\
DYNAMIC=yes \
RAISE_SETFCAP=no GOLANG=no
$(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
$(HOST_LIBCAP_MAKE_FLAGS)
endef
define HOST_LIBCAP_INSTALL_CMDS
$(HOST_MAKE_ENV) $(MAKE) -C $(@D) prefix=$(HOST_DIR) \
DYNAMIC=yes \
RAISE_SETFCAP=no GOLANG=no lib=lib install
$(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_LIBCAP_MAKE_FLAGS) install
endef
$(eval $(generic-package))

View File

@ -1,4 +1,3 @@
# Locally calculated
sha256 4b33f9af3f9208d54a3c3e1a8c149932513f451c98d1dd696fe42c06e30b7f03 libplist-2.1.0.tar.gz
sha256 7619c753cac95d4740220223bde48a032606fcaccde5e546f9bc444c81ab356d COPYING
sha256 7619c753cac95d4740220223bde48a032606fcaccde5e546f9bc444c81ab356d COPYING

View File

@ -0,0 +1,51 @@
From 0c2d85450e3eb77dfbe11e8612a5131c5f3f3938 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Tue, 1 Dec 2020 20:39:54 +0100
Subject: [PATCH] src/CMakeLists.txt: fix static build with a zlib and mbedtls
Static build with a zlib-enabled mbedtls fails on:
[100%] Linking C executable example
/home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: /home/buildroot/autobuild/instance-3/output-1/host/arm-buildroot-uclinux-uclibcgnueabi/sysroot/usr/lib/libmbedtls.a(ssl_tls.c.o): in function `mbedtls_ssl_transform_free.part.24':
ssl_tls.c:(.text+0xbc6): undefined reference to `deflateEnd'
As mbedtls does not provide a pkg-config file, search for zlib and link
with it if necessary
Fixes:
- http://autobuild.buildroot.org/results/5891d12e90182460cde1ddfa0ca75e9fd55e3dff
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: https://github.com/zhaojh329/libuhttpd/pull/13]
---
src/CMakeLists.txt | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 132f243..f00fc8f 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -57,6 +57,7 @@ else()
endif()
find_package(WolfSSL)
find_package(MbedTLS)
+ find_package(ZLIB)
if(UHTTPD_USE_OPENSSL)
if (NOT OPENSSL_FOUND)
@@ -97,7 +98,11 @@ else()
elseif(UHTTPD_USE_MBEDTLS)
set(SSL_NAME "MbedTLS(PolarSSL)")
set(SSL_INC ${MBEDTLS_INCLUDE_DIR})
- set(SSL_LIB ${MBEDTLS_LIBRARIES})
+ if(ZLIB_FOUND)
+ set(SSL_LIB ${MBEDTLS_LIBRARIES} ${ZLIB_LIBRARIES})
+ else()
+ set(SSL_LIB ${MBEDTLS_LIBRARIES})
+ endif()
set(UHTTPD_HAVE_MBEDTLS_CONFIG 1)
endif()
--
2.29.2

View File

@ -1,5 +1,5 @@
# From https://lists.freedesktop.org/archives/wayland-devel/2020-November/041659.html
sha256 0ea2f88f4472bbf8170c5a7112f5af8848a908ca15df9e9086c3de0189612b2b libxkbcommon-1.0.2.tar.xz
# From https://lists.freedesktop.org/archives/wayland-devel/2020-November/041660.html
sha256 a2202f851e072b84e64a395212cbd976ee18a8ee602008b0bad02a13247dbc52 libxkbcommon-1.0.3.tar.xz
# License file:
sha256 086caee279449369d41c1157911ec7696e707b93feba7280de757d3c470b2dfb LICENSE

View File

@ -4,7 +4,7 @@
#
################################################################################
LIBXKBCOMMON_VERSION = 1.0.2
LIBXKBCOMMON_VERSION = 1.0.3
LIBXKBCOMMON_SITE = http://xkbcommon.org/download
LIBXKBCOMMON_SOURCE = libxkbcommon-$(LIBXKBCOMMON_VERSION).tar.xz
LIBXKBCOMMON_LICENSE = MIT/X11

View File

@ -12,6 +12,13 @@ LYNX_LICENSE_FILES = COPYING
LYNX_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES)
ifeq ($(BR2_REPRODUCIBLE),y)
# configuration info leaks build paths
LYNX_CONF_OPTS += --disable-config-info
# disable build timestamp
LYNX_CFLAGS += -DNO_BUILDSTAMP
endif
ifeq ($(BR2_PACKAGE_NCURSES),y)
LYNX_DEPENDENCIES += ncurses
LYNX_CONF_OPTS += --with-screen=ncurses$(if $(BR2_PACKAGE_NCURSES_WCHAR),w)
@ -41,6 +48,6 @@ LYNX_DEPENDENCIES += libidn
LYNX_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs libidn`
endif
LYNX_CONF_ENV = LIBS="$(LYNX_LIBS)"
LYNX_CONF_ENV = LIBS="$(LYNX_LIBS)" CFLAGS="$(TARGET_CFLAGS) $(LYNX_CFLAGS)"
$(eval $(autotools-package))

View File

@ -1,8 +1,6 @@
# From https://downloads.mariadb.org/mariadb/10.3.23
md5 473950893d29805d9384ec0ed5d7c276 mariadb-10.3.23.tar.gz
sha1 c95b6d4cff5e6d63eed05da20561802b9c83e717 mariadb-10.3.23.tar.gz
sha256 fc405022457d8eec5991b870cc1c9a07b83b551d6165c414c4d8f31523aa86ae mariadb-10.3.23.tar.gz
sha512 535cd2ce80a95b6c0a1aa559cc3275dfcd559c3a4f958fab3382923190a16e6bc5b4ad79acaa518244512ff618568c239c0edef8a701d958362ede19a29c2986 mariadb-10.3.23.tar.gz
# From https://downloads.mariadb.org/mariadb/10.3.27
sha256 0dadc1650ab2ff40caab58210e93b106ae1e3d1a82e5b0fd92c795b8b43e4619 mariadb-10.3.27.tar.gz
sha512 1ebfdfa3ef6e13e92615ac2fb6995362ca60fe78f57ff3cf9e384517f95eaf4c701e60fe0977b1eee73889cdfe3367720da9a9bae3dd1a09a4558114ba593369 mariadb-10.3.27.tar.gz
# Hash for license files
sha256 a4665c1189fe31e0bbc27e9b55439df7dad6e99805407fe58d78da7aabe678f8 README.md

View File

@ -4,7 +4,7 @@
#
################################################################################
MARIADB_VERSION = 10.3.23
MARIADB_VERSION = 10.3.27
MARIADB_SITE = https://downloads.mariadb.org/interstitial/mariadb-$(MARIADB_VERSION)/source
MARIADB_LICENSE = GPL-2.0 (server), GPL-2.0 with FLOSS exception (GPL client library), LGPL-2.0 (LGPL client library)
# Tarball no longer contains LGPL license text

View File

@ -0,0 +1,37 @@
From 434f6c3fe7d1d2c6a3e6ae6338608a4a4421ab1b Mon Sep 17 00:00:00 2001
From: Michael Drake <michael.drake@codethink.co.uk>
Date: Fri, 13 Nov 2020 11:12:58 +0000
Subject: framebuffer: Fix internal font generated source for GCC 10.
[Retrieved (and backported) from:
https://git.netsurf-browser.org/netsurf.git/commit/?id=434f6c3fe7d1d2c6a3e6ae6338608a4a4421ab1b]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
tools/convert_font.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/netsurf/frontends/framebuffer/convert_font.c b/netsurf/frontends/framebuffer/convert_font.c
index 9f5734b71..d22c85920 100644
--- a/netsurf/frontends/framebuffer/convert_font.c
+++ b/netsurf/frontends/framebuffer/convert_font.c
@@ -290,14 +290,14 @@ static bool generate_font_header(const char *path, struct font_data *data)
for (s = 0; s < 4; s++) {
- fprintf(fp, "const uint8_t *%s_section_table;\n",
+ fprintf(fp, "extern const uint8_t *%s_section_table;\n",
var_lables[s]);
- fprintf(fp, "const uint16_t *%s_sections;\n",
+ fprintf(fp, "extern const uint16_t *%s_sections;\n",
var_lables[s]);
}
- fprintf(fp, "const uint8_t *font_glyph_data;\n");
+ fprintf(fp, "extern const uint8_t *font_glyph_data;\n");
fprintf(fp, "\n\n");
--
cgit v1.2.1

View File

@ -1,6 +1,6 @@
# From http://sourceforge.net/projects/ijbswa/files/Sources/3.0.28%20%28stable%29/
md5 c7e8900d5aff33d9a5fc37ac28154f21 privoxy-3.0.28-stable-src.tar.gz
sha1 fa8f9f355a48afe94afcaef31c5404b2294c1043 privoxy-3.0.28-stable-src.tar.gz
# From http://sourceforge.net/projects/ijbswa/files/Sources/3.0.28%20%29stable%29/
md5 493a3a643247e6c8bc60725e9993d4ee privoxy-3.0.29-stable-src.tar.gz
sha1 59873a122729b1b03e1d202d663036d2b5fa1120 privoxy-3.0.29-stable-src.tar.gz
# Locally computed
sha256 b5d78cc036aaadb3b7cf860e9d598d7332af468926a26e2d56167f1cb6f2824a privoxy-3.0.28-stable-src.tar.gz
sha256 25c6069efdaf577d47c257da63b03cd6d063fb790e19cc39603d82e5db72489d privoxy-3.0.29-stable-src.tar.gz
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE

View File

@ -4,7 +4,7 @@
#
################################################################################
PRIVOXY_VERSION = 3.0.28
PRIVOXY_VERSION = 3.0.29
PRIVOXY_SITE = http://downloads.sourceforge.net/project/ijbswa/Sources/$(PRIVOXY_VERSION)%20%28stable%29
PRIVOXY_SOURCE = privoxy-$(PRIVOXY_VERSION)-stable-src.tar.gz
# configure not shipped

View File

@ -0,0 +1,41 @@
From d7faa31a871d14ab02b290bdf2b2fa085766d2ac Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Fri, 27 Nov 2020 23:43:15 +0100
Subject: [PATCH] osasnmpd/Makefile: fix cross-compilation
Fix the following build failure by allowing the user to provide
NET_SNMP_CONFIG:
/bin/sh: net-snmp-config: command not found
/home/buildroot/autobuild/run/instance-2/output-1/host/lib/gcc/s390x-buildroot-linux-gnu/9.3.0/../../../../s390x-buildroot-linux-gnu/bin/ld: osasnmpd.o: in function `main':
osasnmpd.c:(.text.startup+0xcc): undefined reference to `snmp_log_perror'
Fixes:
- http://autobuild.buildroot.org/results/00796f2ebd5fb0e08ac7a05a9ee566f2bc4bd1c3
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: https://github.com/ibm-s390-tools/s390-tools/pull/99]
---
osasnmpd/Makefile | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/osasnmpd/Makefile b/osasnmpd/Makefile
index 15496b2..8ce0932 100644
--- a/osasnmpd/Makefile
+++ b/osasnmpd/Makefile
@@ -1,9 +1,10 @@
include ../common.mak
-LDLIBS = `net-snmp-config --agent-libs`
+NET_SNMP_CONFIG = net-snmp-config
+LDLIBS = `$(NET_SNMP_CONFIG) --agent-libs`
# On some Linux systems `net-snmp-config --agent-libs` introduces -pie,
# therefore add -fPIC to prevent link failures.
ALL_CFLAGS += -fPIC
-ALL_CFLAGS += `net-snmp-config --cflags`
+ALL_CFLAGS += `$(NET_SNMP_CONFIG) --cflags`
OBJS = ibmOSAMib.o ibmOSAMibUtil.o osasnmpd.o
--
2.29.2

View File

@ -18,9 +18,13 @@ S390_TOOLS_MAKE_OPTS = \
ifeq ($(BR2_PACKAGE_LIBCURL),y)
S390_TOOLS_DEPENDENCIES += libcurl
S390_TOOLS_MAKE_OPTS += HAVE_CURL=1
S390_TOOLS_MAKE_OPTS += \
HAVE_CURL=1 \
HAVE_LIBCURL=1
else
S390_TOOLS_MAKE_OPTS += HAVE_CURL=0
S390_TOOLS_MAKE_OPTS += \
HAVE_CURL=0 \
HAVE_LIBCURL=0
endif
ifeq ($(BR2_PACKAGE_JSON_C),y)
@ -72,9 +76,11 @@ else
S390_TOOLS_MAKE_OPTS += HAVE_FUSE=0
endif
ifeq ($(BR2_PACKAGE_PERL_NET_SNMP),y)
S390_TOOLS_DEPENDENCIES += perl-net-snmp
S390_TOOLS_MAKE_OPTS += HAVE_SNMP=1
ifeq ($(BR2_PACKAGE_NETSNMP),y)
S390_TOOLS_DEPENDENCIES += netsnmp
S390_TOOLS_MAKE_OPTS += \
NET_SNMP_CONFIG=$(STAGING_DIR)/usr/bin/net-snmp-config \
HAVE_SNMP=1
else
S390_TOOLS_MAKE_OPTS += HAVE_SNMP=0
endif

View File

@ -1,3 +1,5 @@
# From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/s/setserial/setserial_2.17-45.3.dsc
sha256 7e4487d320ac31558563424189435d396ddf77953bb23111a17a3d1487b5794a setserial_2.17.orig.tar.gz
sha256 33db87e8a86cf12b7c97efca9e056865e71358e8cfeb3931118b2647ce1eecc6 setserial_2.17-45.3.diff.gz
sha256 7e4487d320ac31558563424189435d396ddf77953bb23111a17a3d1487b5794a setserial_2.17.orig.tar.gz
sha256 33db87e8a86cf12b7c97efca9e056865e71358e8cfeb3931118b2647ce1eecc6 setserial_2.17-45.3.diff.gz
# Locally computed
sha256 1d7e810ed28daf370def626dfd4c502f2f77d2b678f1ac72e2ba675dd6f9af0d debian/copyright

View File

@ -0,0 +1,100 @@
From 87c64fc5b0db9f62f4e361444f4b60501ebf67b9 Mon Sep 17 00:00:00 2001
From: Matthieu Herrb <matthieu@herrb.eu>
Date: Sun, 11 Oct 2020 17:05:09 +0200
Subject: [PATCH] Fix XkbSetDeviceInfo() and SetDeviceIndicators() heap
overflows
ZDI-CAN 11389 / CVE-2020-25712
This vulnerability was discovered by:
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
xkb/xkb.c | 26 +++++++++++++++++++++++---
1 file changed, 23 insertions(+), 3 deletions(-)
diff --git a/xkb/xkb.c b/xkb/xkb.c
index 8e016cd74..f54cc97f8 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -6536,7 +6536,9 @@ SetDeviceIndicators(char *wire,
unsigned changed,
int num,
int *status_rtrn,
- ClientPtr client, xkbExtensionDeviceNotify * ev)
+ ClientPtr client,
+ xkbExtensionDeviceNotify * ev,
+ xkbSetDeviceInfoReq * stuff)
{
xkbDeviceLedsWireDesc *ledWire;
int i;
@@ -6557,6 +6559,11 @@ SetDeviceIndicators(char *wire,
xkbIndicatorMapWireDesc *mapWire;
XkbSrvLedInfoPtr sli;
+ if (!_XkbCheckRequestBounds(client, stuff, ledWire, ledWire + 1)) {
+ *status_rtrn = BadLength;
+ return (char *) ledWire;
+ }
+
namec = mapc = statec = 0;
sli = XkbFindSrvLedInfo(dev, ledWire->ledClass, ledWire->ledID,
XkbXI_IndicatorMapsMask);
@@ -6575,6 +6582,10 @@ SetDeviceIndicators(char *wire,
memset((char *) sli->names, 0, XkbNumIndicators * sizeof(Atom));
for (n = 0, bit = 1; n < XkbNumIndicators; n++, bit <<= 1) {
if (ledWire->namesPresent & bit) {
+ if (!_XkbCheckRequestBounds(client, stuff, atomWire, atomWire + 1)) {
+ *status_rtrn = BadLength;
+ return (char *) atomWire;
+ }
sli->names[n] = (Atom) *atomWire;
if (sli->names[n] == None)
ledWire->namesPresent &= ~bit;
@@ -6592,6 +6603,10 @@ SetDeviceIndicators(char *wire,
if (ledWire->mapsPresent) {
for (n = 0, bit = 1; n < XkbNumIndicators; n++, bit <<= 1) {
if (ledWire->mapsPresent & bit) {
+ if (!_XkbCheckRequestBounds(client, stuff, mapWire, mapWire + 1)) {
+ *status_rtrn = BadLength;
+ return (char *) mapWire;
+ }
sli->maps[n].flags = mapWire->flags;
sli->maps[n].which_groups = mapWire->whichGroups;
sli->maps[n].groups = mapWire->groups;
@@ -6671,7 +6686,7 @@ _XkbSetDeviceInfoCheck(ClientPtr client, DeviceIntPtr dev,
ed.deviceID = dev->id;
wire = (char *) &stuff[1];
if (stuff->change & XkbXI_ButtonActionsMask) {
- int nBtns, sz, i;
+ int nBtns, sz, i;
XkbAction *acts;
DeviceIntPtr kbd;
@@ -6683,7 +6698,11 @@ _XkbSetDeviceInfoCheck(ClientPtr client, DeviceIntPtr dev,
return BadAlloc;
dev->button->xkb_acts = acts;
}
+ if (stuff->firstBtn + stuff->nBtns > nBtns)
+ return BadValue;
sz = stuff->nBtns * SIZEOF(xkbActionWireDesc);
+ if (!_XkbCheckRequestBounds(client, stuff, wire, (char *) wire + sz))
+ return BadLength;
memcpy((char *) &acts[stuff->firstBtn], (char *) wire, sz);
wire += sz;
ed.reason |= XkbXI_ButtonActionsMask;
@@ -6704,7 +6723,8 @@ _XkbSetDeviceInfoCheck(ClientPtr client, DeviceIntPtr dev,
int status = Success;
wire = SetDeviceIndicators(wire, dev, stuff->change,
- stuff->nDeviceLedFBs, &status, client, &ed);
+ stuff->nDeviceLedFBs, &status, client, &ed,
+ stuff);
if (status != Success)
return status;
}
--
2.20.1

View File

@ -0,0 +1,131 @@
From 446ff2d3177087b8173fa779fa5b77a2a128988b Mon Sep 17 00:00:00 2001
From: Matthieu Herrb <matthieu@herrb.eu>
Date: Thu, 12 Nov 2020 19:15:07 +0100
Subject: [PATCH] Check SetMap request length carefully.
Avoid out of bounds memory accesses on too short request.
ZDI-CAN 11572 / CVE-2020-14360
This vulnerability was discovered by:
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
xkb/xkb.c | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 92 insertions(+)
diff --git a/xkb/xkb.c b/xkb/xkb.c
index f54cc97f8..d056c698c 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -2382,6 +2382,93 @@ SetVirtualModMap(XkbSrvInfoPtr xkbi,
return (char *) wire;
}
+#define _add_check_len(new) \
+ if (len > UINT32_MAX - (new) || len > req_len - (new)) goto bad; \
+ else len += new
+
+/**
+ * Check the length of the SetMap request
+ */
+static int
+_XkbSetMapCheckLength(xkbSetMapReq *req)
+{
+ size_t len = sz_xkbSetMapReq, req_len = req->length << 2;
+ xkbKeyTypeWireDesc *keytype;
+ xkbSymMapWireDesc *symmap;
+ BOOL preserve;
+ int i, map_count, nSyms;
+
+ if (req_len < len)
+ goto bad;
+ /* types */
+ if (req->present & XkbKeyTypesMask) {
+ keytype = (xkbKeyTypeWireDesc *)(req + 1);
+ for (i = 0; i < req->nTypes; i++) {
+ _add_check_len(XkbPaddedSize(sz_xkbKeyTypeWireDesc));
+ if (req->flags & XkbSetMapResizeTypes) {
+ _add_check_len(keytype->nMapEntries
+ * sz_xkbKTSetMapEntryWireDesc);
+ preserve = keytype->preserve;
+ map_count = keytype->nMapEntries;
+ if (preserve) {
+ _add_check_len(map_count * sz_xkbModsWireDesc);
+ }
+ keytype += 1;
+ keytype = (xkbKeyTypeWireDesc *)
+ ((xkbKTSetMapEntryWireDesc *)keytype + map_count);
+ if (preserve)
+ keytype = (xkbKeyTypeWireDesc *)
+ ((xkbModsWireDesc *)keytype + map_count);
+ }
+ }
+ }
+ /* syms */
+ if (req->present & XkbKeySymsMask) {
+ symmap = (xkbSymMapWireDesc *)((char *)req + len);
+ for (i = 0; i < req->nKeySyms; i++) {
+ _add_check_len(sz_xkbSymMapWireDesc);
+ nSyms = symmap->nSyms;
+ _add_check_len(nSyms*sizeof(CARD32));
+ symmap += 1;
+ symmap = (xkbSymMapWireDesc *)((CARD32 *)symmap + nSyms);
+ }
+ }
+ /* actions */
+ if (req->present & XkbKeyActionsMask) {
+ _add_check_len(req->totalActs * sz_xkbActionWireDesc
+ + XkbPaddedSize(req->nKeyActs));
+ }
+ /* behaviours */
+ if (req->present & XkbKeyBehaviorsMask) {
+ _add_check_len(req->totalKeyBehaviors * sz_xkbBehaviorWireDesc);
+ }
+ /* vmods */
+ if (req->present & XkbVirtualModsMask) {
+ _add_check_len(XkbPaddedSize(Ones(req->virtualMods)));
+ }
+ /* explicit */
+ if (req->present & XkbExplicitComponentsMask) {
+ /* two bytes per non-zero explicit componen */
+ _add_check_len(XkbPaddedSize(req->totalKeyExplicit * sizeof(CARD16)));
+ }
+ /* modmap */
+ if (req->present & XkbModifierMapMask) {
+ /* two bytes per non-zero modmap component */
+ _add_check_len(XkbPaddedSize(req->totalModMapKeys * sizeof(CARD16)));
+ }
+ /* vmodmap */
+ if (req->present & XkbVirtualModMapMask) {
+ _add_check_len(req->totalVModMapKeys * sz_xkbVModMapWireDesc);
+ }
+ if (len == req_len)
+ return Success;
+bad:
+ ErrorF("[xkb] BOGUS LENGTH in SetMap: expected %ld got %ld\n",
+ len, req_len);
+ return BadLength;
+}
+
+
/**
* Check if the given request can be applied to the given device but don't
* actually do anything, except swap values when client->swapped and doswap are both true.
@@ -2642,6 +2729,11 @@ ProcXkbSetMap(ClientPtr client)
CHK_KBD_DEVICE(dev, stuff->deviceSpec, client, DixManageAccess);
CHK_MASK_LEGAL(0x01, stuff->present, XkbAllMapComponentsMask);
+ /* first verify the request length carefully */
+ rc = _XkbSetMapCheckLength(stuff);
+ if (rc != Success)
+ return rc;
+
tmp = (char *) &stuff[1];
/* Check if we can to the SetMap on the requested device. If this
--
2.20.1

View File

@ -5,7 +5,7 @@
################################################################################
# Buildroot version to use
RELEASE='2020.08'
RELEASE='2020.11'
### Change here for more memory/cores ###
VM_MEMORY=2048