projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Support new files (node/vertex/device.[ch]) and OpenBSD.
[tinc]
/
src
/
route.c
diff --git
a/src/route.c
b/src/route.c
index
bd1c136
..
dc91940
100644
(file)
--- 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.
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.1
4 2001/06/21 16:16:32
guus Exp $
+ $Id: route.c,v 1.1.2.1
8 2001/07/21 20:21:25
guus Exp $
*/
#include "config.h"
*/
#include "config.h"
@@
-28,7
+28,7
@@
#include <sys/socket.h>
#include <netinet/in.h>
#ifdef HAVE_SOLARIS
#include <sys/socket.h>
#include <netinet/in.h>
#ifdef HAVE_SOLARIS
- #include <net
inet
/if.h>
+ #include <net/if.h>
#define ETHER_ADDR_LEN 6
#else
#include <net/ethernet.h>
#define ETHER_ADDR_LEN 6
#else
#include <net/ethernet.h>
@@
-37,6
+37,7
@@
#include <utils.h>
#include <xalloc.h>
#include <syslog.h>
#include <utils.h>
#include <xalloc.h>
#include <syslog.h>
+#include <string.h>
#include <avl_tree.h>
#include <avl_tree.h>
@@
-77,7
+78,7
@@
cp
for(node = connection_tree->head; node; node = node->next)
{
p = (connection_t *)node->data;
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);
}
}
send_add_subnet(p, subnet);
}
}
@@
-106,10
+107,15
@@
connection_t *route_ipv4(vpn_packet_t *packet)
ipv4_t dest;
subnet_t *subnet;
cp
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])));
dest = ntohl(*((unsigned long*)(&packet->data[30])));
-
+#endif
+cp
subnet = lookup_subnet_ipv4(&dest);
subnet = lookup_subnet_ipv4(&dest);
-
+cp
if(!subnet)
{
if(debug_lvl >= DEBUG_TRAFFIC)
if(!subnet)
{
if(debug_lvl >= DEBUG_TRAFFIC)