ncpfs archive import c6124785a9 Import ncpfs 0.8
2026-04-28 20:39:57 +02:00
2026-04-28 20:39:57 +02:00
2026-04-28 20:39:57 +02:00
2026-04-28 20:39:57 +02:00
2026-04-28 20:39:57 +02:00
2026-04-28 20:39:57 +02:00
2026-04-28 20:39:57 +02:00
2026-04-28 20:39:57 +02:00
2026-04-28 20:39:57 +02:00
2026-04-28 20:39:57 +02:00
2026-04-28 20:39:57 +02:00

This is version 0.7 of ncpfs, a free NetWare client filesystem for
Linux. This one currently works with Kernel 1.2.13. I do not know
whether it works with any other kernel of the 1.2.x series, I only
used it with 1.2.13.

Due to problems in the 1.3.x IPX kernel code, ncpfs-0.7 does NOT work
with any 1.3.x kernel up to 1.3.44, although there is a kernel-1.3
subdirectory. It compiles fine and seems to work, but any connection
will block after a very short time. Please be patient. I'm sure this
will be solved. If you follow the kernel development closely, you
might want to try ncpfs with a kernel later than 1.3.44, but I can not
promise anything. To try it with 1.3, simply change the variable
KERNEL in the Makefile from 1.2 to 1.3 and continue as usual.

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.
Description
Linux utilities for Novell NetWare/NCP access, imported from historic ncpfs releases and now maintained with modern build fixes and new releases.
Readme 19 MiB
v2.2.7 Latest
2026-04-29 13:15:54 +02:00
Languages
C 67%
Shell 15.1%
M4 5.5%
PHP 4.1%
Tcl 2.6%
Other 5.7%