[jcifs] Some shares are not reported by jCIFS

Michael B. Allen miallen at eskimo.com
Sat Jan 11 12:06:31 EST 2003


Whoops, I meant to send this to the list too.

On Fri, 10 Jan 2003 16:42:13 -0500
Michael B. Allen <miallen at eskimo.com> wrote:

> The NetShareEnum fuction is a CIFS function, not an OS or host library
> function. JCIFS implements this function in 100% Java. I was only
> suggesting you try a Windows98 client to test my theory that the list
> cannot fit in the 64K RAP buffer because when it comes to enumerating
> shares Windoes98 == jCIFS in that it only supports this NetShareEnum
> function. WindowsNT, Windows2000, and WindowsXP have a newer share
> enumeration function that uses MS RPC calls (which is more commonly
> referred to DCE/RPC). It's the same operation but the mechanism is
> different. It is a better mechanism because it supports Unicode share
> names, shares longer than 13 characters, and multiple PDUs to trasfer
> data wheres the older RAP functions do not support Unicode and can only
> transfer less than 64K of data per call.
> 
> Here's an even simpler test. Try the ListFiles example (in the examples
> directory) with jcifs.smb.client.rcv_buf_size set to 16000. This is 1/4
> of it's normal size and will therefore limit the NetShareEnum list to
> ~45 rather than 185.
> 
>   java -Djcifs.smb.client.rcv_buf_size=1600 ListFiles \
>              "smb://dom;user:pass@123.45.56.89/"
> 
> But again, sending me a packet trace is the best way to verify.
> 
> On Fri, 10 Jan 2003 15:49:40 -0800
> "Sundari Karra" <sundari at tek-tools.com> wrote:
> 
> > Hi all:
> > 
> > Sorry for my ignorance, but we are not using a Windows client.  Our client
> > is a Solaris machine which is querying a Netapp filer for the CIFS shares.
> > So how does the NetShareEnum RAP function come into picture which I
> > understood is on the Microsoft side of things.
> > 
> > Thanks,
> > Sundari.
> > 
> > -----Original Message-----
> > From: Michael B. Allen [mailto:miallen at eskimo.com]
> > Sent: Friday, January 10, 2003 12:16 PM
> > To: Sundari Karra
> > Cc: jcifs at lists.samba.org
> > Subject: Re: [jcifs] Some shares are not reported by jCIFS
> > 
> > 
> > On Fri, 10 Jan 2003 12:11:46 -0800
> > "Sundari Karra" <sundari at tek-tools.com> wrote:
> > 
> > > Hi all:
> > >
> > > I have reported some time back jCIFS was not reporting all the shares on a
> > > solaris machine.  We still have the problem and I was wondering if anyone
> > > has any ideas, here is more information:
> > > 1) We are trying to get shares from a Solaris server.
> > > 2) The credentials are verified and a few shares are reported.  An example
> > > is, of the 2,300 shares only 185 are reported.
> > > 3) Of the shares that not being reported, very few share names are longer
> > > than 12 characters.  So I am not sure why others are not being reported,
> > > most of these share names don't have any special characters etc.
> > >
> > > Please let me know if any other information is needed to understand what
> > is
> > > going on.
> > 
> > In addition to the 13 character limitation, the NetShareEnum RAP function
> > that jCIFS uses is also limited to 64K transfers. That is likely
> > what is limiting the list. Try a Windows98 client. It should exibit
> > the same problem. If this is indeed the case, this will not be fixed
> > anytime soon because it requires DCE/RPC which we do not have at all at
> > this time. Please send me an Ethereal or NetMon trace if would like to
> > veryify. Do not post packet traces to the list as they will be filtered
> > or openly on the internet if they contain sensitive information. Just
> > send it to me directly.
> > 
> > --
> > A  program should be written to model the concepts of the task it
> > performs rather than the physical world or a process because this
> > maximizes  the  potential  for it to be applied to tasks that are
> > conceptually  similar and, more important, to tasks that have not
> > yet been conceived.
> > 
> > 
> > 
> 
> 
> -- 
> A  program should be written to model the concepts of the task it
> performs rather than the physical world or a process because this
> maximizes  the  potential  for it to be applied to tasks that are
> conceptually  similar and, more important, to tasks that have not
> yet been conceived. 


-- 
A  program should be written to model the concepts of the task it
performs rather than the physical world or a process because this
maximizes  the  potential  for it to be applied to tasks that are
conceptually  similar and, more important, to tasks that have not
yet been conceived. 



More information about the jcifs mailing list