64 lines
3.2 KiB
Plaintext
64 lines
3.2 KiB
Plaintext
This is version 0.5 of ncpfs, a free NetWare client for Linux. For me
|
|
it works with 1.3.39, although this version has severe problems with
|
|
the socket layer. Your connection will block after you have sent 64k
|
|
of requests to the server. Alan Cox told me he would like to have that
|
|
fixed in 1.3.42 or so.
|
|
|
|
I know that this piece of software is VERY incomplete, I have to
|
|
apologize for that. But I thought I should make it publically
|
|
available, because I have tried to ask several people about the legal
|
|
status of the code. I did not get very satisfying answers. So I publish
|
|
ncpfs to open it for criticism. If nobody complains, I will go on
|
|
working.
|
|
|
|
To install ncpfs, just type 'make', 'insmod ncpfs.o' and then
|
|
'ncpmount server mount-point'.
|
|
|
|
Please note that your IPX system has to be configured correctly. There
|
|
has to be a route to the internal network of your server. Please see
|
|
the file 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.
|