Path: sdcc12!network.ucsd.edu!dog.ee.lbl.gov!overload.lbl.gov!agate!spool.mu.edu!uunet!munnari.oz.au!munnari.oz.au!not-for-mail From: djh@munnari.OZ.AU (David Hornsby) Newsgroups: comp.protocols.appletalk Subject: CAP 6.0 Frequently Asked Questions Message-ID: <1ig8f9INNkhq@munnari.OZ.AU> Date: 7 Jan 93 03:36:09 GMT Organization: University of Melbourne Lines: 381 NNTP-Posting-Host: munnari.oz.au CAP FAQ ------- Last update: Thu Jan 7 14:30:39 EST 1993 > What is CAP ? The Columbia AppleTalk Package (CAP) implements the AppleTalk protocol stack on a variety of UNIX machines. The main applications provide an AppleShare 2.0 compatible server (aufs), a LaserWriter Spooler (lwsrv) and a program to print to LaserWriters (papif). The latter can be used to talk to EtherTalk LaserWriters, LocalTalk LaserWriters used on Dayna EtherPrint cards or on a LocalTalk/EtherTalk gateway. There are also a number of contributed packages bundled with CAP (see cap60/contrib). > What extra hardware is required for CAP ? On a SUN or ULTRIX machine, CAP can speak Phase 1 or Phase 2 EtherTalk packets using packet filters based on the Stanford ENET model. Where available, CAP can also use Kernel based AppleTalk or run the UNIX AppleTalk Bridge (UAB) to act as a gateway. On other UNIX boxes you need to have a gateway that can translate IPTalk packets. Suitable candidates are Shiva FastPath, Cayman GatorBox or Webster MultiPort Gateway. > What machines will CAP run on ? The CAP Configure script has specific support for the following Operating Systems: sunos - SUN SunOS ultrixnn - DEC Ultrix 1.2, 2.0, 4.N irix - Silicon Graphics IRIS/IRIX aix - IBM AIX System V hpux - HP HP-UX 8.0 uts - Amdahl UTS aux - Apple A/UX 2.0 encore - Encore MultiMax BSD pyr - Pyramid (BSD Universe) next - NeXT/MACH dynix - Sequent Balance newsos - Sony NEWS bsd - BSD 4.2, 4.3 > What is the current CAP version ? CAP is at version 6.0 with (currently) 126 patches to be applied, most of which add extra functionality to the original. To determine the current patch level of your sources, check the cap60/README file for a line of the form o CAP Distribution 6.0, Patch Level 126, July 1992 > Where can I get CAP ? CAP can be obtained by anonymous FTP from rutgers.EDU src/{cap60.tar.Z,cap60.patches/*} munnari.OZ.AU mac/{cap60.tar.Z,cap.patches/*} gatekeeper.DEC.COM pub/net/appletalk/cap/{cap60.tar.Z,cap.patches/*} ftp.kuis.kyoto-u.AC.JP net/cap/{cap60.tar.Z,cap60.patches/*.Z} src.doc.ic.AC.UK mac/multigate/{cap60.tar.Z,cap.patches/*} Please choose an appropriate site and an off-peak time for the transfer. The patches are available individually or as the files "patches.1-75.tar.Z", "patches.76-100.tar.Z" and "patches.101-126.tar.Z". Additionally, for new users, a partially patched source file is available as "cap60.pl100.tar.Z" (beware: the file cap60.tar.Z is totally unpatched). > How do I apply the patches ? To make the process of patching easier, you should get the 'patch' utility written by Larry Wall, it is normally archived at sites that archive comp.sources.unix in volume7/patch2. For each of the patches, run 'patch -p < cap60.patch0NN' from the top level cap60 directory, for example, in csh foreach i (cap60.patches/cap60.patch*) patch -p < $i >>& /tmp/patches end and check the /tmp/patches file for patching errors (should be none). To remove the *.orig files that patch leaves behind (containing the original version of the file), run 'make spotless' from the top level directory (note that spotless also removes all makefiles so gen.makes needs to be run to regenerate them). > I picked up CAP 6.0 from rutgers.edu, but our Unix system administrator > refuses to install it because there are 74 patches (can't say I blame him)! Sigh. Using the patch program to apply patches requires a minimal amount of time and energy. Taking time to install the patch program will pay off for CAP and other program updates. % date Sat Mar 7 23:51:05 EST 1992 % touch /tmp/patches % foreach i (cap60.patches/cap60.patch*) ? patch -p < $i >>& /tmp/patches ? end % grep rej /tmp/patches % date Sat Mar 7 23:54:26 EST 1992 It took just 3:11 to apply 75 patches to the raw CAP tar source. The extra overhead is the time to FTP 3 files, cap60.tar.Z, patches.1-74.tar.Z and cap60.patch075 and uncompress them. The total time spent on this ... 0:8:02. > Is CAP Public Domain ? No, CAP is distributed with the following condition on its use: Copyright (c) 1986, 1987, 1988, The Trustees of Columbia University in the City of New York. Charlie C. Kim, User Services Group, Academic Information Services Division, Libraries and Center for Computing Activities and Bill Schilit, formerly of Computer Research Facilities, Computer Science Department. Permission is granted to any individual or institution to use, copy, or redistribute this software so long as it is not sold for profit, provided that this notice and the original copyright notices are retained. Columbia University makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. Some portions of CAP have other copyrights and are suitably marked. > Is there a version of CAP available that supports Ethertalk Phase 2 ? Phase 2 support was added in CAP 6.0 patches 25, 28 & 35 for SUN NIT, ULTRIX 4.n and SUN enet driver respectively. > Can a workstation with 2 ethernet cards running Cap s/w act as a phaseII > to (phaseI or phaseII) "Gateway"? If so, what patch level of Cap do I need > to do this? The UNIX AppleTalk Bridge (UAB) is an EtherTalk gateway. It can handle multiple ethernet interfaces and gateway between them. This is its primary function but it can also be set up to provide CAP services. But ... > Does anyone have a patch that will support the phase 2 appletalk protocol > on UAB (CAP6.0). UAB supports Phase 1 only. > Is there any standard way yet of implementing a execute only, copy > protected CAP AUFS server? The original method of achieving this was to removing read permission from the data fork of the Application (make it non-zero length if the file is empty). The current method involves using the Application Manager added in patch number 61. Either of these methods can be circumvented by users who are either knowledgeable or determined. > Recently I introduced a new color postscript printer, Tektronix Phaser III > 4698PXi, under one of the LocalTalks. It works fine from Macintosh's so I > tried to use it from papif but failed. CAP uses DDP checksums by default, the checksum code in the Phaser III PXi and the Apple Personal LaserWriter NTR incorrectly calculate the checksum value and the packet is dropped. The programs aufs, lwsrv, papif, atis, atlooklws and tlw now support the -k option to disable CAP checksums on a per-program basis. To disable CAP checksums completely, add the following lines to the m4.features file, rerun gen.makes and remake CAP. # + DONT_DOCHKSUM no DDP checksums (Tektronix Phaser III PXi & Apple LW NTR) define(`specialcflags',concat(specialcflags,` -DDONT_DOCHKSUM')) # No other code changes are necessary. > We've just upgraded our DECstations to version 4.2 of ULTRIX, and our CAP > distribution very neatly broke. You need to obtain the net_common.o and pfilt.o patches from Digital's Customer Support (also for ULTRIX 4.2A). Do not turn on the ifconfig copyall (stop-gap measure previously suggested on the net). Do not define ULT42PFBUG in m4.features. > Does anybody know if the packet-filter patches that were necessary > to make CAP work under Ultrix 4.2 are built into Ultrix 4.3? CAP under Ultrix 4.3 does not require the packet filter kernel patches. Do not turn on the ifconfig copyall (stop-gap measure previously suggested on the net). Do not define ULT42PFBUG in m4.features. See also the file /pub/DEC/ultrix-faq.txt on gatekeeper.dec.com > When we run aarpd with a command like: > aarpd pf0 our_zone > the daemon doesn't start & we get the message 'failed to start ZIS listener'. This means that something has been allocated the UPD port 774 (768+6) by 'portmap'. You can check this with the command 'rpcinfo -p'. There are two solutions, break 'start-cap-servers' into two so that aarpd and atis is started before portmap. Alternatively, and preferably, install the NIC assigned port numbers into /etc/services. See the doc in the file cap60/doc/install.ms for more details. > I have installed the enet driver. But aarpd won't start successfully. > Instead the following error message is being printed. > unix!: # aarpd le0 EtherTalk > open: /dev/enetXX: No such file or directory The ENET drivers use devices of the form enet0, enet1 etc. Replace the string "le0" with "enet0". > I tried to run aarpd, and what happened was: > /dev/nit: Permission denied > I also tried to do a chmod 777 /dev/nit, to no avail. In addition to requiring the device node, /dev/nit, you have to make sure your kernel has the NIT driver support in it. Here's what it looks like in the GENERIC configuration file for SunOS 4.1.1 (/sys/sun4c/conf/GENERIC): # # The following are for streams NIT support. NIT is used by # etherfind, traffic, rarpd, and ndbootd. As a rule of thumb, # NIT is almost always needed on a server and almost never # needed on a diskless client. # pseudo-device snit # streams NIT pseudo-device pf # packet filter pseudo-device nbuf # NIT buffering module # # The following is for the "clone" device, used with streams devices. # This is required if you include streams NIT support, RFS, or an audio # device. # pseudo-device clone # clone device If your kernel configuration doesn't have these pseudo-devices included, add them, rebuild (config and make) your kernel, and reboot. > We're running CAP with Native EtherTalk on a network without a router. > atlook doesn't show our LaserWriter IIg and getzones fails with > error -1096 getting zone list Zone names are the responsibility of AppleTalk routers. Without a router, there are no zones defined for the network and the zone name field in NBP lookup packets must be * (or nothing at all). To use CAP with Native EtherTalk in this situation, start 'aarpd' with "*" as the zone name, any other zone name string may cause the lookup packet to be dropped. > I had problems with the top level CAP folder losing icon positions. > I thought I solved it by creating .finderinfo and .resource dirs in .., > and making everything rw for everyone, rwx for everyone but the problem > remains ... The Mac will not save any Finder Information unless the Volume is owned by the connected user (so that the AFP "owner bit" is set, Inside AppleTalk, 2nd edition, page 13-88). The solution with CAP is to setuid the top-level directory - then anyone with the appropriate UNIX permissions will be able to save ICON positions etc. > I need help with IPTalk. Herewith 10 easy steps to installing CAP with IPTalk: 1. Make sure that you have the latest CAP code. If in doubt, FTP the CAP FAQ file mac/cap.patches/CAP.faq from munnari.OZ.AU. It contains a list of the sites where CAP is available, please choose the closest site. 2. Run the CAP Configure program, answer all of the questions with the defaults (by hitting RETURN). Run gen.makes to create the makefiles. 3. Find out the IP address of the CAP host, say 132.45.67.89. This is a 32 bit number represented as four 8-bit quantities written as decimal numbers. It could also be represented as a hexadecimal number, 0x842d4359. The CAP host node number is the bottom eight bits of the IP address, written as a decimal number, in this case 89. 4. Find out the IP address of the IPTalk compatible gateway, such as a FastPath, GatorBox or MultiPort Gateway, say 132.45.67.90. The "bridge" node number is the bottom eight bits of the IP address, in this case 90. 5. Check that the top 24-bits of the two IP addresses are identical, in this case 132.45.67. For simplicity I'll call this the IP subnet number. If they do not match you have to investigate the atalkad administration package, or use CAP with Native EtherTalk or one of the AppleTalk routers. 6. Find out the IPTalk network number being used by the gateway. This is a 16-bit number represented as two 8-bit quantities separated by periods or a single decimal number. For example 93.57 is 93*256 + 57, or 23865. Each IPTalk network number is uniquely associated with one IP subnet number, each IPTalk installation must have a unique network number where the IP subnets differ. 7. (optional) Check all the other network numbers in use on your network, make sure that the IPTalk network number is not being used for LocalTalk, EtherTalk (Phase 1 or Phase 2) or on any other IPTalk network where the IP subnet numbers differ. 8. Find out the zone name associated with the IPTalk network number. This may be the same as other zone names on the network but must be identical to the zone name programmed into the IPTalk gateway. eg: unimelb-CompSci 9. Create a file called /etc/atalk.local using the template provided in cap60/etc/atalk.local and the UNIX manual entry in cap60/man/atalk.local.5 As a minimum, the file would look like the following, using the numbers from the examples used above, comment lines start with a '#' # mynet mynode myzone 93.57 89 unimelb-CompSci # bridgenet bridgenode bridgeIP 93.57 90 132.45.67.90 10. Find out what UDP ports are being used on the IP network. These are also called the "NIC Assigned" ports. These ports map to AppleTalk socket numbers and are used to deliver packets to the correct UNIX processes. By default, CAP will use the ports starting at 768 so that the RTMP socket number 1 maps to UDP port 769 and the ECHO socket 4 maps to 772. The official port range starts at 200, so RTMP becomes 201 and ECHO becomes 204. To ensure that CAP uses the official ports, add the following entries to the file /etc/services or the NIS database at-rtmp 201/udp at-nbp 202/udp at-echo 204/udp at-zis 206/udp The port numbers should already be defined in the gateway configuration. Continue testing from the [10] Verification step in cap60/doc/install.ms Note: if you are using CAP with Native EtherTalk then ignore all but step 1. The Native EtherTalk code is able to learn the network configuration. If you have an /etc/atalk.local file, you should remove it. If there are no other routers on the network, start aarpd with "*" as the zone name. The UDP ports are also used in Native EtherTalk, as markers for sockets in use. If a CAP process has trouble starting the ZIS listener or ECHO or NBP sockets are unavailable, consider installing the official UDP port entries. For more information, see the CAP60.README file in the CAP distribution. Send CAP FAQ contributions to cap@munnari.OZ.AU