X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Froute.c;h=dc91940ac8d3c47ec1188d6deb431cc9d9774207;hp=a143082d403a093cc5dcbbd472e1d1e69cf69776;hb=fcbe215d64d7e2f3b159fff6422d750417877ac4;hpb=533ee1206fb6433a1f0e616db999b3655addfaf2 diff --git a/src/route.c b/src/route.c index a143082d..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.17 2001/07/20 20:25:10 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 @@ -107,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)