jcifs-0.8.0 from tgz
authorFelix Schumacher <p0354740@isib001.(none)>
Wed, 6 Aug 2008 14:14:00 +0000 (16:14 +0200)
committerFelix Schumacher <p0354740@isib001.(none)>
Wed, 6 Aug 2008 14:14:00 +0000 (16:14 +0200)
commitb34677b051641beec75ded27d8479cd2c741d3ff
tree6f727dd7e83da4a2522d67de3c2408ccb121fea5
parentaf20818637a20ba738be8337a4c4b7dd1a47710a
jcifs-0.8.0 from tgz

Tue Feb 10 23:44:45 EST 2004
jcifs-0.8.0 released

This completes the 0.8 beta cycle. There is no technical difference between
this release and 0.8.0b1.

Mon Nov 24 04:06:55 EST 2003
jcifs-0.8.0b1 released

Some  work  on  NetworkExplorer and DFS referrals has been performed but it
still  doesn't  work  right. Currently if a DFS referral is encountered the
DfsReferral  will  be  thrown into NetworkExplorer which then sends an HTTP
redirect. The problem is that when the SmbTransports close after being idle
for  jcifs.smb.client.soTimeout,  attempting to access servers with NPAs in
the  session  can cause a succession of authentication failures which on my
network equates to your account being locked (like mine is right now :)

An   artifact   of  this  work  is  that  NetworkExplorer  will  store  the
NtlmPasswordAuthentication  objects  in  the  HttpSession as npa-servername
where 'servername' is the name of the server that supplied the challenge.

And all of the fixes to the 0.7 series since 0.7.15 are included:

It  was  discovered  that  SmbComNTCreateAndX  as  well  as  SmbComReadAndx
commands  did not calculate MAC response signitures properly. In one case a
field  was  not  properly  decoded  and in the case of reading the payload,
which  is  read  directly  from  the  stream into the supplied buffer as an
optimization,  was  not  being  properly factored into the signature. These
issues have been fixed.

Only  SMBs  that  follow  authentication  need to be actually signed if SMB
signing  is  enabled.  Because  it  was  assumed  that  SMBs  would  follow
authentication  an  Exception was coded to be thrown if password hashes are
determined  to be inadiquate to generate a MAC signing key. However because
the  NTLM  HTTP  Filter  does  not send additional SMBs, signing will never
actually  occur. The Exception is only generated if the password hashes are
"externel"  (meaning  from  the NTLM HTTP Filter) but this is precisely the
case  where  signing  will  never  occur. Therefore, the Exception coded to
detect  external  password  hashes has been removed so that additional SMBs
will generate a signing error but the NTLM HTTP Filter will be permitted to
proceed without error.

The  NtlmPasswordAuthencation  class  has  also  been  made Serializable to
permit  certain containers to serialize the state of an HTTP session. It is
not  known  however  if the client will seamlessly re-authenticate when the
NPA  is  de-serialized and discovered to be invalid. Regardless, the Filter
will  now  work with these containers albeit possibly not to their greatest
potential.

JCIFS  will  now suppress the harmess "exception reading from socket input"
message  being  written  to  the log. Specifically when using the NTLM HTTP
Filter under load jCIFS would periodically write exceptions to the log like
the following:

Dec 19 10:45:14.474 - exception reading from socket input: IKOO635<1B>/172.81.13.154
java.net.SocketException: Connection reset
  at java.net.SocketInputStream.read(SocketInputStream.java:168)
  ...

This was occuring because the domain controller is periodically closing the
socket  to the server. This is harmless. JCIFS will automatically reconnect
and proceed as usual.

If  NT  SMBs are not negotiated jCIFS will now use SMB_COM_WRITE as opposed
to  SMB_COM_WRITE_ANDX. This was done to support NetWare 6 which apparently
does not implement this ANDX command.

jcifs-0.8.0b released

This  is  the  first  beta  release  of  the  0.8  series.  There have been
significant  additions  to  this  package. The most noteable is Distributed
FileSystem  (DFS)  support. This client fully supports DFS with deep paths,
multiple  redirects,  you  name  it.  This functionality required pervasive
changes so DFS users should proceed with caution and report any problems to
the  mailing list. Support for setting file attributes has been added as is
the long awaited RandomAccessFile.

o DFS  -  DFS  support  is  thorough.  All  DFS  operations  are completely
  transparent.  It  Just  Works.  The  client can be redirected an infinate
  number  of  times.  It  will reuse mappings established by other callers.
  Components of a path that do not fall within the DFS space and deep paths
  are  handled  properly. Also, note the new <tt>getDfsPath</tt> method can
  be  used  to  determine  if a file or directory falls within a DFS space.
  This  support  required pervasive changes so proceed with caution and run
  your  unit  tests  with  files  that  span DFS volumes. Please report any
  problems to the jCIFS mailing list.

o Random  Access  Files  -  The <tt>SmbRandomAccessFile</tt> class has been
  added.  All  features  of the analygous <tt>java.io.RandomAccessFile</tt>
  class  are supported and should function as a drop in replacement. Notice
  it   is   now   possible   to   set   the   size   of  a  file  with  the
  <tt>SmbRandomAccessFile.setLength()</tt> method.

o File    Filters    -    Support    for   <tt>SmbFilenameFilter</tt>   and
  <tt>SmbFileFilter</tt>  is  complete.  Because  CIFS  servers  can accept
  attributes  and a wildcard expression for filtering entries on the server
  side,  a  <tt>DosFileFilter</tt>  is  provided  that  will  accept  these
  parameters  and  pass  them to the server. The <tt>DosFileFilter</tt> can
  also  be  extended  to  create  highly  sophisticated  and efficient file
  filters.  Because of this work the <tt>list()</tt> and <tt>listFiles</tt>
  methods have been refactored and actually reduced in size.

o Complete copyTo - The <tt>SmbFile.copyTo</tt> operation will now copy all
  file  attributes  as  well  as  create  and last write times. Directories
  copied  using  this  method should be indistinquishable from the original
  minus  ACLs.  This  method  can now copy entire shares whereas previously
  only sud-directories could be specified.

o Setting Attributes and Times - It is now possible to set file attribites,
  the  create  time,  and  last  write  time  in a variety of ways. The new
  methods     are     <tt>setCreateTime</tt>,     <tt>setLastModified</tt>,
  <tt>getAttributes</tt>, <tt>setAttributes</tt>, <tt>setReadOnly</tt>, and
  <tt>setReadWrite</tt>.

o Complete   Delete   -   The  <tt>SmbFile.delete()</tt>  method  will  now
  completely  delete  directories  regardless  of wheather or not there are
  read-only files in them.

o The createNewFile Method - An <tt>SmbFile.createFile</tt> method has been
  added.
68 files changed:
CHANGES.txt
README.txt
build.xml
examples/Append.java
examples/AuthListFiles.java
examples/Break.java [deleted file]
examples/CopyTo5.java [deleted file]
examples/CreateFile.java
examples/Delete.java
examples/Exists.java
examples/FileInfo.java [new file with mode: 0644]
examples/FilterFiles.java [new file with mode: 0644]
examples/GetDfsPath.java [new file with mode: 0644]
examples/GetURL.java
examples/HttpURL.java [new file with mode: 0644]
examples/Makefile [new file with mode: 0644]
examples/SetAttrs.java [new file with mode: 0644]
examples/SetTime.java [new file with mode: 0644]
examples/SmbTableFile.java [new file with mode: 0644]
examples/SmbTableFileRecord.java [new file with mode: 0644]
examples/TestRandomAccess.java [new file with mode: 0644]
examples/Torture2.java
examples/pipes/callnp.exe [deleted file]
examples/pipes/createf.exe [deleted file]
examples/pipes/createnp.exe [deleted file]
examples/runtests.sh [new file with mode: 0644]
src/jcifs/http/NetworkExplorer.java
src/jcifs/smb/DfsReferral.java [new file with mode: 0644]
src/jcifs/smb/DosFileFilter.java [new file with mode: 0644]
src/jcifs/smb/FileEntry.java [new file with mode: 0644]
src/jcifs/smb/Info.java
src/jcifs/smb/NetServerEnum2Response.java
src/jcifs/smb/NetShareEnumResponse.java
src/jcifs/smb/ServerMessageBlock.java
src/jcifs/smb/SmbAuthException.java
src/jcifs/smb/SmbComClose.java
src/jcifs/smb/SmbComCreateDirectory.java
src/jcifs/smb/SmbComDelete.java
src/jcifs/smb/SmbComDeleteDirectory.java
src/jcifs/smb/SmbComNTCreateAndX.java
src/jcifs/smb/SmbComNTCreateAndXResponse.java
src/jcifs/smb/SmbComOpenAndX.java
src/jcifs/smb/SmbComQueryInformation.java
src/jcifs/smb/SmbComQueryInformationResponse.java
src/jcifs/smb/SmbComTransaction.java
src/jcifs/smb/SmbComTransactionResponse.java
src/jcifs/smb/SmbComTreeConnectAndXResponse.java
src/jcifs/smb/SmbException.java
src/jcifs/smb/SmbFile.java
src/jcifs/smb/SmbFileFilter.java [new file with mode: 0644]
src/jcifs/smb/SmbFileInputStream.java
src/jcifs/smb/SmbFileOutputStream.java
src/jcifs/smb/SmbFilenameFilter.java [new file with mode: 0644]
src/jcifs/smb/SmbRandomAccessFile.java [new file with mode: 0644]
src/jcifs/smb/SmbSession.java
src/jcifs/smb/SmbTransport.java
src/jcifs/smb/SmbTree.java
src/jcifs/smb/Trans2FindFirst2.java
src/jcifs/smb/Trans2FindFirst2Response.java
src/jcifs/smb/Trans2FindNext2.java
src/jcifs/smb/Trans2GetDfsReferral.java [new file with mode: 0644]
src/jcifs/smb/Trans2GetDfsReferralResponse.java [new file with mode: 0644]
src/jcifs/smb/Trans2QueryPathInformation.java
src/jcifs/smb/Trans2QueryPathInformationResponse.java
src/jcifs/smb/Trans2SetFileInformation.java [new file with mode: 0644]
src/jcifs/smb/Trans2SetFileInformationResponse.java [new file with mode: 0644]
src/jcifs/smb/TransactNamedPipeOutputStream.java
src/jcifs/util/Encdec.java [new file with mode: 0644]