[jcifs] Cannot connect with jcifs-1.3.3
Jonne Zutt
jonne.zutt.ml at gmail.com
Tue Feb 17 08:00:57 GMT 2009
Hi Mike,
> The "N" in the documentation means some Number and not a literal "N".
Thanks for that, I did try N=10, but it did not give me any output in
my case, so then I tried the impossible :)
Thanks also for the hint about using encrypted passwords. I'll try to
figure out how to do that next.
> This setting could be a problem. JCIFS 1.3 uses NTLMv2 by default. Set
> jcifs.lmCompatibility = 0 and jcifs.smb.client.useExtendedSecurity =
> false so that NTLMv1 is used. Does that fix it?
Unfortunately that did not help, I already tried. Neither did the %20
instead of space help me, also already tried.
Finally, I'll go and talk to the system administrators about all those
samba settings. I don't know why the configuration
is like it is, but they'll probably allow me to change the "client
ntlmv2 auth = no" and try again.
Thanks again for your help!
Jonne.
ps> I figured out my code runs fine with jcifs-1.1.11.jar as well as
with jcifs-1.2.25. But still, I prefer to get the
latest and greatest working ;)
On Tue, Feb 17, 2009 at 5:20 AM, Michael B Allen <ioplex at gmail.com> wrote:
> On Mon, Feb 16, 2009 at 6:16 AM, Jonne Zutt <jonne.zutt.ml at gmail.com> wrote:
>> Dear JCifs users,
>>
>> Today I downloaded the newest version of JCifs and tried to get it to
>> work with a small example program (we were using an old version,
>> and sometimes have some connection problems, so I thought it would be
>> a good idea to try to upgrade).
>> (In the past, we were using jcifs-1.1.11, and I did not find any
>> special things or properties we're using there).
>>
>> However, I cannot get the new version to work. Hopefully, somebody can
>> help me how to figure out what properties I have to set,
>> or what I'm doing wrong.
>>
>> I'm running the following example Java class, with jcifs-1.3.3.jar in
>> the classpath:
>>
>> public static void main(String[] args) {
>>
>> jcifs.Config.setProperty("jcifs.util.loglevel", "N");
>
> The "N" in the documentation means some Number and not a literal "N".
Thanks, a bit silly perhaps, I was a little confused by something I
read somewhere.
In my case, I already tried N=10 as well, but it didn't give any
output, so I tried the
impossible :)
>> jcifs.Config.setProperty("jcifs.smb.client.domain", "FILESERVER");
>> jcifs.Config.setProperty("jcifs.smb.client.username", "myusername");
>> jcifs.Config.setProperty("jcifs.smb.client.password", "mypassword");
>>
>> jcifs.Config.setProperty("jcifs.smb.client.disablePlainTextPasswords",
>> "false");
>
> I don't think 1.3 supports plain text passwords. 1.2 might but I have
> not tried plain text passwords in a LONG time.
Aha, that perhaps explains the "jcifs.smb.SmbAuthException: Logon
failure: unknown user name or bad password.".
Hmm while Googling I found somebody who got the error, something like,
'cannot use unencrypted passwords anymore', though.
I'll try to figure out and test how to use encrypted passwords.
>> try {
>> SmbFile smbFile40 = new SmbFile("smb://fileserver.xxx.nl/");
>> log.debug("40 exists: " + smbFile40.exists()); // -> prints true
>> SmbFile smbFile41 = new SmbFile("smb://fileserver.xxx.nl/My Test/");
>> log.debug("41 exists: " + smbFile41.exists()); // -> exists()
>> raises exception
>
> What's the exception? Is it "unknown user name or bad password"? That is odd.
>
> Does it help if you use "smb://fileserver.xxx.nl/My%20Test/" instead?
I already tried, it did not help :(
>> SmbFile smbFile42 = new SmbFile("smb://fileserver.xxx.nl/My
>> Test/documenten");
>> log.debug("42 exists: " + smbFile42.exists());
>> } catch (Exception ex) {
>> log.error("", ex);
>> }
>>
>> }
>>
>> The output of the program is:
>>
>> DEBUG 2009-02-16 12:06:43 nl.xxx.myproject.util.SmbUtil [393] - 40 exists: true
>> ERROR 2009-02-16 12:07:13 nl.xxx.myproject.util.SmbUtil [399] -
>> jcifs.smb.SmbAuthException: Logon failure: unknown user name or bad password.
>> at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:522)
>> at jcifs.smb.SmbTransport.send(SmbTransport.java:644)
>> at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:371)
>> at jcifs.smb.SmbSession.send(SmbSession.java:235)
>> at jcifs.smb.SmbTree.treeConnect(SmbTree.java:161)
>> at jcifs.smb.SmbFile.doConnect(SmbFile.java:858)
>> at jcifs.smb.SmbFile.connect(SmbFile.java:901)
>> at jcifs.smb.SmbFile.connect0(SmbFile.java:827)
>> at jcifs.smb.SmbFile.exists(SmbFile.java:1360)
>> at nl.xxx.myproject.util.SmbUtil.main(SmbUtil.java:395)
>>
>>
>> I am able to connect from the command line, so I'm sure the password is correct
>> and the directories do exist.
>>
>> $ smbclient -U myusername '//fileserver.xxx.nl/My Test'
>> Password:
>> Domain=[FILESERVER] OS=[Unix] Server=[Samba 3.0.10]
>> smb: \> ls
>> . D 0 Fri Aug 22 10:46:02 2008
>> .. D 0 Wed May 30 00:41:22 2007
>> .DS_Store H 12292 Mon Feb 16 09:32:46 2009
>> .TemporaryItems DH 0 Tue Nov 13 16:27:40 2007
>> backup D 0 Fri Feb 22 15:23:19 2008
>> CVs D 0 Fri Jun 27 10:52:50 2008
>> documenten D 0 Wed Aug 8 14:16:36 2007
>> drivers D 0 Thu Aug 23 11:20:46 2007
>> Fotos D 0 Fri Mar 7 10:07:30 2008
>> My Systeembeheer D 0 Thu Aug 21 14:58:19 2008
>> temp D 0 Mon Oct 13 10:24:08 2008
>>
>> 55196 blocks of size 16777216. 41089 blocks available
>> smb: \>
>>
>> Finally, here is some information that is in the /etc/smb.conf on the
>> fileserver and might be relevant.
>>
>> [global]
>> encrypt passwords = yes
>> workgroup = WGROUP
>> display charset = UTF-8-MAC
>> security = user
>> deadtime = 5
>> guest account = unknown
>> client ntlmv2 auth = no
>
> This setting could be a problem. JCIFS 1.3 uses NTLMv2 by default. Set
> jcifs.lmCompatibility = 0 and jcifs.smb.client.useExtendedSecurity =
> false so that NTLMv1 is used. Does that fix it?
>
>> preferred master = no
>> defer sharing violations = no
>> allow trusted domains = no
>> netbios name = fileserver
>> lanman auth = YES
>> vfs objects = darwin_acls
>> wins support = yes
>> brlm = yes
>> max smbd processes = 0
>> server string = The File Server
>> os level = 8
>> domain logons = no
>> passdb backend = opendirectorysam guest
>> dos charset = CP437
>> unix charset = UTF-8-MAC
>> auth methods = guest opendirectory
>> local master = no
>> domain master = no
>> map to guest = Never
>> use spnego = yes
>> printer admin = @admin, @staff
>> ntlm auth = YES
>> log level = 1
>> [My Test]
>> oplocks = 0
>> map archive = no
>> vfs objects = darwin_acls
>> path = /Volumes/FileRaid/The Test
>> read only = no
>> strict locking = 1
>> inherit permissions = 1
>> comment = macosx
>> create mask = 0644
>> guest ok = 0
>> directory mask = 0755
>>
>> Thanks for any advice ;)
>> Jonne.
>>
>
> Wow, those are some serious Samba configuration options. Do you really
> know what all of those things do?
>
> Mike
>
> --
> Michael B Allen
> Java Active Directory Integration
> http://www.ioplex.com/
>
More information about the jcifs
mailing list