Your message dated Sat, 06 Jun 2015 13:11:11 +0100
with message-id <1433592671.2987.12.ca...@adam-barratt.org.uk>
and subject line Fix released with 8.1 point release
has caused the Debian Bug report #783884,
regarding jessie-pu: package cwm/5.5-1
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
783884: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=783884
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian....@packages.debian.org
Usertags: pu
This is a backport of a patch to fix lookups on XFS and other
filesystems which don't populate d_type in struct dirent. The effect of
this bug is that using the 'exec' or 'wm' functions in cwm can't search
for executables. The fix is to add a test using lstat() where the
existing test fails. The debdiff is attached.
-- System Information:
Debian Release: 8.0
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.16.0-4-amd64 (SMP w/12 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru cwm-5.5/debian/changelog cwm-5.5/debian/changelog
--- cwm-5.5/debian/changelog 2015-04-30 23:04:09.000000000 +0200
+++ cwm-5.5/debian/changelog 2015-04-30 23:04:47.000000000 +0200
@@ -1,3 +1,10 @@
+cwm (5.5-1+deb8u1) stable; urgency=low
+
+ * Fix "Lookups for 'exec' and 'wm' fail on XFS" by adding an extra check
+ using lstat() if the d_type check fails (Closes: #783588)
+
+ -- James McDonald <ja...@jamesmcdonald.com> Thu, 30 Apr 2015 08:05:25 +0200
+
cwm (5.5-1) unstable; urgency=low
* Initial release (Closes: #505924)
diff -Nru cwm-5.5/debian/patches/lstat-check cwm-5.5/debian/patches/lstat-check
--- cwm-5.5/debian/patches/lstat-check 1970-01-01 01:00:00.000000000 +0100
+++ cwm-5.5/debian/patches/lstat-check 2015-04-30 23:04:47.000000000 +0200
@@ -0,0 +1,39 @@
+From: James McDonald <ja...@jamesmcdonald.com>
+Description: Fix 'exec' lookups for filesystems which don't support d_type.
+ Lookups in kbfunc_exec fail on filesystems where the d_type field of
+ struct dirent is not populated, such as XFS. This patch adds an additional
+ test with lstat(2) if the initial test fails.
+--- a/kbfunc.c
++++ b/kbfunc.c
+@@ -236,6 +236,7 @@
+ struct menu *mi;
+ struct menu_q menuq;
+ int l, i, cmd = arg->i;
++ struct stat sb;
+
+ switch (cmd) {
+ case CWM_EXEC_PROGRAM:
+@@ -266,15 +267,20 @@
+ continue;
+
+ while ((dp = readdir(dirp)) != NULL) {
+- /* skip everything but regular files and symlinks */
+- if (dp->d_type != DT_REG && dp->d_type != DT_LNK)
+- continue;
+ (void)memset(tpath, '\0', sizeof(tpath));
+ l = snprintf(tpath, sizeof(tpath), "%s/%s", paths[i],
+ dp->d_name);
+ /* check for truncation etc */
+ if (l == -1 || l >= (int)sizeof(tpath))
+ continue;
++ /* skip everything but regular files and symlinks */
++ if (dp->d_type != DT_REG && dp->d_type != DT_LNK) {
++ /* use an additional stat-based check in case d_type isn't supported */
++ if (lstat(tpath, &sb) < 0)
++ continue;
++ if (!S_ISREG(sb.st_mode) && !S_ISLNK(sb.st_mode))
++ continue;
++ }
+ if (access(tpath, X_OK) == 0)
+ menuq_add(&menuq, NULL, "%s", dp->d_name);
+ }
diff -Nru cwm-5.5/debian/patches/series cwm-5.5/debian/patches/series
--- cwm-5.5/debian/patches/series 2015-04-30 23:04:09.000000000 +0200
+++ cwm-5.5/debian/patches/series 2015-04-30 23:04:47.000000000 +0200
@@ -3,3 +3,4 @@
support-external-cflags
rename-cwm
change-default-binaries
+lstat-check
--- End Message ---
--- Begin Message ---
Version: 8.1
Hi,
The fix discussed in this bug was released to stable as part of the 8.1
point release earlier today.
Regards,
Adam
--- End Message ---