64 lines
3.3 KiB
Plaintext
64 lines
3.3 KiB
Plaintext
This is version 0.6 of ncpfs, a free NetWare client for Linux. You
|
|
need at least kernel 1.3.44 for this version. It does NOT work with
|
|
any lower one, especially not with version 1.2.x.
|
|
|
|
To install ncpfs, just type 'make'. After that, you find the
|
|
neccessary kernel module and the mounting tools in ./bin. Type 'insmod
|
|
ncpfs.o' and then 'ncpmount server mount-point'. For further
|
|
information, please look at the manual pages in ./man.
|
|
|
|
Please note that your IPX system has to be configured correctly. If
|
|
you want to take the 'Plug-and-Play' route, you can simply say
|
|
'ipx_configure --auto_interface=on --auto_primary=on'. If ncpmount
|
|
does not work immediately, you should wait for about 1 minute and try
|
|
again. In that period, an IPX packet should have passed by and your
|
|
network interface should have configured itself automatically.
|
|
|
|
If all that does not work and you want to do the configuration by
|
|
hand, note that there has to be a route to the internal network of
|
|
your server. Please see the file util/start_ipx for an example.
|
|
|
|
I use tools written by Greg Page, Caldera. I hope I did not do too
|
|
much harm to their business. For your convenience I included the file
|
|
ipx.tar made available by Caldera.
|
|
|
|
My main source of information is a book written in german by Manfred
|
|
Hill and Ralf Zessin, "Netzwerkprogrammierung in C", IWT Verlag GmbH,
|
|
1995, ISBN 3-88322-491-X. It contains quite a lot of typographical and
|
|
other errors, but I find it very valuable as an introduction to NCP
|
|
programming. If you know about the concepts and possibilities of NCP,
|
|
Ralph Brown's interrupt list becomes much more readable. It's much
|
|
easier to find undocumented information if you know what to look for!
|
|
|
|
For the curious: the file ncplib_user.[ch] is a library that makes it
|
|
possible to send NCP requests to the server over a mounted
|
|
directory. I use it to keep the encryption stuff out of the kernel by
|
|
logging in from user space. Look at the file ncptest.c for other
|
|
possible uses. I use ncptest to check my assumptions about the widely
|
|
undocumented NetWare Core Protocol. Maybe this is the beginning of a
|
|
free NetWare API for Linux! I would be happy to receive your comments
|
|
on this.
|
|
|
|
|
|
LIMITATIONS (compare these with smbfs :-)
|
|
|
|
The limitations ncpfs has are the natural limitations of the NCP
|
|
protocol, which was designed with MS-DOS based PCs in mind. The first
|
|
limitation is the lack of uid, gid and permission information per
|
|
file. You have to assign those values once for a complete mounted
|
|
directory.
|
|
|
|
The second limitation is just as annoying as the first: You cannot
|
|
re-export a ncp-mounted directory by nfs. It is not possible because
|
|
the NFS protocol defines access to files through unique file handles,
|
|
which can be mapped to the device and inode numbers in unix NFS
|
|
servers. NCP does not have unique numbers per file, you only have the
|
|
path name. I implemented a caching scheme for inode numbers, which
|
|
gives unique inode numbers for every open file in the system. This is
|
|
just sufficient for local use of the files, because you can tell when
|
|
an inode number can be discarded. With NFS the situation is
|
|
different. You can never know when the client will access the file-id
|
|
you offered, so you would have to cache the inode numbers
|
|
indefinitely long. I think this should not be done in kernel mode, as
|
|
it would require an unlimited amount of RAM.
|