[OpenAFS-devel] initial darwin port available

Chaskiel M Grundman cg2v+@andrew.cmu.edu
Fri, 15 Dec 2000 21:46:10 -0500 (EST)

I have a preliminary port of OpenAFS 1.0.1 to Apple's Darwin OS. You can
get it at http://www.contrib.andrew.cmu.edu/~cg2v/openafs-darwin.diff.
There are of course some caveats:

1) A new kernel (at least xnu-113) is required to build and run AFS. No
apple binary release (really) of Darwin or Mac OS X includes a new
enough kernel. If you're not on the darwin-development list, you'll need
to check out the archives (off of
http://lists.apple.com/mailman/listinfo/darwin-development) to get
enough information to attempt this upgrade. If you get stuck in cctools,
email me for a patch....
2) Darwin pthreads are a bit anemic at the moment. I don't build any of
the stuff that wants thread support.
3) klog -setpag does not work. There isn't really a way to add groups to
your parent process.
4) ioctl(s, SIOCGIFCONF) doesn't actually return information for
non-loopback interfaces anymore, and I haven't bothered to learn the
correct sysctl() invocation yet. As a result, afsd will whine at startup
about there not being any ip addresses. This may prevent multi-homed
client support from working
5) Credential structures (struct ucred) in darwin don't actually contain
the real uid. Therefore, when pags are not used, a setuid program will
not have access to your tokens.
6) I'm not real sure how stable the VM code is. I can run executables,
but older versions of this code did not properly deal with executables
being overwritten locally or remotely.