Subject: Re: status of netatalk?
To: Lt Avram Dorfman <dorfman@hq.hq.af.mil>
From: Bill Studenmund <wrstuden@loki.stanford.edu>
List: port-mac68k
Date: 12/01/1996 20:39:41
> 
> Perhaps this should be in the FAQ, but I didn't see it there...
> 
> Has anyone tried porting netatalk to macbsd? I noticed at the netatalk 
> site (http://www.umich.edu/~rsug/netatalk/) that FreeBSD supports it. How 
> much farther of a step would it be for macbsd?

In order, yes, and (s/macbsd/netbsd/) all that's left is to find one bug.

I _thought_ I'd cross-mailed the announcement, but oh well.

Ted Lemon and I and a few others worked on it last month. Ted had gotten
the kernel stuff mostly ported, and I hacked on it more. -Wall helped
a lot (it's an error checking level of gcc which is VERY picky. Lots of
bugs get squished that way!).

I also hacked on 1.4b2, and got it to compile and run under NetBSD. I
mostly just changed the "#ifdef __FreeBSD__"'s to "#if defined(
__FreeBSD__ ) || defined( __NetBSD__ )". Thanks to the FreeBSD folks
who did most of the work getting it to work with a 4.4 kernel! They helped
a lot!

The files live at ftp://toccata.fugue.com/pub/netbsd-atalk/961117 (I think
that's the date, look at the latest one).

There's still a bug in that we leave a dangling pointer somewhere in
the process of shutting down. I can't figure out where, as we seem to
clean everything up right. Grr.

I'd REALLY LOVE IT if someone could tell me what we're doing wrong! I'm
not going to have enough time to look at it for a while, so please
check it out!

I'd expect we could get NetAtalk in the tree if we can find this bug.

> For those who don't know, netatalk is an almost full Appletalk stack for 
> Unix (SunOS, Solaris, Linux, AIX). It lets a Mac mount Unix partitions 
> just like they were appleshare folders.

Yes. Netatalk is a UNIX-esque implimentation of the AppleTalk protocol.
CAP is a UNIX coding of AppleTalk. CAP uses many more MacOS conventions
than does NetAtalk. Basically CAP provides all the MacOS calls with the
same parameters, etc. for AppleTalk while NetAtalk uses more of a
unix (sockets w/ addresses in the APPLETALK family) format. But I've not
tried to program it, so I'm not sure what all the differences are.

NetAtalk provides ddp in the kernel, so /etc/services can list services
as being at "ddp" in addition to "udp" and "tcp". :-) CAP can use
NetAtalk's in-kernel ddp.

Though I've gotten it ported, I'm not a NetAtalk expert. If someone
wants to dig into it and learn all the subtleties (sp?), I'd appreciate
it!

Take care,

Bill