route_ipv4 and route_ipv6 replaced by route_ip.
This commit is contained in:
parent
a4938b22e7
commit
9b2b374734
1 changed files with 10 additions and 25 deletions
35
src/route.c
35
src/route.c
|
@ -17,7 +17,7 @@
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
$Id: route.c,v 1.1.2.20 2001/10/27 13:13:35 guus Exp $
|
$Id: route.c,v 1.1.2.21 2001/11/16 17:40:50 zarq Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
@ -103,26 +103,10 @@ cp
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
node_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(!subnet)
|
||||||
{
|
{
|
||||||
if(debug_lvl >= DEBUG_TRAFFIC)
|
if(debug_lvl >= DEBUG_TRAFFIC)
|
||||||
{
|
{
|
||||||
syslog(LOG_WARNING, _("Cannot route packet: unknown destination address %d.%d.%d.%d"),
|
|
||||||
packet->data[30], packet->data[31], packet->data[32], packet->data[33]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -131,20 +115,21 @@ cp
|
||||||
return subnet->owner;
|
return subnet->owner;
|
||||||
}
|
}
|
||||||
|
|
||||||
node_t *route_ipv6(vpn_packet_t *packet)
|
node_t *route_ip(vpn_packet_t *packet)
|
||||||
{
|
{
|
||||||
ipv6_t dest;
|
struct addrinfo *dest;
|
||||||
subnet_t *subnet;
|
subnet_t *subnet;
|
||||||
cp
|
cp
|
||||||
memcpy(&dest, &packet->data[30], sizeof(ipv6_t));
|
#warning FIXME
|
||||||
|
memcpy(&dest, &packet->data[30], 0);
|
||||||
|
|
||||||
subnet = lookup_subnet_ipv6(&dest);
|
subnet = lookup_subnet_ip(&dest);
|
||||||
cp
|
cp
|
||||||
if(!subnet)
|
if(!subnet)
|
||||||
{
|
{
|
||||||
if(debug_lvl >= DEBUG_TRAFFIC)
|
if(debug_lvl >= DEBUG_TRAFFIC)
|
||||||
{
|
{
|
||||||
syslog(LOG_WARNING, _("Cannot route packet: unknown IPv6 destination address"));
|
syslog(LOG_WARNING, _("Cannot route packet: unknown IP destination address"));
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -158,7 +143,7 @@ void route_arp(vpn_packet_t *packet)
|
||||||
struct ether_arp *arp;
|
struct ether_arp *arp;
|
||||||
subnet_t *subnet;
|
subnet_t *subnet;
|
||||||
unsigned char ipbuf[4];
|
unsigned char ipbuf[4];
|
||||||
ipv4_t dest;
|
struct addrinfo *dest;
|
||||||
cp
|
cp
|
||||||
/* First, snatch the source address from the ARP packet */
|
/* First, snatch the source address from the ARP packet */
|
||||||
|
|
||||||
|
@ -187,9 +172,9 @@ cp
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check if the IP address exists on the VPN */
|
/* Check if the IP address exists on the VPN */
|
||||||
|
#warning FIXME
|
||||||
dest = ntohl(*((unsigned long*)(arp->arp_tpa)));
|
dest = ntohl(*((unsigned long*)(arp->arp_tpa)));
|
||||||
subnet = lookup_subnet_ipv4(&dest);
|
subnet = lookup_subnet_ip(&dest);
|
||||||
|
|
||||||
if(!subnet)
|
if(!subnet)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue