X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Froute.c;h=dc91940ac8d3c47ec1188d6deb431cc9d9774207;hp=bd1c13674bac15a81877b15329748d95138db691;hb=fcbe215d64d7e2f3b159fff6422d750417877ac4;hpb=04ec0b82ab9c6a2662300a9257a5aff1c4dd56e7 diff --git a/src/route.c b/src/route.c index bd1c1367..dc91940a 100644 --- a/src/route.c +++ b/src/route.c @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: route.c,v 1.1.2.14 2001/06/21 16:16:32 guus Exp $ + $Id: route.c,v 1.1.2.18 2001/07/21 20:21:25 guus Exp $ */ #include "config.h" @@ -28,7 +28,7 @@ #include #include #ifdef HAVE_SOLARIS - #include + #include #define ETHER_ADDR_LEN 6 #else #include @@ -37,6 +37,7 @@ #include #include #include +#include #include @@ -77,7 +78,7 @@ cp for(node = connection_tree->head; node; node = node->next) { p = (connection_t *)node->data; - if(p->status.meta && p->status.active && p!= myself) + if(p->status.active) send_add_subnet(p, subnet); } } @@ -106,10 +107,15 @@ connection_t *route_ipv4(vpn_packet_t *packet) ipv4_t dest; subnet_t *subnet; cp +#ifdef HAVE_SOLARIS + /* The other form gives bus errors on a SparcStation 20. */ + dest = ((packet->data[30] * 0x100 + packet->data[31]) * 0x100 + packet->data[32]) * 0x100 + packet->data[33]; +#else dest = ntohl(*((unsigned long*)(&packet->data[30]))); - +#endif +cp subnet = lookup_subnet_ipv4(&dest); - +cp if(!subnet) { if(debug_lvl >= DEBUG_TRAFFIC)