Patch #: 36 Type: bug fix Priority: high Affects: sites using Phase 2 / sites with ULTRIX 4.2 Reported: Stephen C. Trier Reported: Tom Ivar Helbenko Reported: Phil Conley Archived: munnari.OZ.AU mac/cap.patches/cap60.patch036 Application: 'cd cap60; patch -p < cap60.patches/cap60.patch036' Summary: delete fd_set definition in aarpd.c for ULTRIX Summary: fix Phase 1 this_net handling for Phase 2 use File: cap60/etc/atis.c File: cap60/support/ethertalk/abelap.c File: cap60/support/ethertalk/aarpd.c *** etc/atis.c.orig Sat Jul 6 02:27:24 1991 --- etc/atis.c Fri Jul 26 01:56:26 1991 *************** *** 1,6 **** ! static char rcsid[] = "$Author: djh $ $Date: 1991/07/05 16:27:04 $"; ! static char rcsident[] = "$Header: /mac/src/cap60/etc/RCS/atis.c,v 2.4 1991/07/05 16:27:04 djh Rel djh $"; ! static char revision[] = "$Revision: 2.4 $"; /* * atis.c - a simple appletalk information server --- 1,6 ---- ! static char rcsid[] = "$Author: djh $ $Date: 1991/07/25 15:56:09 $"; ! static char rcsident[] = "$Header: /mac/src/cap60/etc/RCS/atis.c,v 2.5 1991/07/25 15:56:09 djh Rel djh $"; ! static char revision[] = "$Revision: 2.5 $"; /* * atis.c - a simple appletalk information server *************** *** 83,90 **** extern short lap_proto; /* identifies the "LAP" level */ #ifdef PHASE2 ! extern u_short this_net, nis_net, net_range_start, net_range_end; #endif PHASE2 #ifndef ETCDIR --- 83,93 ---- extern short lap_proto; /* identifies the "LAP" level */ + extern u_char bridge_node; + extern u_short this_net, nis_net, bridge_net; + #ifdef PHASE2 ! extern u_short net_range_start, net_range_end; #endif PHASE2 #ifndef ETCDIR *************** *** 749,755 **** logit(5, "Got RTMP pkt net %d from %d.%d", ntohs(net), ntohs(addr->net), addr->node); ! if (addr->net == 0 && net != 0) { addr->net = net; SetBridgeAddress(addr); logit(1, "Gleaned network number %d from bridge %d",ntohs(net),addr->node); --- 752,758 ---- logit(5, "Got RTMP pkt net %d from %d.%d", ntohs(net), ntohs(addr->net), addr->node); ! if (bridge_net == 0 && net != 0) { addr->net = net; SetBridgeAddress(addr); logit(1, "Gleaned network number %d from bridge %d",ntohs(net),addr->node); *** support/ethertalk/abelap.c.orig Mon Jul 1 16:25:52 1991 --- support/ethertalk/abelap.c Fri Jul 26 01:58:02 1991 *************** *** 1,7 **** /* ! * $Author: djh $ $Date: 1991/07/01 06:25:41 $ ! * $Header: /mac/src/cap60/support/ethertalk/RCS/abelap.c,v 2.4 1991/07/01 06:25:41 djh Rel djh $ ! * $Revision: 2.4 $ */ /* --- 1,7 ---- /* ! * $Author: djh $ $Date: 1991/07/25 15:57:38 $ ! * $Header: /mac/src/cap60/support/ethertalk/RCS/abelap.c,v 2.5 1991/07/25 15:57:38 djh Rel djh $ ! * $Revision: 2.5 $ */ /* *************** *** 851,862 **** if (lap_proto == LAP_ETALK) { baddr = (AddrBlock *) rtmp_getbaddr_clnt(addr, cl); ! if (baddr == NULL) clnt_perror(cl, "localhost"); ! else { ! bridge_node = baddr->node; ! this_net = nis_net = bridge_net = baddr->net; } } addr->net = bridge_net; addr->node = bridge_node; --- 851,865 ---- if (lap_proto == LAP_ETALK) { baddr = (AddrBlock *) rtmp_getbaddr_clnt(addr, cl); ! if (baddr == NULL) { clnt_perror(cl, "localhost"); ! exit(1); } + bridge_net = baddr->net; + bridge_node = baddr->node; + #ifndef PHASE2 + this_net = nis_net = bridge_net; + #endif PHASE2 } addr->net = bridge_net; addr->node = bridge_node; *************** *** 876,885 **** if (lap_proto == LAP_ETALK) { baddr = (AddrBlock *) rtmp_setbaddr_clnt(addr, cl); ! if (baddr == NULL) clnt_perror(cl, "localhost"); ! else ! this_net = nis_net = addr->net; } bridge_net = addr->net; bridge_node = addr->node; --- 879,891 ---- if (lap_proto == LAP_ETALK) { baddr = (AddrBlock *) rtmp_setbaddr_clnt(addr, cl); ! if (baddr == NULL) { clnt_perror(cl, "localhost"); ! exit(1); ! } ! #ifndef PHASE2 ! this_net = nis_net = addr->net; ! #endif PHASE2 } bridge_net = addr->net; bridge_node = addr->node; *************** *** 904,911 **** range <<= 16; range |= range_end & 0xffff; baddr = (AddrBlock *) range_set_clnt(&range, cl); ! if (baddr == NULL) clnt_perror(cl, "localhost"); } this_net = nis_net = net_range_start = range_start; net_range_end = range_end; --- 910,919 ---- range <<= 16; range |= range_end & 0xffff; baddr = (AddrBlock *) range_set_clnt(&range, cl); ! if (baddr == NULL) { clnt_perror(cl, "localhost"); + exit(1); + } } this_net = nis_net = net_range_start = range_start; net_range_end = range_end; *** support/ethertalk/aarpd.c.orig Mon Jul 1 17:44:18 1991 --- support/ethertalk/aarpd.c Fri Jul 26 01:59:55 1991 *************** *** 52,62 **** extern short lap_proto; /* our LAP mechanism */ ! #ifdef ultrix ! extern int svc_fds; ! #else ultrix extern fd_set svc_fdset; ! #endif ultrix byte pzone[INTZONESIZE+1]; /* zone (pascal string) */ char intrfc[INTFSIZE]; /* interface description */ --- 52,60 ---- extern short lap_proto; /* our LAP mechanism */ ! #ifndef ultrix extern fd_set svc_fdset; ! #endif ultrix byte pzone[INTZONESIZE+1]; /* zone (pascal string) */ char intrfc[INTFSIZE]; /* interface description */ *************** *** 107,113 **** --- 105,113 ---- openetalkdb(NULL); /* open/create etalk.local */ nis_net = this_net = 0; /* assume that we don't know */ + bridge_net = bridge_node = 0; bridge_addr.s_addr = inet_addr("127.0.0.1"); + #ifdef PHASE2 this_net = htons(0xff00); /* the startup range */ net_range_start = htons(0); /* the total range */ *************** *** 322,328 **** logit(2, "setting bridge address"); bcopy(bad, &baddr, sizeof(baddr)); bridge_node = baddr.node; ! bridge_net = this_net = nis_net = baddr.net; bridge_addr.s_addr = inet_addr("127.0.0.1"); etalkdbupdate(NULL); /* write the info. back out */ return((u_char *) &baddr); --- 322,331 ---- logit(2, "setting bridge address"); bcopy(bad, &baddr, sizeof(baddr)); bridge_node = baddr.node; ! bridge_net = baddr.net; ! #ifndef PHASE2 ! this_net = nis_net = baddr.net; ! #endif PHASE2 bridge_addr.s_addr = inet_addr("127.0.0.1"); etalkdbupdate(NULL); /* write the info. back out */ return((u_char *) &baddr); *** README.orig Fri Jul 26 02:01:41 1991 --- README Fri Jul 26 02:02:07 1991 *************** *** 3,9 **** (For use with AppleTalk/Ethernet bridge) o RELEASE NOTES ! o CAP Distribution 6.0, Patch Level 35, July 1991 Introduction ------------ --- 3,9 ---- (For use with AppleTalk/Ethernet bridge) o RELEASE NOTES ! o CAP Distribution 6.0, Patch Level 36, July 1991 Introduction ------------