lashd 6 doesn't load projects from JFS (patch included)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lash (Debian) |
Fix Released
|
Undecided
|
Unassigned | ||
lash (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Natty |
Won't Fix
|
Undecided
|
Daniel T Chen |
Bug Description
Binary package hint: lashd
SRU Impact statement:
lashd-0.
This is because the code uses an unreliable, non-portable check for dirent.d_type == DT_DIR, which fails on many filesystems, causing lashd to think that the project directories are not, in fact, directories.
Patch / resolution:
The attached 05_stat.patch uses stat / S_ISDIR to properly check dentries (and fixes a similar problem with the lashd "appdb"). It has been tested in my PPA.
Oneiric is not affected, as the lash source package is not available.
Patch for natty-proposed: https:/
TEST CASE:
Install lashd on 11.04 and attempt to load a project hosted on JFS. It will fail.
Regression risk:
Slim to none.
Changed in lash (Ubuntu): | |
importance: | Undecided → Medium |
tags: | added: testcase |
Note, not only JFS is affected. From the readdir() manpage:
Currently, only some file systems (among them: Btrfs, ext2, ext3, and ext4) have full support returning the file type in d_type. All applications must properly handle a return of DT_UNKNOWN.
So, XFS, Reiser, Fuse, and whatever comes in the future might all be affected (sorry, can't check).