Porting ncpfs utils. to libc6

Eloy A. Paris (eparis@ven.ra.rockwell.com)
26 Nov 1997 22:28:33 GMT


Hi,

I am trying to port the ncpfs utilities that Volcker Lendecke
maintains to libc6. I am using the latest package he has released
(2.0.11).

Initially, if you try to compile ncpfs 2.0.11 against libc6 (glibc2)
without changing anything, you'll get an infinite number of compiler
errors (symbol and structure redefinitons, etc.).

I managed to compile with just a few warnings by making minor changes
to the source (getting rid of several #include's and adding others).

However, I am facing now the problem that after mounting a NetWare
server, the mount point looks like this:

bestia:~# ncpmount -S LTAVENFS -U GUEST -n novell/
bestia:~# ls -ld novell/
d--------- 1 root root 512 Nov 25 1960 novell//

When they should be:

drwxr-xr-x 2 root root 1024 Nov 16 12:54 novell//

Also, ncpumount can not unmount the NetWare server; umount has to be
used instead:

bestia:~# ncpumount novell/
/root/novell probably not ncp-filesystem
You are not allowed to umount /root/novell
bestia:~# umount novell/

I checked the data structure passed to the mount() system call before
ncpmount passes control to it and the data->file_mode and
data->dir_mode parameters are fine (they contain 0755). However, they
are 0000 in /usr/src/linux/fs/ncpfs/inode.c as shown by printk's I
placed.

Both Volcker and I think the problem must be in libc6's implementation
of the mount() system call but we are not sure. There must be
something different from libc5's mount() to libc6's mount(). I suspect
somebody is screwing up the data structure passed to mount().

We are using kernel 2.0.30 and 2.0.32 to experiment (no development
kernels at all).

Does anyone have a clue of what's going on or when can I look at?

Thanks in advance.

E.-

-- 

Eloy A. Paris Information Technology Department Rockwell Automation de Venezuela Telephone: +58-2-9432311 Fax: +58-2-9431645