Author: ecki Date: Sun Apr 12 17:44:07 2015 New Revision: 1673034 URL: http://svn.apache.org/r1673034 Log: [VFS-236][smb] Allow SMB to be used with empty authentication.
Modified: commons/proper/vfs/trunk/sandbox/src/main/java/org/apache/commons/vfs2/provider/smb/SmbFileObject.java commons/proper/vfs/trunk/src/changes/changes.xml Modified: commons/proper/vfs/trunk/sandbox/src/main/java/org/apache/commons/vfs2/provider/smb/SmbFileObject.java URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/sandbox/src/main/java/org/apache/commons/vfs2/provider/smb/SmbFileObject.java?rev=1673034&r1=1673033&r2=1673034&view=diff ============================================================================== --- commons/proper/vfs/trunk/sandbox/src/main/java/org/apache/commons/vfs2/provider/smb/SmbFileObject.java (original) +++ commons/proper/vfs/trunk/sandbox/src/main/java/org/apache/commons/vfs2/provider/smb/SmbFileObject.java Sun Apr 12 17:44:07 2015 @@ -84,43 +84,43 @@ public class SmbFileObject UserAuthenticationData authData = null; SmbFile file; - NtlmPasswordAuthentication auth; try { authData = UserAuthenticatorUtils.authenticate( getFileSystem().getFileSystemOptions(), SmbFileProvider.AUTHENTICATOR_TYPES); - auth = new NtlmPasswordAuthentication( - UserAuthenticatorUtils.toString( - UserAuthenticatorUtils.getData( - authData, - UserAuthenticationData.DOMAIN, - UserAuthenticatorUtils.toChar(smbFileName.getDomain()))), - UserAuthenticatorUtils.toString( - UserAuthenticatorUtils.getData( - authData, - UserAuthenticationData.USERNAME, - UserAuthenticatorUtils.toChar(smbFileName.getUserName()))), - UserAuthenticatorUtils.toString( - UserAuthenticatorUtils.getData( - authData, - UserAuthenticationData.PASSWORD, - UserAuthenticatorUtils.toChar(smbFileName.getPassword())))); - + NtlmPasswordAuthentication auth = null; + if (authData != null) + { + auth = new NtlmPasswordAuthentication( + UserAuthenticatorUtils.toString( + UserAuthenticatorUtils.getData(authData, UserAuthenticationData.DOMAIN, + UserAuthenticatorUtils.toChar(smbFileName.getDomain()))), + UserAuthenticatorUtils.toString( + UserAuthenticatorUtils.getData(authData, UserAuthenticationData.USERNAME, + UserAuthenticatorUtils.toChar(smbFileName.getUserName()))), + UserAuthenticatorUtils.toString( + UserAuthenticatorUtils.getData(authData, UserAuthenticationData.PASSWORD, + UserAuthenticatorUtils.toChar(smbFileName.getPassword())))); + } + + // if auth == null SmbFile uses default credentials + // ("jcifs.smb.client.domain", "?"), ("jcifs.smb.client.username", "GUEST"), + // ("jcifs.smb.client.password", BLANK); + // ANONYMOUS=("","","") file = new SmbFile(path, auth); + + if (file.isDirectory() && !file.toString().endsWith("/")) + { + file = new SmbFile(path + "/", auth); + } + return file; } finally { - UserAuthenticatorUtils.cleanup(authData); - } - - if (file.isDirectory() && !file.toString().endsWith("/")) - { - file = new SmbFile(path + "/", auth); + UserAuthenticatorUtils.cleanup(authData); // might be null } - - return file; } /** Modified: commons/proper/vfs/trunk/src/changes/changes.xml URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/src/changes/changes.xml?rev=1673034&r1=1673033&r2=1673034&view=diff ============================================================================== --- commons/proper/vfs/trunk/src/changes/changes.xml (original) +++ commons/proper/vfs/trunk/src/changes/changes.xml Sun Apr 12 17:44:07 2015 @@ -26,6 +26,9 @@ <!-- <action issue="VFS-443" dev="ggregory" type="update" due-to="nickallen"> --> <!-- [Local] Need an easy way to convert from a FileObject to a File. --> <!-- </action> --> + <action issue="VFS-236" dev="ecki" type="fix" due-to="Matt Casters"> + [smb] Allow SMB to be used with no authentication. + </action> <action issue="VFS-564" dev="ecki" type="fix" due-to="Dmitry Konstantinov"> Make some loggers static. </action>