21 Commits

Author SHA1 Message Date
9e32cd5257 0.8.1 2018-06-15 17:54:01 +02:00
32b9f1b056 data: Update policy vendor URL 2018-06-15 17:54:01 +02:00
12ef09a1c9 po: Update translations 2018-06-15 17:50:08 +02:00
596172e42d README: Update link to website 2018-06-07 22:25:39 +02:00
d37d8a233a TODO: Remove image transfer support
I doubt we want to do this, and nothing has needed it so far.
2018-05-31 17:28:19 +02:00
3550ac5f05 TODO: Remove identification support TODO
See #10
2018-05-31 17:28:19 +02:00
111681c57d TODO: Remove hardware protection TODO
See #9
2018-05-31 17:24:58 +02:00
6eed9f1244 TODO: Remove translations from TODO
Already registered in Transifex:
https://www.transifex.com/freedesktop/fprintd/
2018-05-31 17:23:53 +02:00
04bd6bab46 TODO: Remove hotplug TODO item
See #8
2018-05-31 17:20:19 +02:00
fa4af3ee67 build: Add CI 2018-05-31 14:44:17 +02:00
31b985f547 device: Fix crash on exit
Fix a possible crash when an fprintd client disappears. If the client
requested for the device to be released, then, without waiting for the
reply of that release, disappeared from the bus, we would try to close
it a second time, accessing a function pointer that didn't exist
anymore.

See https://bugzilla.redhat.com/show_bug.cgi?id=1515720
2018-05-31 12:02:31 +02:00
661684b1f5 main: Turn messages in debug messages
Rather than filling the logs with mostly useless messages, print those
as debug.
2018-05-30 19:59:07 +02:00
2322244c5a build: Add a log domain for fprintd debug messages 2018-05-30 19:58:20 +02:00
8e0c030f62 main: Split off events loop handling into a separate file
To make it easier to use as an example.
2018-05-25 16:06:54 +02:00
4234902671 main: Clean up main loop integration
Remove do/while loops in favour of for loops, and downgrade some
warnings and messages statements to debug.
2018-05-25 15:45:02 +02:00
78ffe68426 po: Update translations
And add Belarusian
2018-04-26 14:44:45 +02:00
2704e72308 data: Restrict available socket protocols
When starting the daemon
2018-04-26 14:44:02 +02:00
f39f28830a pam: Avoid errors when using parts of the copy/paste header
If not all the functions in the header are used, we'd get warnings about
them being unused. Mark all the functions as unused, so we can avoid
warnings.
2018-02-06 14:12:41 +01:00
e6d291b248 po: Add 2 new languages 2018-02-06 11:23:01 +01:00
a2f2526df6 po: Update translations 2018-02-06 11:22:13 +01:00
2f78c46dcf build: Fix srcdir = builddir build
Don't try to copy a file over itself if srcdir == builddir
2018-02-06 11:21:06 +01:00
86 changed files with 1256 additions and 332 deletions

34
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,34 @@
image: fedora:rawhide
variables:
DEPENDENCIES: dbus-glib-devel pam-devel polkit-devel
gtk-doc meson intltool autoconf automake libtool
gcc gcc-c++ glibc-devel make
DEPENDENCIES_STABLE: $DEPENDENCIES libfprint-devel
DEPENDENCIES_DEV: $DEPENDENCIES git
# Sync'ed up with https://gitlab.freedesktop.org/libfprint/libfprint/blob/master/.gitlab-ci.yml
DEPENDENCIES_LIBFPRINT: libusb1-devel glib2-devel nss-devel pixman-devel systemd
meson gtk-doc gcc gcc-c++ glibc-devel libX11-devel
libXv-devel
build_stable:
before_script:
- dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES_STABLE
script:
- ./autogen.sh --disable-dependency-tracking
- make
- make install
build_dev:
before_script:
- dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES_LIBFPRINT $DEPENDENCIES_DEV
- git clone https://gitlab.freedesktop.org/libfprint/libfprint.git
- cd libfprint
- meson . _build --prefix=/usr
- ninja -C _build
- ninja -C _build install
- cd ..
script:
- ./autogen.sh --disable-dependency-tracking
- make
- make install

View File

@ -23,7 +23,7 @@ check-translations:
update-translations: create-pot check-translations
@tx -r $(srcdir) pull --all --force --skip
@if [ ! -d .tx ] ; then mkdir .tx ; fi ; cp -f $(srcdir)/.tx/config .tx/
@if [ ! -d .tx ] ; then mkdir .tx ; fi ; if [ x$(srcdir) != x$(builddir) ] ; then cp -f $(srcdir)/.tx/config .tx/ ; fi
@tx push --source
-include $(top_srcdir)/git.mk

9
NEWS
View File

@ -1,6 +1,15 @@
This file lists notable changes in each release. For the full history of all
changes, see ChangeLog.
version 0.8.1:
- Fix build when builddir != srcdir
- Fix possible crash on exit
- Avoid warnings in copy/paste header
- Sandbox fprintd daemon more
- Update website address
- Minimise debug output
- Updated translations
version 0.8.0:
- Lockdown the daemon to minimise potential security issues
- Don't wake up readers when there's no enrolled fingerprints

2
README
View File

@ -1,7 +1,7 @@
fprintd
=======
http://www.reactivated.net/fprint/wiki/Fprintd
https://fprint.freedesktop.org/
Daemon to offer libfprint functionality over D-Bus
Might eat your kangaroo.

12
TODO
View File

@ -1,17 +1,5 @@
Identification
Image transfer
Verify PAM messages fit with GDM/gnome-screensaver
Register fprintd' po file with Transifex, Rosetta or the Translation Project
Support insertion/removal of devices
Add some hardware protection by making sure devices aren't opened and
reading for more than a certain amount of time.
Add POS use case
Automatically show the fingerprint registration when logged in and
not having any registered prints?
http://uk.youtube.com/watch?v=F_x_vwCltbc

View File

@ -1,4 +1,4 @@
AC_INIT([fprintd], [0.8.0])
AC_INIT([fprintd], [0.8.1])
AM_INIT_AUTOMAKE([1.11 dist-xz no-dist-gzip check-news])
AC_CONFIG_SRCDIR([src/main.c])
AC_CONFIG_HEADERS([config.h])

View File

@ -17,6 +17,7 @@ PrivateTmp=true
# Network
PrivateNetwork=true
RestrictAddressFamilies=AF_UNIX AF_LOCAL AF_NETLINK
# Execute Mappings
MemoryDenyWriteExecute=true

View File

@ -6,7 +6,7 @@
<policyconfig>
<vendor>The FPrint Project</vendor>
<vendor_url>http://reactivated.net/fprint/</vendor_url>
<vendor_url>https://fprint.freedesktop.org/</vendor_url>
<icon_name>fprint</icon_name>
<action id="net.reactivated.fprint.device.verify">

View File

@ -88,7 +88,7 @@ struct {
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
static char *finger_str_to_msg(const char *finger_name, const char *driver_name, gboolean is_swipe)
G_GNUC_UNUSED static char *finger_str_to_msg(const char *finger_name, const char *driver_name, gboolean is_swipe)
{
int i;
@ -121,7 +121,7 @@ static char *finger_str_to_msg(const char *finger_name, const char *driver_name,
* verify-match
* verify-unknown-error
*/
static const char *verify_result_str_to_msg(const char *result, gboolean is_swipe)
G_GNUC_UNUSED static const char *verify_result_str_to_msg(const char *result, gboolean is_swipe)
{
if (result == NULL)
return NULL;
@ -147,7 +147,7 @@ static const char *verify_result_str_to_msg(const char *result, gboolean is_swip
* enroll-failed
* enroll-unknown-error
*/
static const char *enroll_result_str_to_msg(const char *result, gboolean is_swipe)
G_GNUC_UNUSED static const char *enroll_result_str_to_msg(const char *result, gboolean is_swipe)
{
if (result == NULL)
return NULL;

View File

@ -1,6 +1,8 @@
ar
as
ast
az
be
bg
bn_IN
ca
@ -19,6 +21,7 @@ fa
fi
fo
fr
fur
ga
gl
gu

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:08+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Arabic (http://www.transifex.com/freedesktop/fprintd/language/ar/)\n"
"MIME-Version: 1.0\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Assamese (http://www.transifex.com/freedesktop/fprintd/language/as/)\n"

270
po/ast.po Normal file
View File

@ -0,0 +1,270 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-08-27 03:15+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Asturian (http://www.transifex.com/freedesktop/fprintd/language/ast/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ast\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Verify a fingerprint"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to verify fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:3
msgid "Enroll new fingerprints"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:4
msgid "Privileges are required to enroll new fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:5
msgid "Select a user to enroll"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr ""
#: ../src/device.c:385
#, c-format
msgid "Device was not claimed before use"
msgstr ""
#: ../src/device.c:395
#, c-format
msgid "Device already in use by another user"
msgstr ""
#: ../pam/fingerprint-strings.h:31
msgid "Place your finger on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:32
#, c-format
msgid "Place your finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:33
msgid "Swipe your finger across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:34
#, c-format
msgid "Swipe your finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:36
msgid "Place your left thumb on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:37
#, c-format
msgid "Place your left thumb on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:38
msgid "Swipe your left thumb across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:39
#, c-format
msgid "Swipe your left thumb across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:41
msgid "Place your left index finger on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:42
#, c-format
msgid "Place your left index finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:43
msgid "Swipe your left index finger across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:44
#, c-format
msgid "Swipe your left index finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:46
msgid "Place your left middle finger on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:47
#, c-format
msgid "Place your left middle finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:48
msgid "Swipe your left middle finger across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:49
#, c-format
msgid "Swipe your left middle finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:51
msgid "Place your left ring finger on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:52
#, c-format
msgid "Place your left ring finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:53
msgid "Swipe your left ring finger across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:54
#, c-format
msgid "Swipe your left ring finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:56
msgid "Place your left little finger on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:57
#, c-format
msgid "Place your left little finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:58
msgid "Swipe your left little finger across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:59
#, c-format
msgid "Swipe your left little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:61
msgid "Place your right thumb on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:62
#, c-format
msgid "Place your right thumb on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:63
msgid "Swipe your right thumb across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:64
#, c-format
msgid "Swipe your right thumb across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:66
msgid "Place your right index finger on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:67
#, c-format
msgid "Place your right index finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:68
msgid "Swipe your right index finger across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:69
#, c-format
msgid "Swipe your right index finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:71
msgid "Place your right middle finger on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:72
#, c-format
msgid "Place your right middle finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:73
msgid "Swipe your right middle finger across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:74
#, c-format
msgid "Swipe your right middle finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:76
msgid "Place your right ring finger on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:77
#, c-format
msgid "Place your right ring finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:78
msgid "Swipe your right ring finger across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:79
#, c-format
msgid "Swipe your right ring finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:81
msgid "Place your right little finger on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:82
#, c-format
msgid "Place your right little finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:83
msgid "Swipe your right little finger across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:84
#, c-format
msgid "Swipe your right little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Place your finger on the reader again"
msgstr ""
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr ""
#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162
msgid "Swipe was too short, try again"
msgstr ""
#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164
msgid "Your finger was not centered, try swiping your finger again"
msgstr ""
#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166
msgid "Remove your finger, and try swiping your finger again"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Azerbaijani (http://www.transifex.com/freedesktop/fprintd/language/az/)\n"

270
po/be.po Normal file
View File

@ -0,0 +1,270 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2018-04-08 18:46+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Belarusian (http://www.transifex.com/freedesktop/fprintd/language/be/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: be\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Verify a fingerprint"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to verify fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:3
msgid "Enroll new fingerprints"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:4
msgid "Privileges are required to enroll new fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:5
msgid "Select a user to enroll"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr ""
#: ../src/device.c:385
#, c-format
msgid "Device was not claimed before use"
msgstr ""
#: ../src/device.c:395
#, c-format
msgid "Device already in use by another user"
msgstr ""
#: ../pam/fingerprint-strings.h:31
msgid "Place your finger on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:32
#, c-format
msgid "Place your finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:33
msgid "Swipe your finger across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:34
#, c-format
msgid "Swipe your finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:36
msgid "Place your left thumb on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:37
#, c-format
msgid "Place your left thumb on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:38
msgid "Swipe your left thumb across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:39
#, c-format
msgid "Swipe your left thumb across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:41
msgid "Place your left index finger on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:42
#, c-format
msgid "Place your left index finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:43
msgid "Swipe your left index finger across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:44
#, c-format
msgid "Swipe your left index finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:46
msgid "Place your left middle finger on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:47
#, c-format
msgid "Place your left middle finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:48
msgid "Swipe your left middle finger across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:49
#, c-format
msgid "Swipe your left middle finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:51
msgid "Place your left ring finger on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:52
#, c-format
msgid "Place your left ring finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:53
msgid "Swipe your left ring finger across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:54
#, c-format
msgid "Swipe your left ring finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:56
msgid "Place your left little finger on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:57
#, c-format
msgid "Place your left little finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:58
msgid "Swipe your left little finger across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:59
#, c-format
msgid "Swipe your left little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:61
msgid "Place your right thumb on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:62
#, c-format
msgid "Place your right thumb on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:63
msgid "Swipe your right thumb across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:64
#, c-format
msgid "Swipe your right thumb across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:66
msgid "Place your right index finger on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:67
#, c-format
msgid "Place your right index finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:68
msgid "Swipe your right index finger across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:69
#, c-format
msgid "Swipe your right index finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:71
msgid "Place your right middle finger on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:72
#, c-format
msgid "Place your right middle finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:73
msgid "Swipe your right middle finger across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:74
#, c-format
msgid "Swipe your right middle finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:76
msgid "Place your right ring finger on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:77
#, c-format
msgid "Place your right ring finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:78
msgid "Swipe your right ring finger across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:79
#, c-format
msgid "Swipe your right ring finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:81
msgid "Place your right little finger on the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:82
#, c-format
msgid "Place your right little finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:83
msgid "Swipe your right little finger across the fingerprint reader"
msgstr ""
#: ../pam/fingerprint-strings.h:84
#, c-format
msgid "Swipe your right little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Place your finger on the reader again"
msgstr ""
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr ""
#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162
msgid "Swipe was too short, try again"
msgstr ""
#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164
msgid "Your finger was not centered, try swiping your finger again"
msgstr ""
#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166
msgid "Remove your finger, and try swiping your finger again"
msgstr ""

View File

@ -4,13 +4,14 @@
#
# Translators:
# Alexander Shopov <ash@kambanaria.org>, 2011
# Tony Ivanov <duskull88@fastmail.fm>, 2017
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-12-26 22:04+0000\n"
"Last-Translator: Tony Ivanov <duskull88@fastmail.fm>\n"
"Language-Team: Bulgarian (http://www.transifex.com/freedesktop/fprintd/language/bg/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -54,12 +55,12 @@ msgstr "Устройството е заето от друг потребите
#: ../pam/fingerprint-strings.h:31
msgid "Place your finger on the fingerprint reader"
msgstr ""
msgstr "Поставете вашия пръст на четеца за пръстови отпечатъци"
#: ../pam/fingerprint-strings.h:32
#, c-format
msgid "Place your finger on %s"
msgstr ""
msgstr "Поставете вашият пръст на %s"
#: ../pam/fingerprint-strings.h:33
msgid "Swipe your finger across the fingerprint reader"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-08-03 17:23+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Bengali (India) (http://www.transifex.com/freedesktop/fprintd/language/bn_IN/)\n"
"MIME-Version: 1.0\n"

View File

@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2015-10-11 18:50+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:46+0000\n"
"Last-Translator: Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>\n"
"Language-Team: Catalan (http://www.transifex.com/freedesktop/fprintd/language/ca/)\n"
"MIME-Version: 1.0\n"

View File

@ -7,10 +7,10 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-08-03 17:23+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Catalan (Valencian) (http://www.transifex.com/freedesktop/fprintd/language/ca@valencia/)\n"
"Language-Team: Catalan (Valencian) (http://www.transifex.com/freedesktop/fprintd/language/ca%40valencia/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -8,15 +8,15 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: cs\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\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"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Verify a fingerprint"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Welsh (http://www.transifex.com/freedesktop/fprintd/language/cy/)\n"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-12-21 18:41+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 21:51+0000\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish (http://www.transifex.com/freedesktop/fprintd/language/da/)\n"
"MIME-Version: 1.0\n"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2014-09-22 15:28+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:08+0000\n"
"Last-Translator: Ettore Atalan <atalanttore@googlemail.com>\n"
"Language-Team: German (http://www.transifex.com/freedesktop/fprintd/language/de/)\n"
"MIME-Version: 1.0\n"

View File

@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:46+0000\n"
"Last-Translator: thanos <tomtryf@gmail.com>\n"
"Language-Team: Greek (http://www.transifex.com/freedesktop/fprintd/language/el/)\n"
"MIME-Version: 1.0\n"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:08+0000\n"
"Last-Translator: Bruce Cowan <bruce@bcowan.me.uk>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/freedesktop/fprintd/language/en_GB/)\n"
"MIME-Version: 1.0\n"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 10:24+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Esperanto (http://www.transifex.com/freedesktop/fprintd/language/eo/)\n"
"MIME-Version: 1.0\n"

View File

@ -3,16 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Adolfo Jayme-Barrientos, 2015
# Adolfo Jayme-Barrientos, 2014
# Adolfo Jayme Barrientos, 2015
# Adolfo Jayme Barrientos, 2014
# Daniel Mustieles <inactive+leo@transifex.com>, 2012
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2015-03-14 20:15+0000\n"
"Last-Translator: Adolfo Jayme-Barrientos\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Estonian (http://www.transifex.com/freedesktop/fprintd/language/et/)\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Basque (http://www.transifex.com/freedesktop/fprintd/language/eu/)\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Persian (http://www.transifex.com/freedesktop/fprintd/language/fa/)\n"
@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fa\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Verify a fingerprint"

View File

@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Jiri Grönroos <jiri.gronroos@iki.fi>, 2013
# Jiri Grönroos <jiri.gronroos@iki.fi>, 2013,2018
# Ville Skyttä <ville.skytta@iki.fi>, 2011,2016
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2016-08-04 21:07+0000\n"
"Last-Translator: Ville Skyttä <ville.skytta@iki.fi>\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2018-01-25 07:36+0000\n"
"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
"Language-Team: Finnish (http://www.transifex.com/freedesktop/fprintd/language/fi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -21,7 +21,7 @@ msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Verify a fingerprint"
msgstr "Tarkista sormenjälki"
msgstr "Vahvista sormenjälki"
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to verify fingerprints."

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:08+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Faroese (http://www.transifex.com/freedesktop/fprintd/language/fo/)\n"
"MIME-Version: 1.0\n"

View File

@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:42+0000\n"
"Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
"Language-Team: French (http://www.transifex.com/freedesktop/fprintd/language/fr/)\n"
"MIME-Version: 1.0\n"

271
po/fur.po Normal file
View File

@ -0,0 +1,271 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Fabio Tomat <f.t.public@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-11-30 14:32+0000\n"
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
"Language-Team: Friulian (http://www.transifex.com/freedesktop/fprintd/language/fur/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fur\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Verify a fingerprint"
msgstr "Verifiche une impronte digjitâl"
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to verify fingerprints."
msgstr "I privileçs a son necessaris par verificâ lis improntis digjitâls."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
msgid "Enroll new fingerprints"
msgstr "Regjistre gnovis improntis digjitâls"
#: ../data/net.reactivated.fprint.device.policy.in.h:4
msgid "Privileges are required to enroll new fingerprints."
msgstr "I privileçs a son necessaris par regjistrâ gnovis improntis digjitâls."
#: ../data/net.reactivated.fprint.device.policy.in.h:5
msgid "Select a user to enroll"
msgstr "Selezione un utent di regjistrâ"
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "I privileçs a son necessaris par regjistrâ gnovis improntis digjitâls par altris utents."
#: ../src/device.c:385
#, c-format
msgid "Device was not claimed before use"
msgstr "Il dispositîf nol è stât rivendicât prime jessi doprât"
#: ../src/device.c:395
#, c-format
msgid "Device already in use by another user"
msgstr "Il dispositîf al è za doprât di un altri utent"
#: ../pam/fingerprint-strings.h:31
msgid "Place your finger on the fingerprint reader"
msgstr "Met il to dêt sul letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:32
#, c-format
msgid "Place your finger on %s"
msgstr "Met il to dêt su %s"
#: ../pam/fingerprint-strings.h:33
msgid "Swipe your finger across the fingerprint reader"
msgstr "Fâs cori il to dêt sul letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:34
#, c-format
msgid "Swipe your finger across %s"
msgstr "Fâs cori il to dêt su %s"
#: ../pam/fingerprint-strings.h:36
msgid "Place your left thumb on the fingerprint reader"
msgstr "Met il poleâr de man çampe sul letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:37
#, c-format
msgid "Place your left thumb on %s"
msgstr "Met il poleâr de man çampe su %s"
#: ../pam/fingerprint-strings.h:38
msgid "Swipe your left thumb across the fingerprint reader"
msgstr "Fâs cori il poleâr de man çampe sul letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:39
#, c-format
msgid "Swipe your left thumb across %s"
msgstr "Fâs cori il poleâr de man çampe su %s"
#: ../pam/fingerprint-strings.h:41
msgid "Place your left index finger on the fingerprint reader"
msgstr "Met l'indiç de man çampe sul letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:42
#, c-format
msgid "Place your left index finger on %s"
msgstr "Met l'indiç de man çampe su %s"
#: ../pam/fingerprint-strings.h:43
msgid "Swipe your left index finger across the fingerprint reader"
msgstr "Fâs cori l'indiç de man çampe sul letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:44
#, c-format
msgid "Swipe your left index finger across %s"
msgstr "Fâs cori l'indiç de man çampe su %s"
#: ../pam/fingerprint-strings.h:46
msgid "Place your left middle finger on the fingerprint reader"
msgstr "Met il dêt di mieç de man çampe sul letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:47
#, c-format
msgid "Place your left middle finger on %s"
msgstr "Met il dêt di mieç de man çampe su %s"
#: ../pam/fingerprint-strings.h:48
msgid "Swipe your left middle finger across the fingerprint reader"
msgstr "Fâs cori il dêt di mieç de man çampe sul letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:49
#, c-format
msgid "Swipe your left middle finger across %s"
msgstr "Fâs cori il dêt di mieç de man çampe su %s"
#: ../pam/fingerprint-strings.h:51
msgid "Place your left ring finger on the fingerprint reader"
msgstr "Met il dêt dal anel de man çampe sul letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:52
#, c-format
msgid "Place your left ring finger on %s"
msgstr "Met il dêt dal anel de man çampe su %s"
#: ../pam/fingerprint-strings.h:53
msgid "Swipe your left ring finger across the fingerprint reader"
msgstr "Fâs cori il dêt dal anel de man çampe sul letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:54
#, c-format
msgid "Swipe your left ring finger across %s"
msgstr "Fâs cori il dêt dal anel de man çampe su %s"
#: ../pam/fingerprint-strings.h:56
msgid "Place your left little finger on the fingerprint reader"
msgstr "Met il dêt piçul de man çampe su letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:57
#, c-format
msgid "Place your left little finger on %s"
msgstr "Met il dêt piçul de man çampe su %s"
#: ../pam/fingerprint-strings.h:58
msgid "Swipe your left little finger across the fingerprint reader"
msgstr "Fâs cori il dêt piçul de man çampe su letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:59
#, c-format
msgid "Swipe your left little finger across %s"
msgstr "Fâs cori il dêt piçul de man çampe su %s"
#: ../pam/fingerprint-strings.h:61
msgid "Place your right thumb on the fingerprint reader"
msgstr "Met il poleâr de man drete sul letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:62
#, c-format
msgid "Place your right thumb on %s"
msgstr "Met il poleâr de man drete su %s"
#: ../pam/fingerprint-strings.h:63
msgid "Swipe your right thumb across the fingerprint reader"
msgstr "Fâs cori il poleâr de man drete sul letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:64
#, c-format
msgid "Swipe your right thumb across %s"
msgstr "Fâs cori il poleâr de man drete su %s"
#: ../pam/fingerprint-strings.h:66
msgid "Place your right index finger on the fingerprint reader"
msgstr "Met l'indiç de man drete sul letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:67
#, c-format
msgid "Place your right index finger on %s"
msgstr "Met l'indiç de man drete su %s"
#: ../pam/fingerprint-strings.h:68
msgid "Swipe your right index finger across the fingerprint reader"
msgstr "Fâs cori l'indiç de man drete sul letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:69
#, c-format
msgid "Swipe your right index finger across %s"
msgstr "Fâs cori l'indiç de man drete su %s"
#: ../pam/fingerprint-strings.h:71
msgid "Place your right middle finger on the fingerprint reader"
msgstr "Met il dêt di mieç de man drete sul letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:72
#, c-format
msgid "Place your right middle finger on %s"
msgstr "Met il dêt di mieç de man drete su %s"
#: ../pam/fingerprint-strings.h:73
msgid "Swipe your right middle finger across the fingerprint reader"
msgstr "Fâs cori il dêt di mieç de man drete sul letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:74
#, c-format
msgid "Swipe your right middle finger across %s"
msgstr "Fâs cori il dêt di mieç de man drete su %s"
#: ../pam/fingerprint-strings.h:76
msgid "Place your right ring finger on the fingerprint reader"
msgstr "Met il dêt dal anel de man drete sul letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:77
#, c-format
msgid "Place your right ring finger on %s"
msgstr "Met il dêt dal anel de man drete su %s"
#: ../pam/fingerprint-strings.h:78
msgid "Swipe your right ring finger across the fingerprint reader"
msgstr "Fâs cori il dêt dal anel de man drete sul letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:79
#, c-format
msgid "Swipe your right ring finger across %s"
msgstr "Fâs cori il dêt dal anel de man drete su %s"
#: ../pam/fingerprint-strings.h:81
msgid "Place your right little finger on the fingerprint reader"
msgstr "Met il dêt piçul de man drete su letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:82
#, c-format
msgid "Place your right little finger on %s"
msgstr "Met il dêt piçul de man drete su %s"
#: ../pam/fingerprint-strings.h:83
msgid "Swipe your right little finger across the fingerprint reader"
msgstr "Fâs cori il dêt piçul de man drete su letôr di improntis digjitâls"
#: ../pam/fingerprint-strings.h:84
#, c-format
msgid "Swipe your right little finger across %s"
msgstr "Fâs cori il dêt piçul de man drete su %s"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Place your finger on the reader again"
msgstr "Torne met il dêt sul letôr"
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr "Torne fâs cori il dêt"
#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162
msgid "Swipe was too short, try again"
msgstr "La passade e jere masse curte, torne prove"
#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164
msgid "Your finger was not centered, try swiping your finger again"
msgstr "Il dêt nol jere centrât, prove a tornâ a fâ cori il dêt di gnûf"
#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166
msgid "Remove your finger, and try swiping your finger again"
msgstr "Gjave il dêt e prove a tornâ a fâ cori il dêt di gnûf"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-08-03 17:23+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Irish (http://www.transifex.com/freedesktop/fprintd/language/ga/)\n"
"MIME-Version: 1.0\n"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-23 18:02+0000\n"
"Last-Translator: Fran Diéguez <frandieguez@ubuntu.com>\n"
"Language-Team: Galician (http://www.transifex.com/freedesktop/fprintd/language/gl/)\n"
"MIME-Version: 1.0\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Gujarati (http://www.transifex.com/freedesktop/fprintd/language/gu/)\n"

View File

@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-08-03 17:23+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Hebrew (http://www.transifex.com/freedesktop/fprintd/language/he/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: he\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Verify a fingerprint"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-08-03 17:23+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Hindi (http://www.transifex.com/freedesktop/fprintd/language/hi/)\n"
"MIME-Version: 1.0\n"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\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"
"MIME-Version: 1.0\n"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:08+0000\n"
"Last-Translator: kelemeng <kelemeng@ubuntu.com>\n"
"Language-Team: Hungarian (http://www.transifex.com/freedesktop/fprintd/language/hu/)\n"
"MIME-Version: 1.0\n"

View File

@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2015-10-18 19:57+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 14:10+0000\n"
"Last-Translator: Martijn Dekker <mcdutchie@hotmail.com>\n"
"Language-Team: Interlingua (http://www.transifex.com/freedesktop/fprintd/language/ia/)\n"
"MIME-Version: 1.0\n"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:08+0000\n"
"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
"Language-Team: Indonesian (http://www.transifex.com/freedesktop/fprintd/language/id/)\n"
"MIME-Version: 1.0\n"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:08+0000\n"
"Last-Translator: Milo Casagrande <milo@ubuntu.com>\n"
"Language-Team: Italian (http://www.transifex.com/freedesktop/fprintd/language/it/)\n"
"MIME-Version: 1.0\n"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 10:41+0000\n"
"Last-Translator: Tomoyuki KATO <inactive+katomo@transifex.com>\n"
"Language-Team: Japanese (http://www.transifex.com/freedesktop/fprintd/language/ja/)\n"
"MIME-Version: 1.0\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Georgian (http://www.transifex.com/freedesktop/fprintd/language/ka/)\n"
@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ka\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Verify a fingerprint"

View File

@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-08-03 17:23+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Kazakh (http://www.transifex.com/freedesktop/fprintd/language/kk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: kk\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Verify a fingerprint"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Kannada (http://www.transifex.com/freedesktop/fprintd/language/kn/)\n"
@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: kn\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Verify a fingerprint"

View File

@ -13,8 +13,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2015-01-17 11:53+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:46+0000\n"
"Last-Translator: Shinjo Park <kde@peremen.name>\n"
"Language-Team: Korean (http://www.transifex.com/freedesktop/fprintd/language/ko/)\n"
"MIME-Version: 1.0\n"

View File

@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-08-03 17:23+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Lithuanian (http://www.transifex.com/freedesktop/fprintd/language/lt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lt\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Verify a fingerprint"

View File

@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 10:32+0000\n"
"Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n"
"Language-Team: Latvian (http://www.transifex.com/freedesktop/fprintd/language/lv/)\n"
"MIME-Version: 1.0\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Malayalam (http://www.transifex.com/freedesktop/fprintd/language/ml/)\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\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"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Malay (http://www.transifex.com/freedesktop/fprintd/language/ms/)\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Norwegian Bokmål (http://www.transifex.com/freedesktop/fprintd/language/nb/)\n"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 10:52+0000\n"
"Last-Translator: Richard E. van der Luit <nippur@fedoraproject.org>\n"
"Language-Team: Dutch (http://www.transifex.com/freedesktop/fprintd/language/nl/)\n"
"MIME-Version: 1.0\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Norwegian Nynorsk (http://www.transifex.com/freedesktop/fprintd/language/nn/)\n"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2016-02-26 17:03+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-23 20:04+0000\n"
"Last-Translator: Cédric Valmary <cvalmary@yahoo.fr>\n"
"Language-Team: Occitan (post 1500) (http://www.transifex.com/freedesktop/fprintd/language/oc/)\n"
"MIME-Version: 1.0\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Oriya (http://www.transifex.com/freedesktop/fprintd/language/or/)\n"

View File

@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# A S Alam <apreet.alam@gmail.com>, 2012-2013
# A S Alam <alam.yellow@gmail.com>, 2012-2013
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"Last-Translator: A S Alam <apreet.alam@gmail.com>\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:46+0000\n"
"Last-Translator: A S Alam <alam.yellow@gmail.com>\n"
"Language-Team: Panjabi (Punjabi) (http://www.transifex.com/freedesktop/fprintd/language/pa/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"

View File

@ -8,15 +8,15 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2016-08-29 15:56+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:08+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish (http://www.transifex.com/freedesktop/fprintd/language/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pl\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Verify a fingerprint"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2015-12-01 10:12+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 21:51+0000\n"
"Last-Translator: Pedro Albuquerque <palbuquerque73@gmail.com>\n"
"Language-Team: Portuguese (http://www.transifex.com/freedesktop/fprintd/language/pt/)\n"
"MIME-Version: 1.0\n"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 11:53+0000\n"
"Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/freedesktop/fprintd/language/pt_BR/)\n"
"MIME-Version: 1.0\n"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:08+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Romanian (http://www.transifex.com/freedesktop/fprintd/language/ro/)\n"
"MIME-Version: 1.0\n"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:46+0000\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian (http://www.transifex.com/freedesktop/fprintd/language/ru/)\n"
"MIME-Version: 1.0\n"

View File

@ -3,21 +3,21 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# pavolzetor <pavol@klacansky.com>, 2012
# pavolzetor <inactive+pavolzetor@transifex.com>, 2012
# Pavol Šimo <palo.simo@gmail.com>, 2011
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"Last-Translator: pavolzetor <pavol@klacansky.com>\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:37+0000\n"
"Last-Translator: pavolzetor <inactive+pavolzetor@transifex.com>\n"
"Language-Team: Slovak (http://www.transifex.com/freedesktop/fprintd/language/sk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sk\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Verify a fingerprint"

View File

@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:08+0000\n"
"Last-Translator: Matej Urbančič <>\n"
"Language-Team: Slovenian (http://www.transifex.com/freedesktop/fprintd/language/sl/)\n"
"MIME-Version: 1.0\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Albanian (http://www.transifex.com/freedesktop/fprintd/language/sq/)\n"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2014-11-22 10:45+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:08+0000\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian (http://www.transifex.com/freedesktop/fprintd/language/sr/)\n"
"MIME-Version: 1.0\n"

View File

@ -7,10 +7,10 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-08-03 17:23+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Serbian (Latin) (http://www.transifex.com/freedesktop/fprintd/language/sr@latin/)\n"
"Language-Team: Serbian (Latin) (http://www.transifex.com/freedesktop/fprintd/language/sr%40latin/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2014-11-12 22:15+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:08+0000\n"
"Last-Translator: Anders Jonsson <transifex@norsjovallen.se>\n"
"Language-Team: Swedish (http://www.transifex.com/freedesktop/fprintd/language/sv/)\n"
"MIME-Version: 1.0\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Tamil (http://www.transifex.com/freedesktop/fprintd/language/ta/)\n"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-08-03 17:23+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Telugu (http://www.transifex.com/freedesktop/fprintd/language/te/)\n"
"MIME-Version: 1.0\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Thai (http://www.transifex.com/freedesktop/fprintd/language/th/)\n"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2014-11-11 23:12+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:46+0000\n"
"Last-Translator: Necdet Yücel <necdetyucel@gmail.com>\n"
"Language-Team: Turkish (http://www.transifex.com/freedesktop/fprintd/language/tr/)\n"
"MIME-Version: 1.0\n"

View File

@ -9,15 +9,15 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:08+0000\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian (http://www.transifex.com/freedesktop/fprintd/language/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: uk\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"
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Verify a fingerprint"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Vietnamese (http://www.transifex.com/freedesktop/fprintd/language/vi/)\n"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-08-03 17:23+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Walloon (http://www.transifex.com/freedesktop/fprintd/language/wa/)\n"
"MIME-Version: 1.0\n"

View File

@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2015-11-09 14:46+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:46+0000\n"
"Last-Translator: Mingye Wang <arthur200126@gmail.com>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/freedesktop/fprintd/language/zh_CN/)\n"
"MIME-Version: 1.0\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/freedesktop/fprintd/language/zh_HK/)\n"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-13 17:12+0200\n"
"PO-Revision-Date: 2013-11-20 10:37+0000\n"
"POT-Creation-Date: 2018-02-06 14:07+0100\n"
"PO-Revision-Date: 2017-09-19 09:08+0000\n"
"Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/freedesktop/fprintd/language/zh_TW/)\n"
"MIME-Version: 1.0\n"

View File

@ -11,6 +11,7 @@ AM_CFLAGS = \
$(WARN_CFLAGS) \
$(FPRINT_CFLAGS) \
$(DAEMON_CFLAGS) \
-DG_LOG_DOMAIN=\""fprintd"\" \
-DLOCALEDIR=\""$(datadir)/locale"\" \
-DPLUGINDIR=\""$(libdir)/fprintd/modules"\" \
-DFILE_STORAGE_PATH=\""$(localstatedir)/lib/fprint"\"
@ -24,6 +25,7 @@ libfprintd_la_LDFLAGS = -no-undefined
fprintd_SOURCES = \
main.c \
loop.c loop.h \
file_storage.c file_storage.h storage.h
fprintd_LDADD = libfprintd.la

View File

@ -558,7 +558,12 @@ _fprint_device_client_vanished (GDBusConnection *connection,
/* Close the claimed device as well */
if (priv->dev) {
fp_async_dev_close (priv->dev, action_stop_cb, &done);
struct fp_dev *dev;
dev = priv->dev;
priv->dev = NULL;
fp_async_dev_close (dev, action_stop_cb, &done);
while (done == FALSE)
g_main_context_iteration (NULL, TRUE);
}
@ -601,7 +606,7 @@ static void dev_open_cb(struct fp_dev *dev, int status, void *user_data)
FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev);
struct session_data *session = priv->session;
g_message("device %d claim status %d", priv->id, status);
g_debug("device %d claim status %d", priv->id, status);
if (status != 0) {
GError *error = NULL;
@ -670,7 +675,7 @@ static void fprint_device_claim(FprintDevice *rdev,
priv->username = user;
priv->sender = sender;
g_message ("user '%s' claiming the device: %d", priv->username, priv->id);
g_debug ("user '%s' claiming the device: %d", priv->username, priv->id);
priv->session = g_slice_new0(struct session_data);
priv->session->context_claim_device = context;
@ -709,7 +714,7 @@ static void dev_close_cb(struct fp_dev *dev, void *user_data)
g_free (priv->username);
priv->username = NULL;
g_message("released device %d", priv->id);
g_debug("released device %d", priv->id);
dbus_g_method_return(context);
}
@ -737,8 +742,13 @@ static void fprint_device_release(FprintDevice *rdev,
}
session->context_release_device = context;
if (priv->dev)
fp_async_dev_close(priv->dev, dev_close_cb, rdev);
if (priv->dev) {
struct fp_dev *dev;
dev = priv->dev;
priv->dev = NULL;
fp_async_dev_close(dev, dev_close_cb, rdev);
}
}
static void verify_cb(struct fp_dev *dev, int r, struct fp_img *img,
@ -751,7 +761,7 @@ static void verify_cb(struct fp_dev *dev, int r, struct fp_img *img,
if (priv->action_done != FALSE)
return;
g_message("verify_cb: result %s (%d)", name, r);
g_debug("verify_cb: result %s (%d)", name, r);
if (r == FP_VERIFY_NO_MATCH || r == FP_VERIFY_MATCH || r < 0)
priv->action_done = TRUE;
@ -775,7 +785,7 @@ static void identify_cb(struct fp_dev *dev, int r,
if (priv->action_done != FALSE)
return;
g_message("identify_cb: result %s (%d)", name, r);
g_debug("identify_cb: result %s (%d)", name, r);
if (r == FP_VERIFY_NO_MATCH || r == FP_VERIFY_MATCH || r < 0)
priv->action_done = TRUE;
@ -846,7 +856,7 @@ static void fprint_device_verify_start(FprintDevice *rdev,
array = g_ptr_array_new ();
for (l = prints; l != NULL; l = l->next) {
g_message ("adding finger %d to the gallery", GPOINTER_TO_INT (l->data));
g_debug ("adding finger %d to the gallery", GPOINTER_TO_INT (l->data));
r = store.print_data_load(priv->dev, GPOINTER_TO_INT (l->data),
&data, priv->username);
if (r == 0)
@ -876,12 +886,12 @@ static void fprint_device_verify_start(FprintDevice *rdev,
}
priv->current_action = ACTION_IDENTIFY;
g_message ("start identification device %d", priv->id);
g_debug ("start identification device %d", priv->id);
r = fp_async_identify_start (priv->dev, gallery, identify_cb, rdev);
} else {
priv->current_action = ACTION_VERIFY;
g_message("start verification device %d finger %d", priv->id, finger_num);
g_debug("start verification device %d finger %d", priv->id, finger_num);
r = store.print_data_load(priv->dev, (enum fp_finger)finger_num,
&data, priv->username);
@ -1007,7 +1017,7 @@ static void enroll_stage_cb(struct fp_dev *dev, int result,
if (priv->action_done != FALSE)
return;
g_message("enroll_stage_cb: result %d", result);
g_debug("enroll_stage_cb: result %d", result);
if (result == FP_ENROLL_COMPLETE) {
r = store.print_data_save(print, session->enroll_finger, priv->username);
if (r < 0)
@ -1066,7 +1076,7 @@ static void fprint_device_enroll_start(FprintDevice *rdev,
return;
}
g_message("start enrollment device %d finger %d", priv->id, finger_num);
g_debug("start enrollment device %d finger %d", priv->id, finger_num);
session->enroll_finger = finger_num;
priv->action_done = FALSE;

196
src/loop.c Normal file
View File

@ -0,0 +1,196 @@
/*
* fprint D-Bus daemon
* Copyright (C) 2008 Daniel Drake <dsd@gentoo.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "config.h"
#include <glib.h>
#include <libfprint/fprint.h>
#include <poll.h>
#include <stdlib.h>
#include "loop.h"
struct fdsource {
GSource source;
GSList *pollfds;
};
static gboolean source_prepare(GSource *source, gint *timeout)
{
int r;
struct timeval tv;
r = fp_get_next_timeout(&tv);
if (r == 0) {
*timeout = -1;
return FALSE;
}
if (!timerisset(&tv))
return TRUE;
*timeout = (tv.tv_sec * 1000) + (tv.tv_usec / 1000);
return FALSE;
}
static gboolean source_check(GSource *source)
{
struct fdsource *_fdsource = (struct fdsource *) source;
GSList *l;
struct timeval tv;
int r;
if (!_fdsource->pollfds)
return FALSE;
for (l = _fdsource->pollfds; l != NULL; l = l->next) {
GPollFD *pollfd = l->data;
if (pollfd->revents)
return TRUE;
}
r = fp_get_next_timeout(&tv);
if (r == 1 && !timerisset(&tv))
return TRUE;
return FALSE;
}
static gboolean source_dispatch(GSource *source, GSourceFunc callback,
gpointer data)
{
struct timeval zerotimeout = {
.tv_sec = 0,
.tv_usec = 0,
};
/* FIXME error handling */
fp_handle_events_timeout(&zerotimeout);
/* FIXME whats the return value used for? */
return TRUE;
}
static void source_finalize(GSource *source)
{
struct fdsource *_fdsource = (struct fdsource *) source;
GSList *l;
if (!_fdsource->pollfds)
return;
for (l = _fdsource->pollfds; l != NULL; l = l->next) {
GPollFD *pollfd = l->data;
g_source_remove_poll((GSource *) _fdsource, pollfd);
g_slice_free(GPollFD, pollfd);
_fdsource->pollfds = g_slist_delete_link(_fdsource->pollfds, l);
}
g_slist_free(_fdsource->pollfds);
}
static GSourceFuncs sourcefuncs = {
.prepare = source_prepare,
.check = source_check,
.dispatch = source_dispatch,
.finalize = source_finalize,
};
static struct fdsource *fdsource = NULL;
static void pollfd_add(int fd, short events)
{
GPollFD *pollfd;
pollfd = g_slice_new(GPollFD);
pollfd->fd = fd;
pollfd->events = 0;
pollfd->revents = 0;
if (events & POLLIN)
pollfd->events |= G_IO_IN;
if (events & POLLOUT)
pollfd->events |= G_IO_OUT;
fdsource->pollfds = g_slist_prepend(fdsource->pollfds, pollfd);
g_source_add_poll((GSource *) fdsource, pollfd);
}
static void pollfd_added_cb(int fd, short events)
{
g_debug("now monitoring fd %d", fd);
pollfd_add(fd, events);
}
static void pollfd_removed_cb(int fd)
{
GSList *l;
g_debug("no longer monitoring fd %d", fd);
if (!fdsource->pollfds) {
g_debug("cannot remove from list as list is empty?");
return;
}
for (l = fdsource->pollfds; l != NULL; l = l->next) {
GPollFD *pollfd = l->data;
if (pollfd->fd != fd)
continue;
g_source_remove_poll((GSource *) fdsource, pollfd);
g_slice_free(GPollFD, pollfd);
fdsource->pollfds = g_slist_delete_link(fdsource->pollfds, l);
return;
}
g_error("couldn't find fd %d in list\n", fd);
}
int setup_pollfds(void)
{
size_t numfds;
size_t i;
struct fp_pollfd *fpfds;
GSource *gsource;
gsource = g_source_new(&sourcefuncs, sizeof(struct fdsource));
fdsource = (struct fdsource *) gsource;
fdsource->pollfds = NULL;
numfds = fp_get_pollfds(&fpfds);
if (numfds < 0) {
if (fpfds)
free(fpfds);
return (int) numfds;
} else if (numfds > 0) {
for (i = 0; i < numfds; i++) {
struct fp_pollfd *fpfd = &fpfds[i];
pollfd_add(fpfd->fd, fpfd->events);
}
}
free(fpfds);
fp_set_pollfd_notifiers(pollfd_added_cb, pollfd_removed_cb);
g_source_attach(gsource, NULL);
return 0;
}

27
src/loop.h Normal file
View File

@ -0,0 +1,27 @@
/*
* Copyright (C) 2008 Daniel Drake <dsd@gentoo.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
*/
#ifndef POLL_H
#define POLL_H
int setup_pollfds(void);
#endif

View File

@ -30,6 +30,7 @@
#include <gmodule.h>
#include "fprintd.h"
#include "loop.h"
#include "storage.h"
#include "file_storage.h"
@ -37,165 +38,6 @@ extern DBusGConnection *fprintd_dbus_conn;
static gboolean no_timeout = FALSE;
static gboolean g_fatal_warnings = FALSE;
struct fdsource {
GSource source;
GSList *pollfds;
};
static gboolean source_prepare(GSource *source, gint *timeout)
{
int r;
struct timeval tv;
r = fp_get_next_timeout(&tv);
if (r == 0) {
*timeout = -1;
return FALSE;
}
if (!timerisset(&tv))
return TRUE;
*timeout = (tv.tv_sec * 1000) + (tv.tv_usec / 1000);
return FALSE;
}
static gboolean source_check(GSource *source)
{
struct fdsource *_fdsource = (struct fdsource *) source;
GSList *elem = _fdsource->pollfds;
struct timeval tv;
int r;
if (!elem)
return FALSE;
do {
GPollFD *pollfd = elem->data;
if (pollfd->revents)
return TRUE;
} while ((elem = g_slist_next(elem)));
r = fp_get_next_timeout(&tv);
if (r == 1 && !timerisset(&tv))
return TRUE;
return FALSE;
}
static gboolean source_dispatch(GSource *source, GSourceFunc callback,
gpointer data)
{
struct timeval zerotimeout = {
.tv_sec = 0,
.tv_usec = 0,
};
/* FIXME error handling */
fp_handle_events_timeout(&zerotimeout);
/* FIXME whats the return value used for? */
return TRUE;
}
static void source_finalize(GSource *source)
{
struct fdsource *_fdsource = (struct fdsource *) source;
GSList *elem = _fdsource->pollfds;
if (elem)
do {
GPollFD *pollfd = elem->data;
g_source_remove_poll((GSource *) _fdsource, pollfd);
g_slice_free(GPollFD, pollfd);
_fdsource->pollfds = g_slist_delete_link(_fdsource->pollfds, elem);
} while ((elem = g_slist_next(elem)));
g_slist_free(_fdsource->pollfds);
}
static GSourceFuncs sourcefuncs = {
.prepare = source_prepare,
.check = source_check,
.dispatch = source_dispatch,
.finalize = source_finalize,
};
static struct fdsource *fdsource = NULL;
static void pollfd_add(int fd, short events)
{
GPollFD *pollfd = g_slice_new(GPollFD);
pollfd->fd = fd;
pollfd->events = 0;
pollfd->revents = 0;
if (events & POLLIN)
pollfd->events |= G_IO_IN;
if (events & POLLOUT)
pollfd->events |= G_IO_OUT;
fdsource->pollfds = g_slist_prepend(fdsource->pollfds, pollfd);
g_source_add_poll((GSource *) fdsource, pollfd);
}
static void pollfd_added_cb(int fd, short events)
{
g_message("now monitoring fd %d", fd);
pollfd_add(fd, events);
}
static void pollfd_removed_cb(int fd)
{
GSList *elem = fdsource->pollfds;
g_message("no longer monitoring fd %d", fd);
if (!elem) {
g_warning("cannot remove from list as list is empty?");
return;
}
do {
GPollFD *pollfd = elem->data;
if (pollfd->fd != fd)
continue;
g_source_remove_poll((GSource *) fdsource, pollfd);
g_slice_free(GPollFD, pollfd);
fdsource->pollfds = g_slist_delete_link(fdsource->pollfds, elem);
return;
} while ((elem = g_slist_next(elem)));
g_error("couldn't find fd %d in list\n", fd);
}
static int setup_pollfds(void)
{
size_t numfds;
size_t i;
struct fp_pollfd *fpfds;
GSource *gsource = g_source_new(&sourcefuncs, sizeof(struct fdsource));
fdsource = (struct fdsource *) gsource;
fdsource->pollfds = NULL;
numfds = fp_get_pollfds(&fpfds);
if (numfds < 0) {
if (fpfds)
free(fpfds);
return (int) numfds;
} else if (numfds > 0) {
for (i = 0; i < numfds; i++) {
struct fp_pollfd *fpfd = &fpfds[i];
pollfd_add(fpfd->fd, fpfd->events);
}
}
free(fpfds);
fp_set_pollfd_notifiers(pollfd_added_cb, pollfd_removed_cb);
g_source_attach(gsource, NULL);
return 0;
}
static void
set_storage_file (void)
{