v0.5
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.
Description
Linux utilities for Novell NetWare/NCP access, imported from historic ncpfs releases and now maintained with modern build fixes and new releases.