
Wed Mar 15 15:41:08 EST 2000

This is the 0.1 release of jcifs available at http://jcifs.samba.org. It
is a netbios over TCP/IP name service implementation only. There is no
file access code at this time. However if you simply need to interact
with Microsoft's netbios name service(aka WINS) or Sambe using 100% Java,
this code is the best you'll find. It is very complete and had industrial
strength applications in mind when it was written but it's model is
also flexible enough to support smaller systems in that the absolutely
necessary components can be isolated(ie asynchronous name resolution in
2 class files of probably <10k total w/no bells or whistles).

Note: Norbert Hranitzky(norbert.hranitzky@mchp.siemens.de) has a very
functional client(that happens to be called jcifs also) available here:

http://www.hranitzky.purespace.de/jcifs/jcifs.htm

We may draw heavily from his code however the interface will be very
different(suns XFile API).

MAILING LIST:

If you have any questions please direct them to the jcifs@samba.org
mailing list. To join, send email to listproc@samba.org with no
subject and a body of 'subscribe jcifs Your Full Name' like below.

To:       listproc@samba.org
Subject:  <this must be empty>
Body:
subscribe jcifs Your Full Name

INSTALLATION:

To install, simply adjust your CLASSPATH to observe jcifs.jar(or move
it into your classpath).

BUGS:

Packet diagram log output does not account for the different line
separators on systems. In particular they use the UNIX centric newline
character. This is not easy to fix because, for purposes of efficiency,
arrays for building packet diagrams are defined in advance. To change
from a newline to the two byte carrage return newline setup would
require dynamic assessment of array sizes, field positions, and general
hackery. This is a rather trite feature and will therefore not likely
ever be fixed. Other log information properly uses the line-separator
system property and all packet diagrams should be viewable in just about
anything but notepad.

Please send bug reports to jcifs@samba.org

DESIGN GOALS:

This focus of this project is not to simply crank-out something to do
the job. It is an exercise in software engineering. We will provide
an extensible suite of tools(starting with the cifs client) that can
be tailored to meet the needs of common applications, multifarious
systems, or small scale embedded projects. All code will utilize
Java's unique object oriented functionality to abstract common filesystem
architecture(Sun's XFile API http://www.sun.com/software/webnfs/api.html),
transport layers, name service(Win2k uses DNS now), authentication
mechanisms, etc ... in a modular way. Of-course there is a delicate
balance in what is practical from a performance stand point and what
can be modularized(as usual).

ATTENTION JAVA HACKERS:

If you enjoy coding and are looking for an open-source Java project to
play with, show off your skills as a jcifs team member. Even if you're
not a cifs filesystem, encryption, multi-threading guru you can still
participate. This project covers a diverse range of the features of the
Java language from networking and multi-threading to bit manipulation
and object oriented design.  We don't expect you to be an authority an
any particular area. Learning is our motivation and we have fun. It's
like watching Jacques Cousteau on the Discovery Channel(well...maybe
not that good).

This project is not for the wary however. There are demanding performance
constraints and high standards. Code will naturally be re-written several
times before our original vision is realized.  However, the expertise
you will gain on this project will no doubt solidify your knowledge and
auto-certify yourself as a professional developer. You will converse with
other highly skilled Java professionals and attain a feeling of satisfaction
not possible in most day to day employer directed tasks.

If you're interested I wouldn't bother sending an e-mail that reads "Ok,
I'm in, now what do I do?" I'm afraid you won't get much fanfare. You
might consider looking at the source first, writing a few programs,
and think about how you can help implement the expected features.

Also, you can get paid $! Cyrus Intersoft is willing to fund a developer
for this project. Actually I don't know if it's cash, stock options,
or a years supply of Mountain Dew but they sound serious.

Michael B. Allen
mballen@erols.com

