Skip to content

Commit

Permalink
Merge v1.22.5 into community
Browse files Browse the repository at this point in the history
  • Loading branch information
GovernikusAusweisApp2 committed Apr 14, 2022
2 parents 6270877 + 43d236b commit 5798350
Show file tree
Hide file tree
Showing 73 changed files with 15,819 additions and 853 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ if(UNIX AND NOT IOS)
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13 CACHE STRING "Required macOS version")
endif()

project(AusweisApp2 VERSION 1.22.4 LANGUAGES ${LANGUAGES})
project(AusweisApp2 VERSION 1.22.5 LANGUAGES ${LANGUAGES})

# Set TWEAK if not defined in PROJECT_VERSION above to
# have a valid tweak version without propagating it
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.officially.txt
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,7 @@ Die verwendeten Open-Source-Bibliotheken unterliegen den folgenden Nutzungsbedin

OpenSSL
Lizenz: OpenSSL license & SSLeay license
Version: 1.1.1m
Version: 1.1.1n
Adresse: https://www.openssl.org/

Qt
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ Die verwendeten Open-Source-Bibliotheken unterliegen den folgenden Nutzungsbedin

OpenSSL
Lizenz: OpenSSL license & SSLeay license
Version: 1.1.1m
Version: 1.1.1n
Adresse: https://www.openssl.org/

Qt
Expand Down
2 changes: 1 addition & 1 deletion cmake/CompilerFlags.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ if(MSVC)
ADD_FLAG(/guard:cf)
ADD_FLAG(/Qcf-protection)

if(CMAKE_CXX_COMPILER_LAUNCHER STREQUAL "sccache")
if(CMAKE_CXX_COMPILER_LAUNCHER MATCHES "ccache")
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
endif()
Expand Down
7 changes: 7 additions & 0 deletions cmake/Packaging.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,13 @@ elseif(ANDROID)
if(apksigner)
add_custom_target(verify.signature COMMAND ${apksigner} verify --verbose --print-certs -Werr ${DESTINATION_ANDROID_FILE})
endif()

find_program(aapt NAMES aapt2 aapt HINTS ${ANDROID_SDK}/build-tools/${ANDROID_BUILD_TOOLS_REVISION} CMAKE_FIND_ROOT_PATH_BOTH)
if(aapt)
set(ANDROID_DUMP ${DESTINATION_ANDROID_FILE}.dump)
add_custom_command(OUTPUT ${ANDROID_DUMP} COMMAND ${aapt} dump badging ${DESTINATION_ANDROID_FILE} > ${ANDROID_DUMP})
add_custom_target(dump.apk DEPENDS ${ANDROID_DUMP})
endif()
endif()

elseif(UNIX)
Expand Down
20 changes: 19 additions & 1 deletion cmake/Tools.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ if(CLOC_BIN)
add_custom_target(cloc.report DEPENDS ${CLOC_FILE})
endif()

add_custom_target(format)

find_program(UNCRUSTIFY uncrustify CMAKE_FIND_ROOT_PATH_BOTH)
if(UNCRUSTIFY)
execute_process(COMMAND ${UNCRUSTIFY} --version OUTPUT_VARIABLE UNCRUSTIFY_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
Expand Down Expand Up @@ -108,10 +110,26 @@ if(UNCRUSTIFY)

set(UNCRUSTIFY_CFG ${PROJECT_SOURCE_DIR}/uncrustify.cfg)
set(UNCRUSTIFY_CMD ${UNCRUSTIFY} -c ${UNCRUSTIFY_CFG} --replace --no-backup -q -F ${FORMATTING_FILE})
add_custom_target(format COMMAND ${UNCRUSTIFY_CMD} SOURCES ${UNCRUSTIFY_CFG} ${FILES})
add_custom_target(format.uncrustify COMMAND ${UNCRUSTIFY_CMD} SOURCES ${UNCRUSTIFY_CFG} ${FILES})
add_dependencies(format format.uncrustify)
endif()
endif()

find_program(PYTHON python CMAKE_FIND_ROOT_PATH_BOTH)
if(PYTHON)
list(APPEND GLOB_JSON ${RESOURCES_DIR}/updatable-files/*.json)
list(APPEND GLOB_JSON ${RESOURCES_DIR}/json-schemas/*.json)
file(GLOB_RECURSE JSON_FILES ${GLOB_JSON})

foreach(JSON_FILE ${JSON_FILES})
list(APPEND commands
COMMAND ${PYTHON} -m json.tool --no-ensure-ascii --tab ${JSON_FILE} ${JSON_FILE})
endforeach()

add_custom_target(format.json ${commands})
add_dependencies(format format.json)
endif()

find_program(QMLLINT_BIN qmllint CMAKE_FIND_ROOT_PATH_BOTH)
if(QMLLINT_BIN)
file(GLOB_RECURSE TEST_FILES_QML ${TEST_DIR}/qml/*.qml)
Expand Down
5 changes: 5 additions & 0 deletions docs/installation/README.de.rst
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,11 @@ zu optimieren, kann die Systemvariable "QT_QUICK_BACKEND" auf den Wert
Versuch die Grafikbeschleunigung zu nutzen und startet direkt mit dem
alternativen Softwarerenderer.

Bei Durchführung eines Updates der AusweisApp2 können keine systemweiten
Standardeinstellungen durch neue Kommandozeilenparameter ergänzt werden.
Werden neue Parameter benötigt, so muss die AusweisApp2 deinstalliert und mit
den neuen Kommandozeilenparametern neuinstalliert werden.

macOS
-----

Expand Down
5 changes: 5 additions & 0 deletions docs/installation/README.en.rst
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,11 @@ acceleration, the system variable "QT_QUICK_BACKEND" can be set to the value
"software". In this case, the AusweisApp2 does not attempt to use graphics
acceleration and starts directly with the alternative software renderer.

When installing an AusweisApp2 update new commandline parameters cannot be added
to the system-wide default settings. If new commandline parameters are needed
the AusweisApp2 has to be deinstalled and then reinstalled with the new
parameters.

macOS
-----

Expand Down
22 changes: 22 additions & 0 deletions docs/releasenotes/1.22.5.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
AusweisApp2 1.22.5
^^^^^^^^^^^^^^^^^^

**Releasedatum:** 14. April 2022


Anwender
""""""""
- Aktualisierung der Release Notes wurde korrigiert.

- Unter Windows 10 wird die Fenstergröße nach einer
Sprachumstellung nicht mehr geändert.

- Kleinere Fehlerbehebungen und Optimierungen.


Entwickler
""""""""""
- Unter bestimmten Umständen war es möglich, dass
das SDK kein INSERT_CARD gesendet hat.

- Aktualisierung von OpenSSL auf die Version 1.1.1n.
1 change: 1 addition & 0 deletions docs/releasenotes/appcast.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Release Notes
.. toctree::
:maxdepth: 1

1.22.5
1.22.4
1.22.3
1.22.2
Expand Down
14 changes: 7 additions & 7 deletions docs/releasenotes/support.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,15 +52,15 @@ und sollte daher mit allen marktüblichen Browsern verwendet werden können.
Im Rahmen der Qualitätssicherung werden die folgenden Browserversionen
getestet.

- Chrome 98
- Chrome 100

- Firefox 97
- Firefox 99

- Internet Explorer 11

- Safari 15.2
- Safari 15.3

- Edge 97
- Edge 98



Expand Down Expand Up @@ -118,11 +118,11 @@ Im mobilen Umfeld ist die Funktionalität jedoch abhängig von der vom
Anbieter umgesetzten Aktivierung. Daher empfehlen wir einen der
folgenden Browser zu verwenden.

- Chrome 98 (iOS/Android)
- Chrome 100 (iOS/Android)

- Firefox 97 (iOS/Android)
- Firefox 99 (iOS/Android)

- Safari 15.2 (iOS)
- Safari 15.3 (iOS)


Kartenleser
Expand Down
1 change: 1 addition & 0 deletions docs/releasenotes/versions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Versionszweig 1.22
.. toctree::
:maxdepth: 1

1.22.5
1.22.4
1.22.3
1.22.2
Expand Down
12 changes: 9 additions & 3 deletions libs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ else()
message(FATAL_ERROR "Cannot find 'make' command")
endif()

if(NOT DEFINED PROCESSOR_COUNT)
set(PROCESSOR_COUNT $ENV{PROCESSOR_COUNT})
endif()

if(NOT DEFINED PROCESSOR_COUNT)
include(ProcessorCount)
ProcessorCount(PROCESSOR_COUNT)
Expand Down Expand Up @@ -92,8 +96,8 @@ endif()
set(QT 5.15.2)
set(QT_HASH 3a530d1b243b5dec00bc54937455471aaa3e56849d2593edb8ded07228202240)

set(OPENSSL 1.1.1m)
set(OPENSSL_HASH f89199be8b23ca45fc7cb9f1d8d3ee67312318286ad030f5316aca6462db6c96)
set(OPENSSL 1.1.1n)
set(OPENSSL_HASH 40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a)

################################## Files
set(QT_FILE qt-everywhere-src-${QT}.tar.xz)
Expand Down Expand Up @@ -201,7 +205,9 @@ elseif(ANDROID)
set(OPENSSL_ENV export PATH=${toolchain_bin}/:$ENV{PATH} &&)
set(OPENSSL_ENV ${OPENSSL_ENV} export CC=clang && export CXX=clang++ &&)

set(OPENSSL_COMPILER_FLAGS ${OPENSSL_COMPILER_FLAGS} -D__ANDROID_API__=${CMAKE_SYSTEM_VERSION})
if(ANDROID_NDK_REVISION VERSION_LESS "23")
set(OPENSSL_COMPILER_FLAGS ${OPENSSL_COMPILER_FLAGS} -D__ANDROID_API__=${CMAKE_SYSTEM_VERSION})
endif()
elseif(BSD)
set(OPENSSL_ARCH BSD-x86_64)
elseif(LINUX)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
From c606b2ab1a020922545b809c69ace8498a5c4cc8 Mon Sep 17 00:00:00 2001
From: Thiago Macieira <[email protected]>
Date: Mon, 31 Jan 2022 11:00:19 -0800
Subject: QProcess/Unix: ensure we don't accidentally execute something from
CWD
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Unless "." (or the empty string) is in $PATH, we're not supposed to find
executables in the current directory. This is how the Unix shells behave
and we match their behavior. It's also the behavior Qt had prior to 5.9
(commit 28666d167aa8e602c0bea25ebc4d51b55005db13). On Windows, searching
the current directory is the norm, so we keep that behavior.

This commit does not add an explicit check for an empty return from
QStandardPaths::findExecutable(). Instead, we allow that empty string to
go all the way to execve(2), which will fail with ENOENT. We could catch
it early, before fork(2), but why add code for the error case?

See https://kde.org/info/security/advisory-20220131-1.txt

[ChangeLog][Important Behavior Changes] When passed a simple program
name with no slashes, QProcess on Unix systems will now only search the
current directory if "." is one of the entries in the PATH environment
variable. This bug fix restores the behavior QProcess had before Qt 5.9.
If launching an executable in the directory set by setWorkingDirectory()
or inherited from the parent is intended, pass a program name starting
with "./". For more information and best practices about finding an
executable, see QProcess' documentation.

Change-Id: I54f205f6b7314351b078fffd16cf7013c97ee9fb
Reviewed-by: Qt CI Bot <[email protected]>
Reviewed-by: Mårten Nordheim <[email protected]>
Reviewed-by: Thiago Macieira <[email protected]>
(cherry picked from commit 29fceed2ffb41954a63001414bd042611f2d4980)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit ab6915f0efb12cfe48d1f126f4a828212f853ce5)
---
src/corelib/io/qprocess_unix.cpp | 26 ++++++++++++++------------
1 file changed, 14 insertions(+), 12 deletions(-)

diff --git x/qtbase/src/corelib/io/qprocess_unix.cpp y/qtbase/src/corelib/io/qprocess_unix.cpp
index 50390e57f5..7beaa33f30 100644
--- x/qtbase/src/corelib/io/qprocess_unix.cpp
+++ y/qtbase/src/corelib/io/qprocess_unix.cpp
@@ -422,14 +422,15 @@ void QProcessPrivate::startProcess()
// Add the program name to the argument list.
argv[0] = nullptr;
if (!program.contains(QLatin1Char('/'))) {
+ // findExecutable() returns its argument if it's an absolute path,
+ // otherwise it searches $PATH; returns empty if not found (we handle
+ // that case much later)
const QString &exeFilePath = QStandardPaths::findExecutable(program);
- if (!exeFilePath.isEmpty()) {
- const QByteArray &tmp = QFile::encodeName(exeFilePath);
- argv[0] = ::strdup(tmp.constData());
- }
- }
- if (!argv[0])
+ const QByteArray &tmp = QFile::encodeName(exeFilePath);
+ argv[0] = ::strdup(tmp.constData());
+ } else {
argv[0] = ::strdup(encodedProgramName.constData());
+ }

// Add every argument to the list
for (int i = 0; i < arguments.count(); ++i)
@@ -983,15 +984,16 @@ bool QProcessPrivate::startDetached(qint64 *pid)
envp = _q_dupEnvironment(environment.d.constData()->vars, &envc);
}

- QByteArray tmp;
if (!program.contains(QLatin1Char('/'))) {
+ // findExecutable() returns its argument if it's an absolute path,
+ // otherwise it searches $PATH; returns empty if not found (we handle
+ // that case much later)
const QString &exeFilePath = QStandardPaths::findExecutable(program);
- if (!exeFilePath.isEmpty())
- tmp = QFile::encodeName(exeFilePath);
+ const QByteArray &tmp = QFile::encodeName(exeFilePath);
+ argv[0] = ::strdup(tmp.constData());
+ } else {
+ argv[0] = ::strdup(QFile::encodeName(program));
}
- if (tmp.isEmpty())
- tmp = QFile::encodeName(program);
- argv[0] = tmp.data();

if (envp)
qt_safe_execve(argv[0], argv, envp);
--
2.35.1

Loading

0 comments on commit 5798350

Please sign in to comment.