Hello community, here is the log from the commit of package fprintd for openSUSE:Factory checked in at 2019-12-02 11:35:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/fprintd (Old) and /work/SRC/openSUSE:Factory/.fprintd.new.4691 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fprintd" Mon Dec 2 11:35:42 2019 rev:8 rq:752803 version:0.9.0 Changes: -------- --- /work/SRC/openSUSE:Factory/fprintd/fprintd.changes 2019-05-08 15:17:45.837161987 +0200 +++ /work/SRC/openSUSE:Factory/.fprintd.new.4691/fprintd.changes 2019-12-02 11:38:30.226462732 +0100 @@ -1,0 +2,14 @@ +Mon Dec 2 07:35:39 UTC 2019 - Tomáš Chvátal <[email protected]> + +- Fix the download url + +------------------------------------------------------------------- +Fri Nov 29 13:24:35 UTC 2019 - Johannes Kastl <[email protected]> + +- update to 0.9.0: + * Fix hangs when there the verification error was "retry" + * Update for fp_get_pollfds() changes + * Fix "client_username" memory leak, fix memory leak when saving a file + * Create the fingerprint storage directory at install time, the storage path is now hard-coded as /var/lib/fprint and created by systemd when the service is started + +------------------------------------------------------------------- Old: ---- fprintd-0.8.1.tar.xz New: ---- fprintd-0.9.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ fprintd.spec ++++++ --- /var/tmp/diff_new_pack.MXHM4q/_old 2019-12-02 11:38:30.594462810 +0100 +++ /var/tmp/diff_new_pack.MXHM4q/_new 2019-12-02 11:38:30.594462810 +0100 @@ -1,7 +1,7 @@ # # spec file for package fprintd # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,18 +12,19 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # +%define gitlabhash 9dec4b63d1f00e637070be1477ce63c0 Name: fprintd -Version: 0.8.1 +Version: 0.9.0 Release: 0 Summary: D-Bus service for Fingerprint reader access License: GPL-2.0-or-later Group: Productivity/Security URL: https://fprint.freedesktop.org/ -Source0: https://gitlab.freedesktop.org/libfprint/fprintd/uploads/bdd9f91909f535368b7c21f72311704a/%{name}-%{version}.tar.xz +Source0: https://gitlab.freedesktop.org/libfprint/fprintd/uploads/%{gitlabhash}/%{name}-%{version}.tar.xz Source1: baselibs.conf Source2: README.SUSE BuildRequires: gtk-doc >= 1.3 ++++++ fprintd-0.8.1.tar.xz -> fprintd-0.9.0.tar.xz ++++++ ++++ 3365 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.8.1/NEWS new/fprintd-0.9.0/NEWS --- old/fprintd-0.8.1/NEWS 2018-06-15 17:54:01.000000000 +0200 +++ new/fprintd-0.9.0/NEWS 2019-08-08 15:19:12.000000000 +0200 @@ -1,6 +1,14 @@ This file lists notable changes in each release. For the full history of all changes, see ChangeLog. +version 0.9.0: +- Fix hangs when there the verification error was "retry" +- Update for fp_get_pollfds() changes +- Fix "client_username" memory leak, fix memory leak when saving a file +- Create the fingerprint storage directory at install time, + the storage path is now hard-coded as /var/lib/fprint and created by + systemd when the service is started + version 0.8.1: - Fix build when builddir != srcdir - Fix possible crash on exit diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.8.1/configure.ac new/fprintd-0.9.0/configure.ac --- old/fprintd-0.8.1/configure.ac 2018-06-15 17:54:01.000000000 +0200 +++ new/fprintd-0.9.0/configure.ac 2019-08-08 15:19:12.000000000 +0200 @@ -1,4 +1,4 @@ -AC_INIT([fprintd], [0.8.1]) +AC_INIT([fprintd], [0.9.0]) AM_INIT_AUTOMAKE([1.11 dist-xz no-dist-gzip check-news]) AC_CONFIG_SRCDIR([src/main.c]) AC_CONFIG_HEADERS([config.h]) @@ -60,6 +60,8 @@ [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [ + # StateDirectory was introduced in systemd 235 + PKG_CHECK_MODULES(SYSTEMD, systemd >= 235) AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) ]) AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$systemdsystemunitdir"]) @@ -70,7 +72,8 @@ AC_SUBST(DBUS_SERVICES_DIR) AC_DEFINE_UNQUOTED(DBUS_SERVICES_DIR, "$DBUS_SERVICES_DIR", [Where services dir for DBUS is]) -AC_DEFINE_UNQUOTED(SYSCONFDIR, "$sysconfdir", [Where the configuration file will be located]) +AS_AC_EXPAND(SYSCONFDIR, $sysconfdir) +AC_DEFINE_UNQUOTED(SYSCONFDIR, "$SYSCONFDIR", [Where the configuration file will be located]) GNOME_COMPILE_WARNINGS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.8.1/data/Makefile.am new/fprintd-0.9.0/data/Makefile.am --- old/fprintd-0.8.1/data/Makefile.am 2017-02-14 14:06:31.000000000 +0100 +++ new/fprintd-0.9.0/data/Makefile.am 2019-08-07 15:15:23.000000000 +0200 @@ -15,7 +15,7 @@ systemdservicedir = $(systemdsystemunitdir) systemdservice_DATA = $(systemdservice_in_files:.service.in=.service) $(systemdservice_DATA): $(systemdservice_in_files) Makefile - @sed -e "s|\@libexecdir\@|$(libexecdir)|" -e "s|\@localstatedir\@|$(localstatedir)|" $< > $@ + @sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ endif polkitdir = $(datadir)/polkit-1/actions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.8.1/data/fprintd.service.in new/fprintd-0.9.0/data/fprintd.service.in --- old/fprintd-0.8.1/data/fprintd.service.in 2018-04-16 08:54:44.000000000 +0200 +++ new/fprintd-0.9.0/data/fprintd.service.in 2019-08-07 15:15:23.000000000 +0200 @@ -11,7 +11,8 @@ ProtectSystem=strict ProtectKernelTunables=true ProtectControlGroups=true -ReadWritePaths=@localstatedir@/lib/fprint +# This always corresponds to /var/lib/fprint +StateDirectory=fprint ProtectHome=true PrivateTmp=true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.8.1/gtk-doc.make new/fprintd-0.9.0/gtk-doc.make --- old/fprintd-0.8.1/gtk-doc.make 2018-06-15 17:54:46.000000000 +0200 +++ new/fprintd-0.9.0/gtk-doc.make 2019-08-08 15:19:45.000000000 +0200 @@ -212,6 +212,7 @@ for file in $(HTML_IMAGES) ; do \ test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \ test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \ + test -f $$file && cp $$file $(abs_builddir)/html; \ done; $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) $(AM_V_at)touch html-build.stamp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.8.1/pam/pam_fprintd.c new/fprintd-0.9.0/pam/pam_fprintd.c --- old/fprintd-0.8.1/pam/pam_fprintd.c 2017-02-16 14:49:24.000000000 +0100 +++ new/fprintd-0.9.0/pam/pam_fprintd.c 2019-08-08 15:19:12.000000000 +0200 @@ -356,7 +356,7 @@ g_free (data->result); break; } else { - send_info_msg (data->pamh, "An unknown error occured"); + send_info_msg (data->pamh, "An unknown error occurred"); ret = PAM_AUTH_ERR; g_free (data->result); break; @@ -476,8 +476,13 @@ G_TYPE_NONE, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INVALID); pam_get_item(pamh, PAM_RHOST, (const void **)(const void*) &rhost); - if (rhost != NULL && strlen(rhost) > 0) { - /* remote login (e.g. over SSH) */ + + /* NULL or empty rhost if the host information is not available or set. + * "localhost" if the host is local. + * We want to not run for known remote hosts */ + if (rhost != NULL && + rhost != '\0' && + strcmp (rhost, "localhost") != 0) { return PAM_AUTHINFO_UNAVAIL; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.8.1/src/Makefile.am new/fprintd-0.9.0/src/Makefile.am --- old/fprintd-0.8.1/src/Makefile.am 2018-05-31 17:20:15.000000000 +0200 +++ new/fprintd-0.9.0/src/Makefile.am 2019-08-07 15:15:23.000000000 +0200 @@ -13,8 +13,7 @@ $(DAEMON_CFLAGS) \ -DG_LOG_DOMAIN=\""fprintd"\" \ -DLOCALEDIR=\""$(datadir)/locale"\" \ - -DPLUGINDIR=\""$(libdir)/fprintd/modules"\" \ - -DFILE_STORAGE_PATH=\""$(localstatedir)/lib/fprint"\" + -DPLUGINDIR=\""$(libdir)/fprintd/modules"\" libfprintd_la_SOURCES = \ manager.c device.c \ @@ -50,3 +49,7 @@ fprintd-marshal.c: fprintd-marshal.h ( $(GLIB_GENMARSHAL) --prefix=fprintd_marshal $(srcdir)/fprintd-marshal.list --body --header > fprintd-marshal.c ) +install-data-hook: + if test -w $(DESTDIR)$(prefix)/; then \ + mkdir -p $(DESTDIR)$(localstatedir)/lib/fprint; \ + fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.8.1/src/device.c new/fprintd-0.9.0/src/device.c --- old/fprintd-0.8.1/src/device.c 2018-05-31 12:01:59.000000000 +0200 +++ new/fprintd-0.9.0/src/device.c 2019-08-08 15:19:12.000000000 +0200 @@ -469,7 +469,6 @@ char *sender; unsigned long uid; struct passwd *user; - char *client_username; /* Get details about the current sender, and username/uid */ conn = dbus_g_connection_get_connection (fprintd_dbus_conn); @@ -490,17 +489,16 @@ "Failed to get information about user UID %lu", uid); return NULL; } - client_username = g_strdup (user->pw_name); /* The current user is usually allowed to access their * own data, this should be followed by PolicyKit checks * anyway */ - if (username == NULL || *username == '\0' || g_str_equal (username, client_username)) { + if (username == NULL || *username == '\0' || g_str_equal (username, user->pw_name)) { if (ret_sender != NULL) *ret_sender = sender; else g_free (sender); - return client_username; + return g_strdup (user->pw_name); } /* If we're not allowed to set a different username, @@ -751,8 +749,30 @@ } } -static void verify_cb(struct fp_dev *dev, int r, struct fp_img *img, - void *user_data) +static void verify_cb(struct fp_dev *dev, + int r, + struct fp_img *img, + void *user_data); + +static void +verify_restart_cb(struct fp_dev *dev, + void *user_data) +{ + struct FprintDevice *rdev = user_data; + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + + if (priv->current_action != ACTION_VERIFY) + return; + + g_debug("verify_restart_cb: restarting verification"); + fp_async_verify_start(priv->dev, priv->verify_data, verify_cb, rdev); +} + +static void +verify_cb(struct fp_dev *dev, + int r, + struct fp_img *img, + void *user_data) { struct FprintDevice *rdev = user_data; FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); @@ -763,8 +783,20 @@ 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; + if (r == FP_VERIFY_RETRY || + r == FP_VERIFY_RETRY_TOO_SHORT || + r == FP_VERIFY_RETRY_CENTER_FINGER || + r == FP_VERIFY_RETRY_REMOVE_FINGER) { + g_debug ("verify_cb: stopping current verification to retry"); + fp_img_free(img); + if (fp_async_verify_stop(priv->dev, verify_restart_cb, user_data) == 0) { + g_signal_emit(rdev, signals[SIGNAL_VERIFY_STATUS], 0, name, priv->action_done); + return; + } + /* fallthrough to error out if restarting failed */ + } + + priv->action_done = TRUE; set_disconnected (priv, name); g_signal_emit(rdev, signals[SIGNAL_VERIFY_STATUS], 0, name, priv->action_done); fp_img_free(img); @@ -775,8 +807,32 @@ } } -static void identify_cb(struct fp_dev *dev, int r, - size_t match_offset, struct fp_img *img, void *user_data) +static void identify_cb(struct fp_dev *dev, + int r, + size_t match_offset, + struct fp_img *img, + void *user_data); + +static void +identify_restart_cb(struct fp_dev *dev, + void *user_data) +{ + struct FprintDevice *rdev = user_data; + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + + if (priv->current_action != ACTION_IDENTIFY) + return; + + g_debug("identify_restart_cb: restarting identification"); + fp_async_identify_start (priv->dev, priv->identify_data, identify_cb, rdev); +} + +static void +identify_cb(struct fp_dev *dev, + int r, + size_t match_offset, + struct fp_img *img, + void *user_data) { struct FprintDevice *rdev = user_data; FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); @@ -787,8 +843,20 @@ 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; + if (r == FP_VERIFY_RETRY || + r == FP_VERIFY_RETRY_TOO_SHORT || + r == FP_VERIFY_RETRY_CENTER_FINGER || + r == FP_VERIFY_RETRY_REMOVE_FINGER) { + g_debug ("identify_cb: stopping current identification to retry"); + fp_img_free(img); + if (fp_async_identify_stop(priv->dev, identify_restart_cb, user_data) == 0) { + g_signal_emit(rdev, signals[SIGNAL_VERIFY_STATUS], 0, name, priv->action_done); + return; + } + /* fallthrough to error out if restarting failed */ + } + + priv->action_done = TRUE; set_disconnected (priv, name); g_signal_emit(rdev, signals[SIGNAL_VERIFY_STATUS], 0, name, priv->action_done); fp_img_free(img); @@ -992,6 +1060,13 @@ return; } + if (r == -EINPROGRESS) { + g_debug ("%s stop already in progress", + priv->current_action == ACTION_VERIFY ? "verification" : "identification"); + dbus_g_method_return(context); + r = 0; + } + if (r < 0) { g_set_error(&error, FPRINT_ERROR, FPRINT_ERROR_INTERNAL, "Verify stop failed with error %d", r); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.8.1/src/file_storage.c new/fprintd-0.9.0/src/file_storage.c --- old/fprintd-0.8.1/src/file_storage.c 2017-02-14 14:06:31.000000000 +0100 +++ new/fprintd-0.9.0/src/file_storage.c 2019-08-08 11:59:07.000000000 +0200 @@ -39,6 +39,7 @@ #include "file_storage.h" +#define FILE_STORAGE_PATH "/var/lib/fprint" #define DIR_PERMS 0700 #define FP_FINGER_IS_VALID(finger) \ @@ -82,12 +83,9 @@ fp_dscv_dev_get_devtype(dev), finger, base_store); } -static int file_storage_get_basestore_for_username(const char *username, char **base_store) +static char *file_storage_get_basestore_for_username(const char *username) { - char *dirpath = FILE_STORAGE_PATH; - - *base_store = g_build_filename(dirpath, username, NULL); - return 0; + return g_build_filename(FILE_STORAGE_PATH, username, NULL); } /* if username == NULL function will use current username */ @@ -95,16 +93,13 @@ enum fp_finger finger, const char *username) { GError *err = NULL; - char *path, *dirpath, *buf; + char *path, *dirpath; size_t len; int r; char *base_store = NULL; + char *buf = NULL; - r = file_storage_get_basestore_for_username(username, &base_store); - - if (r < 0) { - return r; - } + base_store = file_storage_get_basestore_for_username(username); len = fp_print_data_get_data(data, (guchar **) &buf); if (!len) { @@ -116,26 +111,30 @@ dirpath = g_path_get_dirname(path); r = g_mkdir_with_parents(dirpath, DIR_PERMS); if (r < 0) { - g_free(base_store); - g_free(path); + g_debug("file_storage_print_data_save(): could not mkdir(\"%s\"): %s", + dirpath, g_strerror(r)); g_free(dirpath); - return r; + g_free(path); + goto out; } + g_free(dirpath); //fp_dbg("saving to %s", path); g_file_set_contents(path, buf, len, &err); - free(buf); - g_free(dirpath); g_free(path); if (err) { r = err->code; - //fp_err("save failed: %s", err->message); + g_debug("file_storage_print_data_save(): could not save '%s': %s", + path, err->message); g_error_free(err); /* FIXME interpret error codes */ - return r; + goto out; } - return 0; +out: + g_clear_pointer(&buf, free); + g_clear_pointer(&base_store, g_free); + return r; } static int load_from_file(char *path, struct fp_print_data **data) @@ -173,14 +172,12 @@ int r; char *base_store = NULL; - r = file_storage_get_basestore_for_username(username, &base_store); - - if (r < 0) { - return r; - } + base_store = file_storage_get_basestore_for_username(username); path = get_path_to_print(dev, finger, base_store); r = load_from_file(path, &fdata); + g_debug ("file_storage_print_data_load(): loaded '%s' %s", + path, g_strerror(r)); g_free(path); g_free(base_store); if (r) @@ -199,17 +196,14 @@ enum fp_finger finger, const char *username) { int r; - char *base_store; - - r = file_storage_get_basestore_for_username(username, &base_store); - - if (r < 0) { - return r; - } + char *base_store, *path; - gchar *path = get_path_to_print_dscv(dev, finger, base_store); + base_store = file_storage_get_basestore_for_username(username); + path = get_path_to_print_dscv(dev, finger, base_store); r = g_unlink(path); + g_debug("file_storage_print_data_delete(): unlink(\"%s\") %s", + path, g_strerror(r)); g_free(path); g_free(base_store); @@ -225,7 +219,7 @@ GDir *dir = g_dir_open(devpath, 0, &err); if (!dir) { - //fp_err("opendir %s failed: %s", devpath, err->message); + g_debug("scan_dev_storedir(): opendir(\"%s\") failed: %s", devpath, err->message); g_error_free(err); return list; } @@ -240,7 +234,7 @@ val = g_ascii_strtoull(ent, &endptr, 16); if (endptr == ent || !FP_FINGER_IS_VALID(val)) { - //fp_dbg("skipping print file %s", ent); + g_debug("scan_dev_storedir(): skipping print file '%s'", ent); continue; } @@ -256,18 +250,15 @@ GSList *list = NULL; char *base_store = NULL; char *storedir = NULL; - int r; - - r = file_storage_get_basestore_for_username(username, &base_store); - - if (r < 0) { - return NULL; - } + base_store = file_storage_get_basestore_for_username(username); storedir = get_path_to_storedir(fp_driver_get_driver_id(fp_dscv_dev_get_driver(dev)), fp_dscv_dev_get_devtype(dev), base_store); + g_debug ("file_storage_discover_prints() for user '%s' in '%s'", + username, storedir); + list = scan_dev_storedir(storedir, fp_driver_get_driver_id(fp_dscv_dev_get_driver(dev)), fp_dscv_dev_get_devtype(dev), list); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.8.1/src/loop.c new/fprintd-0.9.0/src/loop.c --- old/fprintd-0.8.1/src/loop.c 2018-05-25 16:06:42.000000000 +0200 +++ new/fprintd-0.9.0/src/loop.c 2018-06-26 15:19:29.000000000 +0200 @@ -168,7 +168,7 @@ int setup_pollfds(void) { - size_t numfds; + ssize_t numfds; size_t i; struct fp_pollfd *fpfds; GSource *gsource; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fprintd-0.8.1/src/main.c new/fprintd-0.9.0/src/main.c --- old/fprintd-0.8.1/src/main.c 2018-05-25 15:59:57.000000000 +0200 +++ new/fprintd-0.9.0/src/main.c 2019-08-08 15:19:12.000000000 +0200 @@ -87,8 +87,9 @@ filename = g_build_filename (SYSCONFDIR, "fprintd.conf", NULL); file = g_key_file_new (); + g_debug("About to load configuration file '%s'", filename); if (!g_key_file_load_from_file (file, filename, G_KEY_FILE_NONE, &error)) { - g_print ("Could not open fprintd.conf: %s\n", error->message); + g_warning ("Could not open \"%s\": %s\n", filename, error->message); goto bail; } @@ -148,7 +149,7 @@ #endif if (g_option_context_parse (context, &argc, &argv, &error) == FALSE) { - g_print ("couldn't parse command-line options: %s\n", error->message); + g_warning ("couldn't parse command-line options: %s\n", error->message); g_error_free (error); return 1; } @@ -199,7 +200,7 @@ r = setup_pollfds(); if (r < 0) { - g_print("pollfd setup failed\n"); + g_warning("pollfd setup failed\n"); goto err; }
