Hello community, here is the log from the commit of package pam_kwallet for openSUSE:Factory checked in at 2018-06-15 14:45:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pam_kwallet (Old) and /work/SRC/openSUSE:Factory/.pam_kwallet.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pam_kwallet" Fri Jun 15 14:45:20 2018 rev:31 rq:615754 version:5.13.0 Changes: -------- --- /work/SRC/openSUSE:Factory/pam_kwallet/pam_kwallet.changes 2018-05-29 10:35:40.336974672 +0200 +++ /work/SRC/openSUSE:Factory/.pam_kwallet.new/pam_kwallet.changes 2018-06-15 14:45:22.986300130 +0200 @@ -1,0 +2,12 @@ +Thu Jun 7 20:03:51 CEST 2018 - [email protected] + +- Update to 5.13.0 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/plasma-5.13.0.php +- Changes since 5.12.90: + * Somehow last commit changed the version + * Small fixes for execute_kwallet + * Ensure the salt file is indeed a regular file + +------------------------------------------------------------------- Old: ---- kwallet-pam-5.12.90.tar.xz New: ---- kwallet-pam-5.13.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pam_kwallet.spec ++++++ --- /var/tmp/diff_new_pack.LseVxs/_old 2018-06-15 14:45:23.674274965 +0200 +++ /var/tmp/diff_new_pack.LseVxs/_new 2018-06-15 14:45:23.678274818 +0200 @@ -17,13 +17,13 @@ Name: pam_kwallet -Version: 5.12.90 +Version: 5.13.0 Release: 0 Summary: A PAM Module for KWallet signing License: LGPL-2.1 and GPL-2.0+ and GPL-3.0 Group: System/GUI/KDE Url: http://www.kde.org/ -Source: http://download.kde.org/unstable/plasma/%{version}/kwallet-pam-%{version}.tar.xz +Source: kwallet-pam-%{version}.tar.xz Source1: baselibs.conf BuildRequires: extra-cmake-modules >= 1.2.0 BuildRequires: kf5-filesystem ++++++ kwallet-pam-5.12.90.tar.xz -> kwallet-pam-5.13.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwallet-pam-5.12.90/CMakeLists.txt new/kwallet-pam-5.13.0/CMakeLists.txt --- old/kwallet-pam-5.12.90/CMakeLists.txt 2018-05-18 14:24:14.000000000 +0200 +++ new/kwallet-pam-5.13.0/CMakeLists.txt 2018-06-07 15:51:53.000000000 +0200 @@ -1,7 +1,7 @@ project(pam_kwallet) cmake_minimum_required(VERSION 2.8.12) -set(PROJECT_VERSION "5.12.90") +set(PROJECT_VERSION "5.13.0") set(PROJECT_VERSION_MAJOR 5) find_package (ECM 1.2.0 REQUIRED NO_MODULE) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwallet-pam-5.12.90/pam_kwallet.c new/kwallet-pam-5.13.0/pam_kwallet.c --- old/kwallet-pam-5.12.90/pam_kwallet.c 2018-05-18 14:24:14.000000000 +0200 +++ new/kwallet-pam-5.13.0/pam_kwallet.c 2018-06-07 15:51:53.000000000 +0200 @@ -390,40 +390,42 @@ //Change to the user in case we are not it yet if (drop_privileges(userInfo) < 0) { syslog(LOG_ERR, "%s: could not set gid/uid/euid/egit for kwalletd", logPrefix); + free(fullSocket); goto cleanup; } int envSocket; if ((envSocket = socket(AF_UNIX, SOCK_STREAM, 0)) == -1) { - pam_syslog(pamh, LOG_ERR, "%s: couldn't create socket", logPrefix); - return; + syslog(LOG_ERR, "%s: couldn't create socket", logPrefix); + free(fullSocket); + goto cleanup; } struct sockaddr_un local; local.sun_family = AF_UNIX; if (strlen(fullSocket) > sizeof(local.sun_path)) { - pam_syslog(pamh, LOG_ERR, "%s: socket path %s too long to open", + syslog(LOG_ERR, "%s: socket path %s too long to open", logPrefix, fullSocket); free(fullSocket); - return; + goto cleanup; } strcpy(local.sun_path, fullSocket); free(fullSocket); fullSocket = NULL; unlink(local.sun_path);//Just in case it exists from a previous login - pam_syslog(pamh, LOG_INFO, "%s: final socket path: %s", logPrefix, local.sun_path); + syslog(LOG_INFO, "%s: final socket path: %s", logPrefix, local.sun_path); size_t len = strlen(local.sun_path) + sizeof(local.sun_family); if (bind(envSocket, (struct sockaddr *)&local, len) == -1) { - pam_syslog(pamh, LOG_INFO, "%s-kwalletd: Couldn't bind to local file\n", logPrefix); - return; + syslog(LOG_INFO, "%s-kwalletd: Couldn't bind to local file\n", logPrefix); + goto cleanup; } if (listen(envSocket, 5) == -1) { - pam_syslog(pamh, LOG_INFO, "%s-kwalletd: Couldn't listen in socket\n", logPrefix); - return; + syslog(LOG_INFO, "%s-kwalletd: Couldn't listen in socket\n", logPrefix); + goto cleanup; } //finally close stderr close(2); @@ -723,10 +725,16 @@ sprintf(path, "%s/%s/%s", userInfo->pw_dir, kdehome, fixpath); char *salt = NULL; - if (stat(path, &info) != 0 || info.st_size == 0) { + if (stat(path, &info) != 0 || info.st_size == 0 || !S_ISREG(info.st_mode)) { createNewSalt(pamh, path, userInfo); } + if (stat(path, &info) != 0 || info.st_size == 0 || !S_ISREG(info.st_mode)) { + syslog(LOG_ERR, "%s: Failed to ensure %s looks like a salt file", logPrefix, path); + free(path); + return 1; + } + FILE *fd = fopen(path, "r"); if (fd == NULL) { syslog(LOG_ERR, "%s: Couldn't open file: %s because: %d-%s", logPrefix, path, errno, strerror(errno));
