Add revision: v1.14.3

1.14 1.14.3
Governikus 2018-07-10 14:24:10 +02:00
parent b63df30687
commit 44f272b159
85 changed files with 1002 additions and 338 deletions

View File

@ -33,7 +33,7 @@ ELSE()
ENDIF()
PROJECT(AusweisApp2 VERSION 1.14.2 LANGUAGES ${LANGUAGES})
PROJECT(AusweisApp2 VERSION 1.14.3 LANGUAGES ${LANGUAGES})
# Set TWEAK if not defined in PROJECT_VERSION above to
# have a valid tweak version without propagating it

View File

@ -22,17 +22,13 @@ IF(DESKTOP)
ENDIF()
IF(ANDROID OR IOS OR WINDOWS_STORE OR "${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG")
FIND_PACKAGE(Qt5Bluetooth ${MIN_QT_VERSION} REQUIRED)
FIND_PACKAGE(Qt5Nfc ${MIN_QT_VERSION} REQUIRED)
FIND_PACKAGE(Qt5Qml ${MIN_QT_VERSION} REQUIRED)
FIND_PACKAGE(Qt5Quick ${MIN_QT_VERSION} REQUIRED)
FIND_PACKAGE(Qt5QuickControls2 ${MIN_QT_VERSION} REQUIRED)
ENDIF()
IF(LINUX OR ANDROID OR IOS)
FIND_PACKAGE(Qt5Bluetooth ${MIN_QT_VERSION} REQUIRED)
ENDIF()
IF(ANDROID)
FIND_PACKAGE(Qt5AndroidExtras ${MIN_QT_VERSION} REQUIRED)
ENDIF()

View File

@ -45,7 +45,7 @@ IF(COVERAGE)
SET(GCOVR_FILE "${PROJECT_BINARY_DIR}/gcovr.xml")
SET(GCOVR_CMD ${GCOVR_BIN} -x -o ${GCOVR_FILE} --exclude="src/external" --exclude="test" -r ${PROJECT_SOURCE_DIR} ${PROJECT_BINARY_DIR})
ADD_CUSTOM_COMMAND(OUTPUT ${GCOVR_FILE} COMMAND ${GCOVR_CMD})
ADD_CUSTOM_COMMAND(OUTPUT ${GCOVR_FILE} COMMAND ${GCOVR_CMD} WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
ADD_CUSTOM_TARGET(gcovr DEPENDS ${GCOVR_FILE})
ENDIF()
@ -140,7 +140,7 @@ IF(UNCRUSTIFY)
EXECUTE_PROCESS(COMMAND ${UNCRUSTIFY} --version OUTPUT_VARIABLE UNCRUSTIFY_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
STRING(REPLACE "uncrustify " "" UNCRUSTIFY_VERSION ${UNCRUSTIFY_VERSION})
SET(UNCRUSTIFY_NEEDED_VERSION "0.65")
SET(UNCRUSTIFY_NEEDED_VERSION "0.67")
IF("${UNCRUSTIFY_VERSION}" STRLESS "${UNCRUSTIFY_NEEDED_VERSION}")
MESSAGE(WARNING "Uncrustify seems to be too old. Use at least ${UNCRUSTIFY_NEEDED_VERSION}... you are using: ${UNCRUSTIFY_VERSION}")
ELSE()
@ -210,31 +210,39 @@ IF(CONVERT)
WORKING_DIRECTORY ${RESOURCES_DIR}/images)
ADD_CUSTOM_TARGET(npaicons.ios.beta
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 29x29 npa_beta.svg iOS/appIcons/beta/iconSmall.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 58x58 npa_beta.svg iOS/appIcons/beta/iconSmall@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 87x87 npa_beta.svg iOS/appIcons/beta/iconSmall@3x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 40x40 npa_beta.svg iOS/appIcons/beta/iconSmall40.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 80x80 npa_beta.svg iOS/appIcons/beta/iconSmall40@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 120x120 npa_beta.svg iOS/appIcons/beta/iconSmall40@3x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 120x120 npa_beta.svg iOS/appIcons/beta/icon60@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 180x180 npa_beta.svg iOS/appIcons/beta/icon60@3x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 76x76 npa_beta.svg iOS/appIcons/beta/icon76.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 152x152 npa_beta.svg iOS/appIcons/beta/icon76@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 167x167 npa_beta.svg iOS/appIcons/beta/icon83.5@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 20x20 npa_beta.svg iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon20.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 40x40 npa_beta.svg iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon20@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 60x60 npa_beta.svg iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon20@3x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 29x29 npa_beta.svg iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/iconSmall.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 58x58 npa_beta.svg iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/iconSmall@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 87x87 npa_beta.svg iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/iconSmall@3x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 40x40 npa_beta.svg iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/iconSmall40.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 80x80 npa_beta.svg iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/iconSmall40@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 120x120 npa_beta.svg iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/iconSmall40@3x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 120x120 npa_beta.svg iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon60@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 180x180 npa_beta.svg iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon60@3x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 76x76 npa_beta.svg iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon76.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 152x152 npa_beta.svg iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon76@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 167x167 npa_beta.svg iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon83.5@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 1024x1024 npa_beta.svg iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon1024.png
WORKING_DIRECTORY ${RESOURCES_DIR}/images)
ADD_CUSTOM_TARGET(npaicons.ios
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 29x29 npa.svg iOS/appIcons/iconSmall.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 58x58 npa.svg iOS/appIcons/iconSmall@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 87x87 npa.svg iOS/appIcons/iconSmall@3x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 40x40 npa.svg iOS/appIcons/iconSmall40.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 80x80 npa.svg iOS/appIcons/iconSmall40@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 120x120 npa.svg iOS/appIcons/iconSmall40@3x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 120x120 npa.svg iOS/appIcons/icon60@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 180x180 npa.svg iOS/appIcons/icon60@3x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 76x76 npa.svg iOS/appIcons/icon76.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 152x152 npa.svg iOS/appIcons/icon76@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 167x167 npa.svg iOS/appIcons/icon83.5@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 20x20 npa.svg iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon20.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 40x40 npa.svg iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon20@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 60x60 npa.svg iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon20@3x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 29x29 npa.svg iOS/appIcons/Images.xcassets/AppIcon.appiconset/iconSmall.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 58x58 npa.svg iOS/appIcons/Images.xcassets/AppIcon.appiconset/iconSmall@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 87x87 npa.svg iOS/appIcons/Images.xcassets/AppIcon.appiconset/iconSmall@3x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 40x40 npa.svg iOS/appIcons/Images.xcassets/AppIcon.appiconset/iconSmall40.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 80x80 npa.svg iOS/appIcons/Images.xcassets/AppIcon.appiconset/iconSmall40@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 120x120 npa.svg iOS/appIcons/Images.xcassets/AppIcon.appiconset/iconSmall40@3x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 120x120 npa.svg iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon60@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 180x180 npa.svg iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon60@3x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 76x76 npa.svg iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon76.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 152x152 npa.svg iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon76@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 167x167 npa.svg iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon83.5@2x.png
COMMAND ${CONVERT_CMD} -background '${BACKGROUND_COLOR}' -resize 1024x1024 npa.svg iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon1024.png
WORKING_DIRECTORY ${RESOURCES_DIR}/images)
SET(BACKGROUND_COLOR "rgb\(220,235,246\)")
@ -265,31 +273,35 @@ FIND_PROGRAM(PNGQUANT pngquant CMAKE_FIND_ROOT_PATH_BOTH)
IF(PNGQUANT)
SET(PNGQUANT_CMD pngquant -f -o)
ADD_CUSTOM_TARGET(pngquant.ios.beta
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/iconSmall.png -- iOS/appIcons/beta/iconSmall.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/iconSmall@2x.png -- iOS/appIcons/beta/iconSmall@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/iconSmall@3x.png -- iOS/appIcons/beta/iconSmall@3x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/iconSmall40.png -- iOS/appIcons/beta/iconSmall40.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/iconSmall40@2x.png -- iOS/appIcons/beta/iconSmall40@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/iconSmall40@3x.png -- iOS/appIcons/beta/iconSmall40@3x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/icon60@2x.png -- iOS/appIcons/beta/icon60@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/icon60@3x.png -- iOS/appIcons/beta/icon60@3x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/icon76.png -- iOS/appIcons/beta/icon76.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/icon76@2x.png -- iOS/appIcons/beta/icon76@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/icon83.5@2x.png -- iOS/appIcons/beta/icon83.5@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon20.png -- iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon20.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon20@2x.png -- iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon20@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon20@3x.png -- iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon20@3x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/iconSmall.png -- iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/iconSmall.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/iconSmall@2x.png -- iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/iconSmall@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/iconSmall@3x.png -- iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/iconSmall@3x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/iconSmall40.png -- iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/iconSmall40.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/iconSmall40@2x.png -- iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/iconSmall40@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/iconSmall40@3x.png -- iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/iconSmall40@3x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon60@2x.png -- iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon60@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon60@3x.png -- iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon60@3x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon76.png -- iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon76.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon76@2x.png -- iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon76@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon83.5@2x.png -- iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon83.5@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon1024.png -- iOS/appIcons/beta/Images.xcassets/AppIcon.appiconset/icon1024.png
WORKING_DIRECTORY ${RESOURCES_DIR}/images)
ADD_CUSTOM_TARGET(pngquant.ios
COMMAND ${PNGQUANT_CMD} iOS/appIcons/iconSmall.png -- iOS/appIcons/iconSmall.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/iconSmall@2x.png -- iOS/appIcons/iconSmall@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/iconSmall@3x.png -- iOS/appIcons/iconSmall@3x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/iconSmall40.png -- iOS/appIcons/iconSmall40.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/iconSmall40@2x.png -- iOS/appIcons/iconSmall40@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/iconSmall40@3x.png -- iOS/appIcons/iconSmall40@3x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/icon60@2x.png -- iOS/appIcons/icon60@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/icon60@3x.png -- iOS/appIcons/icon60@3x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/icon76.png -- iOS/appIcons/icon76.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/icon76@2x.png -- iOS/appIcons/icon76@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/icon83.5@2x.png -- iOS/appIcons/icon83.5@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/Images.xcassets/AppIcon.appiconset/iconSmall.png -- iOS/appIcons/Images.xcassets/AppIcon.appiconset/iconSmall.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/Images.xcassets/AppIcon.appiconset/iconSmall@2x.png -- iOS/appIcons/Images.xcassets/AppIcon.appiconset/iconSmall@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/Images.xcassets/AppIcon.appiconset/iconSmall@3x.png -- iOS/appIcons/Images.xcassets/AppIcon.appiconset/iconSmall@3x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/Images.xcassets/AppIcon.appiconset/iconSmall40.png -- iOS/appIcons/Images.xcassets/AppIcon.appiconset/iconSmall40.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/Images.xcassets/AppIcon.appiconset/iconSmall40@2x.png -- iOS/appIcons/Images.xcassets/AppIcon.appiconset/iconSmall40@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/Images.xcassets/AppIcon.appiconset/iconSmall40@3x.png -- iOS/appIcons/Images.xcassets/AppIcon.appiconset/iconSmall40@3x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon60@2x.png -- iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon60@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon60@3x.png -- iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon60@3x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon76.png -- iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon76.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon76@2x.png -- iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon76@2x.png
COMMAND ${PNGQUANT_CMD} iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon83.5@2x.png -- iOS/appIcons/Images.xcassets/AppIcon.appiconset/icon83.5@2x.png
COMMAND ${PNGQUANT_CMD} iOS/launchImages/Default-568h@2x.png -- iOS/launchImages/Default-568h@2x.png
WORKING_DIRECTORY ${RESOURCES_DIR}/images)

View File

@ -0,0 +1,17 @@
AusweisApp2 1.14.3
^^^^^^^^^^^^^^^^^^
**Releasedatum:** 10. Juli 2018
Anwender
""""""""
- Hinweis zur Datenschutzerklärung hinzugefügt.
Entwickler
""""""""""
- Das Vor-Ort-Auslesen von Ausweisdaten unter Anwesenden (gem. §18a PAuswG)
funktioniert jetzt, wenn ein Smartphone als Kartenlesegerät genutzt wird
und der Tastaturmodus "PIN-Eingabe auf diesem Gerät" aktiviert ist.

View File

@ -4,6 +4,7 @@ Release Notes
.. toctree::
:maxdepth: 1
1.14.3
1.14.2
1.14.1
1.14.0

View File

@ -24,7 +24,3 @@ Die nachfolgende Liste bezieht sich auf die aktuelle Version der AusweisApp2.
- Unter Umständen kommt es zu Stabilitätsproblemen der NFC-Schnittstelle
auf Android.
- Das Vor-Ort-Auslesen von Ausweisdaten unter Anwesenden (gem. §18a PAuswG)
funktioniert nicht, wenn ein Smartphone als Kartenlesegerät genutzt wird
und der Tastaturmodus "PIN-Eingabe auf diesem Gerät" aktiviert ist.

View File

@ -48,9 +48,9 @@ und sollte daher mit allen marktüblichen Browsern verwendet werden können.
Im Rahmen der Qualitätssicherung werden die folgenden Browserversionen
getestet.
- Firefox 60
- Firefox 61
- Chrome 66
- Chrome 67
- Internet Explorer 11
@ -112,11 +112,11 @@ Im mobilen Umfeld ist die Funktionalität jedoch abhängig von der vom
Diensteanbieter umgesetzten Aktivierung. Daher empfehlen wir einen der
folgenden Browser zu verwenden.
- Firefox Klar 5.0
- Firefox Klar 5.2
- Chrome 66
- Chrome 67
- Android System WebView 60
- Android System WebView 67

View File

@ -6,6 +6,7 @@ Versionszweig 1.14
.. toctree::
:maxdepth: 1
1.14.3
1.14.2
1.14.1
1.14.0

View File

@ -207,6 +207,7 @@ ExternalProject_Add(openssl
${PATCH_CMD} -p1 ${PATCH_OPTIONS} ${PATCHES_DIR}/openssl-fix-no-engine-build.patch &&
${PATCH_CMD} -p1 ${PATCH_OPTIONS} ${PATCHES_DIR}/openssl-Revert-Configure-use-a-better-method-to-identify-gcc.patch &&
${PATCH_CMD} -p1 ${PATCH_OPTIONS} ${PATCHES_DIR}/openssl-RSA-key-generation-ensure-BN_mod_inverse-and-BN_mod_.patch &&
${PATCH_CMD} -p1 ${PATCH_OPTIONS} ${PATCHES_DIR}/openssl-Reject-excessively-large-primes-in-DH-key-generation.patch &&
${PATCH_CMD} -p1 ${PATCH_OPTIONS} ${PATCHES_DIR}/openssl_rsa_psk.patch
CONFIGURE_COMMAND ${OPENSSL_ENV} ${PERL_EXECUTABLE} Configure --prefix=${DESTINATION_DIR} ${OPENSSL_CONFIGURE_FLAGS} "${COMPILER_FLAGS}" "${OPENSSL_COMPILER_FLAGS}"
@ -249,7 +250,7 @@ ELSE()
ENDIF()
SET(QT_CONFIGURE_FLAGS ${QT_CONFIGURE_FLAGS} -prefix ${DESTINATION_DIR} -opensource -confirm-license -qt-zlib -no-mtdev -qt-libpng -qt-libjpeg -no-harfbuzz -qt-pcre -system-proxies -no-compile-examples -nomake examples -nomake tests -no-sql-sqlite -openssl-linked -I ${DESTINATION_DIR}/include -L ${DESTINATION_DIR}/lib)
SET(QT_CONFIGURE_FLAGS ${QT_CONFIGURE_FLAGS} -prefix ${DESTINATION_DIR} -opensource -confirm-license -c++std c++11 -qt-zlib -no-mtdev -qt-libpng -qt-libjpeg -no-harfbuzz -qt-pcre -system-proxies -no-compile-examples -nomake examples -nomake tests -no-sql-sqlite -openssl-linked -I ${DESTINATION_DIR}/include -L ${DESTINATION_DIR}/lib)
LIST(APPEND NO_FEATURES bearermanagement ftp paint_debug)
LIST(APPEND NO_FEATURES imageformat_bmp imageformat_ppm imageformat_xbm)

View File

@ -0,0 +1,42 @@
From 3984ef0b72831da8b3ece4745cac4f8575b19098 Mon Sep 17 00:00:00 2001
From: Guido Vranken <guidovranken@gmail.com>
Date: Mon, 11 Jun 2018 19:38:54 +0200
Subject: [PATCH] Reject excessively large primes in DH key generation.
CVE-2018-0732
Signed-off-by: Guido Vranken <guidovranken@gmail.com>
(cherry picked from commit 91f7361f47b082ae61ffe1a7b17bb2adf213c7fe)
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6457)
---
crypto/dh/dh_key.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git x/crypto/dh/dh_key.c y/crypto/dh/dh_key.c
index 387558f146..f235e0d682 100644
--- x/crypto/dh/dh_key.c
+++ y/crypto/dh/dh_key.c
@@ -130,10 +130,15 @@ static int generate_key(DH *dh)
int ok = 0;
int generate_new_key = 0;
unsigned l;
- BN_CTX *ctx;
+ BN_CTX *ctx = NULL;
BN_MONT_CTX *mont = NULL;
BIGNUM *pub_key = NULL, *priv_key = NULL;
+ if (BN_num_bits(dh->p) > OPENSSL_DH_MAX_MODULUS_BITS) {
+ DHerr(DH_F_GENERATE_KEY, DH_R_MODULUS_TOO_LARGE);
+ return 0;
+ }
+
ctx = BN_CTX_new();
if (ctx == NULL)
goto err;
--
2.18.0

View File

@ -58,12 +58,10 @@
<file>updatable-files/reader/img_HID_Global_OMNIKEY_5321_V2_mit_ausweis.png</file>
<file>updatable-files/reader/img_HID_Omnikey_5421.png</file>
<file>updatable-files/reader/img_HID_Omnikey_5421_mit_ausweis.png</file>
<file>updatable-files/reader/img_HID_Omnikey_Mobile_Reader_502X_CL.png</file>
<file>updatable-files/reader/img_HID_Omnikey_Mobile_Reader_502X_CL_mit_ausweis.png</file>
<file>updatable-files/reader/img_HID_Omnikey_Mobile_Reader_4121_CL.png</file>
<file>updatable-files/reader/img_HID_Omnikey_Mobile_Reader_4121_CL_mit_ausweis.png</file>
<file>updatable-files/reader/img_HID_Omnikey_Mobile_Reader_5021_CL.png</file>
<file>updatable-files/reader/img_HID_Omnikey_Mobile_Reader_5021_CL_mit_ausweis.png</file>
<file>updatable-files/reader/img_HID_Omnikey_Mobile_Reader_5022_CL.png</file>
<file>updatable-files/reader/img_HID_Omnikey_Mobile_Reader_5022_CL_mit_ausweis.png</file>
<file>updatable-files/reader/img_Identive_Cloud_3700_F.png</file>
<file>updatable-files/reader/img_Identive_Cloud_3700_F_mit_ausweis.png</file>
<file>updatable-files/reader/img_Identive_Cloud_4700_F.png</file>

View File

@ -0,0 +1,116 @@
{
"images" : [
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "icon20@2x.png",
"scale" : "2x"
},
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "icon20@3x.png",
"scale" : "3x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "iconSmall@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "iconSmall@3x.png",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "iconSmall40@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "iconSmall40@3x.png",
"scale" : "3x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "icon60@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "icon60@3x.png",
"scale" : "3x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "icon20.png",
"scale" : "1x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "icon20@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "iconSmall.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "iconSmall@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "iconSmall40.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "iconSmall40@2x.png",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "icon76.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "icon76@2x.png",
"scale" : "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "icon83.5@2x.png",
"scale" : "2x"
},
{
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "icon1024.png",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}

View File

@ -0,0 +1,116 @@
{
"images" : [
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "icon20@2x.png",
"scale" : "2x"
},
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "icon20@3x.png",
"scale" : "3x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "iconSmall@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "iconSmall@3x.png",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "iconSmall40@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "iconSmall40@3x.png",
"scale" : "3x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "icon60@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "icon60@3x.png",
"scale" : "3x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "icon20.png",
"scale" : "1x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "icon20@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "iconSmall.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "iconSmall@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "iconSmall40.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "iconSmall40@2x.png",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "icon76.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "icon76@2x.png",
"scale" : "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "icon83.5@2x.png",
"scale" : "2x"
},
{
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "icon1024.png",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}

View File

@ -1,7 +1,7 @@
FROM scratch
MAINTAINER Governikus KG <ausweisapp2@governikus.com>
ARG version="3.7.0"
ARG version="3.8.0"
ARG arch="x86_64"
ADD alpine-minirootfs-$version-$arch.tar.gz /

View File

@ -7,8 +7,8 @@ RUN echo "[multilib]" >> /etc/pacman.conf && echo 'Include = /etc/pacman.d/mirro
RUN chown -R governikus: /var/cache/pacman/pkg/
ARG JENKINS_SWARM_VERSION=3.8
ARG TINI_VERSION=0.16.1
ARG JENKINS_SWARM_VERSION=3.13
ARG TINI_VERSION=0.18.0
RUN curl -L -o /sbin/tini https://github.com/krallin/tini/releases/download/v$TINI_VERSION/tini-static-muslc-amd64 && chmod 755 /sbin/tini && \
curl -L -o /swarm-client.jar https://repo.jenkins-ci.org/releases/org/jenkins-ci/plugins/swarm-client/$JENKINS_SWARM_VERSION/swarm-client-$JENKINS_SWARM_VERSION.jar
ADD ../swarm/swarm.sh /

View File

@ -3,16 +3,7 @@ MAINTAINER Governikus KG <ausweisapp2@governikus.com>
ENV NAME=Docs LABELS=Docs
# Clean up if texlive package is fixed in Alpine
RUN sed -i -e 's/v3.7/edge/' /etc/apk/repositories && \
echo '@testing http://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories && \
apk --no-cache add cmake make py2-sphinx py2-setuptools py2-pip py2-hglib icu-libs poppler zziplib texlive-full@testing && \
wget http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2016/texlive-20160523b-texmf.tar.xz && \
cmake -E tar xf texlive-20160523b-texmf.tar.xz && \
cp -r /texlive-20160523-texmf/texmf-dist /usr/share && \
rm -rf texlive* && \
apk --no-cache fix texlive && \
ln -s /usr/bin/mktexlsr /usr/bin/mktexlsr.pl && \
RUN apk --no-cache add cmake make py2-sphinx py2-setuptools py2-pip py2-hglib icu-libs poppler zziplib texlive-full && \
pip install doc8 cloud_sptheme
USER governikus

View File

@ -1,4 +1,4 @@
#!/bin/sh
#!/usr/bin/env bash
set -e
################### Alpine

View File

@ -1,7 +1,7 @@
FROM alpine:latest
MAINTAINER Governikus KG <ausweisapp2@governikus.com>
ARG JENKINS_SWARM_VERSION=3.8
ARG JENKINS_SWARM_VERSION=3.13
ENV EXECUTOR=3 LABELS= NAME= PASSWORD=
RUN adduser governikus -s /bin/sh -D

View File

@ -144,7 +144,7 @@
</service>
</application>
<uses-sdk android:minSdkVersion="18" android:targetSdkVersion="23"/>
<uses-sdk android:minSdkVersion="18" android:targetSdkVersion="26"/>
<supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
<!-- Normal Permissions -->

View File

@ -12,6 +12,8 @@
<dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconName</key>
<string>AppIcon</string>
<key>CFBundleIconFiles</key>
<array>
<string>iconSmall</string>
@ -24,6 +26,8 @@
<dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconName</key>
<string>AppIcon</string>
<key>CFBundleIconFiles</key>
<array>
<string>iconSmall</string>

View File

@ -94,6 +94,7 @@ Item {
MouseArea {
id: mouseArea
anchors.fill: parent
preventStealing: true
hoverEnabled: true
onClicked: parent.clicked()
}

View File

@ -41,6 +41,7 @@ Rectangle {
MouseArea{
id: mouseArea
anchors.fill: parent
preventStealing: true
hoverEnabled: true
onClicked: parent.clicked()
}

View File

@ -48,9 +48,13 @@ Item {
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Use the button 'See my personal data' to display the data stored on your ID card."
+ " An Internet connection is required to display the data."
+ " Your personal data is neither saved nor processed in any way.")
+ " An Internet connection is required to display the data.")
+ "<br><br><b>"
+ qsTr("Your personal data is neither saved nor processed in any way. Please see our %1 for details on how your personal data is processed.")
.arg('<a href="' + qsTr("https://www.ausweisapp.bund.de/datenschutz/") + '">' + qsTr("data privacy statement") + '</a>')
+ "</b>"
+ settingsModel.translationTrigger
onLinkActivated: Qt.openUrlExternally(link)
}
}
}

View File

@ -1164,11 +1164,26 @@
</message>
<message>
<location filename="../qml/Governikus/IdentifyView/IdentifyViewInfo.qml" line="50"/>
<source>Use the button &apos;See my personal data&apos; to display the data stored on your ID card. An Internet connection is required to display the data. Your personal data is neither saved nor processed in any way.</source>
<translation>Über die Schaltfläche &quot;Meine Daten einsehen&quot; können Sie sich die im Chip Ihres Ausweisdokuments gespeicherten Daten anzeigen lassen. Um die Daten anzeigen zu können, benötigt diese Anwendung eine Internetverbindung. Es erfolgt keine Speicherung oder Weiterverarbeitung Ihrer persönlichen Daten.</translation>
<source>Use the button &apos;See my personal data&apos; to display the data stored on your ID card. An Internet connection is required to display the data.</source>
<translation>Über die Schaltfläche &apos;Meine Daten einsehen&apos; können Sie sich die im Chip Ihres Ausweisdokuments gespeicherten Daten anzeigen lassen. Um die Daten anzeigen zu können, benötigt diese Anwendung eine Internetverbindung.</translation>
</message>
<message>
<location filename="../qml/Governikus/IdentifyView/IdentifyViewInfo.qml" line="64"/>
<location filename="../qml/Governikus/IdentifyView/IdentifyViewInfo.qml" line="53"/>
<source>Your personal data is neither saved nor processed in any way. Please see our %1 for details on how your personal data is processed.</source>
<translation>Es erfolgt keine Speicherung oder Weiterverarbeitung Ihrer persönlichen Daten. Näheres dazu erfahren Sie in unserer %1.</translation>
</message>
<message>
<location filename="../qml/Governikus/IdentifyView/IdentifyViewInfo.qml" line="54"/>
<source>https://www.ausweisapp.bund.de/datenschutz/</source>
<translation>https://www.ausweisapp.bund.de/datenschutz/</translation>
</message>
<message>
<location filename="../qml/Governikus/IdentifyView/IdentifyViewInfo.qml" line="54"/>
<source>data privacy statement</source>
<translation>Datenschutzerklärung</translation>
</message>
<message>
<location filename="../qml/Governikus/IdentifyView/IdentifyViewInfo.qml" line="68"/>
<source>See my personal data</source>
<translation>Meine Daten einsehen</translation>
</message>
@ -1365,10 +1380,6 @@
<source>https://www.ausweisapp.bund.de/en/download/windows-and-mac/</source>
<translation>https://www.ausweisapp.bund.de/download/windows-und-mac/</translation>
</message>
<message>
<source>https://www.ausweisapp.bund.de/en/download/</source>
<translation type="vanished">https://www.ausweisapp.bund.de/download/</translation>
</message>
<message>
<location filename="../qml/Governikus/MoreView/MoreView.qml" line="83"/>
<source>Configure remote service</source>
@ -2411,11 +2422,6 @@ Bitte beachten Sie, dass Sie mit Ihrer PUK lediglich Ihren Online-Ausweis entspe
<source>See my personal data now...</source>
<translation>Meine Daten jetzt einsehen...</translation>
</message>
<message>
<location filename="../../src/widget/SelfInformationWidget.ui"/>
<source>Use the button &apos;See my personal data now...&apos; to display the data stored on your ID card. An Internet connection is required to display the data. Your personal data is neither saved nor processed in any way.</source>
<translation>Über die Schaltfläche &quot;Meine Daten jetzt einsehen...&quot; können Sie sich die im Chip Ihres Ausweisdokuments gespeicherten Daten anzeigen lassen. Um die Daten anzeigen zu können, benötigt diese Anwendung eine Internetverbindung. Es erfolgt keine Speicherung oder Weiterverarbeitung Ihrer persönlichen Daten.</translation>
</message>
<message>
<location filename="../../src/widget/SelfInformationWidget.ui"/>
<source>eID Logo</source>
@ -4349,7 +4355,27 @@ Bitte beachten Sie, dass Sie mit Ihrer PUK lediglich Ihren Online-Ausweis entspe
<context>
<name>governikus::SelfInformationWidget</name>
<message>
<location filename="../../src/widget/SelfInformationWidget.cpp" line="52"/>
<location filename="../../src/widget/SelfInformationWidget.cpp" line="49"/>
<source>Use the button &apos;See my personal data now...&apos; to display the data stored on your ID card. An Internet connection is required to display the data.</source>
<translation>Über die Schaltfläche &apos;Meine Daten einsehen...&apos; können Sie sich die im Chip Ihres Ausweisdokuments gespeicherten Daten anzeigen lassen. Um die Daten anzeigen zu können, benötigt diese Anwendung eine Internetverbindung.</translation>
</message>
<message>
<location filename="../../src/widget/SelfInformationWidget.cpp" line="50"/>
<source>https://www.ausweisapp.bund.de/datenschutz/</source>
<translation>https://www.ausweisapp.bund.de/datenschutz/</translation>
</message>
<message>
<location filename="../../src/widget/SelfInformationWidget.cpp" line="50"/>
<source>data privacy statement</source>
<translation>Datenschutzerklärung</translation>
</message>
<message>
<location filename="../../src/widget/SelfInformationWidget.cpp" line="51"/>
<source>Your personal data is neither saved nor processed in any way. Please see our %1 for details on how your personal data is processed.</source>
<translation>Es erfolgt keine Speicherung oder Weiterverarbeitung Ihrer persönlichen Daten. Näheres dazu erfahren Sie in unserer %1.</translation>
</message>
<message>
<location filename="../../src/widget/SelfInformationWidget.cpp" line="57"/>
<source>Test environment</source>
<translation>Testumgebung</translation>
</message>
@ -4905,7 +4931,7 @@ Bitte beachten Sie, dass Sie mit Ihrer PUK lediglich Ihren Online-Ausweis entspe
</message>
<message>
<location filename="../../src/activation/webservice/WebserviceActivationContext.cpp" line="130"/>
<source>The connection to the bowser was lost. No forwarding was executed. Please try to call the URL again manually: &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;</source>
<source>The connection to the browser was lost. No forwarding was executed. Please try to call the URL again manually: &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;</source>
<translation>Die Verbindung zum Browser ging verloren. Es konnte keine Weiterleitung durchgeführt werden. Bitte versuchen Sie die URL manuell aufzurufen: &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;</translation>
</message>
</context>

View File

@ -5,8 +5,8 @@ set -eu
readonly CLONE_DIR="${CLONE_DIR:-$(pwd)}"
MINIROOTFS_VERSION="3.7.0"
MINIROOTFS_SHA="17e8275545aca7a6eaf4e43759a091d33bd9eb9cf11805118773dc940c8b94ac"
MINIROOTFS_VERSION="3.8.0"
MINIROOTFS_SHA="ae36d6ea2033131cfc649afa13d7271367c386e7a0dbd5b3d0671a2ede22a2f1"
MINIROOTFS="alpine-minirootfs-${MINIROOTFS_VERSION}-x86_64.tar.gz"
MINIROOTFS_URI="http://dl-cdn.alpinelinux.org/alpine/v${MINIROOTFS_VERSION%.*}/releases/x86_64/$MINIROOTFS"

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

View File

@ -1,5 +1,5 @@
{
"issueDate": "2017-12-14T12:00:00+1:00",
"issueDate": "2018-07-05T12:00:00+1:00",
"callcosts" : [
{
"prefixes" : ["1371", "1375"],
@ -395,8 +395,8 @@
{
"shortName": {"" : "Bürgerportal Rheinland Pfalz"},
"longDescription": {"": "Über 80% der Meldebehörden und über 90% der Standesämter in Rheinland-Pfalz bieten Ihnen über das Portal www.rlpdirekt.de Verwaltungsleistungen mit der Online-Ausweisfunktion an, für die Sie nicht mehr zur Behörde gehen müssen, z. B.:<br/>- Kfz abmelden<br/>- Führungszeugnis beantragen,<br/>- Meldebescheinigung beantragen,<br/>- Aufenthaltsbescheinigung beantragen,<br/>- Übermittlungssperre einrichten,<br/>- Auskunft aus dem Gewerbezentralregister beantragen,<br/>- Beurkundung im Personenstandswesen beantragen.<br/>Welche Dienste in Ihrer Kommune mit der Online-Ausweisfunktion genutzt werden können, erfahren Sie, wenn Sie auf dem Portal unter \"Stadt/Ort\" Ihren Wohnort eingeben."},
"address": "https://www.rlpdirekt.de/rheinland-pfalz",
"homepage": "https://www.rlpdirekt.de/rheinland-pfalz/",
"address": "https://www.rlpdirekt.de/",
"homepage": "https://www.rlpdirekt.de/",
"phone": "+49 6131 / 6277-0",
"email": "support@kommwis.de",
"postalAddress": "KommWis GmbH<br/>Gesellschaft für Kommunikation und Wissenstransfer mbH<br/>Hindenburgplatz 3<br/>55118 Mainz",
@ -666,19 +666,6 @@
"tcTokenUrlInfo" : "Registration required",
"subjectUrls": []
},
{
"exclude": ["ios"],
"shortName": {"" : "ID-Safe des Landkreis Kitzingen"},
"longDescription": {"": "Die Stadt Kitzingen bietet bei verschiedenen Bürgerdiensten die Nutzung der Online-Ausweisfunktion in Verbindung mit elektronischen Antragsformularen an:<br/>- Gewerbeanmeldung<br/>- Gewerbeummeldung<br/>- Gewerbeabmeldung<br/>- Fischereischein<br/>- Verkehrsrechtliche Anordnung<br/>- Sondernutzung<br/>- Parkerleichterung<br/>- Mängelmeldung"},
"address": "https://www.buergerservice.org/ID-Safe-Kitzingen",
"homepage": "https://www.kitzingen.de/",
"phone": "+49 9321 / 928-0,",
"email": "info@kitzingen.de",
"postalAddress": "Landratsamt Kitzingen<br/>Herr Thomas Langhojer<br/>Kaiserstraße 4<br/>97318 Kitzingen",
"category": "citizen",
"tcTokenUrlInfo" : "Registration required",
"subjectUrls": ["https://www.buergerservice.org"]
},
{
"exclude": ["ios"],
"shortName": {"" : "ID-Safe des Landkreis Ostallgäu"},
@ -692,18 +679,6 @@
"tcTokenUrlInfo" : "Registration required",
"subjectUrls": ["https://www.sixform.com"]
},
{
"exclude": ["ios"],
"shortName": {"" : "ID-Safe des Landkreis Würzburg"},
"address": "https://www.buergerservice.org/ID-Safe-Wuerzburg",
"homepage": "https://www.landkreis-wuerzburg.de/startseite.phtml",
"phone": "+49 931 8003-0 ",
"email": "poststelle@lra-wue.bayern.de",
"postalAddress": "Landratsamt Würzburg<br/>Zeppelinstraße 15<br/>97074 Würzburg",
"category": "citizen",
"tcTokenUrlInfo" : "Registration required",
"subjectUrls": ["https://www.buergerservice.org"]
},
{
"exclude": ["ios"],
"shortName": {"" : "Online-Registerauskunft"},
@ -832,19 +807,6 @@
"tcTokenUrlInfo" : "Registration required",
"subjectUrls": ["https://meinkonto.nuernberg.de"]
},
{
"exclude": ["ios"],
"shortName": {"" : "Standesamt Online Mecklenburg-Vorpommern"},
"longDescription": {"": "In Mecklenburg-Vorpommern können Sie in immer mehr Kommunen Urkunden mit der Online-Ausweisfunktion beantragen:<br/>- Geburtsurkunden<br/>- Eheurkunden<br/>- Lebenspartnerschaftsurkunden<br/>- Sterbeurkunden"},
"address": "https://portal.ego-mv.de/",
"homepage": "http://www.ego-mv.de/",
"phone": "+49 3 85 77 33 47-0",
"email": "info@ego-mv.de",
"postalAddress": "Zweckverband Elektronische Verwaltung in Mecklenburg-Vorpommern (eGo-MV)<br/>Eckdrift 103<br/>19061 Schwerin",
"category": "citizen",
"tcTokenUrlInfo" : "TcToken URL requires valid dynamic request id.",
"subjectUrls": ["https://tbk.ego-mv.de/BuergerKontoWeb"]
},
{
"exclude": ["ios"],
"shortName": {"" : "Telekom DeMail"},

View File

@ -51,8 +51,8 @@
[
{
"Platforms": [{"os": "win"}, {"os": "mac"}, {"os": "unknown"}],
"DE": "Es ist notwendig die Treiber vom Hersteller zu installieren.",
"EN": "It is necessary to install the drivers from the manufacturer."
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.",
"EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system."
}
]
},
@ -83,8 +83,8 @@
[
{
"Platforms": [{"os": "win"}, {"os": "mac"}, {"os": "unknown"}],
"DE": "Es ist notwendig die Treiber vom Hersteller zu installieren.",
"EN": "It is necessary to install the drivers from the manufacturer."
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.",
"EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system."
}
]
},
@ -110,6 +110,14 @@
"Platforms": [{"os": "unknown"}],
"URL": "https://www.reiner-sct.com/support/support-anfrage/?os=Linux&productGroup=77304735&product=77304856&q=driver#choice5"
}
],
"Information":
[
{
"Platforms":[{"os": "win", "min": "10.0"}],
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.",
"EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system."
}
]
},
@ -134,6 +142,19 @@
"Platforms": [{"os": "unknown"}],
"URL": "https://www.reiner-sct.com/support/support-anfrage/?os=Linux&productGroup=77304735&product=77304828&q=driver#choice5"
}
],
"Information":
[
{
"Platforms":[{"os": "mac", "max": "10.10"}],
"DE": "Trotz der Installation des vom Hersteller bereitgestellten Treibers, wird das Kartenlesegerät vom System nicht erkannt.",
"EN": "Despite the driver being installed correctly, the card reader will not be recognized by the operating system."
},
{
"Platforms":[{"os": "mac", "min": "10.11"}],
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.",
"EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system."
}
]
},
@ -171,13 +192,31 @@
"Drivers":
[
{
"Platforms": [{"os": "mac", "min": "10.11", "max": "10.11"}],
"URL": "https://support.identiv.com/sdi010-011/"
"Platforms": [{"os": "win"}],
"URL": "http://www.scm-pc-card.de/index.php?page=download&function=show_downloads&lang=de&product_id=738"
},
{
"Platforms": [{"os": "unknown"}],
"URL": "https://support.identiv.com/sdi010-011/"
}
],
"Information":
[
{
"Platforms": [{"os": "win", "max": "6.1"}],
"DE": "Bitte beachten Sie, dass das Kartenlesegerät nur mit der SDI011-generic-version funktioniert. Nach der Installation ist ein Neustart erforderlich.",
"EN": "Please note that the card reader only works with the SDI011-generic-version. A reboot is required after the installation of the driver."
},
{
"Platforms":[{"os": "win", "min": "6.2"}],
"DE": "Bitte beachten Sie, dass das Kartenlesegerät nur mit der SDI011-nPA-version funktioniert. Nach der Installation ist ein Neustart erforderlich.",
"EN": "Please note that the card reader only works with the SDI011-nPA-version. A reboot is required after the installation of the driver."
},
{
"Platforms": [{"os": "mac"}],
"DE": "Der Status des Kartenlesegeräts wird nach der Treiberinstallation und einem Neustart zwar als 'Treiber installiert' angezeigt, allerdings tritt bei der PIN-Eingabe ein Protokollfehler auf.",
"EN": "Once the driver is installed and the system is re-booted, the card reader state will be shown as 'Driver installed'. However, upon entering the PIN a protocol error occurs."
}
]
},
@ -185,18 +224,14 @@
"VendorId": "0x04E6",
"ProductId": "0x5292",
"Name": "SCL01x Contactless Reader",
"Pattern": "(SCM Microsystems Inc. )?SCL011 Contactless Reader",
"Pattern": "^(SCM Microsystems Inc. )?SCL011 Contactless Reader( 0)?$",
"Icon": "img_Identive_SCL011.png",
"IconWithNPA": "img_Identive_SCL011_mit_ausweis.png",
"Drivers":
[
{
"Platforms": [{"os": "win", "min": "10.0"}],
"URL": "https://support.identiv.com/scl010-scl011/"
},
{
"Platforms": [{"os": "mac", "min": "10.11", "max": "10.11"}],
"URL": "https://support.identiv.com/scl010-scl011/"
"Platforms": [{"os": "win"}, {"os": "mac"}],
"URL": "https://www.scm-pc-card.de/index.php?lang=de&page=download&function=show_downloads&product_id=630"
},
{
"Platforms": [{"os": "unknown"}],
@ -206,9 +241,14 @@
"Information":
[
{
"Platforms": [{"os": "win", "min": "6.1", "max": "6.1"}],
"DE": "Weder der Windows Treiber noch der Installer werden dem Kartenlesegerät zugeordnet. Erst eine manuelle Installation über den Gerätemanager, bei der der Hinweis, dass es sich um einen falschen Treiber handelt, zu ignorieren ist, führt zu einem Erfolg.",
"EN": "Neither the Windows driver nor the installer are assigned to the card reader. Only a manual installation via the device manager, ignoring the note that it is the wrong driver, leads to a success."
"Platforms": [{"os": "win"}],
"DE": "Das Kartenlesegerät funktioniert nur mit der SCL011-nPA-version. Nach der Installation ist ein Neustart erforderlich.",
"EN": "The cardreader works only with the SCL011-nPA-version. A reboot is required after the installation of the driver."
},
{
"Platforms": [{"os": "mac"}],
"DE": "Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.",
"EN": "The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required."
}
]
},
@ -217,7 +257,7 @@
"VendorId": "0x04E6",
"ProductId": "0x5790",
"Name": "Identiv Cloud 3700 F",
"Pattern": "(CLOUD 3700 F Contactless Reader|Identiv uTrust 3700 F CL Reader)",
"Pattern": "(Identiv CLOUD 3700 F Contactless Reader 0|Identiv uTrust 3700 F CL Reader)",
"Icon": "img_Identive_Cloud_3700_F.png",
"IconWithNPA": "img_Identive_Cloud_3700_F_mit_ausweis.png",
"Drivers":
@ -241,7 +281,7 @@
"VendorId": "0x04E6",
"ProductId": "0x5591",
"Name": "Identiv SCL3711",
"Pattern": "SCL3711",
"Pattern": "(SCM Microsystems SCL3711 reader & NFC device 0|SCL3711 reader and NFC device)",
"Icon": "img_Identive_SCL3711.png",
"IconWithNPA": "img_Identive_SCL3711_mit_ausweis.png",
"Drivers":
@ -251,13 +291,21 @@
"URL": "https://support.identiv.com/scl3711/"
},
{
"Platforms": [{"os": "mac", "max": "10.11"}],
"Platforms": [{"os": "mac"}],
"URL": "https://support.identiv.com/scl3711/"
},
{
"Platforms": [{"os": "unknown"}],
"URL": "https://support.identiv.com/scl3711/"
}
],
"Information":
[
{
"Platforms": [{"os": "win"}, {"os":"mac", "max": "10.10"}],
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.",
"EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system."
}
]
},
@ -265,7 +313,7 @@
"VendorId": "0x04E6",
"ProductId": "0x5720",
"Name": "Identiv Cloud 4700 F",
"Pattern": "(CLOUD 4700 F Contactless Reader|Identiv uTrust 4700 F Dual Interface Reader)",
"Pattern": "(Identiv CLOUD 4700 F Contact(less)? Reader( 0| 1)|Identiv uTrust 4700 F Dual Interface Reader)",
"Icon": "img_Identive_Cloud_4700_F.png",
"IconWithNPA": "img_Identive_Cloud_4700_F_mit_ausweis.png",
"Drivers":
@ -282,6 +330,14 @@
"Platforms": [{"os": "unknown"}],
"URL": "http://www.scm-pc-card.de/index.php?lang=en&page=download&function=show_downloads&product_id=832"
}
],
"Information":
[
{
"Platforms": [{"os": "mac"}],
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.",
"EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system."
}
]
},
@ -289,22 +345,30 @@
"VendorId": "0x04E6",
"ProductId": "0x5724",
"Name": "Identiv Cloud 4701 F",
"Pattern": "(CLOUD 4701 F Contactless Reader|Identiv uTrust 4701 F Dual Interface Reader)",
"Pattern": "(Identiv CLOUD 4701 F Contact(less)? Reader( 0| 1)|Identiv uTrust 4701 F Dual Interface Reader)",
"Icon": "img_Identive_Cloud_4701_F.png",
"IconWithNPA": "img_Identive_Cloud_4701_F_mit_ausweis.png",
"Drivers":
[
{
"Platforms": [{"os": "win"}],
"URL": "https://support.identiv.com/4701f/"
"URL": "http://www.scm-pc-card.de/index.php?page=download&function=show_downloads&lang=de&product_id=921"
},
{
"Platforms": [{"os": "mac"}],
"URL": "https://support.identiv.com/4701f/"
"URL": "http://www.scm-pc-card.de/index.php?page=download&function=show_downloads&lang=de&product_id=921"
},
{
"Platforms": [{"os": "unknown"}],
"URL": "https://support.identiv.com/4701f/"
"URL": "http://www.scm-pc-card.de/index.php?page=download&function=show_downloads&lang=de&product_id=921"
}
],
"Information":
[
{
"Platforms": [{"os": "win"}, {"os": "mac"}],
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.",
"EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system."
}
]
},
@ -313,7 +377,7 @@
"VendorId": "0x072F",
"ProductId": "0x2200",
"Name": "ACS ACR122U",
"Pattern": "ACS ACR122U",
"Pattern": "ACS ACR122U PICC Interface( 0)?",
"Icon": "img_ACS_ACR122U.png",
"IconWithNPA": "img_ACS_ACR122U_mit_ausweis.png",
"Drivers":
@ -322,6 +386,15 @@
"Platforms": [{"os": "win"}, {"os": "mac"}],
"URL": "https://www.acs.com.hk/en/products/3/acr122u-usb-nfc-reader/"
}
],
"Information":
[
{
"Platforms": [{"os": "win"}, {"os": "mac"}],
"DE":"Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.",
"EN":"The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required."
}
]
},
@ -329,7 +402,7 @@
"VendorId": "0x072F",
"ProductId": "0x0901",
"Name": "ACS ACR1281U",
"Pattern": "ACS ACR1281 PICC Reader",
"Pattern": "ACS ACR1281 PICC Reader( 0)?",
"Icon": "img_ACS_ACR1281U.png",
"IconWithNPA": "img_ACS_ACR1281U_mit_ausweis.png",
"Drivers":
@ -342,6 +415,19 @@
"Platforms": [{"os": "mac"}],
"URL": "http://www.acs.com.hk/en/driver/151/acr1281u-npa-contactless-reader/"
}
],
"Information":
[
{
"Platforms": [{"os": "win"}],
"DE":"Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.",
"EN":"The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required."
},
{
"Platforms": [{"os": "mac"}],
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.",
"EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system."
}
]
},
@ -349,7 +435,7 @@
"VendorId": "0x072F",
"ProductId": "0x223B",
"Name": "ACS ACR1252U",
"Pattern": "ACS ACR1252 Dual Reader|ACS ACR1252 1S CL Reader",
"Pattern": "ACS ACR1252 1S CL Reader PICC 0|ACS ACR1252 Dual Reader(\\(1\\)|\\(2\\))",
"Icon": "img_ACS_ACR1252U.png",
"IconWithNPA": "img_ACS_ACR1252U_mit_ausweis.png",
"Drivers":
@ -359,9 +445,23 @@
"URL": "http://www.acs.com.hk/en/products/342/acr1252u-usb-nfc-reader-iii-nfc-forum-certified-reader/#tab_downloads"
},
{
"Platforms": [{"os": "mac", "min": "10.13", "max": "10.13"}],
"Platforms": [{"os": "mac"}],
"URL": "http://www.acs.com.hk/en/products/342/acr1252u-usb-nfc-reader-iii-nfc-forum-certified-reader/#tab_downloads"
}
],
"Information":
[
{
"Platforms": [{"os": "win"}],
"DE":"Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.",
"EN":"The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required."
},
{
"Platforms": [{"os": "mac"}],
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.",
"EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system."
}
]
},
@ -369,22 +469,58 @@
"VendorId": "0x076B",
"ProductId": "0x5340",
"Name": "OMNIKEY 5021-CL",
"Pattern": "OMNIKEY CardMan 5x21-CL|OMNIKEY CardMan \\(076B:5340\\) 5021 CL",
"Icon": "img_HID_Omnikey_Mobile_Reader_5021_CL.png",
"IconWithNPA": "img_HID_Omnikey_Mobile_Reader_5021_CL_mit_ausweis.png",
"Pattern": "OMNIKEY CardMan 5x21-CL 0|OMNIKEY CardMan \\(076B:5340\\) 5021 CL",
"Icon": "img_HID_Omnikey_Mobile_Reader_502X_CL.png",
"IconWithNPA": "img_HID_Omnikey_Mobile_Reader_502X_CL_mit_ausweis.png",
"Drivers":
[
{
"Platforms": [{"os": "win"}],
"URL": "https://www.hidglobal.com/drivers?field_brand_tid=24&product_id=4077&os=All"
"URL": "https://www.hidglobal.de/drivers"
},
{
"Platforms": [{"os": "mac", "min": "10.11", "max": "10.11"}, {"os": "mac", "min": "10.13", "max": "10.13"}],
"URL": "https://www.hidglobal.com/drivers?field_brand_tid=24&product_id=4077&os=All"
"Platforms": [{"os": "mac"}],
"URL": "https://www.hidglobal.de/drivers"
},
{
"Platforms": [{"os": "unknown"}],
"URL": "https://www.hidglobal.com/drivers?field_brand_tid=24&product_id=4077&os=All"
"URL": "https://www.hidglobal.de/drivers"
}
],
"Information":
[
{
"Platforms":[{"os": "win"}, {"os": "mac"}],
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.",
"EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system."
}
]
},
{
"VendorId": "0x076B",
"ProductId": "0x5022",
"Name": "OMNIKEY 5022-CL",
"Pattern": "HID Global OMNIKEY 5022 Smart Card Reader 0|HID Global OMNIKEY 5022 Smart Card Reader",
"Icon": "img_HID_Omnikey_Mobile_Reader_502X_CL.png",
"IconWithNPA": "img_HID_Omnikey_Mobile_Reader_502X_CL_mit_ausweis.png",
"Drivers":
[
{
"Platforms": [{"os": "win"}],
"URL": "https://www.hidglobal.de/drivers"
},
{
"Platforms": [{"os": "mac"}],
"URL": "https://www.hidglobal.de/drivers"
}
],
"Information":
[
{
"Platforms":[{"os": "win"}, {"os": "mac"}],
"DE":"Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.",
"EN":"The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required."
}
]
},
@ -393,19 +529,27 @@
"VendorId": "0x076B",
"ProductId": "0x5321",
"Name": "OMNIKEY 5321 v2",
"Pattern": "OMNIKEY CardMan 5x21-CL|OMNIKEY CardMan \\(076B:5321\\) 5321",
"Pattern": "OMNIKEY CardMan 5x21-CL 0|OMNIKEY CardMan \\(076B:5321\\) 5321(\\(1\\)|\\(2\\))",
"Icon": "img_HID_Global_OMNIKEY_5321_V2.png",
"IconWithNPA": "img_HID_Global_OMNIKEY_5321_V2_mit_ausweis.png",
"Drivers":
[
{
"Platforms": [{"os": "win"}],
"URL": "https://www.hidglobal.de/Download-EULA?headless=&regionfree=&nid=29765"
"URL": "https://www.hidglobal.de/drivers"
},
{
"Platforms": [{"os": "mac", "min": "10.11", "max": "10.11"}],
"Platforms": [{"os": "mac"}],
"URL": "https://www.hidglobal.de/drivers"
}
],
"Information":
[
{
"Platforms":[{"os": "win"}, {"os": "mac"}],
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.",
"EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system."
}
]
},
@ -413,22 +557,30 @@
"VendorId": "0x076B",
"ProductId": "0x5421",
"Name": "OMNIKEY 5421",
"Pattern": "OMNIKEY CardMan \\(076B:5421\\) 5421|OMNIKEY Smart Card Reader USB",
"Pattern": "OMNIKEY CardMan 5x21-CL 0|OMNIKEY CardMan \\(076B:5421\\) 5421(\\(1\\)|\\(2\\))",
"Icon": "img_HID_Omnikey_5421.png",
"IconWithNPA": "img_HID_Omnikey_5421_mit_ausweis.png",
"Drivers":
[
{
"Platforms": [{"os": "win"}],
"URL": "https://www.hidglobal.com/drivers?field_brand_tid=24&product_id=4077&os=All"
"URL": "https://www.hidglobal.com/drivers"
},
{
"Platforms": [{"os": "mac", "min": "10.11", "max": "10.11"}, {"os": "mac", "min": "10.13", "max": "10.13"}],
"URL": "https://www.hidglobal.com/drivers?field_brand_tid=24&product_id=4077&os=All"
"Platforms": [{"os": "mac"}],
"URL": "https://www.hidglobal.com/drivers"
},
{
"Platforms": [{"os": "unknown"}],
"URL": "https://www.hidglobal.com/drivers?field_brand_tid=24&product_id=4077&os=All"
"URL": "https://www.hidglobal.com/drivers"
}
],
"Information":
[
{
"Platforms":[{"os": "win"}, {"os": "mac"}],
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.",
"EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system."
}
]
},
@ -437,14 +589,27 @@
"VendorId": "0x0AB1",
"ProductId": "0x0003",
"Name": "OBID RFID-Reader",
"Pattern": "FEIG ELECTRONIC GmbH OBID myAXXESS basic",
"Pattern": "FEIG ELECTRONIC GmbH OBID myAXXESS basic Slot:CL 358334430",
"Icon": "img_FEIG_myAXXES_basic.png",
"IconWithNPA": "img_FEIG_myAXXES_basic_mit_ausweis.png",
"Drivers":
[
{
"Platforms": [{"os": "win"}],
"URL": "http://www.feig.de/downloads/"
"URL": "https://www.feig.de/login/"
}
],
"Information":
[
{
"Platforms":[{"os": "win"}],
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.",
"EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system."
},
{
"Platforms": [{"os": "mac"}],
"DE": "Es ist kein Treiber vom Hersteller vorhanden.",
"EN": "There is no driver from the manufacturer."
}
]
},
@ -453,19 +618,27 @@
"VendorId": "0x08E6",
"ProductId": "0x5504",
"Name": "Gemalto Prox-SU Contactless",
"Pattern": "Gemalto Prox( |-)SU($| USB| Contactless_)",
"Pattern": "Gemalto Prox( |-)SU( Contactless_| USB PC LinkReader(\\(1\\)|\\(2\\)))",
"Icon": "img_Gemalto_Prox_SU.png",
"IconWithNPA": "img_Gemalto_Prox_SU_mit_ausweis.png",
"Drivers":
[
{
"Platforms": [{"os": "win", "max": "6.1"}, {"os": "win", "min": "10.0"}],
"URL": "http://support.gemalto.com/index.php?id=prox-du_prox-su#msdrivers"
"Platforms": [{"os": "win"}],
"URL": "http://support.gemalto.com/index.php?id=prox-du_prox-su#windows10"
},
{
"Platforms": [{"os": "mac", "min": "10.13", "max": "10.13"}],
"Platforms": [{"os": "mac"}],
"URL": "http://support.gemalto.com/index.php?id=prox-du_prox-su#macosxdrivers"
}
],
"Information":
[
{
"Platforms":[{"os": "win"}, {"os":"mac","max":"10.10"}],
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.",
"EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system."
}
]
},
@ -473,18 +646,26 @@
"VendorId": "0x08E6",
"ProductId": "0x5503",
"Name": "Prox-DU HID",
"Pattern": "Gemalto Prox(-DU| Dual)($| USB| Contactless_)",
"Pattern": "Gemalto Prox(-DU| Dual)( Contactless_| USB PC Link(Reader| Reader)(\\(2\\)|\\(1\\)))",
"Icon": "img_Gemalto_Prox_DU.png",
"IconWithNPA": "img_Gemalto_Prox_DU_mit_ausweis.png",
"Drivers":
[
{
"Platforms": [{"os": "win", "max": "6.1"}, {"os": "win", "min": "10.0"}],
"URL": "http://support.gemalto.com/index.php?id=prox-du_prox-su#.WOIQijvyjyQ"
"Platforms": [{"os": "win"}],
"URL": "http://support.gemalto.com/index.php?id=prox-du_prox-su#windows10"
},
{
"Platforms": [{"os": "mac"}],
"URL": "http://support.gemalto.com/index.php?id=prox-du_prox-su#.WOIQijvyjyQ"
"URL": "http://support.gemalto.com/index.php?id=prox-du_prox-su#macosxdrivers"
}
],
"Information":
[
{
"Platforms": [{"os": "win"}, {"os": "mac"}],
"DE": "Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.",
"EN": "The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required."
}
]
},
@ -499,34 +680,26 @@
"Drivers":
[
{
"Platforms": [{"os": "win"}],
"URL": "http://www.cherry.de/cid/download.php"
},
{
"Platforms": [{"os": "mac", "min": "10.11"}],
"URL": "http://www.cherry.de/cid/download.php"
},
{
"Platforms": [{"os": "unknown"}],
"URL": "http://www.cherry.de/cid/download.php"
"Platforms": [{"os": "win"}, {"os": "mac", "min": "10.11"}, {"os": "unknown"}],
"URL": "https://cherry.de/download/de/download.php"
}
],
"Information":
[
{
"Platforms": [{"os": "win"}],
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren.",
"EN": "It is necessary to install the drivers from the manufacturer."
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.",
"EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system."
},
{
"Platforms": [{"os": "mac", "max": "10.10"}],
"DE": "Der vom Hersteller angebotene Treiber für OS X 10.10 führt nicht zum Erfolg. Bitte verwenden Sie alternativ den ebenfalls vom Hersteller angebotenen Treiber für macOS 10.12.",
"EN": "The driver from the manufacturer is not supported on OS X 10.10. For the function of the card reader the driver for macOS 10.12 must be installed."
"DE": "The driver from the manufacturer is not supported on OS X 10.10. Please install the driver for macOS 10.12 instead."
},
{
"Platforms": [{"os": "mac", "min": "10.11"}],
"DE": "Nach der Installation ist ein Neustart erforderlich.",
"EN": "A reboot is required after the installation of the driver."
"DE": "Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.",
"EN": "The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required."
}
]
},
@ -541,36 +714,86 @@
"Drivers":
[
{
"Platforms": [{"os": "win"}],
"URL": "http://www.cherry.de/cid/download.php"
},
{
"Platforms": [{"os": "mac", "min": "10.11"}],
"URL": "http://www.cherry.de/cid/download.php"
},
{
"Platforms": [{"os": "unknown"}],
"URL": "http://www.cherry.de/cid/download.php"
"Platforms": [{"os": "win"}, {"os": "mac", "min": "10.11"}, {"os": "unknown"}],
"URL": "https://cherry.de/download/de/download.php"
}
],
"Information":
[
{
"Platforms": [{"os": "win"}],
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren.",
"EN": "It is necessary to install the drivers from the manufacturer."
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.",
"EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system."
},
{
"Platforms": [{"os": "mac", "max": "10.10"}],
"DE": "Der vom Hersteller angebotene Treiber für OS X 10.10 führt nicht zum Erfolg. Bitte verwenden Sie alternativ den ebenfalls vom Hersteller angebotenen Treiber für macOS 10.12.",
"EN": "The driver from the manufacturer is not supported on OS X 10.10. For the function of the card reader the driver for macOS 10.12 must be installed."
"EN": "The driver from the manufacturer is not supported on OS X 10.10. Please install the driver for macOS 10.12 instead."
},
{
"Platforms": [{"os": "mac", "min": "10.11"}],
"DE": "Nach der Installation ist ein Neustart erforderlich.",
"EN": "A reboot is required after the installation of the driver."
"DE": "Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.",
"EN": "The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required."
}
]
},
{
"VendorId": "0x046A",
"ProductId": "0x0072",
"Name": "Cherry ST-1275",
"Pattern": "(Cherry ST-1275|Cherry SmartTerminal XX7X-RF 0)",
"Icon": "img_Cherry_ST_1275.png",
"IconWithNPA": "img_Cherry_ST_1275_mit_ausweis.png",
"Drivers":
[
{
"Platforms": [{"os": "win"}, {"os": "unknown"}],
"URL": "https://cherry.de/download/de/download.php"
}
],
"Information":
[
{
"Platforms": [{"os": "win"}],
"DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.",
"EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system."
},
{
"Platforms": [{"os": "mac"}],
"DE": "Es ist kein Treiber vom Hersteller vorhanden.",
"EN": "There is no driver from the manufacturer."
}
]
},
{
"VendorId": "0x2133",
"ProductId": "0x010B",
"Name": "Signotec Omega Pad",
"Pattern": "NXP PR533( 0)?",
"Icon": "img_Signotec_Omega_Pad.png",
"IconWithNPA": "img_Signotec_Omega_Pad_mit_ausweis.png",
"Drivers":
[
{
"Platforms": [{"os": "win"}, {"os": "mac"}],
"URL": "https://www.signotec.com/download/treiber/"
},
{
"Platforms": [{"os": "unknown"}],
"URL": "https://www.signotec.com/download/treiber/"
}
],
"Information":
[
{
"Platforms": [{"os": "win"}, {"os": "mac"}],
"DE": "Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Es ist kein Treiber vom Hersteller vorhanden.",
"EN": "The card reader operates with the driver automatically installed by the system. There is no driver from the manufacturer."
}
]
}
]
}

View File

@ -103,17 +103,7 @@ IF(IOS)
SET(IOS_APPICON_PATH "")
ENDIF()
LIST(APPEND IOS_RESOURCES ${RESOURCES_DIR}/images/iOS/appIcons/${IOS_APPICON_PATH}iconSmall.png)
LIST(APPEND IOS_RESOURCES ${RESOURCES_DIR}/images/iOS/appIcons/${IOS_APPICON_PATH}iconSmall@2x.png)
LIST(APPEND IOS_RESOURCES ${RESOURCES_DIR}/images/iOS/appIcons/${IOS_APPICON_PATH}iconSmall@3x.png)
LIST(APPEND IOS_RESOURCES ${RESOURCES_DIR}/images/iOS/appIcons/${IOS_APPICON_PATH}iconSmall40.png)
LIST(APPEND IOS_RESOURCES ${RESOURCES_DIR}/images/iOS/appIcons/${IOS_APPICON_PATH}iconSmall40@2x.png)
LIST(APPEND IOS_RESOURCES ${RESOURCES_DIR}/images/iOS/appIcons/${IOS_APPICON_PATH}iconSmall40@3x.png)
LIST(APPEND IOS_RESOURCES ${RESOURCES_DIR}/images/iOS/appIcons/${IOS_APPICON_PATH}icon60@2x.png)
LIST(APPEND IOS_RESOURCES ${RESOURCES_DIR}/images/iOS/appIcons/${IOS_APPICON_PATH}icon60@3x.png)
LIST(APPEND IOS_RESOURCES ${RESOURCES_DIR}/images/iOS/appIcons/${IOS_APPICON_PATH}icon76.png)
LIST(APPEND IOS_RESOURCES ${RESOURCES_DIR}/images/iOS/appIcons/${IOS_APPICON_PATH}icon76@2x.png)
LIST(APPEND IOS_RESOURCES ${RESOURCES_DIR}/images/iOS/appIcons/${IOS_APPICON_PATH}icon83.5@2x.png)
LIST(APPEND IOS_RESOURCES ${RESOURCES_DIR}/images/iOS/appIcons/${IOS_APPICON_PATH}Images.xcassets)
LIST(APPEND IOS_RESOURCES ${RESOURCES_DIR}/images/iOS/launchImages/Default-568h@2x.png)
LIST(APPEND IOS_RESOURCES ${RESOURCES_DIR}/images/iOS/launchImages/launchImage568@2x.png)
@ -193,6 +183,7 @@ IF(IOS)
TARGET_LINK_LIBRARIES(AusweisApp -L${QT_HOST_PREFIX}/qml/QtQuick.2 -lqtquick2plugin)
SET_TARGET_PROPERTIES(AusweisApp PROPERTIES RESOURCE "${IOS_RESOURCES}")
SET_TARGET_PROPERTIES(AusweisApp PROPERTIES XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME "AppIcon")
SET_TARGET_PROPERTIES(AusweisApp PROPERTIES XCODE_ATTRIBUTE_ARCHS "arm64")
SET_TARGET_PROPERTIES(AusweisApp PROPERTIES XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2")
SET_TARGET_PROPERTIES(AusweisApp PROPERTIES XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET "10.0")

View File

@ -127,7 +127,7 @@ bool WebserviceActivationContext::sendRedirect(const QUrl& pRedirectAddress, con
if (!mRequest->isConnected())
{
mSendError = tr("The connection to the bowser was lost. No forwarding was executed. Please try to"
mSendError = tr("The connection to the browser was lost. No forwarding was executed. Please try to"
" call the URL again manually: <a href='%1'>%2</a>").arg(redirectAddressWithResult.toString(), redirectAddressWithResult.host());
return false;
}

View File

@ -8,7 +8,7 @@ IF(TARGET Qt5::Nfc)
ADD_SUBDIRECTORY(nfc)
ENDIF()
IF(LINUX OR ANDROID OR IOS)
IF(ANDROID OR IOS OR WINDOWS_STORE OR "${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG")
ADD_SUBDIRECTORY(bluetooth)
ENDIF()

View File

@ -71,8 +71,8 @@ EstablishPACEChannelParser EstablishPACEChannelParser::fromCcid(const QByteArray
QByteArray chat;
QByteArray certificateDescription;
// Chat and certificate description are only available in PIN mode in an authentication.
if (passwordId == PACE_PASSWORD_ID::PACE_PIN)
// Chat and certificate description are only available in authentications via PIN mode or CAN allowed mode
if (passwordId == PACE_PASSWORD_ID::PACE_PIN || passwordId == PACE_PASSWORD_ID::PACE_CAN)
{
if (channelInput->mCertificateDescription)
{

View File

@ -138,7 +138,7 @@ static const int CB_ERROR = 0;
}\
\
template<>\
name * decodeAsn1Object<name>(name * *pObject, const unsigned char** pData, long pDataLen)\
name * decodeAsn1Object<name>(name** pObject, const unsigned char** pData, long pDataLen)\
{\
return d2i_##name(pObject, pData, pDataLen);\
}\
@ -152,7 +152,7 @@ static const int CB_ERROR = 0;
#define DECLARE_ASN1_OBJECT(name)\
template<> name * newAsn1Object<name>();\
template<> int encodeAsn1Object<name>(name * pObject, unsigned char** encoded);\
template<> name * decodeAsn1Object<name>(name * *pObject, const unsigned char** pData, long pDataLen);\
template<> name * decodeAsn1Object<name>(name** pObject, const unsigned char** pData, long pDataLen);\
template<> void freeAsn1Object<name>(name * pObject);

View File

@ -273,8 +273,8 @@ QString CertificateDescription::getPurpose() const
QString CertificateDescription::getDataSecurityOfficer() const
{
static const QStringList SEARCH_ITEMS({QStringLiteral(
"Hinweis auf die f\u00FCr den Diensteanbieter zust\u00E4ndigen Stellen, "
"die die Einhaltung der Vorschriften zum Datenschutz kontrollieren:")});
"Hinweis auf die f\u00FCr den Diensteanbieter zust\u00E4ndigen Stellen, "
"die die Einhaltung der Vorschriften zum Datenschutz kontrollieren:")});
return getField(getTermsOfUsage(), SEARCH_ITEMS);
}

View File

@ -54,7 +54,7 @@ class SecurityInfo
* Sub classes must override this method to allow the base class to access
* the protocol's ASN1_OBJECT pointer.
*/
virtual ASN1_OBJECT * getProtocolObjectIdentifier() const;
virtual ASN1_OBJECT* getProtocolObjectIdentifier() const;
protected:
SecurityInfo();

View File

@ -17,7 +17,7 @@ class BluetoothReaderManagerPlugInPrivate
Q_OBJECT
Q_DECLARE_PUBLIC(BluetoothReaderManagerPlugIn)
BluetoothReaderManagerPlugIn * const q_ptr;
BluetoothReaderManagerPlugIn* const q_ptr;
BluetoothReaderManagerPlugInPrivate(BluetoothReaderManagerPlugIn* pPublic);
private Q_SLOTS:

View File

@ -45,7 +45,7 @@ class ReaderDetector
#endif
#ifdef Q_OS_LINUX
DeviceListener * mDeviceListener;
DeviceListener* mDeviceListener;
#endif
bool initNativeEvents();

View File

@ -28,12 +28,12 @@ namespace governikus
return pStr;\
}\
\
inline QString operator+(const QString &pStr, enumName pType)\
inline QString operator+(const QString& pStr, enumName pType)\
{\
return pStr + Enum<enumName>::getName(pType);\
}\
\
inline QString operator+(enumName pType, const QString &pStr)\
inline QString operator+(enumName pType, const QString& pStr)\
{\
return Enum<enumName>::getName(pType) + pStr;\
}\

View File

@ -230,9 +230,9 @@ QString GlobalStatus::toErrorDescription(const bool pSimplifiedVersion) const
case Code::Card_Protocol_Error:
return QStringLiteral("%1 <a href=\"%2\">%3</a>.").arg(
tr("A protocol error occurred. Please make sure that your ID card is placed correctly on the card reader and try again. If the problem occurs again, please contact our support at"),
tr("https://www.ausweisapp.bund.de/en/service/support/"),
tr("AusweisApp2 Support"));
tr("A protocol error occurred. Please make sure that your ID card is placed correctly on the card reader and try again. If the problem occurs again, please contact our support at"),
tr("https://www.ausweisapp.bund.de/en/service/support/"),
tr("AusweisApp2 Support"));
case Code::Card_Invalid_Pin:
return tr("The given PIN is invalid.");

View File

@ -10,7 +10,7 @@ using namespace governikus;
Q_DECLARE_LOGGING_CATEGORY(network)
#define CAST_OBJ(parser) HttpRequest * obj = static_cast<HttpRequest*>(parser->data);
#define CAST_OBJ(parser) HttpRequest* obj = static_cast<HttpRequest*>(parser->data);
HttpRequest::HttpRequest(QAbstractSocket* pSocket, QObject* pParent)
: QObject(pParent)

View File

@ -46,6 +46,11 @@ void SelfInformationWidget::paintEvent(QPaintEvent*)
void SelfInformationWidget::onSettingsChanged()
{
const auto desc = tr("Use the button 'See my personal data now...' to display the data stored on your ID card. An Internet connection is required to display the data.");
const auto hyperlink = QStringLiteral(R"(<a href="%1">%2</a>)").arg(tr("https://www.ausweisapp.bund.de/datenschutz/"), tr("data privacy statement"));
const auto info = tr("Your personal data is neither saved nor processed in any way. Please see our %1 for details on how your personal data is processed.").arg(hyperlink);
mUi->descriptionLabel->setText(desc + QStringLiteral("<br><br>") + info);
if (AppSettings::getInstance().getGeneralSettings().useSelfAuthTestUri())
{
mUi->selfAuthenticationButton->setStyleSheet(QStringLiteral("QPushButton { background: red; }"));
@ -64,6 +69,7 @@ void SelfInformationWidget::changeEvent(QEvent* pEvent)
if (pEvent->type() == QEvent::LanguageChange)
{
mUi->retranslateUi(this);
onSettingsChanged();
}
QWidget::changeEvent(pEvent);
}

View File

@ -111,12 +111,12 @@
<property name="focusPolicy">
<enum>Qt::TabFocus</enum>
</property>
<property name="text">
<string>Use the button 'See my personal data now...' to display the data stored on your ID card. An Internet connection is required to display the data. Your personal data is neither saved nor processed in any way.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
<item>

View File

@ -250,11 +250,11 @@ class test_ProviderConfigurationParser
{
QTest::addColumn<int>("count");
const int desktop = 61;
const int desktop = 58;
QTest::newRow("win") << desktop;
QTest::newRow("mac") << desktop;
QTest::newRow("linux") << desktop;
QTest::newRow("android") << 56;
QTest::newRow("android") << 53;
QTest::newRow("ios") << 13;
}

View File

@ -83,28 +83,32 @@ class test_ReaderConfiguration
QTest::newRow("KOBIL IDToken") << UsbId(0x0D46, 0x301D) << "KOBIL Systems IDToken" << "KOBIL IDToken" << "img_KOBIL_ID_Token" << "KOBIL (Systems )?IDToken";
QTest::newRow("SCM SDI011") << UsbId(0x04E6, 0x512B) << "SDI011 Contactless Reader" << "SDI011 Contactless Reader" << "img_Identive_SDI011" << "SDI011 (USB )?(Smart Card|Contactless) Reader";
QTest::newRow("SCM SCL011") << UsbId(0x04E6, 0x5292) << "SCM Microsystems Inc. SCL011 Contactless Reader" << "SCL01x Contactless Reader" << "img_Identive_SCL011" << "(SCM Microsystems Inc. )?SCL011 Contactless Reader";
QTest::newRow("SCM SCL011") << UsbId(0x04E6, 0x5292) << "SCM Microsystems Inc. SCL011 Contactless Reader" << "SCL01x Contactless Reader" << "img_Identive_SCL011" << "^(SCM Microsystems Inc. )?SCL011 Contactless Reader( 0)?$";
QTest::newRow("ACS-ACR122U") << UsbId(0x072F, 0x2200) << "ACS ACR122U" << "ACS ACR122U" << "img_ACS_ACR122U" << "ACS ACR122U";
QTest::newRow("ACS-ACR1281U") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader" << "ACS ACR1281U" << "img_ACS_ACR1281U" << "ACS ACR1281 PICC Reader";
QTest::newRow("ACS-ACR1252U") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader" << "ACS ACR1252U" << "img_ACS_ACR1252U" << "ACS ACR1252 Dual Reader|ACS ACR1252 1S CL Reader";
QTest::newRow("ACS-ACR122U") << UsbId(0x072F, 0x2200) << "ACS ACR122U PICC Interface" << "ACS ACR122U" << "img_ACS_ACR122U" << "ACS ACR122U PICC Interface( 0)?";
QTest::newRow("ACS-ACR1281U") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader" << "ACS ACR1281U" << "img_ACS_ACR1281U" << "ACS ACR1281 PICC Reader( 0)?";
QTest::newRow("ACS-ACR1252U") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader PICC 0" << "ACS ACR1252U" << "img_ACS_ACR1252U" << R"(ACS ACR1252 1S CL Reader PICC 0|ACS ACR1252 Dual Reader(\(1\)|\(2\)))";
QTest::newRow("OMNIKEY 5021") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5021-CL" << "img_HID_Omnikey_Mobile_Reader_5021_CL" << "OMNIKEY CardMan 5x21-CL|OMNIKEY CardMan \\(076B:5340\\) 5021 CL";
QTest::newRow("OMNIKEY 5321 v2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(1)" << "OMNIKEY 5321 v2" << "img_HID_Global_OMNIKEY_5321_V2" << "OMNIKEY CardMan 5x21-CL|OMNIKEY CardMan \\(076B:5321\\) 5321";
QTest::newRow("OMNIKEY 5421") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(1)" << "OMNIKEY 5421" << "img_HID_Omnikey_5421" << "OMNIKEY CardMan \\(076B:5421\\) 5421|OMNIKEY Smart Card Reader USB";
QTest::newRow("OMNIKEY 5021") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5021-CL" << "img_HID_Omnikey_Mobile_Reader_502X_CL" << "OMNIKEY CardMan 5x21-CL 0|OMNIKEY CardMan \\(076B:5340\\) 5021 CL";
QTest::newRow("OMNIKEY 5022") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader 0" << "OMNIKEY 5022-CL" << "img_HID_Omnikey_Mobile_Reader_502X_CL" << "HID Global OMNIKEY 5022 Smart Card Reader 0|HID Global OMNIKEY 5022 Smart Card Reader";
QTest::newRow("OMNIKEY 5321 v2") << UsbId(0x076B, 0x5321) << "OOMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5321 v2" << "img_HID_Global_OMNIKEY_5321_V2" << R"(OMNIKEY CardMan 5x21-CL 0|OMNIKEY CardMan \(076B:5321\) 5321(\(1\)|\(2\)))";
QTest::newRow("OMNIKEY 5421") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5421" << "img_HID_Omnikey_5421" << R"(OMNIKEY CardMan 5x21-CL 0|OMNIKEY CardMan \(076B:5421\) 5421(\(1\)|\(2\)))";
QTest::newRow("FEIG OBID myAXXESS RFID-Reader") << UsbId(0x0AB1, 0x0003) << "FEIG ELECTRONIC GmbH OBID myAXXESS basic" << "OBID RFID-Reader" << "img_FEIG_myAXXES_basic" << "FEIG ELECTRONIC GmbH OBID myAXXESS basic";
QTest::newRow("FEIG OBID myAXXESS RFID-Reader") << UsbId(0x0AB1, 0x0003) << "FEIG ELECTRONIC GmbH OBID myAXXESS basic Slot:CL 358334430" << "OBID RFID-Reader" << "img_FEIG_myAXXES_basic" << "FEIG ELECTRONIC GmbH OBID myAXXESS basic Slot:CL 358334430";
QTest::newRow("Gemalto-Prox-DU") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU" << "Prox-DU HID" << "img_Gemalto_Prox_DU" << "Gemalto Prox(-DU| Dual)($| USB| Contactless_)";
QTest::newRow("Gemalto-Prox-SU") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU" << "Gemalto Prox-SU Contactless" << "img_Gemalto_Prox_SU" << "Gemalto Prox( |-)SU($| USB| Contactless_)";
QTest::newRow("Gemalto-Prox-DU") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contactless_" << "Prox-DU HID" << "img_Gemalto_Prox_DU" << R"(Gemalto Prox(-DU| Dual)( Contactless_| USB PC Link(Reader| Reader)(\(2\)|\(1\))))";
QTest::newRow("Gemalto-Prox-SU") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contactless_" << "Gemalto Prox-SU Contactless" << "img_Gemalto_Prox_SU" << R"(Gemalto Prox( |-)SU( Contactless_| USB PC LinkReader(\(1\)|\(2\))))";
QTest::newRow("Identiv-SCL-3711") << UsbId(0x04E6, 0x5591) << "Identiv SCL3711" << "Identiv SCL3711" << "img_Identive_SCL3711" << "SCL3711";
QTest::newRow("Identiv-Cloud-3700-F") << UsbId(0x04E6, 0x5790) << "CLOUD 3700 F Contactless Reader" << "Identiv Cloud 3700 F" << "img_Identive_Cloud_3700_F" << "(CLOUD 3700 F Contactless Reader|Identiv uTrust 3700 F CL Reader)";
QTest::newRow("Identiv-Cloud-4700-F") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contactless Reader 0" << "Identiv Cloud 4700 F" << "img_Identive_Cloud_4700_F" << "(CLOUD 4700 F Contactless Reader|Identiv uTrust 4700 F Dual Interface Reader)";
QTest::newRow("Identiv-Cloud-4701-F") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contactless Reader 0" << "Identiv Cloud 4701 F" << "img_Identive_Cloud_4701_F" << "(CLOUD 4701 F Contactless Reader|Identiv uTrust 4701 F Dual Interface Reader)";
QTest::newRow("Identiv-SCL-3711") << UsbId(0x04E6, 0x5591) << "SCM Microsystems SCL3711 reader & NFC device 0" << "Identiv SCL3711" << "img_Identive_SCL3711" << "(SCM Microsystems SCL3711 reader & NFC device 0|SCL3711 reader and NFC device)";
QTest::newRow("Identiv-Cloud-3700-F") << UsbId(0x04E6, 0x5790) << "Identiv CLOUD 3700 F Contactless Reader 0" << "Identiv Cloud 3700 F" << "img_Identive_Cloud_3700_F" << "(Identiv CLOUD 3700 F Contactless Reader 0|Identiv uTrust 3700 F CL Reader)";
QTest::newRow("Identiv-Cloud-4700-F") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contactless Reader 0" << "Identiv Cloud 4700 F" << "img_Identive_Cloud_4700_F" << "(Identiv CLOUD 4700 F Contact(less)? Reader( 0| 1)|Identiv uTrust 4700 F Dual Interface Reader)";
QTest::newRow("Identiv-Cloud-4701-F") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contactless Reader 0" << "Identiv Cloud 4701 F" << "img_Identive_Cloud_4701_F" << "(Identiv CLOUD 4701 F Contact(less)? Reader( 0| 1)|Identiv uTrust 4701 F Dual Interface Reader)";
QTest::newRow("Cherry-TC-1200-data") << UsbId(0x046A, 0x0091) << "Cherry TC 1200" << "Cherry TC-1200" << "img_Cherry_TC_1200" << "(Cherry TC 1200($|[^-])|TC 12xx-CL 0|Cherry SC Reader \\(046A:0091\\))";
QTest::newRow("Cherry-TC-1300-data") << UsbId(0x046A, 0x0092) << "Cherry TC 1300" << "Cherry TC-1300" << "img_Cherry_TC_1300" << "(Cherry TC 1300|Cherry Smartcard Terminal TC 13xx-CL 0|Cherry SC Reader \\(046A:0092\\))";
QTest::newRow("Cherry-ST-1275-data") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X-RF 0" << "Cherry ST-1275" << "img_Cherry_ST_1275" << "(Cherry ST-1275|Cherry SmartTerminal XX7X-RF 0)";
QTest::newRow("Signotec Omega Pad") << UsbId(0x2133, 0x010B) << "NXP PR533" << "Signotec Omega Pad" << "img_Signotec_Omega_Pad" << "NXP PR533( 0)?";
}
@ -155,86 +159,156 @@ class test_ReaderConfiguration
QTest::newRow("REINER SCT cyberJack RFID standard-macosx-10.12") << UsbId(0x0C4B, 0x0500) << "REINER SCT cyberJack RFID standard" << "REINER SCT cyberJack RFID standard";
QTest::newRow("REINER SCT cyberJack RFID standard-macosx-10.13") << UsbId(0x0C4B, 0x0500) << "REINER SCT cyberJack RFID standard" << "REINER SCT cyberJack RFID standard";
QTest::newRow("REINER SCT cyberJack RFID basis-windows-7.32") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis 0" << "REINER SCT cyberJack RFID basis";
QTest::newRow("REINER SCT cyberJack RFID basis-windows-7.64") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis 0" << "REINER SCT cyberJack RFID basis";
QTest::newRow("REINER SCT cyberJack RFID basis-windows-8.1") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis 0" << "REINER SCT cyberJack RFID basis";
QTest::newRow("REINER SCT cyberJack RFID basis-windows-10") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis" << "REINER SCT cyberJack RFID basis";
QTest::newRow("REINER SCT cyberJack RFID basis-windows-10.0") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis 0" << "REINER SCT cyberJack RFID basis";
QTest::newRow("REINER SCT cyberJack RFID basis-macosx-10.10") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis" << "REINER SCT cyberJack RFID basis";
QTest::newRow("REINER SCT cyberJack RFID basis-macosx-10.11") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis" << "REINER SCT cyberJack RFID basis";
QTest::newRow("REINER SCT cyberJack RFID basis-macosx-10.12") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis" << "REINER SCT cyberJack RFID basis";
QTest::newRow("REINER SCT cyberJack RFID basis-macosx-10.13") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis" << "REINER SCT cyberJack RFID basis";
QTest::newRow("REINER SCT cyberJack wave-windows-8.1") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave USB 1" << "REINER SCT cyberJack wave";
QTest::newRow("REINER SCT cyberJack wave-windows-10") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave" << "REINER SCT cyberJack wave";
QTest::newRow("REINER SCT cyberJack wave-macosx-10.10") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave" << "REINER SCT cyberJack wave";
QTest::newRow("REINER SCT cyberJack wave-windows-7.32") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave 0" << "REINER SCT cyberJack wave";
QTest::newRow("REINER SCT cyberJack wave-windows-7.64") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave 0" << "REINER SCT cyberJack wave";
QTest::newRow("REINER SCT cyberJack wave-windows-8.1") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave 0" << "REINER SCT cyberJack wave";
QTest::newRow("REINER SCT cyberJack wave-windows-10.0") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave 0" << "REINER SCT cyberJack wave";
QTest::newRow("REINER SCT cyberJack wave-macosx-10.11") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave" << "REINER SCT cyberJack wave";
QTest::newRow("REINER SCT cyberJack wave-macosx-10.12") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave" << "REINER SCT cyberJack wave";
QTest::newRow("REINER SCT cyberJack wave-macosx-10.13") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave" << "REINER SCT cyberJack wave";
QTest::newRow("KOBIL IDToken-windows-7.32") << UsbId(0x0D46, 0x301D) << "KOBIL IDToken 0" << "KOBIL IDToken";
QTest::newRow("KOBIL IDToken-windows-7.64") << UsbId(0x0D46, 0x301D) << "KOBIL IDToken 0" << "KOBIL IDToken";
QTest::newRow("KOBIL IDToken-windows-8.1") << UsbId(0x0D46, 0x301D) << "KOBIL IDToken 0" << "KOBIL IDToken";
QTest::newRow("KOBIL IDToken-windows-10") << UsbId(0x0D46, 0x301D) << "KOBIL IDToken 0" << "KOBIL IDToken";
QTest::newRow("KOBIL IDToken-macosx-10.10") << UsbId(0x0D46, 0x301D) << "KOBIL Systems IDToken" << "KOBIL IDToken";
QTest::newRow("KOBIL IDToken-macosx-10.11") << UsbId(0x0D46, 0x301D) << "KOBIL IDToken" << "KOBIL IDToken";
QTest::newRow("KOBIL IDToken-macosx-10.12") << UsbId(0x0D46, 0x301D) << "KOBIL IDToken" << "KOBIL IDToken";
QTest::newRow("KOBIL IDToken-macosx-10.11") << UsbId(0x0D46, 0x301D) << "KOBIL Systems IDToken" << "KOBIL IDToken";
QTest::newRow("KOBIL IDToken-macosx-10.12") << UsbId(0x0D46, 0x301D) << "KOBIL Systems IDToken" << "KOBIL IDToken";
QTest::newRow("KOBIL IDToken-macosx-10.13") << UsbId(0x0D46, 0x301D) << "KOBIL Systems IDToken" << "KOBIL IDToken";
QTest::newRow("SCM SDI011-windows-10") << UsbId(0x04E6, 0x512B) << "SDI011 Contactless Reader" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-macosx-10.10-1") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Contactless Reader(1)" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-macosx-10.10-2") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Contactless Reader(2)" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-macosx-10.11-1") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Contactless Reader(1)" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-macosx-10.11-2") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Contactless Reader(2)" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-macosx-10.12-1") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Contactless Reader(1)" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-macosx-10.12-1") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Contactless Reader(2)" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-windows-7.32-1") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Contactless Reader 0" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-windows-7.32-2") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Smart Card Reader 0" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-windows-7.64-1") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Contactless Reader 0" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-windows-7.64-2") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Smart Card Reader 0" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-windows-8.1-1") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Contactless Reader 0" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-windows-8.1-2") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Smart Card Reader 0" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-windows-10-1") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Contactless Reader 0" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-windows-10-2") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Smart Card Reader 0" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-macosx-10.10-1") << UsbId(0x04E6, 0x512B) << "SDI011 USB Smart Card Reader(1)" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-macosx-10.10-2") << UsbId(0x04E6, 0x512B) << "SDI011 USB Smart Card Reader(2)" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-macosx-10.11-1") << UsbId(0x04E6, 0x512B) << "SDI011 USB Smart Card Reader(1)" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-macosx-10.11-2") << UsbId(0x04E6, 0x512B) << "SDI011 USB Smart Card Reader(2)" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-macosx-10.12-1") << UsbId(0x04E6, 0x512B) << "SDI011 USB Smart Card Reader(1)" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-macosx-10.12-1") << UsbId(0x04E6, 0x512B) << "SDI011 USB Smart Card Reader(2)" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-macosx-10.13-1") << UsbId(0x04E6, 0x512B) << "SDI011 USB Smart Card Reader(1)" << "SDI011 Contactless Reader";
QTest::newRow("SCM SDI011-macosx-10.13-2") << UsbId(0x04E6, 0x512B) << "SDI011 USB Smart Card Reader(2)" << "SDI011 Contactless Reader";
QTest::newRow("SCM SCL011-windows-10") << UsbId(0x04E6, 0x5292) << "SCL011 Contactless Reader" << "SCL01x Contactless Reader";
QTest::newRow("SCM SCL011-macosx-10.11") << UsbId(0x04E6, 0x5292) << "SCM Microsystems Inc. SCL011 Contactless Reader" << "SCL01x Contactless Reader";
QTest::newRow("SCM SCL011-windows-7.32") << UsbId(0x04E6, 0x5292) << "SCM Microsystems Inc. SCL011 Contactless Reader 0" << "SCL01x Contactless Reader";
QTest::newRow("SCM SCL011-windows-7.64") << UsbId(0x04E6, 0x5292) << "SCM Microsystems Inc. SCL011 Contactless Reader 0" << "SCL01x Contactless Reader";
QTest::newRow("SCM SCL011-windows-8.1") << UsbId(0x04E6, 0x5292) << "SCM Microsystems Inc. SCL011 Contactless Reader 0" << "SCL01x Contactless Reader";
QTest::newRow("SCM SCL011-windows-10") << UsbId(0x04E6, 0x5292) << "SCM Microsystems Inc. SCL011 Contactless Reader 0" << "SCL01x Contactless Reader";
QTest::newRow("SCM SCL011-macosx-10.10") << UsbId(0x04E6, 0x5292) << "SCL011 Contactless Reader" << "SCL01x Contactless Reader";
QTest::newRow("SCM SCL011-macosx-10.11") << UsbId(0x04E6, 0x5292) << "SCL011 Contactless Reader" << "SCL01x Contactless Reader";
QTest::newRow("SCM SCL011-macosx-10.12") << UsbId(0x04E6, 0x5292) << "SCL011 Contactless Reader" << "SCL01x Contactless Reader";
QTest::newRow("SCM SCL011-macosx-10.13") << UsbId(0x04E6, 0x5292) << "SCL011 Contactless Reader" << "SCL01x Contactless Reader";
QTest::newRow("ACS-ACR122U-windows-7.32") << UsbId(0x072F, 0x2200) << "ACS ACR122U PICC Interface 0" << "ACS ACR122U";
QTest::newRow("ACS-ACR122U-windows-7.64") << UsbId(0x072F, 0x2200) << "ACS ACR122U PICC Interface 0" << "ACS ACR122U";
QTest::newRow("ACS-ACR122U-windows-8.1") << UsbId(0x072F, 0x2200) << "ACS ACR122U PICC Interface 0" << "ACS ACR122U";
QTest::newRow("ACS-ACR122U-windows-10") << UsbId(0x072F, 0x2200) << "ACS ACR122U PICC Interface 0" << "ACS ACR122U";
QTest::newRow("ACS-ACR122U-macosx-10.11") << UsbId(0x072F, 0x2200) << "ACS ACR122U" << "ACS ACR122U";
QTest::newRow("ACS-ACR122U-macosx-10.10") << UsbId(0x072F, 0x2200) << "ACS ACR122U PICC Interface" << "ACS ACR122U";
QTest::newRow("ACS-ACR122U-macosx-10.11") << UsbId(0x072F, 0x2200) << "ACS ACR122U PICC Interface" << "ACS ACR122U";
QTest::newRow("ACS-ACR122U-macosx-10.12") << UsbId(0x072F, 0x2200) << "ACS ACR122U PICC Interface" << "ACS ACR122U";
QTest::newRow("ACS-ACR122U-macosx-10.13") << UsbId(0x072F, 0x2200) << "ACS ACR122U PICC Interface" << "ACS ACR122U";
QTest::newRow("ACS-ACR1281U-windows-7.32") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader 0" << "ACS ACR1281U";
QTest::newRow("ACS-ACR1281U-windows-7.64") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader 0" << "ACS ACR1281U";
QTest::newRow("ACS-ACR1281U-windows-8.1") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader 0" << "ACS ACR1281U";
QTest::newRow("ACS-ACR1281U-windows-10") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader 0" << "ACS ACR1281U";
QTest::newRow("ACS-ACR1281U-macosx-10.10") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader" << "ACS ACR1281U";
QTest::newRow("ACS-ACR1281U-macosx-10.11") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader" << "ACS ACR1281U";
QTest::newRow("ACS-ACR1281U-macosx-10.12") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader" << "ACS ACR1281U";
QTest::newRow("ACS-ACR1281U-macosx-10.13") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader" << "ACS ACR1281U";
QTest::newRow("ACS-ACR1252U-windows-8.1-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader PICC 0" << "ACS ACR1252U";
QTest::newRow("ACS-ACR1252U-windows-8.1-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader SAM 0" << "ACS ACR1252U";
QTest::newRow("ACS-ACR1252U-windows-10") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader" << "ACS ACR1252U";
QTest::newRow("ACS-ACR1252U-macosx-10.11-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader(1)" << "ACS ACR1252U";
QTest::newRow("ACS-ACR1252U-macosx-10.11-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader(2)" << "ACS ACR1252U";
QTest::newRow("ACS-ACR1252U-macosx-10.12-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader(1)" << "ACS ACR1252U";
QTest::newRow("ACS-ACR1252U-macosx-10.12-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader(2)" << "ACS ACR1252U";
QTest::newRow("ACS-ACR1252U-windows-7.32-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader PICC 0" << "ACS ACR1252U";
QTest::newRow("ACS-ACR1252U-windows-7.32-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader SAM 0" << "ACS ACR1252 1S CL Reader SAM 0";
QTest::newRow("ACS-ACR1252U-windows-7.64-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader PICC 0" << "ACS ACR1252U";
QTest::newRow("ACS-ACR1252U-windows-7.64-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader SAM 0" << "ACS ACR1252 1S CL Reader SAM 0";
QTest::newRow("ACS-ACR1252U-windows-8.1-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader PICC 0" << "ACS ACR1252U";
QTest::newRow("ACS-ACR1252U-windows-8.1-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader SAM 0" << "ACS ACR1252 1S CL Reader SAM 0";
QTest::newRow("ACS-ACR1252U-windows-10-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader PICC 0" << "ACS ACR1252U";
QTest::newRow("ACS-ACR1252U-windows-10-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader SAM 0" << "ACS ACR1252 1S CL Reader SAM 0";
QTest::newRow("ACS-ACR1252U-macosx-10.10-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader(1)" << "ACS ACR1252U";
QTest::newRow("ACS-ACR1252U-macosx-10.10-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader(2)" << "ACS ACR1252U";
QTest::newRow("ACS-ACR1252U-macosx-10.11-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader(1)" << "ACS ACR1252U";
QTest::newRow("ACS-ACR1252U-macosx-10.11-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader(2)" << "ACS ACR1252U";
QTest::newRow("ACS-ACR1252U-macosx-10.12-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader(1)" << "ACS ACR1252U";
QTest::newRow("ACS-ACR1252U-macosx-10.12-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader(2)" << "ACS ACR1252U";
QTest::newRow("ACS-ACR1252U-macosx-10.13-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader(1)" << "ACS ACR1252U";
QTest::newRow("ACS-ACR1252U-macosx-10.13-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader(2)" << "ACS ACR1252U";
QTest::newRow("OMNIKEY 5021-windows-7.32") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5021-CL";
QTest::newRow("OMNIKEY 5021-windows-7.64") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5021-CL";
QTest::newRow("OMNIKEY 5021-windows-8.1") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5021-CL";
QTest::newRow("OMNIKEY 5021-windows-10") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5021-CL";
QTest::newRow("OMNIKEY 5021-macosx-10.10") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan (076B:5340) 5021 CL" << "OMNIKEY 5021-CL";
QTest::newRow("OMNIKEY 5021-macosx-10.11") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan (076B:5340) 5021 CL" << "OMNIKEY 5021-CL";
QTest::newRow("OMNIKEY 5021-macosx-10.12") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan (076B:5340) 5021 CL" << "OMNIKEY 5021-CL";
QTest::newRow("OMNIKEY 5021-macosx-10.13") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan (076B:5340) 5021 CL" << "OMNIKEY 5021-CL";
QTest::newRow("OMNIKEY 5321 v2-windows-7-32") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0";
QTest::newRow("OMNIKEY 5321 v2-windows-7-32") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5321 v2";
QTest::newRow("OMNIKEY 5321 v2-windows-7-64") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0";
QTest::newRow("OMNIKEY 5321 v2-windows-7-64") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5321 v2";
QTest::newRow("OMNIKEY 5321 v2-windows-8.1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0";
QTest::newRow("OMNIKEY 5321 v2-windows-8.1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5321 v2";
QTest::newRow("OMNIKEY 5321 v2-windows-10") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0";
QTest::newRow("OMNIKEY 5321 v2-windows-10") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5321 v2";
QTest::newRow("OMNIKEY 5321 v2-macosx-10.11") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5321" << "OMNIKEY CardMan 5321";
QTest::newRow("OMNIKEY 5022-windows-7.32") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader 0" << "OMNIKEY 5022-CL";
QTest::newRow("OMNIKEY 5022-windows-7.64") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader 0" << "OMNIKEY 5022-CL";
QTest::newRow("OMNIKEY 5022-windows-8.1") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader 0" << "OMNIKEY 5022-CL";
QTest::newRow("OMNIKEY 5022-windows-10") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader 0" << "OMNIKEY 5022-CL";
QTest::newRow("OMNIKEY 5022-macosx-10.10") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader" << "OMNIKEY 5022-CL";
QTest::newRow("OMNIKEY 5022-macosx-10.11") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader" << "OMNIKEY 5022-CL";
QTest::newRow("OMNIKEY 5022-macosx-10.12") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader" << "OMNIKEY 5022-CL";
QTest::newRow("OMNIKEY 5022-macosx-10.13") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader" << "OMNIKEY 5022-CL";
QTest::newRow("OMNIKEY 5321 v2-windows-7.32-1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0";
QTest::newRow("OMNIKEY 5321 v2-windows-7.32-2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5321 v2";
QTest::newRow("OMNIKEY 5321 v2-windows-7.64-1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0";
QTest::newRow("OMNIKEY 5321 v2-windows-7.64-2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5321 v2";
QTest::newRow("OMNIKEY 5321 v2-windows-8.1-1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0";
QTest::newRow("OMNIKEY 5321 v2-windows-8.1-2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5321 v2";
QTest::newRow("OMNIKEY 5321 v2-windows-10.1-1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0";
QTest::newRow("OMNIKEY 5321 v2-windows-10.1-2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5321 v2";
QTest::newRow("OMNIKEY 5321 v2-macosx-10.10-1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(1)" << "OMNIKEY 5321 v2";
QTest::newRow("OMNIKEY 5321 v2-macosx-10.10-2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(2)" << "OMNIKEY 5321 v2";
QTest::newRow("OMNIKEY 5321 v2-macosx-10.11-1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(1)" << "OMNIKEY 5321 v2";
QTest::newRow("OMNIKEY 5321 v2-macosx-10.11-2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(2)" << "OMNIKEY 5321 v2";
QTest::newRow("OMNIKEY 5321 v2-macosx-10.12-1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(1)" << "OMNIKEY 5321 v2";
QTest::newRow("OMNIKEY 5321 v2-macosx-10.12-2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(2)" << "OMNIKEY 5321 v2";
QTest::newRow("OMNIKEY 5321 v2-macosx-10.13-1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(1)" << "OMNIKEY 5321 v2";
QTest::newRow("OMNIKEY 5321 v2-macosx-10.13-2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(2)" << "OMNIKEY 5321 v2";
QTest::newRow("OMNIKEY 5421-windows-8.1") << UsbId(0x076B, 0x5421) << "OMNIKEY Smart Card Reader USB 0" << "OMNIKEY 5421";
QTest::newRow("OMNIKEY 5421-windows-10") << UsbId(0x076B, 0x5421) << "OMNIKEY Smart Card Reader USB 0" << "OMNIKEY 5421";
QTest::newRow("OMNIKEY 5421-windows-7.1-1") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0";
QTest::newRow("OMNIKEY 5421-windows-7.1-2") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5421";
QTest::newRow("OMNIKEY 5421-windows-8.1-1") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0";
QTest::newRow("OMNIKEY 5421-windows-8.1-2") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5421";
QTest::newRow("OMNIKEY 5421-windows-10.1-1") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0";
QTest::newRow("OMNIKEY 5421-windows-10.1-2") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5421";
QTest::newRow("OMNIKEY 5421-macosx-10.10-1") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(1)" << "OMNIKEY 5421";
QTest::newRow("OMNIKEY 5421-macosx-10.10-2") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(2)" << "OMNIKEY 5421";
QTest::newRow("OMNIKEY 5421-macosx-10.11-1") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(1)" << "OMNIKEY 5421";
QTest::newRow("OMNIKEY 5421-macosx-10.11-2") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(2)" << "OMNIKEY 5421";
QTest::newRow("OMNIKEY 5421-macosx-10.12-1") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(1)" << "OMNIKEY 5421";
QTest::newRow("OMNIKEY 5421-macosx-10.12-2") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(2)" << "OMNIKEY 5421";
QTest::newRow("OMNIKEY 5421-macosx-10.13-1") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(1)" << "OMNIKEY 5421";
QTest::newRow("OMNIKEY 5421-macosx-10.13-2") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(2)" << "OMNIKEY 5421";
QTest::newRow("FEIG OBID myAXXESS RFID-Reader-windows-7.32") << UsbId(0x0AB1, 0x0003) << "FEIG ELECTRONIC GmbH OBID myAXXESS basic Slot:CL 358334430" << "OBID RFID-Reader";
QTest::newRow("FEIG OBID myAXXESS RFID-Reader-windows-7.64") << UsbId(0x0AB1, 0x0003) << "FEIG ELECTRONIC GmbH OBID myAXXESS basic Slot:CL 358334430" << "OBID RFID-Reader";
QTest::newRow("FEIG OBID myAXXESS RFID-Reader-windows-8.1") << UsbId(0x0AB1, 0x0003) << "FEIG ELECTRONIC GmbH OBID myAXXESS basic Slot:CL 358334430" << "OBID RFID-Reader";
QTest::newRow("FEIG OBID myAXXESS RFID-Reader-windows-10") << UsbId(0x0AB1, 0x0003) << "FEIG ELECTRONIC GmbH OBID myAXXESS basic" << "OBID RFID-Reader";
QTest::newRow("FEIG OBID myAXXESS RFID-Reader-windows-10.1") << UsbId(0x0AB1, 0x0003) << "FEIG ELECTRONIC GmbH OBID myAXXESS basic Slot:CL 358334430" << "OBID RFID-Reader";
QTest::newRow("Gemalto-Prox-DU-windows-7-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contact_10900383 0" << "Gemalto Prox-DU Contact_10900383 0";
QTest::newRow("Gemalto-Prox-DU-windows-7-2") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contactless_10900383 0" << "Prox-DU HID";
QTest::newRow("Gemalto-Prox-DU-windows-7.32-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contact_10900383 0" << "Gemalto Prox-DU Contact_10900383 0";
QTest::newRow("Gemalto-Prox-DU-windows-7.32-2") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contactless_10900383 0" << "Prox-DU HID";
QTest::newRow("Gemalto-Prox-DU-windows-7.64-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contact_10900383 0" << "Gemalto Prox-DU Contact_10900383 0";
QTest::newRow("Gemalto-Prox-DU-windows-7.64-2") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contactless_10900383 0" << "Prox-DU HID";
QTest::newRow("Gemalto-Prox-DU-windows-8.1-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contact_10900383 0" << "Gemalto Prox-DU Contact_10900383 0";
QTest::newRow("Gemalto-Prox-DU-windows-8.1-2") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contactless_10900383 0" << "Prox-DU HID";
QTest::newRow("Gemalto-Prox-DU-windows-10-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU" << "Prox-DU HID";
QTest::newRow("Gemalto-Prox-DU-windows-10-2") << UsbId(0x08E6, 0x5503) << "Gemalto Prox Dual" << "Prox-DU HID";
QTest::newRow("Gemalto-Prox-DU-windows-10-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contact_10900383 0" << "Gemalto Prox-DU Contact_10900383 0";
QTest::newRow("Gemalto-Prox-DU-windows-10-2") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contactless_10900383 0l" << "Prox-DU HID";
QTest::newRow("Gemalto-Prox-DU-windows-macosx-10.10-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox Dual USB PC LinkReader(1)" << "Prox-DU HID";
QTest::newRow("Gemalto-Prox-DU-windows-macosx-10.10-2") << UsbId(0x08E6, 0x5503) << "Gemalto Prox Dual USB PC LinkReader(2)" << "Prox-DU HID";
QTest::newRow("Gemalto-Prox-DU-windows-macosx-10.11-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox Dual USB PC Link Reader(1)" << "Prox-DU HID";
@ -244,46 +318,71 @@ class test_ReaderConfiguration
QTest::newRow("Gemalto-Prox-DU-windows-macosx-10.13-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox Dual USB PC Link Reader(1)" << "Prox-DU HID";
QTest::newRow("Gemalto-Prox-DU-windows-macosx-10.13-2") << UsbId(0x08E6, 0x5503) << "Gemalto Prox Dual USB PC Link Reader(2)" << "Prox-DU HID";
QTest::newRow("Gemalto-Prox-SU-windows-7-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contact_10800004 0" << "Gemalto Prox-SU Contact_10800004 0";
QTest::newRow("Gemalto-Prox-SU-windows-7-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contactless_10800004 0" << "Gemalto Prox-SU Contactless";
QTest::newRow("Gemalto-Prox-SU-windows-8.1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contactless_10800004 0" << "Gemalto Prox-SU Contactless";
QTest::newRow("Gemalto-Prox-SU-windows-10-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU" << "Gemalto Prox-SU Contactless";
QTest::newRow("Gemalto-Prox-SU-windows-10-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU" << "Gemalto Prox-SU Contactless";
QTest::newRow("Gemalto-Prox-SU-windows-7.32-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contact_10800004 0" << "Gemalto Prox-SU Contact_10800004 0";
QTest::newRow("Gemalto-Prox-SU-windows-7.32-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contactless_10800004 0" << "Gemalto Prox-SU Contactless";
QTest::newRow("Gemalto-Prox-SU-windows-7.64-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contact_10800004 0" << "Gemalto Prox-SU Contact_10800004 0";
QTest::newRow("Gemalto-Prox-SU-windows-7.64-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contactless_10800004 0" << "Gemalto Prox-SU Contactless";
QTest::newRow("Gemalto-Prox-SU-windows-8.1-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contact_10800004 0" << "Gemalto Prox-SU Contact_10800004 0";
QTest::newRow("Gemalto-Prox-SU-windows-8.1-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contactless_10800004 0" << "Gemalto Prox-SU Contactless";
QTest::newRow("Gemalto-Prox-SU-windows-10-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contact_10800004 0" << "Gemalto Prox-SU Contact_10800004 0";
QTest::newRow("Gemalto-Prox-SU-windows-10-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contactless_10800004 0" << "Gemalto Prox-SU Contactless";
QTest::newRow("Gemalto-Prox-SU-windows-macosx-10.10-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU USB PC LinkReader(1)" << "Gemalto Prox-SU Contactless";
QTest::newRow("Gemalto-Prox-SU-windows-macosx-10.10-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU USB PC LinkReader(2)" << "Gemalto Prox-SU Contactless";
QTest::newRow("Gemalto-Prox-SU-windows-macosx-10.11-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU USB PC LinkReader(1)" << "Gemalto Prox-SU Contactless";
QTest::newRow("Gemalto-Prox-SU-windows-macosx-10.11-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU USB PC LinkReader(2)" << "Gemalto Prox-SU Contactless";
QTest::newRow("Gemalto-Prox-SU-windows-macosx-10.12-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU USB PC LinkReader(1)" << "Gemalto Prox-SU Contactless";
QTest::newRow("Gemalto-Prox-SU-windows-macosx-10.12-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU USB PC LinkReader(2)" << "Gemalto Prox-SU Contactless";
QTest::newRow("Gemalto-Prox-SU-windows-macosx-10.13-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU USB PC LinkReader(1)" << "Gemalto Prox-SU Contactless";
QTest::newRow("Gemalto-Prox-SU-windows-macosx-10.13-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU USB PC LinkReader(2)" << "Gemalto Prox-SU Contactless";
QTest::newRow("Identiv-SCL-3711-windows-7.32") << UsbId(0x04E6, 0x5591) << "SCM Microsystems SCL3711 reader & NFC device 0" << "Identiv SCL3711";
QTest::newRow("Identiv-SCL-3711-windows-7.64") << UsbId(0x04E6, 0x5591) << "SCM Microsystems SCL3711 reader & NFC device 0" << "Identiv SCL3711";
QTest::newRow("Identiv-SCL-3711-windows-8.1") << UsbId(0x04E6, 0x5591) << "SCM Microsystems SCL3711 reader & NFC device 0" << "Identiv SCL3711";
QTest::newRow("Identiv-SCL-3711-windows-10") << UsbId(0x04E6, 0x5591) << "Identiv SCL3711" << "Identiv SCL3711";
QTest::newRow("Identiv-SCL-3711-windows-10") << UsbId(0x04E6, 0x5591) << "SCM Microsystems SCL3711 reader & NFC device 0" << "Identiv SCL3711";
QTest::newRow("Identiv-SCL-3711-macosx-10.10") << UsbId(0x04E6, 0x5591) << "SCL3711 reader and NFC device" << "Identiv SCL3711";
QTest::newRow("Identiv-Cloud-3700-F-windows-7.32") << UsbId(0x04E6, 0x5790) << "Identiv CLOUD 3700 F Contactless Reader 0" << "Identiv Cloud 3700 F";
QTest::newRow("Identiv-Cloud-3700-F-windows-7.64") << UsbId(0x04E6, 0x5790) << "Identiv CLOUD 3700 F Contactless Reader 0" << "Identiv Cloud 3700 F";
QTest::newRow("Identiv-Cloud-3700-F-windows-8.1") << UsbId(0x04E6, 0x5790) << "Identiv CLOUD 3700 F Contactless Reader 0" << "Identiv Cloud 3700 F";
QTest::newRow("Identiv-Cloud-3700-F-windows-10-1") << UsbId(0x04E6, 0x5790) << "CLOUD 3700 F Contactless Reader" << "Identiv Cloud 3700 F";
QTest::newRow("Identiv-Cloud-3700-F-windows-10-2") << UsbId(0x04E6, 0x5790) << "CLOUD 3700 F Contact Reader" << "CLOUD 3700 F Contact Reader";
QTest::newRow("Identiv-Cloud-3700-F-windows-10") << UsbId(0x04E6, 0x5790) << "Identiv CLOUD 3700 F Contactless Reader 0" << "Identiv Cloud 3700 F";
QTest::newRow("Identiv-Cloud-3700-F-macosx-10.10") << UsbId(0x04E6, 0x5790) << "Identiv uTrust 3700 F CL Reader" << "Identiv Cloud 3700 F";
QTest::newRow("Identiv-Cloud-3700-F-macosx-10.11") << UsbId(0x04E6, 0x5790) << "Identiv uTrust 3700 F CL Reader" << "Identiv Cloud 3700 F";
QTest::newRow("Identiv-Cloud-3700-F-macosx-10.12") << UsbId(0x04E6, 0x5790) << "Identiv uTrust 3700 F CL Reader" << "Identiv Cloud 3700 F";
QTest::newRow("Identiv-Cloud-3700-F-macosx-10.13") << UsbId(0x04E6, 0x5790) << "Identiv uTrust 3700 F CL Reader" << "Identiv Cloud 3700 F";
QTest::newRow("Identiv-Cloud-4700-F-windows-8.1-1") << UsbId(0x04E6, 0x5720) << "Identive CLOUD 4700 F Contactless Reader 0" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-windows-8.1-2") << UsbId(0x04E6, 0x5720) << "Identive CLOUD 4700 F Contact Reader 0" << "Identive CLOUD 4700 F Contact Reader 0";
QTest::newRow("Identiv-Cloud-4700-F-windows-10-1") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contactless Reader 0" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-windows-10-2") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contact Reader 0" << "Identiv CLOUD 4700 F Contact Reader 0";
QTest::newRow("Identiv-Cloud-4700-F-macosx-10.10-1") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(1)" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-macosx-10.10-2") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(2)" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-macosx-10.11-1") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(1)" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-macosx-10.11-2") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(2)" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-macosx-10.12-1") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(1)" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-macosx-10.12-2") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(2)" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-windows-7.32-1") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contact Reader 0" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-windows-7.32-2") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contactless Reader 1" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-windows-7.64-1") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contact Reader 0" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-windows-7.64-2") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contactless Reader 1" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-windows-8.1-1") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contact Reader 0" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-windows-8.1-2") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contactless Reader 1" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-windows-10-1") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contact Reader 0" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-windows-10-2") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contactless Reader 1" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-macosx-10.10-1") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(2)" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-macosx-10.10-2") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(1)" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-macosx-10.11-1") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(2)" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-macosx-10.11-2") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(1)" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-macosx-10.12-1") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(2)" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-macosx-10.12-2") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(1)" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-macosx-10.13-1") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(2)" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4700-F-macosx-10.13-2") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(1)" << "Identiv Cloud 4700 F";
QTest::newRow("Identiv-Cloud-4701-F-windows-8.1-1") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contactless Reader 0" << "Identiv Cloud 4701 F";
QTest::newRow("Identiv-Cloud-4701-F-windows-8.1-2") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contact Reader 0" << "Identiv CLOUD 4701 F Contact Reader 0";
QTest::newRow("Identiv-Cloud-4701-F-windows-10-1") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contactless Reader 0" << "Identiv Cloud 4701 F";
QTest::newRow("Identiv-Cloud-4701-F-windows-10-2") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contact Reader 0" << "Identiv CLOUD 4701 F Contact Reader 0";
QTest::newRow("Identiv-Cloud-4700-F-windows-7.32-1") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contact Reader 0" << "Identiv Cloud 4701 F";
QTest::newRow("Identiv-Cloud-4701-F-windows-7.32-2") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contactless Reader 1" << "Identiv Cloud 4701 F";
QTest::newRow("Identiv-Cloud-4700-F-windows-7.64-1") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contact Reader 0" << "Identiv Cloud 4701 F";
QTest::newRow("Identiv-Cloud-4701-F-windows-7.64-2") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contactless Reader 1" << "Identiv Cloud 4701 F";
QTest::newRow("Identiv-Cloud-4701-F-windows-8.1-1") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contact Reader 0" << "Identiv Cloud 4701 F";
QTest::newRow("Identiv-Cloud-4701-F-windows-8.1-2") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contactless Reader 1" << "Identiv Cloud 4701 F";
QTest::newRow("Identiv-Cloud-4701-F-windows-10-1") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contact Reader 0" << "Identiv Cloud 4701 F";
QTest::newRow("Identiv-Cloud-4701-F-windows-10-2") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contactless Reader 1" << "Identiv Cloud 4701 F";
QTest::newRow("Identiv-Cloud-4701-F-macosx-10.10-1") << UsbId(0x04E6, 0x5724) << "Identiv uTrust 4701 F Dual Interface Reader(1)" << "Identiv Cloud 4701 F";
QTest::newRow("Identiv-Cloud-4701-F-macosx-10.10-2") << UsbId(0x04E6, 0x5724) << "Identiv uTrust 4701 F Dual Interface Reader(2)" << "Identiv Cloud 4701 F";
QTest::newRow("Identiv-Cloud-4701-F-macosx-10.11-1") << UsbId(0x04E6, 0x5724) << "Identiv uTrust 4701 F Dual Interface Reader(1)" << "Identiv Cloud 4701 F";
QTest::newRow("Identiv-Cloud-4701-F-macosx-10.11-2") << UsbId(0x04E6, 0x5724) << "Identiv uTrust 4701 F Dual Interface Reader(2)" << "Identiv Cloud 4701 F";
QTest::newRow("Identiv-Cloud-4701-F-macosx-10.12-1") << UsbId(0x04E6, 0x5724) << "Identiv uTrust 4701 F Dual Interface Reader(1)" << "Identiv Cloud 4701 F";
QTest::newRow("Identiv-Cloud-4701-F-macosx-10.12-2") << UsbId(0x04E6, 0x5724) << "Identiv uTrust 4701 F Dual Interface Reader(2)" << "Identiv Cloud 4701 F";
QTest::newRow("Identiv-Cloud-4701-F-macosx-10.13-1") << UsbId(0x04E6, 0x5724) << "Identiv uTrust 4701 F Dual Interface Reader(1)" << "Identiv Cloud 4701 F";
QTest::newRow("Identiv-Cloud-4701-F-macosx-10.13-2") << UsbId(0x04E6, 0x5724) << "Identiv uTrust 4701 F Dual Interface Reader(2)" << "Identiv Cloud 4701 F";
QTest::newRow("Cherry-TC-1200-windows-7-64") << UsbId(0x046A, 0x0091) << "Cherry Smartcard Terminal TC 12xx-CL 0" << "Cherry TC-1200";
QTest::newRow("Cherry-TC-1200-windows-8.1-1") << UsbId(0x046A, 0x0091) << "Cherry Smartcard Terminal TC 12xx-CL 0" << "Cherry TC-1200";
@ -307,6 +406,24 @@ class test_ReaderConfiguration
QTest::newRow("Cherry-TC-1300-macosx-10.13-1") << UsbId(0x046A, 0x0092) << "Cherry SC Reader (046A:0092)(1)" << "Cherry TC-1300";
QTest::newRow("Cherry-TC-1300-macosx-10.13-2") << UsbId(0x046A, 0x0092) << "Cherry SC Reader (046A:0092)(2)" << "Cherry TC-1300";
QTest::newRow("Cherry-TC-1300-linux") << UsbId(0x046A, 0x0092) << "Cherry TC 1300" << "Cherry TC-1300";
QTest::newRow("Cherry-ST-1275-windows-7.32-1") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X 0" << "Cherry SmartTerminal XX7X 0";
QTest::newRow("Cherry-ST-1275-windows-7.32-2") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X-RF 0" << "Cherry ST-1275";
QTest::newRow("Cherry-ST-1275-windows-7.64-1") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X 0" << "Cherry SmartTerminal XX7X 0";
QTest::newRow("Cherry-ST-1275-windows-7.64-2") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X-RF 0" << "Cherry ST-1275";
QTest::newRow("Cherry-ST-1275-windows-8.1-1") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X 0" << "Cherry SmartTerminal XX7X 0";
QTest::newRow("Cherry-ST-1275-windows-8.1-2") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X-RF 0" << "Cherry ST-1275";
QTest::newRow("Cherry-ST-1275-windows-10.1") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X 0" << "Cherry SmartTerminal XX7X 0";
QTest::newRow("Cherry-ST-1275-windows-10.2") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X-RF 0" << "Cherry ST-1275";
QTest::newRow("Signotec Omega Pad-windows-7.32") << UsbId(0x2133, 0x010B) << "NXP PR533 0" << "Signotec Omega Pad";
QTest::newRow("Signotec Omega Pad-windows-7.64") << UsbId(0x2133, 0x010B) << "NXP PR533 0" << "Signotec Omega Pad";
QTest::newRow("Signotec Omega Pad-windows-8.1") << UsbId(0x2133, 0x010B) << "NXP PR533 0" << "Signotec Omega Pad";
QTest::newRow("Signotec Omega Pad-windows-10") << UsbId(0x2133, 0x010B) << "NXP PR533 0" << "Signotec Omega Pad";
QTest::newRow("Signotec Omega Pad-macosx-10.10") << UsbId(0x2133, 0x010B) << "NXP PR533" << "Signotec Omega Pad";
QTest::newRow("Signotec Omega Pad-macosx-10.11") << UsbId(0x2133, 0x010B) << "NXP PR533" << "Signotec Omega Pad";
QTest::newRow("Signotec Omega Pad-macosx-10.12") << UsbId(0x2133, 0x010B) << "NXP PR533" << "Signotec Omega Pad";
QTest::newRow("Signotec Omega Pad-macosx-10.13") << UsbId(0x2133, 0x010B) << "NXP PR533" << "Signotec Omega Pad";
}
@ -325,7 +442,7 @@ class test_ReaderConfiguration
void uniqueNames()
{
QSet<QString> readerNames;
for (const auto& readerSettingsInfo : qAsConst(ReaderConfiguration::getInstance().getReaderConfigurationInfos()))
for (const auto& readerSettingsInfo : qAsConst(Env::getSingleton<ReaderConfiguration>()->getReaderConfigurationInfos()))
{
readerNames += readerSettingsInfo.getName();
}
@ -335,7 +452,7 @@ class test_ReaderConfiguration
void forbidEmptyFields()
{
for (const auto& readerSettingsInfo : qAsConst(ReaderConfiguration::getInstance().getReaderConfigurationInfos()))
for (const auto& readerSettingsInfo : qAsConst(Env::getSingleton<ReaderConfiguration>()->getReaderConfigurationInfos()))
{
QVERIFY(!readerSettingsInfo.getName().isEmpty());
QVERIFY(!readerSettingsInfo.getPattern().isEmpty());
@ -348,7 +465,7 @@ class test_ReaderConfiguration
};
const int test_ReaderConfiguration::cCardReadersInConfigurationFile = 23;
const int test_ReaderConfiguration::cCardReadersInConfigurationFile = 26;
QTEST_GUILESS_MAIN(test_ReaderConfiguration)
#include "test_ReaderConfiguration.moc"

View File

@ -170,7 +170,7 @@ class test_ReaderConfigurationParser
{
// Key with index skipIndex is not in the test Json data.
const QString devicesPair = jsonSingleDeviceString(incompleteKeyValuePairs(skipIndex,
/* skipOnlyValue */false));
/* skipOnlyValue */ false));
const QByteArray data = jsonDataString(devicesPair).toUtf8();
QCOMPARE(ReaderConfigurationParser::parse(data).size(), 0);
@ -181,7 +181,7 @@ class test_ReaderConfigurationParser
{
// Key with index skipIndex is in the test Json data but has the invalid value ""
const QString devicesPair = jsonSingleDeviceString(incompleteKeyValuePairs(skipIndex,
/* skipOnlyValue */true));
/* skipOnlyValue */ true));
const QByteArray data = jsonDataString(devicesPair).toUtf8();
QCOMPARE(ReaderConfigurationParser::parse(data).size(), 0);

View File

@ -1,4 +1,4 @@
# Uncrustify-0.66.1_f
# Uncrustify-0.67_f
newlines = lf
input_tab_size = 4
output_tab_size = 4
@ -39,6 +39,7 @@ sp_before_ptr_star = remove
sp_before_unnamed_ptr_star = remove
sp_between_ptr_star = remove
sp_after_ptr_star = force
sp_after_ptr_block_caret = ignore
sp_after_ptr_star_qualifier = ignore
sp_after_ptr_star_func = force
sp_ptr_star_paren = ignore
@ -77,7 +78,9 @@ sp_after_semi_for = force
sp_after_semi_for_empty = remove
sp_before_square = ignore
sp_before_squares = ignore
sp_cpp_before_struct_binding = ignore
sp_inside_square = remove
sp_inside_square_oc_array = ignore
sp_after_comma = force
sp_before_comma = remove
sp_after_mdatype_commas = ignore
@ -100,6 +103,7 @@ sp_sizeof_paren = remove
sp_after_tag = remove
sp_inside_braces_enum = remove
sp_inside_braces_struct = remove
sp_inside_braces_oc_dict = ignore
sp_after_type_brace_init_lst_open = ignore
sp_before_type_brace_init_lst_close = ignore
sp_inside_type_brace_init_lst = ignore
@ -117,10 +121,13 @@ sp_inside_tparen = ignore
sp_after_tparen_close = ignore
sp_square_fparen = remove
sp_fparen_brace = remove
sp_fparen_brace_initializer = ignore
sp_fparen_dbrace = ignore
sp_func_call_paren = remove
sp_func_call_paren_empty = remove
sp_func_call_user_paren = ignore
sp_func_call_user_inside_fparen = ignore
sp_func_call_user_paren_paren = ignore
sp_func_class_paren = remove
sp_func_class_paren_empty = ignore
sp_return_paren = remove
@ -129,6 +136,7 @@ sp_defined_paren = ignore
sp_throw_paren = remove
sp_after_throw = ignore
sp_catch_paren = force
sp_oc_catch_paren = ignore
sp_version_paren = ignore
sp_scope_paren = ignore
sp_super_paren = remove
@ -139,7 +147,9 @@ sp_else_brace = ignore
sp_brace_else = ignore
sp_brace_typedef = ignore
sp_catch_brace = ignore
sp_oc_catch_brace = ignore
sp_brace_catch = ignore
sp_oc_brace_catch = ignore
sp_finally_brace = ignore
sp_brace_finally = ignore
sp_try_brace = ignore
@ -173,6 +183,7 @@ sp_before_oc_block_caret = ignore
sp_after_oc_block_caret = ignore
sp_after_oc_msg_receiver = ignore
sp_after_oc_property = ignore
sp_after_oc_synchronized = ignore
sp_cond_colon = force
sp_cond_colon_before = ignore
sp_cond_colon_after = ignore
@ -199,9 +210,11 @@ sp_before_tr_emb_cmt = ignore
sp_num_before_tr_emb_cmt = 0
sp_annotation_paren = ignore
sp_skip_vbrace_tokens = false
sp_after_noexcept = ignore
force_tab_after_define = false
indent_columns = 4
indent_continue = 8
indent_single_newlines = false
indent_param = 0
indent_with_tabs = 2
indent_cmt_with_tabs = false
@ -215,6 +228,7 @@ indent_braces_no_struct = false
indent_brace_parent = false
indent_paren_open_brace = true
indent_cs_delegate_brace = false
indent_cs_delegate_body = false
indent_namespace = false
indent_namespace_single_indent = false
indent_namespace_level = 0
@ -241,6 +255,7 @@ indent_func_param_double = true
indent_func_const = 0
indent_func_throw = 0
indent_member = 0
indent_member_single = false
indent_sing_line_comments = 0
indent_relative_single_line_comments = false
indent_switch_case = 4
@ -258,10 +273,13 @@ indent_paren_after_func_decl = false
indent_paren_after_func_call = false
indent_comma_paren = false
indent_bool_paren = false
indent_semicolon_for_paren = false
indent_first_bool_expr = false
indent_first_for_expr = false
indent_square_nl = false
indent_preserve_sql = false
indent_align_assign = true
indent_align_paren = true
indent_oc_block = false
indent_oc_block_msg = 0
indent_oc_msg_colon = 0
@ -277,24 +295,30 @@ indent_token_after_brace = true
indent_cpp_lambda_body = true
indent_using_block = true
indent_ternary_operator = 0
indent_off_after_return_new = false
indent_single_after_return = false
indent_ignore_asm_block = false
nl_collapse_empty_body = false
nl_assign_leave_one_liners = false
nl_class_leave_one_liners = false
nl_enum_leave_one_liners = false
nl_getset_leave_one_liners = false
nl_cs_property_leave_one_liners = false
nl_func_leave_one_liners = false
nl_cpp_lambda_leave_one_liners = true
nl_if_leave_one_liners = false
nl_while_leave_one_liners = false
nl_oc_msg_leave_one_liner = false
nl_oc_block_brace = ignore
nl_oc_interface_brace = ignore
nl_oc_implementation_brace = ignore
nl_start_of_file = remove
nl_start_of_file_min = 0
nl_end_of_file = add
nl_end_of_file_min = 0
nl_assign_brace = remove
nl_assign_square = ignore
nl_tsquare_brace = ignore
nl_after_square_assign = ignore
nl_func_var_def_blk = 0
nl_typedef_blk_start = 0
@ -323,7 +347,9 @@ nl_try_brace = force
nl_getset_brace = force
nl_for_brace = force
nl_catch_brace = force
nl_oc_catch_brace = ignore
nl_brace_catch = force
nl_oc_brace_catch = ignore
nl_brace_square = ignore
nl_brace_fparen = ignore
nl_while_brace = force
@ -398,6 +424,7 @@ nl_after_brace_close = true
nl_after_vbrace_close = true
nl_brace_struct_var = ignore
nl_define_macro = false
nl_squeeze_paren_close = false
nl_squeeze_ifdef = false
nl_squeeze_ifdef_top_level = false
nl_before_if = ignore
@ -418,9 +445,11 @@ nl_before_func_class_def = 0
nl_before_func_class_proto = 0
nl_class_colon = force
nl_constr_colon = ignore
nl_namespace_two_to_one_liner = false
nl_create_if_one_liner = false
nl_create_for_one_liner = false
nl_create_while_one_liner = false
nl_create_func_def_one_liner = false
nl_split_if_one_liner = false
nl_split_for_one_liner = false
nl_split_while_one_liner = false
@ -606,6 +635,7 @@ include_category_1 = ""
include_category_2 = ""
use_indent_func_call_param = true
use_indent_continue_only_once = false
indent_cpp_lambda_only_once = false
use_options_overriding_for_qt_macros = true
warn_level_tabs_found_in_verbatim_string_literals = 2
macro-open ASN1_ITEM_TEMPLATE