From edd7b9188786b9c0ff5e68eb39e5173a9de4756b Mon Sep 17 00:00:00 2001 From: Martin Oberhuber < martin.oberhuber@windriver.com> Date: Wed, 23 Aug 2006 15:25:03 +0000 Subject: [PATCH] Mark directories that are not executable as not writable, to be in sync with java.io.File (see also bug 154302) --- .../rse/services/ssh/files/SftpFileService.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/files/SftpFileService.java b/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/files/SftpFileService.java index 85f91c9f0b3..bb7af167f26 100644 --- a/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/files/SftpFileService.java +++ b/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/services/ssh/files/SftpFileService.java @@ -292,8 +292,14 @@ public class SftpFileService extends AbstractFileService implements IFileService if (perms.indexOf('w',1)<=0) { node.setWritable(false); //not writable by anyone } - if (perms.indexOf('x',1)>0) { - node.setExecutable(true); //executable by someone + if (node.isDirectory()) { + if (perms.indexOf('x',1)<=0) { + node.setWritable(false); //directories that are not executable are also not readable + } + } else { + if (perms.indexOf('x',1)>0) { + node.setExecutable(true); //executable by someone + } } if (attrs.getExtended()!=null) { node.setExtendedData(attrs.getExtended());