18c18
< #define __conffile_h__ "@(#) conffile.h 1.42@(#) 96/05/06"
---
> #define __conffile_h__ "@(#) conffile.h 1.45@(#) 00/07/16"
92a93,97
>                                         /*-------------------------------*/
>                 struct ether_addr dftEa;/* Default Ether address to use  */
>                                         /* where one can't be found in   */
>                                         /* the ARP cache; usually the    */
>                                         /* broadcast addr.               */
diff -s ../../old/filter.h ./filter.h
295a296,300
>                                         /*-------------------------------*/
>                 struct ether_addr dftEa;/* Default Ether address to use  */
>                                         /* where one can't be found in   */
>                                         /* the ARP cache; usually the    */
>                                         /* broadcast addr.               */
diff -s ../../old/hci.c ./hci.c
332c332
<             if(!line || (length >= max_length)) /* We need a new buffer. */
---
>             if(!line || (length >= max_length)) /* We need a newItem buffer. */
418c418
<         cfrecord_t *new;                /* New record. */
---
>         cfrecord_t *newItem;                /* New record. */
493c493
<                 if(!(new = (cfrecord_t *)calloc(1, sizeof(cfrecord_t))))
---
>                 if(!(newItem = (cfrecord_t *)calloc(1, sizeof(cfrecord_t))))
501c501
<                 /* subsequent ones because we link new records to the    */
---
>                 /* subsequent ones because we link newItem records to the    */
505c505
<                     { config_info = last = new; }
---
>                     { config_info = last = newItem; }
507c507
<                     { last->next = new; last = new; }
---
>                     { last->next = newItem; last = newItem; }
509,511c509,511
<                 new->next = 0;
<                 new->recordtype = recordtype;
<                 new->line = line_no;
---
>                 newItem->next = 0;
>                 newItem->recordtype = recordtype;
>                 newItem->line = line_no;
539c539
<                         new->u.v.val = 0;
---
>                         newItem->u.v.val = 0;
544,545c544,545
<                                 filename, line_no, new->u.v.val); } }
<                         else { new->u.v.val = atoi(rt); }
---
>                                 filename, line_no, newItem->u.v.val); } }
>                         else { newItem->u.v.val = atoi(rt); }
547,549c547,549
<                         if(new->u.v.val > VB_MAX) { new->u.v.val = VB_MAX; }
<                         else if(new->u.v.val < 0) { new->u.v.val = 0; }
<                         set_vb(new->u.v.val);
---
>                         if(newItem->u.v.val > VB_MAX) { newItem->u.v.val = VB_MAX; }
>                         else if(newItem->u.v.val < 0) { newItem->u.v.val = 0; }
>                         set_vb(newItem->u.v.val);
554c554
<                                     line_no, new->u.v.val);
---
>                                     line_no, newItem->u.v.val);
572,575c572,575
<                         new->u.t.val = CFV_ThrottleTo_None;
<                         new->u.t.ifname[0] = '\0';
<                         new->u.t.rtt = CFV_ThrottleTo_NRTT;
<                         new->u.t.ad.s_addr = 0;
---
>                         newItem->u.t.val = CFV_ThrottleTo_None;
>                         newItem->u.t.ifname[0] = '\0';
>                         newItem->u.t.rtt = CFV_ThrottleTo_NRTT;
>                         newItem->u.t.ad.s_addr = 0;
585c585
<                         else { ifnmcpy(new->u.t.ifname, rt); }
---
>                         else { ifnmcpy(newItem->u.t.ifname, rt); }
590,591c590,591
<                                 filename, line_no, new->u.t.val); } }
<                         else { new->u.t.val = atoi(rt); }
---
>                                 filename, line_no, newItem->u.t.val); } }
>                         else { newItem->u.t.val = atoi(rt); }
596,597c596,597
<                         new->u.t.rtt = atoi(rt);
<                         if(new->u.t.rtt <= 0)
---
>                         newItem->u.t.rtt = atoi(rt);
>                         if(newItem->u.t.rtt <= 0)
601,602c601,602
<                                 filename, line_no, new->u.t.rtt); }
<                             new->u.t.rtt = CFV_ThrottleTo_NRTT;
---
>                                 filename, line_no, newItem->u.t.rtt); }
>                             newItem->u.t.rtt = CFV_ThrottleTo_NRTT;
609c609
<                         new->u.t.ad.s_addr = inet_addr(rt);
---
>                         newItem->u.t.ad.s_addr = inet_addr(rt);
619c619
<                     /*     if <ifname>                                   */
---
>                     /*     if <ifname> [<fwdingEtherAddr>]               */
626c626,637
<                         new->u.i.ifname[0] = '\0';
---
>                         newItem->u.i.ifname[0] = '\0';
>                         
>                         /*-----------------------------------------------*/
>                         /* Make the default Ether address for forwarding */
>                         /* a packet the broadcast address.               */
>                         /*--------------/--------------------------------*/
>                         newItem->u.i.dftEa.ether_addr_octet[0] =
>                             newItem->u.i.dftEa.ether_addr_octet[1] =
>                             newItem->u.i.dftEa.ether_addr_octet[2] =
>                             newItem->u.i.dftEa.ether_addr_octet[3] =
>                             newItem->u.i.dftEa.ether_addr_octet[4] =
>                             newItem->u.i.dftEa.ether_addr_octet[5] = 0xff;
636c647,667
<                         else { ifnmcpy(new->u.i.ifname, rt); }
---
>                         else { ifnmcpy(newItem->u.i.ifname, rt); }
>                         /* Looking for optional ether addr. */
>                         if((rt = strtok(NULL, toksep)))
>                             {
>                             struct ether_addr *ea = ether_aton(rt);
>                             if(!ea)
>                                 { if(get_vb()) { ourlog(L_ERROR,
>                                 "%s, line %d, unparseable ether address %s.\n",
>                                     filename, line_no, rt); }}
>                             else
>                                 {
>                                 /* Store user-selected ether address. */
>                                 newItem->u.i.dftEa = *ea;
>                                 if(get_vb())
>                                     {
>                                     ourlog(L_INFO,
>                                     "%s, line %d, user-set ether addr for if %s, %s.\n",
>                                     filename, line_no, newItem->u.i.ifname, rt);
>                                     }
>                                 }
>                             }
668,675c699,706
<                         new->u.r.deny = true;       /* Deny by default.  */
<                         new->u.r.unidir = true;     /* Oneway routing.   */
<                         new->u.r.throttle = true;   /* Throttle.         */
<                         new->u.r.ethrottle = false; /* No extra throttle.*/
<                         new->u.r.count = true;      /* Count anyway.     */
<                         new->u.r.log = false;       /* Don't log.        */
<                         new->u.r.fragment = true;   /* Fragment.         */
<                         new->u.r.MACforce = false;  /* Force MAC addr.   */
---
>                         newItem->u.r.deny = true;       /* Deny by default.  */
>                         newItem->u.r.unidir = true;     /* Oneway routing.   */
>                         newItem->u.r.throttle = true;   /* Throttle.         */
>                         newItem->u.r.ethrottle = false; /* No extra throttle.*/
>                         newItem->u.r.count = true;      /* Count anyway.     */
>                         newItem->u.r.log = false;       /* Don't log.        */
>                         newItem->u.r.fragment = true;   /* Fragment.         */
>                         newItem->u.r.MACforce = false;  /* Force MAC addr.   */
677c708
<                         new->u.r.protoany = false;  /* Not wildcard proto*/
---
>                         newItem->u.r.protoany = false;  /* Not wildcard proto*/
679,680c710,711
<                         new->u.r.I.iftype = CFV_Route_A_NAME;
<                         new->u.r.I.ifname[0] = '\0';/* No if chosen.     */
---
>                         newItem->u.r.I.iftype = CFV_Route_A_NAME;
>                         newItem->u.r.I.ifname[0] = '\0';/* No if chosen.     */
682,683c713,714
<                         new->u.r.O.iftype = CFV_Route_A_NAME;
<                         new->u.r.O.ifname[0] = '\0';/* No if chosen.     */
---
>                         newItem->u.r.O.iftype = CFV_Route_A_NAME;
>                         newItem->u.r.O.ifname[0] = '\0';/* No if chosen.     */
685,686c716,717
<                         new->u.r.maxthpc = 100;     /* 100% of throttle. */
<                         new->u.r.proto = IPPROTO_IP;/* No real protocol. */
---
>                         newItem->u.r.maxthpc = 100;     /* 100% of throttle. */
>                         newItem->u.r.proto = IPPROTO_IP;/* No real protocol. */
688,695c719,726
<                         new->u.r.I.ad.s_addr = 0;   /* Wildcard address. */
<                         new->u.r.I.ma.s_addr = ~0;
<                         new->u.r.I.minport = ~0;    /* Dummy port?       */
<                         new->u.r.I.maxport = ~0;    /* Dummy port?       */
<                         new->u.r.O.ad.s_addr = 0;   /* Wildcard address. */
<                         new->u.r.O.ma.s_addr = ~0;
<                         new->u.r.O.minport = ~0;    /* Dummy port?       */
<                         new->u.r.O.maxport = ~0;    /* Dummy port?       */
---
>                         newItem->u.r.I.ad.s_addr = 0;   /* Wildcard address. */
>                         newItem->u.r.I.ma.s_addr = ~0;
>                         newItem->u.r.I.minport = ~0;    /* Dummy port?       */
>                         newItem->u.r.I.maxport = ~0;    /* Dummy port?       */
>                         newItem->u.r.O.ad.s_addr = 0;   /* Wildcard address. */
>                         newItem->u.r.O.ma.s_addr = ~0;
>                         newItem->u.r.O.minport = ~0;    /* Dummy port?       */
>                         newItem->u.r.O.maxport = ~0;    /* Dummy port?       */
704c735
<                         else { new->u.r.deny = (*rt == 'd'); }
---
>                         else { newItem->u.r.deny = (*rt == 'd'); }
711c742
<                             new->u.r.I.iftype = CFV_Route_A_NAME; 
---
>                             newItem->u.r.I.iftype = CFV_Route_A_NAME; 
723,724c754,755
<                                 new->u.r.I.iftype = CFV_Route_A_Any;
<                                 new->u.r.I.ifname[0] = '\0';
---
>                                 newItem->u.r.I.iftype = CFV_Route_A_Any;
>                                 newItem->u.r.I.ifname[0] = '\0';
728,729c759,760
<                                 new->u.r.I.iftype = CFV_Route_A_NAME;
<                                 ifnmcpy(new->u.r.I.ifname, rt);
---
>                                 newItem->u.r.I.iftype = CFV_Route_A_NAME;
>                                 ifnmcpy(newItem->u.r.I.ifname, rt);
735c766
<                             new->u.r.O.iftype = CFV_Route_A_NAME; 
---
>                             newItem->u.r.O.iftype = CFV_Route_A_NAME; 
747,748c778,779
<                                 new->u.r.O.iftype = CFV_Route_A_Any;
<                                 new->u.r.O.ifname[0] = '\0';
---
>                                 newItem->u.r.O.iftype = CFV_Route_A_Any;
>                                 newItem->u.r.O.ifname[0] = '\0';
752,753c783,784
<                                 new->u.r.O.iftype = CFV_Route_A_Quench;
<                                 new->u.r.O.ifname[0] = '\0';
---
>                                 newItem->u.r.O.iftype = CFV_Route_A_Quench;
>                                 newItem->u.r.O.ifname[0] = '\0';
757,758c788,789
<                                 new->u.r.O.iftype = CFV_Route_A_NAME;
<                                 ifnmcpy(new->u.r.O.ifname, rt);
---
>                                 newItem->u.r.O.iftype = CFV_Route_A_NAME;
>                                 ifnmcpy(newItem->u.r.O.ifname, rt);
766c797
<                             { rt="icmp"; new->u.r.protoany = false; 
---
>                             { rt="icmp"; newItem->u.r.protoany = false; 
772c803
<                             if(!(new->u.r.protoany = !strcmp(rt, "any")))
---
>                             if(!(newItem->u.r.protoany = !strcmp(rt, "any")))
775c806
<                                     { new->u.r.proto = IPPROTO_ICMP; }
---
>                                     { newItem->u.r.proto = IPPROTO_ICMP; }
777c808
<                                     { new->u.r.proto = IPPROTO_UDP; }
---
>                                     { newItem->u.r.proto = IPPROTO_UDP; }
779c810
<                                     { new->u.r.proto = IPPROTO_TCP; }
---
>                                     { newItem->u.r.proto = IPPROTO_TCP; }
781c812
<                                     { new->u.r.proto = atoi(rt); }
---
>                                     { newItem->u.r.proto = atoi(rt); }
792c823
<                         else { new->u.r.unidir = (*rt == 'f'); }
---
>                         else { newItem->u.r.unidir = (*rt == 'f'); }
804c835
<                                 { new->u.r.I.ad.s_addr = 0; }
---
>                                 { newItem->u.r.I.ad.s_addr = 0; }
806c837
<                                 { new->u.r.I.ad.s_addr = inet_addr(rt); }
---
>                                 { newItem->u.r.I.ad.s_addr = inet_addr(rt); }
822c853
<                                 { new->u.r.I.ma.s_addr = ~0; }
---
>                                 { newItem->u.r.I.ma.s_addr = ~0; }
824c855
<                                 { new->u.r.I.ma.s_addr = 0; }
---
>                                 { newItem->u.r.I.ma.s_addr = 0; }
826c857
<                                 { new->u.r.I.ma.s_addr = inet_addr(rt); }
---
>                                 { newItem->u.r.I.ma.s_addr = inet_addr(rt); }
828c859
<                         new->u.r.I.ad.s_addr &= new->u.r.I.ma.s_addr;
---
>                         newItem->u.r.I.ad.s_addr &= newItem->u.r.I.ma.s_addr;
841,842c872,873
<                                 new->u.r.I.minport = 0;
<                                 new->u.r.I.maxport = ~0;
---
>                                 newItem->u.r.I.minport = 0;
>                                 newItem->u.r.I.maxport = ~0;
846,847c877,878
<                                 new->u.r.I.minport = 0;
<                                 new->u.r.I.maxport = IPPORT_RESERVED - 1;
---
>                                 newItem->u.r.I.minport = 0;
>                                 newItem->u.r.I.maxport = IPPORT_RESERVED - 1;
851,852c882,883
<                                 new->u.r.I.minport = IPPORT_RESERVED;
<                                 new->u.r.I.maxport = ~0;
---
>                                 newItem->u.r.I.minport = IPPORT_RESERVED;
>                                 newItem->u.r.I.maxport = ~0;
856,857c887,888
<                                 new->u.r.I.minport = 
<                                 new->u.r.I.maxport = (short)atoi(rt);
---
>                                 newItem->u.r.I.minport = 
>                                 newItem->u.r.I.maxport = (short)atoi(rt);
879c910
<                                 { new->u.r.O.ad.s_addr = 0; }
---
>                                 { newItem->u.r.O.ad.s_addr = 0; }
881c912
<                                 { new->u.r.O.ad.s_addr = inet_addr(rt); }
---
>                                 { newItem->u.r.O.ad.s_addr = inet_addr(rt); }
897c928
<                                 { new->u.r.O.ma.s_addr = ~0; }
---
>                                 { newItem->u.r.O.ma.s_addr = ~0; }
899c930
<                                 { new->u.r.O.ma.s_addr = 0; }
---
>                                 { newItem->u.r.O.ma.s_addr = 0; }
901c932
<                                 { new->u.r.O.ma.s_addr = inet_addr(rt); }
---
>                                 { newItem->u.r.O.ma.s_addr = inet_addr(rt); }
903c934
<                         new->u.r.O.ad.s_addr &= new->u.r.O.ma.s_addr;
---
>                         newItem->u.r.O.ad.s_addr &= newItem->u.r.O.ma.s_addr;
916,917c947,948
<                                 new->u.r.O.minport = 0;
<                                 new->u.r.O.maxport = ~0;
---
>                                 newItem->u.r.O.minport = 0;
>                                 newItem->u.r.O.maxport = ~0;
921,922c952,953
<                                 new->u.r.O.minport = 0;
<                                 new->u.r.O.maxport = IPPORT_RESERVED - 1;
---
>                                 newItem->u.r.O.minport = 0;
>                                 newItem->u.r.O.maxport = IPPORT_RESERVED - 1;
926,927c957,958
<                                 new->u.r.O.minport = IPPORT_RESERVED;
<                                 new->u.r.O.maxport = ~0;
---
>                                 newItem->u.r.O.minport = IPPORT_RESERVED;
>                                 newItem->u.r.O.maxport = ~0;
931,932c962,963
<                                 new->u.r.O.minport = 
<                                 new->u.r.O.maxport = (short)atoi(rt);
---
>                                 newItem->u.r.O.minport = 
>                                 newItem->u.r.O.maxport = (short)atoi(rt);
947,951c978,982
<                                 case 'M': { new->u.r.MACforce = is_no; break; }
<                                 case 'c': { new->u.r.count    = is_no; break; }
<                                 case 'f': { new->u.r.fragment = is_no; break; }
<                                 case 'l': { new->u.r.log      = is_no; break; }
<                                 case 't': { new->u.r.throttle = is_no; break; }
---
>                                 case 'M': { newItem->u.r.MACforce = is_no; break; }
>                                 case 'c': { newItem->u.r.count    = is_no; break; }
>                                 case 'f': { newItem->u.r.fragment = is_no; break; }
>                                 case 'l': { newItem->u.r.log      = is_no; break; }
>                                 case 't': { newItem->u.r.throttle = is_no; break; }
982,983c1013,1014
<                                         new->u.r.ethrottle = true;
<                                         new->u.r.maxthpc = atoi(s);
---
>                                         newItem->u.r.ethrottle = true;
>                                         newItem->u.r.maxthpc = atoi(s);
985,987c1016,1018
<                                         if(/* (new->u.r.maxthpc < 0) || */
<                                            (new->u.r.maxthpc > 100))
<                                             { new->u.r.maxthpc = 100; }
---
>                                         if(/* (newItem->u.r.maxthpc < 0) || */
>                                            (newItem->u.r.maxthpc > 100))
>                                             { newItem->u.r.maxthpc = 100; }
1003c1034
<                                 if(!s && new->u.r.MACforce)
---
>                                 if(!s && newItem->u.r.MACforce)
1008,1009c1039,1040
<                                     new->u.r.MACforce = false;
<                                     new->u.r.deny = true;
---
>                                     newItem->u.r.MACforce = false;
>                                     newItem->u.r.deny = true;
1015c1046
<                                 if(!ea && new->u.r.MACforce)
---
>                                 if(!ea && newItem->u.r.MACforce)
1020,1021c1051,1052
<                                     new->u.r.MACforce = false;
<                                     new->u.r.deny = true;
---
>                                     newItem->u.r.MACforce = false;
>                                     newItem->u.r.deny = true;
1026c1057
<                                 if(ea) { new->u.r.O.MAC = *ea; }
---
>                                 if(ea) { newItem->u.r.O.MAC = *ea; }
1037,1040c1068,1071
<                             ia = strdup(inet_ntoa(new->u.r.I.ad));
<                             im = strdup(inet_ntoa(new->u.r.I.ma));
<                             oa = strdup(inet_ntoa(new->u.r.O.ad));
<                             om = strdup(inet_ntoa(new->u.r.O.ma));
---
>                             ia = strdup(inet_ntoa(newItem->u.r.I.ad));
>                             im = strdup(inet_ntoa(newItem->u.r.I.ma));
>                             oa = strdup(inet_ntoa(newItem->u.r.O.ad));
>                             om = strdup(inet_ntoa(newItem->u.r.O.ma));
1045,1051c1076,1082
<         new->u.r.deny?"deny":"allow",
<         new->u.r.unidir?"from":"between",
<         (new->u.r.I.iftype != CFV_Route_A_NAME)?"any":new->u.r.I.ifname,
<         (new->u.r.O.iftype == CFV_Route_A_Quench)?"quench":
<             ((new->u.r.O.iftype != CFV_Route_A_NAME)?"any":new->u.r.O.ifname),
<         new->u.r.protoany?"any":"",
<         new->u.r.protoany?-1:new->u.r.proto,
---
>         newItem->u.r.deny?"deny":"allow",
>         newItem->u.r.unidir?"from":"between",
>         (newItem->u.r.I.iftype != CFV_Route_A_NAME)?"any":newItem->u.r.I.ifname,
>         (newItem->u.r.O.iftype == CFV_Route_A_Quench)?"quench":
>             ((newItem->u.r.O.iftype != CFV_Route_A_NAME)?"any":newItem->u.r.O.ifname),
>         newItem->u.r.protoany?"any":"",
>         newItem->u.r.protoany?-1:newItem->u.r.proto,
1054,1056c1085,1087
<         new->u.r.I.minport,
<         new->u.r.I.maxport,
<         new->u.r.unidir?"to":"and",
---
>         newItem->u.r.I.minport,
>         newItem->u.r.I.maxport,
>         newItem->u.r.unidir?"to":"and",
1059,1060c1090,1091
<         new->u.r.I.minport,
<         new->u.r.I.maxport,
---
>         newItem->u.r.I.minport,
>         newItem->u.r.I.maxport,
1062,1064c1093,1095
<         new->u.r.count?"count":"nocount",
<         new->u.r.fragment?"fragment":"nofragment",
<         new->u.r.log?"log":"nolog",
---
>         newItem->u.r.count?"count":"nocount",
>         newItem->u.r.fragment?"fragment":"nofragment",
>         newItem->u.r.log?"log":"nolog",
1066,1067c1097,1098
<         new->u.r.throttle?"throttle":"nothrottle",
<         new->u.r.ethrottle?new->u.r.maxthpc:100,
---
>         newItem->u.r.throttle?"throttle":"nothrottle",
>         newItem->u.r.ethrottle?newItem->u.r.maxthpc:100,
1069,1070c1100,1101
<         new->u.r.MACforce?"MACforce-":"noMACforce",
<         new->u.r.MACforce?(ether_ntoa(&(new->u.r.O.MAC))):""
---
>         newItem->u.r.MACforce?"MACforce-":"noMACforce",
>         newItem->u.r.MACforce?(ether_ntoa(&(newItem->u.r.O.MAC))):""
1112c1143
<                         set_gateway_defaults(&(new->u.g));
---
>                         set_gateway_defaults(&(newItem->u.g));
1123c1154
<                             { new->u.g.ourIP.s_addr = inet_addr(rt); }
---
>                             { newItem->u.g.ourIP.s_addr = inet_addr(rt); }
1136,1141c1167,1172
<                                 case 'c': { new->u.g.chksum   = is_no; break; }
<                                 case 'd': { new->u.g.decttl   = is_no; break; }
<                                 case 'i': { new->u.g.icmperrs = is_no; break; }
<                                 case 'o': { new->u.g.opts     = is_no; break; }
<                                 case 'p': { new->u.g.parallel = is_no; break; }
<                                 case 't': { new->u.g.trace    = is_no; break; }
---
>                                 case 'c': { newItem->u.g.chksum   = is_no; break; }
>                                 case 'd': { newItem->u.g.decttl   = is_no; break; }
>                                 case 'i': { newItem->u.g.icmperrs = is_no; break; }
>                                 case 'o': { newItem->u.g.opts     = is_no; break; }
>                                 case 'p': { newItem->u.g.parallel = is_no; break; }
>                                 case 't': { newItem->u.g.trace    = is_no; break; }
1251a1283
>                     /* WHAT ABOUT ETHER ADDR NOW? */
diff -s ../../old/ifconfig.c ./ifconfig.c
34c34
<     PRIVATE char *_SCCS_ID = { "@(#) ifconfig.c 1.27@(#) 94/07/18" };
---
>     PRIVATE char *_SCCS_ID = { "@(#) ifconfig.c 1.29@(#) 99/03/10" };
288a289,292
>             /*-----------------------------------------------*/
>             /* Copy the default Ether address for routing.   */
>             /*--------------/--------------------------------*/
>             newif.dftEa = conf->u.i.dftEa;
diff -s ../../old/route.c ./route.c
601a602
> #if 1
603a605,616
>                 /* with the interface-specific outgoing Ether address,   */
>                 /* usually the broadcast address, but can be user-set.   */
>                 /*                                                       */
>                 /* We should also `ping' the host to try to              */
>                 /* force it to make an ARP request, or,                  */
>                 /* better, we make and interpret an ARP                  */
>                 /* request ourself.                                      */
>                 /*----------------------/--------------------------------*/
>                 eh->ether_dhost = CTXT(q).ifs[Oifn].dftEa;
> #else
>                 /*-------------------------------------------------------*/
>                 /* Can't compute dest Ether addr so, fake it             */
611d623
<                 eh->ether_dhost.ether_addr_octet[0] =
616a629
> #endif
diff -s ../../old/route.h ./route.h
8c8
<     /* Copyright (c) 1993--1996 ExNet Systems Ltd.                       */
---
>     /* Copyright (c) 1993--2000 ExNet Systems Ltd.                       */
69c69
< #define RT_MAXRT 256                    /* Max routing rules per         */
---
> #define RT_MAXRT 1024                   /* Max routing rules per         */
diff -s ../../old/strmload.c ./strmload.c
271,272c271,272
<                         "%s: Copyright 1993--1995 ExNet Systems Ltd.\n",
<                         DriverName);
---
>                         "%s: Copyright 1993--2000 ExNet Systems Ltd.\n",
>                         "%s: Copyright 1993--2000 ExNet Systems Ltd.\n",
