Update copyright notices, remove Ivo's email address.
[oweals/tinc.git] / src / solaris / device.c
index 4bd88d73474ab1f75738174a48bd81f46c17b8c5..9c2a762a65ccb570f5eff47cb483249340119ef4 100644 (file)
@@ -1,7 +1,7 @@
 /*
     device.c -- Interaction with Solaris tun device
-    Copyright (C) 2001-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
-                  2001-2004 Guus Sliepen <guus@tinc-vpn.org>
+    Copyright (C) 2001-2005 Ivo Timmermans,
+                  2001-2006 Guus Sliepen <guus@tinc-vpn.org>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -127,8 +127,21 @@ bool read_packet(vpn_packet_t *packet)
                return false;
        }
 
-       packet->data[12] = 0x08;
-       packet->data[13] = 0x00;
+       switch(packet->data[14] >> 4) {
+               case 4:
+                       packet->data[12] = 0x08;
+                       packet->data[13] = 0x00;
+                       break;
+               case 6:
+                       packet->data[12] = 0x86;
+                       packet->data[13] = 0xDD;
+                       break;
+               default:
+                       ifdebug(TRAFFIC) logger(LOG_ERR,
+                                          _ ("Unknown IP version %d while reading packet from %s %s"),
+                                          packet->data[14] >> 4, device_info, device);
+                       return false;
+       }
 
        packet->len = lenin + 14;