Boris Fridland created SSHD-731: ----------------------------------- Summary: Vanorability in SimpleAccessControlSftpEventListener implementation Key: SSHD-731 URL: https://issues.apache.org/jira/browse/SSHD-731 Project: MINA SSHD Issue Type: Bug Environment: <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-core</artifactId> <version>1.3.0</version> </dependency> <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-contrib</artifactId> <version>1.3.0</version> </dependency>
Reporter: Boris Fridland After implementing sftp access control by overriding SimpleAccessControlSftpEventListener and adding it to SftpSubsystemFactory: even when isModificationAllowed function returns fals Scenario: 1.set isModificationAllowed to return false 2. Establish connection with WinScp 3. try to create new file expected result: access denied message + no influence on file system actual: access denied message, + empty file is written to server disc. in addition if existing file is opened, and being saved --> result is that file content is removed. It is huge variability Attached configuration code: SftpSubsystemFactory.Builder builder = new SftpSubsystemFactory.Builder(); builder.addSftpEventListener(new SimpleAccessControlSftpEventListener() { protected boolean isAccessAllowed(ServerSession session, String remoteHandle, Path localPath) throws IOException { EUserAccessLevel level = authorizationManager.getAccessLevel(session.getUsername()); if(level.hasReadAccess()) { return true; } return false; } protected boolean isModificationAllowed(ServerSession session, String remoteHandle, Path localPath) throws IOException { EUserAccessLevel level = authorizationManager.getAccessLevel(session.getUsername()); if(level.hasWriteAccess()) { return true; } return false; } }); sshd.setSubsystemFactories(Collections.singletonList(builder.build())); sshd.setCommandFactory(new ScpCommandFactory()); following -- This message was sent by Atlassian JIRA (v6.3.15#6346)