25 Commits

Author SHA1 Message Date
a734ceff71 Release 1.94.1 2021-11-03 15:34:26 +01:00
0595f416f9 data: Fix udev event delivery for systemd service
PrivateNetwork=true is a bad idea, as it means that udev events cannot
be delivered. Remove it, we already restrict the address families
sufficiently anyway.

Closes: #119
2021-11-03 10:46:03 +00:00
38c21e3952 Fix typo in 0.5.1 release notes 2021-11-02 15:13:05 +00:00
50943b1bd4 build: Do not use positional arguments in i18n.merge_file
This was never really used and it's breaking meson 60.
While this may just become a warning in 60.1, it's just better to avoid
using it.

See: https://github.com/mesonbuild/meson/issues/9441
2021-11-02 15:06:29 +00:00
245dcfa218 fix: fix typo in man page 2021-10-30 16:49:45 -03:00
090016fdcd Translated using Weblate (Spanish)
Currently translated at 100.0% (60 of 60 strings)

Co-authored-by: Emilio Herrera <ehespinosa57@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.fedoraproject.org/projects/fprintd/fprintd/es/
Translation: fprintd/fprintd
2021-10-03 17:05:10 +02:00
90babad082 Translated using Weblate (Croatian)
Currently translated at 100.0% (60 of 60 strings)

Co-authored-by: Gogo Gogsi <linux.hr@protonmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/fprintd/fprintd/hr/
Translation: fprintd/fprintd
2021-10-03 17:05:10 +02:00
47af2bada5 Update it.po 2021-09-15 15:26:45 +00:00
c1bc6b4da0 Translated using Weblate (Czech)
Currently translated at 100.0% (60 of 60 strings)

Co-authored-by: Pavel Borecki <pavel.borecki@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.fedoraproject.org/projects/fprintd/fprintd/cs/
Translation: fprintd/fprintd
2021-09-15 17:24:36 +02:00
0bb8271ede Translated using Weblate (German)
Currently translated at 100.0% (60 of 60 strings)

Co-authored-by: Ettore Atalan <atalanttore@googlemail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.fedoraproject.org/projects/fprintd/fprintd/de/
Translation: fprintd/fprintd
2021-09-15 17:24:36 +02:00
b393eddd4b Translated using Weblate (Croatian)
Currently translated at 100.0% (60 of 60 strings)

Co-authored-by: Gogo Gogsi <linux.hr@protonmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/fprintd/fprintd/hr/
Translation: fprintd/fprintd
2021-09-15 17:24:36 +02:00
2c9cf975a2 Translated using Weblate (Japanese)
Currently translated at 100.0% (60 of 60 strings)

Co-authored-by: Takuro Onoue <kusanaginoturugi@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.fedoraproject.org/projects/fprintd/fprintd/ja/
Translation: fprintd/fprintd
2021-09-15 17:24:36 +02:00
29a976b483 Translated using Weblate (Marathi)
Currently translated at 100.0% (60 of 60 strings)

Translated using Weblate (Marathi)

Currently translated at 5.0% (3 of 60 strings)

Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: girish joshi <girish946@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/fprintd/fprintd/mr/
Translation: fprintd/fprintd
2021-09-15 17:24:36 +02:00
7d4331b29a ci: Reference image directly for forks
Otherwise forks will not find the image and things fall apart (due to
the method of how we build the image).
2021-09-15 17:20:14 +02:00
b440acb57d tests: Use dbusmock start_system_bus instead of GLib server 2021-09-15 15:06:06 +00:00
0cf0fea902 tests: Better cleanup helper processes and objects
We were leaking the bus connections for the proxy objects. Also, now the
subprocesses will be forcefully killed at shutdown.
2021-09-15 15:06:06 +00:00
b3d6bf0825 tests: Set G_MESSAGES_DEBUG=all for daemon as it is needed
Otherwise executing the test script outside of the meson environment
will fail as the inhibitor test relies on being able to parse the log.
2021-09-15 15:06:06 +00:00
fc65055279 device: Always report selected finger if there is only one
If the user specified "any" finger, then we would mirror this back even
if there is only one finger available. Change it so that we act as if
that finger was passed explicitly, meaning we use the "verify" method
and also send the signal for the selected finger accordingly.
2021-09-15 15:00:14 +00:00
02468366b2 ci: Add patch to dependencies
Seems like this is not pulled in indirectly anymore.
2021-09-15 16:48:54 +02:00
3d309ea400 ci: Update to new FDO templates 2021-09-15 16:33:31 +02:00
b483edbe92 device.policy: Fix permission dialogue titles
Fix the action description for some actions which are used to both
enroll and delete fingerprints for users.

Closes: #116
2021-09-02 17:14:07 +02:00
e4c155d5b8 tests: Give fprintd some more time to be ready
While the delay inhibitor is grabbed almost immediately, this can be
slow enough to not have happened immediately after the bus name has been
registered. Add a generous timeout to prevent issues.
2021-08-25 15:27:26 +02:00
717a919996 tests: Make class cleanup more robust
Use addClassCleanup rather than doing cleanup in tearDownClass, which
may not be called in all cases.
2021-08-25 15:22:42 +02:00
e6fc854a9a tests: Use addCleanup to stop polkitd 2021-08-25 15:19:43 +02:00
5d7422e17a tests: Cleanup inhibitor fifo properly
Unlink the fifo itself and use addCleanup to close it.
2021-08-25 13:43:30 +02:00
17 changed files with 193 additions and 154 deletions

View File

@ -2,7 +2,7 @@ include:
- project: 'libfprint/libfprint'
ref: master
file: '/.gitlab-ci/libfprint-templates.yaml'
- project: 'wayland/ci-templates'
- project: 'freedesktop/ci-templates'
ref: master
file: '/templates/fedora.yml'
@ -10,6 +10,7 @@ variables:
extends: .libfprint_common_variables
FDO_DISTRIBUTION_TAG: latest
FDO_DISTRIBUTION_VERSION: rawhide
FDO_UPSTREAM_REPO: "libfprint/$CI_PROJECT_NAME"
FEDORA_IMAGE: "$CI_REGISTRY/libfprint/$CI_PROJECT_NAME/fedora/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG"
DEPENDENCIES: dbus-glib-devel
gcc
@ -21,6 +22,7 @@ variables:
libasan
libfprint-devel
meson
patch
pam-devel
polkit-devel
python3-dbusmock
@ -123,6 +125,7 @@ container_fedora_build:
- $FPRINT_CRON_TASK == "BUILD_CI_IMAGES"
variables:
GIT_STRATEGY: none # no need to pull the whole tree for rebuilding the image
FDO_FORCE_REBUILD: 1
# a list of packages to install
FDO_DISTRIBUTION_PACKAGES:
$DEPENDENCIES

15
NEWS
View File

@ -1,6 +1,19 @@
This file lists notable changes in each release. For the full history of all
changes, see ChangeLog.
Version 1.94.1:
API users, please adjust now to planned API changes in 2.0:
- EnrollStart will throw an error if the finger was enrolled already
- Interactive DBus authentication will only happen when requested
Highlights.
- Fix systemd unit so that udev hotplug events are processed
- Report back the selected finger if there is only one
- Change PolicyKit strings for clarity
- Various fixes to the testsuite
- Plenty of translation updates
Version 1.94.0:
API users, please adjust now to planned API changes in 2.0:
@ -158,7 +171,7 @@ version 0.6.0:
one reader available
version 0.5.1:
- Add max_tries and timeout arguments to PAM module
- Add max-tries and timeout arguments to PAM module
- Add ability to require the fingerprint for enrolled users
- Add "-f <finger>" option to enroll utilities

View File

@ -30,8 +30,8 @@
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C`
. ds C'
. ds C`
. ds C'
'br\}
.el\{\
. ds -- \|\(em\|
@ -196,10 +196,10 @@ Will list the user's enrolled fingerprints.
.RS 8
Will verify the user's fingerprints against the database.
.RE
.SS "fprintd-enroll"
.SS "fprintd-delete"
.IX Subsection "fprintd-enroll"
.RS 8
Will enroll the user's right index finger into the database.
Will delete the user's right index finger into the database.
.RE
.SH "AUTHOR"
.IX Header "AUTHOR"

View File

@ -79,11 +79,11 @@ Will verify the user's fingerprints against the database.
=back
=head2 fprintd-enroll
=head2 fprintd-delete
=over 8
Will enroll the user's right index finger into the database.
Will delete the user's right index finger into the database.
=back
@ -102,4 +102,3 @@ By default, fprintd stores the fingerprints in B</var/lib/fprint/>
=item B<gnome-control-center>
=back

View File

@ -21,7 +21,6 @@ PrivateTmp=true
SystemCallFilter=@system-service
# Network
PrivateNetwork=true
RestrictAddressFamilies=AF_UNIX AF_LOCAL AF_NETLINK
# Execute Mappings

View File

@ -24,7 +24,7 @@ if get_option('systemd')
endif
polkit_policy = 'net.reactivated.fprint.device.policy'
polkit_policy_target = i18n.merge_file(polkit_policy,
polkit_policy_target = i18n.merge_file(
input: '@0@.in'.format(polkit_policy),
output: polkit_policy,
po_dir: meson.source_root() / 'po',

View File

@ -20,8 +20,8 @@
</action>
<action id="net.reactivated.fprint.device.enroll">
<description>Enroll new fingerprints</description>
<message>Privileges are required to enroll new fingerprints.</message>
<description>Enroll or Delete fingerprints</description>
<message>Privileges are required to enroll or delete fingerprints.</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
@ -30,8 +30,8 @@
</action>
<action id="net.reactivated.fprint.device.setusername">
<description>Select a user to enroll</description>
<message>Privileges are required to enroll new fingerprints for other users.</message>
<description>Select a user to manage fingerprints for</description>
<message>Privileges are required to manage fingerprints for other users.</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>

View File

@ -1,5 +1,5 @@
project('fprintd', 'c',
version: '1.94.0',
version: '1.94.1',
license: 'GPLv2+',
default_options: [
'buildtype=debugoptimized',

View File

@ -4,21 +4,23 @@
#
# Translators:
# Marek Černocký <marek@manet.cz>, 2013
# Pavel Borecki <pavel.borecki@gmail.com>, 2021.
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-06-30 14:00+0200\n"
"PO-Revision-Date: 2017-09-19 09:08+0000\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech (http://www.transifex.com/freedesktop/fprintd/language/"
"cs/)\n"
"PO-Revision-Date: 2021-09-04 23:04+0000\n"
"Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>\n"
"Language-Team: Czech <https://translate.fedoraproject.org/projects/fprintd/"
"fprintd/cs/>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n "
"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
"X-Generator: Weblate 4.8\n"
#: data/net.reactivated.fprint.device.policy.in:13
msgid "Verify a fingerprint"
@ -275,13 +277,12 @@ msgstr "Sejměte prst a zkuste s ním přejet znovu"
#: pam/pam_fprintd.c:537
msgid "Verification timed out"
msgstr ""
msgstr "Překročen časový limit pro ověření"
#: pam/pam_fprintd.c:560
#, fuzzy
msgid "Failed to match fingerprint"
msgstr "Ověřit otisk prstů"
msgstr "Nepodařilo se najít shodu s otiskem"
#: pam/pam_fprintd.c:576
msgid "An unknown error occurred"
msgstr ""
msgstr "Došlo k neznámé chybě"

View File

@ -3,21 +3,22 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Ettore Atalan <atalanttore@googlemail.com>, 2014
# Ettore Atalan <atalanttore@googlemail.com>, 2014, 2021.
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-06-30 14:00+0200\n"
"PO-Revision-Date: 2017-09-19 09:08+0000\n"
"PO-Revision-Date: 2021-08-22 13:04+0000\n"
"Last-Translator: Ettore Atalan <atalanttore@googlemail.com>\n"
"Language-Team: German (http://www.transifex.com/freedesktop/fprintd/language/"
"de/)\n"
"Language-Team: German <https://translate.fedoraproject.org/projects/fprintd/"
"fprintd/de/>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.8\n"
#: data/net.reactivated.fprint.device.policy.in:13
msgid "Verify a fingerprint"
@ -281,13 +282,12 @@ msgstr ""
#: pam/pam_fprintd.c:537
msgid "Verification timed out"
msgstr ""
msgstr "Zeitüberschreitung bei der Verifizierung"
#: pam/pam_fprintd.c:560
#, fuzzy
msgid "Failed to match fingerprint"
msgstr "Einen Fingerabdruck überprüfen"
msgstr "Fehler beim Abgleich des Fingerabdrucks"
#: pam/pam_fprintd.c:576
msgid "An unknown error occurred"
msgstr ""
msgstr "Ein unbekannter Fehler ist aufgetreten"

View File

@ -6,20 +6,22 @@
# Adolfo Jayme Barrientos, 2015
# Adolfo Jayme Barrientos, 2014
# 0f759dd1ea6c4c76cedc299039ca4f23_7584d04 <454cc45058db9632179dc8079c0c1af3_5311>, 2012
# Emilio Herrera <ehespinosa57@gmail.com>, 2021.
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-06-30 14:00+0200\n"
"PO-Revision-Date: 2017-09-19 09:08+0000\n"
"Last-Translator: Adolfo Jayme Barrientos\n"
"Language-Team: Spanish (http://www.transifex.com/freedesktop/fprintd/"
"language/es/)\n"
"PO-Revision-Date: 2021-09-30 15:05+0000\n"
"Last-Translator: Emilio Herrera <ehespinosa57@gmail.com>\n"
"Language-Team: Spanish <https://translate.fedoraproject.org/projects/fprintd/"
"fprintd/es/>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.8\n"
#: data/net.reactivated.fprint.device.policy.in:13
msgid "Verify a fingerprint"
@ -276,13 +278,12 @@ msgstr "Quite su dedo e intente deslizarlo de nuevo"
#: pam/pam_fprintd.c:537
msgid "Verification timed out"
msgstr ""
msgstr "Se ha agotado el tiempo de la verificación"
#: pam/pam_fprintd.c:560
#, fuzzy
msgid "Failed to match fingerprint"
msgstr "Comprobar una huella"
msgstr "La huella no coincide"
#: pam/pam_fprintd.c:576
msgid "An unknown error occurred"
msgstr ""
msgstr "Ocurrió un error desconocido"

View File

@ -4,21 +4,23 @@
#
# Translators:
# Tomislav Krznar <tomislav.krznar@gmail.com>, 2012
# Gogo Gogsi <linux.hr@protonmail.com>, 2021.
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-06-30 14:00+0200\n"
"PO-Revision-Date: 2017-09-19 14:12+0000\n"
"Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
"Language-Team: Croatian (http://www.transifex.com/freedesktop/fprintd/"
"language/hr/)\n"
"PO-Revision-Date: 2021-10-03 15:05+0000\n"
"Last-Translator: Gogo Gogsi <linux.hr@protonmail.com>\n"
"Language-Team: Croatian <https://translate.fedoraproject.org/projects/"
"fprintd/fprintd/hr/>\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.8\n"
#: data/net.reactivated.fprint.device.policy.in:13
msgid "Verify a fingerprint"
@ -275,13 +277,12 @@ msgstr "Maknite prst i pokušajte ga povući ponovo"
#: pam/pam_fprintd.c:537
msgid "Verification timed out"
msgstr ""
msgstr "Provjera je istekla"
#: pam/pam_fprintd.c:560
#, fuzzy
msgid "Failed to match fingerprint"
msgstr "Provjeri otiske prstiju"
msgstr "Neuspjelo podudaranje otiska prstiju"
#: pam/pam_fprintd.c:576
msgid "An unknown error occurred"
msgstr ""
msgstr "Dogodila se nepoznata greška"

View File

@ -4,13 +4,14 @@
#
# Translators:
# Milo Casagrande <milo@ubuntu.com>, 2013
# Albano Battistella <albano_battistella@hotmail.com>, 2021
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-06-30 14:00+0200\n"
"PO-Revision-Date: 2017-09-19 09:08+0000\n"
"Last-Translator: Milo Casagrande <milo@ubuntu.com>\n"
"PO-Revision-Date: 2021-08-21 12:08+0200\n"
"Last-Translator: Albano Battistella <albano_battistella@hotmail.com>\n"
"Language-Team: Italian (http://www.transifex.com/freedesktop/fprintd/"
"language/it/)\n"
"Language: it\n"
@ -274,13 +275,12 @@ msgstr "Rimuovere il dito e ripetere un altro passaggio"
#: pam/pam_fprintd.c:537
msgid "Verification timed out"
msgstr ""
msgstr "Verifica terminata"
#: pam/pam_fprintd.c:560
#, fuzzy
msgid "Failed to match fingerprint"
msgstr "Verifica una impronta"
msgstr "Impossibile abbinare l'impronta digitale"
#: pam/pam_fprintd.c:576
msgid "An unknown error occurred"
msgstr ""
msgstr "Si è verificato un errore sconosciuto"

View File

@ -4,21 +4,22 @@
#
# Translators:
# e93ed3aa97dec2eb31063731872555fc_1460a05 <71305a0095156d8e18373a5b7cfeb79e_8587>, 2011, 2012
# Takuro Onoue <kusanaginoturugi@gmail.com>, 2021.
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-06-30 14:00+0200\n"
"PO-Revision-Date: 2017-09-19 10:41+0000\n"
"Last-Translator: e93ed3aa97dec2eb31063731872555fc_1460a05 "
"<71305a0095156d8e18373a5b7cfeb79e_8587>\n"
"Language-Team: Japanese (http://www.transifex.com/freedesktop/fprintd/"
"language/ja/)\n"
"PO-Revision-Date: 2021-09-09 03:04+0000\n"
"Last-Translator: Takuro Onoue <kusanaginoturugi@gmail.com>\n"
"Language-Team: Japanese <https://translate.fedoraproject.org/projects/"
"fprintd/fprintd/ja/>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.8\n"
#: data/net.reactivated.fprint.device.policy.in:13
msgid "Verify a fingerprint"
@ -274,13 +275,12 @@ msgstr "指をどかして、もう一度指をなぞってみてください"
#: pam/pam_fprintd.c:537
msgid "Verification timed out"
msgstr ""
msgstr "検証がタイムアウトしました"
#: pam/pam_fprintd.c:560
#, fuzzy
msgid "Failed to match fingerprint"
msgstr "指紋の検証"
msgstr "指紋の検証に失敗しました"
#: pam/pam_fprintd.c:576
msgid "An unknown error occurred"
msgstr ""
msgstr "不明なエラーが発生しました"

130
po/mr.po
View File

@ -3,281 +3,287 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# girish joshi <girish946@gmail.com>, 2021.
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-06-30 14:00+0200\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Marathi (http://www.transifex.com/freedesktop/fprintd/"
"language/mr/)\n"
"PO-Revision-Date: 2021-08-29 17:04+0000\n"
"Last-Translator: girish joshi <girish946@gmail.com>\n"
"Language-Team: Marathi <https://translate.fedoraproject.org/projects/fprintd/"
"fprintd/mr/>\n"
"Language: mr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.8\n"
#: data/net.reactivated.fprint.device.policy.in:13
msgid "Verify a fingerprint"
msgstr ""
msgstr "फिंगरप्रिंट सत्यापित करा"
#: data/net.reactivated.fprint.device.policy.in:14
msgid "Privileges are required to verify fingerprints."
msgstr ""
msgstr "फिंगरप्रिंट सत्यापित करण्यासाठी विशेषाधिकार आवश्यक आहेत."
#: data/net.reactivated.fprint.device.policy.in:23
msgid "Enroll new fingerprints"
msgstr ""
msgstr "नवीन फिंगरप्रिंट्स नोंदवा"
#: data/net.reactivated.fprint.device.policy.in:24
msgid "Privileges are required to enroll new fingerprints."
msgstr ""
msgstr "फिंगरप्रिंट सत्यापित करण्यासाठी विशेषाधिकार आवश्यक आहेत."
#: data/net.reactivated.fprint.device.policy.in:33
msgid "Select a user to enroll"
msgstr ""
msgstr "नोंदणी करण्यासाठी वापरकर्ता निवडा"
#: data/net.reactivated.fprint.device.policy.in:34
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr ""
"इतर वापरकर्त्यांसाठी नवीन फिंगरप्रिंट्स नोंदणी करण्यासाठी विशेषाधिकार आवश्यक "
"आहेत."
#: src/device.c:690
#, c-format
msgid "Device was not claimed before use"
msgstr ""
msgstr "डिव्हाइस वापरण्यापूर्वी दावा केला नाही"
#: src/device.c:699
#, c-format
msgid "Device already in use by another user"
msgstr ""
msgstr "डिव्हाइस आधीपासून दुसर्या वापरकर्त्याद्वारे वापरात आहे"
#: pam/fingerprint-strings.h:50
msgid "Place your finger on the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपले बोट ठेवा"
#: pam/fingerprint-strings.h:51
#, c-format
msgid "Place your finger on %s"
msgstr ""
msgstr "%s वर आपले बोट ठेवा"
#: pam/fingerprint-strings.h:52
msgid "Swipe your finger across the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपले बोट स्वाइप करा"
#: pam/fingerprint-strings.h:53
#, c-format
msgid "Swipe your finger across %s"
msgstr ""
msgstr "%s मध्ये आपले बोट स्वाइप करा"
#: pam/fingerprint-strings.h:55
msgid "Place your left thumb on the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपला डावा अंगठा ठेवा"
#: pam/fingerprint-strings.h:56
#, c-format
msgid "Place your left thumb on %s"
msgstr ""
msgstr "%s वर आपला डावा अंगठा ठेवा"
#: pam/fingerprint-strings.h:57
msgid "Swipe your left thumb across the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरमध्ये आपला डावा अंगठा स्वाइप करा"
#: pam/fingerprint-strings.h:58
#, c-format
msgid "Swipe your left thumb across %s"
msgstr ""
msgstr "%s मध्ये आपला डावा अंगठा स्वाइप करा"
#: pam/fingerprint-strings.h:60
msgid "Place your left index finger on the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपली डावी तर्जनी ठेवा"
#: pam/fingerprint-strings.h:61
#, c-format
msgid "Place your left index finger on %s"
msgstr ""
msgstr "%s वर आपली डावी तर्जनी ठेवा"
#: pam/fingerprint-strings.h:62
msgid "Swipe your left index finger across the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपली डावी तर्जनी स्वाइप करा"
#: pam/fingerprint-strings.h:63
#, c-format
msgid "Swipe your left index finger across %s"
msgstr ""
msgstr "%s मध्ये आपली डावी तर्जनी स्वाइप करा"
#: pam/fingerprint-strings.h:65
msgid "Place your left middle finger on the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपले डाव्या हाताचे मध्यम बोट ठेवा"
#: pam/fingerprint-strings.h:66
#, c-format
msgid "Place your left middle finger on %s"
msgstr ""
msgstr "%s वर आपल्या डाव्या हाताचे मध्यम बोट ठेवा"
#: pam/fingerprint-strings.h:67
msgid "Swipe your left middle finger across the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपल्या डाव्या हाताचे मध्यम बोट स्वाइप करा"
#: pam/fingerprint-strings.h:68
#, c-format
msgid "Swipe your left middle finger across %s"
msgstr ""
msgstr "%s मध्ये आपल्या डाव्या हाताचे मध्यम बोट स्वाइप करा"
#: pam/fingerprint-strings.h:70
msgid "Place your left ring finger on the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपली डावी अनामिका (रिंग फिंगर) ठेवा"
#: pam/fingerprint-strings.h:71
#, c-format
msgid "Place your left ring finger on %s"
msgstr ""
msgstr "%s वर आपली डावी अनामिका (रिंग फिंगर) ठेवा"
#: pam/fingerprint-strings.h:72
msgid "Swipe your left ring finger across the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपली डावी अनामिका (रिंग फिंगर) स्वाइप करा"
#: pam/fingerprint-strings.h:73
#, c-format
msgid "Swipe your left ring finger across %s"
msgstr ""
msgstr "%s मध्ये आपली डावी अनामिका (रिंग फिंगर) स्वाइप करा"
#: pam/fingerprint-strings.h:75
msgid "Place your left little finger on the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपली डावी करंगळी ठेवा"
#: pam/fingerprint-strings.h:76
#, c-format
msgid "Place your left little finger on %s"
msgstr ""
msgstr "%s वर आपली डावी करंगळी ठेवा"
#: pam/fingerprint-strings.h:77
msgid "Swipe your left little finger across the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपली डावी करंगळी स्वाइप करा"
#: pam/fingerprint-strings.h:78
#, c-format
msgid "Swipe your left little finger across %s"
msgstr ""
msgstr "%s मध्ये आपली डावी करंगळी स्वाइप करा"
#: pam/fingerprint-strings.h:80
msgid "Place your right thumb on the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपला उजवा अंगठा ठेवा"
#: pam/fingerprint-strings.h:81
#, c-format
msgid "Place your right thumb on %s"
msgstr ""
msgstr "%s वर आपला उजवा अंगठा ठेवा"
#: pam/fingerprint-strings.h:82
msgid "Swipe your right thumb across the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरमध्ये आपला उजवा अंगठा स्वाइप करा"
#: pam/fingerprint-strings.h:83
#, c-format
msgid "Swipe your right thumb across %s"
msgstr ""
msgstr "%s मध्ये आपला उजवा अंगठा स्वाइप करा"
#: pam/fingerprint-strings.h:85
msgid "Place your right index finger on the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपली उजवी तर्जनी ठेवा"
#: pam/fingerprint-strings.h:86
#, c-format
msgid "Place your right index finger on %s"
msgstr ""
msgstr "%s वर आपली उजवी तर्जनी ठेवा"
#: pam/fingerprint-strings.h:87
msgid "Swipe your right index finger across the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपली उजवी तर्जनी स्वाइप करा"
#: pam/fingerprint-strings.h:88
#, c-format
msgid "Swipe your right index finger across %s"
msgstr ""
msgstr "%s मध्ये आपली उजवी तर्जनी स्वाइप करा"
#: pam/fingerprint-strings.h:90
msgid "Place your right middle finger on the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपली उजवी तर्जनी ठेवा"
#: pam/fingerprint-strings.h:91
#, c-format
msgid "Place your right middle finger on %s"
msgstr ""
msgstr "%s वर आपल्या उजव्या हाताचे मधले बोट ठेवा"
#: pam/fingerprint-strings.h:92
msgid "Swipe your right middle finger across the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपल्या उजव्या हाताचे मधले बोट स्वाइप करा"
#: pam/fingerprint-strings.h:93
#, c-format
msgid "Swipe your right middle finger across %s"
msgstr ""
msgstr "%s मध्ये आपल्या उजव्या हाताचे मधले स्वाइप करा"
#: pam/fingerprint-strings.h:95
msgid "Place your right ring finger on the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपल्या उजव्या हाताची अनामिक (रिंग फिंगर) ठेवा"
#: pam/fingerprint-strings.h:96
#, c-format
msgid "Place your right ring finger on %s"
msgstr ""
msgstr "%s वर आपल्या उजव्या हाताची अनामिक (रिंग फिंगर) ठेवा"
#: pam/fingerprint-strings.h:97
msgid "Swipe your right ring finger across the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपल्या उजव्या हाताची अनामिक (रिंग फिंगर) स्वाइप करा"
#: pam/fingerprint-strings.h:98
#, c-format
msgid "Swipe your right ring finger across %s"
msgstr ""
msgstr "%s मध्ये आपल्या उजव्या हाताची अनामिक (रिंग फिंगर) स्वाइप करा"
#: pam/fingerprint-strings.h:100
msgid "Place your right little finger on the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपली उजवी करंगळी ठेवा"
#: pam/fingerprint-strings.h:101
#, c-format
msgid "Place your right little finger on %s"
msgstr ""
msgstr "%s वर आपली उजवी करंगळी ठेवा"
#: pam/fingerprint-strings.h:102
msgid "Swipe your right little finger across the fingerprint reader"
msgstr ""
msgstr "फिंगरप्रिंट रीडरवर आपली उजवी करंगळी स्वाइप करा"
#: pam/fingerprint-strings.h:103
#, c-format
msgid "Swipe your right little finger across %s"
msgstr ""
msgstr "%s मध्ये आपली उजवी करंगळी स्वाइप करा"
#: pam/fingerprint-strings.h:171 pam/fingerprint-strings.h:199
msgid "Place your finger on the reader again"
msgstr ""
msgstr "पुन्हा रीडर वर आपले बोट ठेवा"
#: pam/fingerprint-strings.h:173 pam/fingerprint-strings.h:201
msgid "Swipe your finger again"
msgstr ""
msgstr "पुन्हा आपले बोट स्वाइप करा"
#: pam/fingerprint-strings.h:176 pam/fingerprint-strings.h:204
msgid "Swipe was too short, try again"
msgstr ""
msgstr "स्वाइप खूप लहान होते, पुन्हा प्रयत्न करा"
#: pam/fingerprint-strings.h:178 pam/fingerprint-strings.h:206
msgid "Your finger was not centered, try swiping your finger again"
msgstr ""
"आपली बोट केंद्रीत नव्हती, पुन्हा आपल्या बोटाने स्वाइप करण्याचा प्रयत्न करा"
#: pam/fingerprint-strings.h:180 pam/fingerprint-strings.h:208
msgid "Remove your finger, and try swiping your finger again"
msgstr ""
"आपली बोट काढून टाका आणि पुन्हा आपल्या बोटाने स्वाइप करण्याचा प्रयत्न करा"
#: pam/pam_fprintd.c:537
msgid "Verification timed out"
msgstr ""
msgstr "सत्यापन कालबाह्य झाले"
#: pam/pam_fprintd.c:560
msgid "Failed to match fingerprint"
msgstr ""
msgstr "फिंगरप्रिंटशी जुळण्यासाठी अयशस्वी"
#: pam/pam_fprintd.c:576
msgid "An unknown error occurred"
msgstr ""
msgstr "एक अज्ञात त्रुटी आली"

View File

@ -1667,7 +1667,15 @@ fprint_device_verify_start (FprintDBusDevice *dbus_dev,
g_dbus_method_invocation_return_gerror (invocation, error);
return TRUE;
}
if (fp_device_has_feature (priv->dev, FP_DEVICE_FEATURE_IDENTIFY))
else if (gallery->len == 1)
{
FpPrint *fprint = g_ptr_array_index (gallery, 0);
/* If we only have a single finger, then do verify on that.
* This also means we report it back correctly to the user. */
finger = fp_print_get_finger (fprint);
}
else if (fp_device_has_feature (priv->dev, FP_DEVICE_FEATURE_IDENTIFY))
{
guint i;

View File

@ -201,6 +201,7 @@ class FPrintdTest(dbusmock.DBusTestCase):
cls.tmpdir = tempfile.mkdtemp(prefix='libfprint-')
cls.addClassCleanup(shutil.rmtree, cls.tmpdir)
cls.sockaddr = os.path.join(cls.tmpdir, 'virtual-image.socket')
os.environ[cls.socket_env] = cls.sockaddr
@ -210,26 +211,18 @@ class FPrintdTest(dbusmock.DBusTestCase):
n = os.path.basename(f)[:-4]
cls.prints[n] = load_image(f)
cls.test_bus = Gio.TestDBus.new(Gio.TestDBusFlags.NONE)
cls.test_bus.up()
cls.test_bus.unset()
addr = cls.test_bus.get_bus_address()
os.environ['DBUS_SYSTEM_BUS_ADDRESS'] = addr
cls.dbus = Gio.DBusConnection.new_for_address_sync(addr,
cls.start_system_bus()
cls.dbus = Gio.DBusConnection.new_for_address_sync(os.environ['DBUS_SYSTEM_BUS_ADDRESS'],
Gio.DBusConnectionFlags.MESSAGE_BUS_CONNECTION |
Gio.DBusConnectionFlags.AUTHENTICATION_CLIENT, None, None)
assert cls.dbus.is_closed() == False
cls.addClassCleanup(cls.dbus.close)
@classmethod
def tearDownClass(cls):
cls.dbus.close()
cls.test_bus.down()
del cls.dbus
del cls.test_bus
shutil.rmtree(cls.tmpdir)
dbusmock.DBusTestCase.tearDownClass()
del cls.dbus
def daemon_start(self, driver='Virtual image device for debugging'):
timeout = get_timeout('daemon_start') # seconds
@ -237,6 +230,8 @@ class FPrintdTest(dbusmock.DBusTestCase):
env['G_DEBUG'] = 'fatal-criticals'
env['STATE_DIRECTORY'] = (self.state_dir + ':' + '/hopefully/a/state_dir_path/that/shouldnt/be/writable')
env['RUNTIME_DIRECTORY'] = self.run_dir
# The tests parses the debug output for suspend inhibitor debugging
env['G_MESSAGES_DEBUG'] = 'all'
argv = [self.paths['daemon'], '-t']
valgrind = os.getenv('VALGRIND')
@ -248,6 +243,7 @@ class FPrintdTest(dbusmock.DBusTestCase):
self.valgrind = True
self.kill_daemon = False
self.daemon_log = OutputChecker()
self.addCleanup(self.daemon_log.force_close)
self.daemon = subprocess.Popen(argv,
env=env,
stdout=self.daemon_log.fd,
@ -335,14 +331,23 @@ class FPrintdTest(dbusmock.DBusTestCase):
self._polkitd, self._polkitd_obj = self.spawn_server_template(
polkitd_template, {}, stdout=subprocess.PIPE)
self.addCleanup(self.stop_server, '_polkitd', '_polkitd_obj')
return self._polkitd
def polkitd_stop(self):
if self._polkitd is None:
def stop_server(self, proc_attr, obj_attr):
proc = getattr(self, proc_attr, None)
if proc is None:
return
self._polkitd.terminate()
self._polkitd.wait()
proc.terminate()
try:
proc.wait(timeout=1)
except subprocess.TimeoutExpired as e:
proc.kill()
delattr(self, proc_attr)
delattr(self, obj_attr)
def polkitd_allow_all(self):
self._polkitd_obj.SetAllowed([FprintDevicePermission.set_username,
@ -361,6 +366,10 @@ class FPrintdTest(dbusmock.DBusTestCase):
self._async_call_res = {}
os.environ['FP_DRIVERS_WHITELIST'] = self.device_driver
# Always start fake polkitd because of
# https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/95
self.polkitd_start()
def assertFprintError(self, fprint_error):
if isinstance(fprint_error, list) or isinstance(fprint_error, tuple):
fprint_error = [ re.escape(e) for e in fprint_error ]
@ -597,11 +606,12 @@ class FPrintdVirtualDeviceBaseTest(FPrintdVirtualImageDeviceBaseTests):
self.manager = None
self.device = None
self.polkitd_start()
fifo_path = os.path.join(self.tmpdir, 'logind_inhibit_fifo')
os.mkfifo(fifo_path)
self.addCleanup(os.unlink, fifo_path)
self.logind_inhibit_fifo = os.open(fifo_path, os.O_RDONLY | os.O_NONBLOCK | os.O_CLOEXEC)
self.addCleanup(os.close, self.logind_inhibit_fifo)
# EOF without a writer, BlockingIOError with a writer
self.assertFalse(self.holds_inhibitor())
@ -610,9 +620,10 @@ class FPrintdVirtualDeviceBaseTest(FPrintdVirtualImageDeviceBaseTests):
'ret = os.open("%s", os.O_WRONLY)\n' % fifo_path +
'from gi.repository import GLib\n' +
'GLib.idle_add(lambda fd: os.close(fd), ret)')
self.addCleanup(self.stop_server, 'logind', 'logind_obj')
self.daemon_start(self.driver_name)
self.wait_got_delay_inhibitor()
self.wait_got_delay_inhibitor(timeout=5)
if self.device is None:
self.skipTest("Need {} device to run the test".format(self.device_driver))
@ -658,12 +669,9 @@ class FPrintdVirtualDeviceBaseTest(FPrintdVirtualImageDeviceBaseTests):
self._changed_properties = []
def tearDown(self):
self.polkitd_stop()
self.device = None
self.manager = None
os.close(self.logind_inhibit_fifo)
super().tearDown()
def try_release(self):
@ -2004,14 +2012,14 @@ class FPrintdVirtualDeviceClaimedTest(FPrintdVirtualDeviceBaseTest):
self.wait_for_result()
self.assertTrue(self._verify_stopped)
self.assertEqual(self._last_result, 'verify-match')
self.assertEqual(self._selected_finger, 'any')
self.assertEqual(self._selected_finger, 'left-thumb')
self.device.VerifyStop()
def test_verify_wrong_finger_no_match(self):
self.enroll_image('whorl', finger='right-thumb')
self.device.VerifyStart('(s)', 'right-toe')
self.send_image('tented_arch')
self.assertVerifyNoMatch(selected_finger='any')
self.assertVerifyNoMatch(selected_finger='right-thumb')
self.device.VerifyStop()
def test_verify_any_finger_match(self):
@ -2047,9 +2055,9 @@ class FPrintdVirtualDeviceClaimedTest(FPrintdVirtualDeviceBaseTest):
self.device.VerifyStart('(s)', 'any')
self.send_image(print)
if should_match:
self.assertVerifyMatch(selected_finger='any')
self.assertVerifyMatch()
else:
self.assertVerifyNoMatch(selected_finger='any')
self.assertVerifyNoMatch()
self.device.VerifyStop()
self.device.Release()
@ -3086,7 +3094,7 @@ class FPrindConcurrentPolkitRequestsTest(FPrintdVirtualStorageDeviceBaseTest):
self.device.Claim('(s)', '')
self.device.VerifyStart('(s)', 'any')
self.send_image('whorl')
self.assertVerifyMatch(selected_finger='any')
self.assertVerifyMatch(selected_finger='left-thumb')
self.device.VerifyStop()
self.device.Release()