# IPX Networking and NCPFS

## stimpy

I'm just about to start having a look at getting access to a Novell file server, and before I go beyond my initial attempts:

- having IPX, NCPFS compiled in the kernel (2.4.19-r1)

- looked for a standard ncpfs ebuild (and not found one)

- got a barf when insmod'ing the ipx network:

```
Using /lib/modules/2.4.19-r1/kernel/net/ipx/ipx.o

        /lib/modules/2.4.19-r1/kernel/net/ipx/ipx.o: unresolved symbol make_EII_client

        /lib/modules/2.4.19-r1/kernel/net/ipx/ipx.o: unresolved symbol make_8023_client

        /lib/modules/2.4.19-r1/kernel/net/ipx/ipx.o: unresolved symbol destroy_8023_client

        /lib/modules/2.4.19-r1/kernel/net/ipx/ipx.o: unresolved symbol destroy_EII_client
```

- and haven't been able to compile ncpfs-2.2.0 out-of-the-box:

```

ncpmount.c: In function `process_connection':

ncpmount.c:1261: `NR_OPEN' undeclared

```

... I wanted to see if anyone else had tried this and had any information to kick start my efforts.

I know (well I think) I need a mount client, a la smbmount from samba, in addition to having ncpfs support.

Look forward to any information....

----------

## Cyris

Screw IPX.  I am a network engineer and had to deal with IPX at my last job in Dallas so I can honestly say that it completely sucks A$$ as far as protocols go.  You can keep the Novell servers, just switch to IP and get rid of IPX.  I think Novell 4 and 5 both support IP and IPX both.

----------

## stimpy

 *Cyris wrote:*   

> Screw IPX.

 

oh yes! I wish..

 *Cyris wrote:*   

> You can keep the Novell servers, just switch to IP and get rid of IPX.  I think Novell 4 and 5 both support IP and IPX both.

 

Well alas I can't because I work in and organisation with really outdated systems.

I guess no one has tried this yet so I'll have to forge on and batter it into submission myself...

----------

## stimpy

I've made some progress, so thought I'd better write it down - even if there's no need or interest   :Sad: 

On the insmod front: the last time I compiled I included the IPX code direct, not as a module (inadvertently but now I see to my advantage), so now no longer have that problem....

On the compilation front: I discovered that you need the 2.2.0.18 source version, not the 2.2.0 version that I got from ibiblio.org. (I got it from http://ftp.cvut.cz/ncpfs/ncpfs-2.2.0.18/, although that may not be authoritative...)

Now I guess I just have to work out the configuration particular to gentoo, and write an ebuild....

----------

## stimpy

This is what I've got so far (should anyone be interested.)

Probably pretty beta state so use at your own risk.

```

A=${P}.18.tgz

S=${WORKDIR}/${P}.18

DESCRIPTION="a free NetWare client filesystem for Linux"

SRC_URI="http://ftp.cvut.cz/ncpfs/ncpfs-2.2.0.18/${A}"

# can check for ipx in kernel? look for /proc/net/ipx in pkg_setup?

# what is actually necessary?

DEPEND="virtual/glibc

        virtual/linux-sources

        >=sys-apps/portage-1.9.10"

src_compile() {

# using nls? pam?

        ./configure --prefix=${D}/usr

        make

}

src_install() {

# don't use makefile install for sutil/ or util/ as it does some /sbin linking which you can't(?) change

# likewise pam stuff

        for i in intl po lib man ipx-1.0

        do

             cd ${S}/${i}

             make install prefix=${D}/usr

        done

        #can one assume these are there?....

        dodir /usr/bin

        dodir /usr/sbin

        dodir /sbin

        # from sutil/ - using ins so mode can be set - can this be done with dobin?

        cd ${S}/sutil

        insopts -m4755

        insinto /usr/bin

        doins nwsfind ncpmount ncpumount

        dosym ${D}/usr/bin/ncpmount /sbin/mount.ncp

        # from util/ - does dobin/sbin use install?

        cd ${S}/util

        dobin slist pqlist nwfsinfo pserver nprint nsend nwpasswd nwbols nwbocreate \

          nwborm nwboprops pqstat pqrm nwbpcreate nwbprm nwbpvalues nwbpadd nwbpset \

          nwgrant nwrevoke nwuserlist nwauth nwfstime nwvolinfo nwtrustee nwdir \

          nwfsctrl nwdpvalues ncopy nwtrustee2 nwpurge nwrights

        dosbin nwmsg

        dosym ${D}/usr/sbin/nwmsg /sbin/nwmsg

        # from contrib/pam

        cd ${S}/contrib/pam

        insopts -m755

        insinto /lib/security

        doins pam_ncp_auth.so

        cd ${S}

        dodoc Changes ABOUT-NLS BUGS COPYING FAQ README README.NDS Performance.txt

        docinto contrib/pam/

        dodoc contrib/pam/COPYING contrib/pam/README

        docinto ipx-1.0/

        dodoc ipx-1.0/COPYING ipx-1.0/README

}

```

Now just have to work out the right place, and the right method, to configure it automatically. No doubt a /etc/init.d script is the right place, reading vars from /etc/rc.conf or /etc/conf.d/net

Will get around to posting this as a new ebuild-bug some time soon....

----------

## id10t

As far as configuring, run 

modprobe ipx

ipx_configure --auto_interface=on --auto_primary=on

Somewhere in the boot scripts (rc.local?).  Then to mount volumes do

ncpmount -S servername -V volumename -U username /place/to/mount

One thing about the username - use the typeful distinguished name, but leave off the leading .  -  instead of .user.container.toplevel  it would be user.container.toplevel

Sorry if my terminology is off, but its been a few years since I took a novell class.  Just had to get Novell stuff working yesterday on my Slack box here at work though  :Smile: 

----------

