Use /dev/udp instead of /dev/ip on Solaris.
[tinc] / src / solaris / device.c
index af771ba..2f1972a 100644 (file)
@@ -40,6 +40,7 @@
 
 #define DEFAULT_TUN_DEVICE "/dev/tun"
 #define DEFAULT_TAP_DEVICE "/dev/tap"
 
 #define DEFAULT_TUN_DEVICE "/dev/tun"
 #define DEFAULT_TAP_DEVICE "/dev/tap"
+#define IP_DEVICE "/dev/udp"
 
 static enum {
        DEVICE_TYPE_TUN,
 
 static enum {
        DEVICE_TYPE_TUN,
@@ -87,8 +88,8 @@ static bool setup_device(void) {
 
        /* The following is black magic copied from OpenVPN. */
 
 
        /* The following is black magic copied from OpenVPN. */
 
-       if((ip_fd = open("/dev/ip", O_RDWR, 0)) < 0) {
-               logger(LOG_ERR, "Could not open %s: %s\n", "/dev/ip", strerror(errno));
+       if((ip_fd = open(IP_DEVICE, O_RDWR, 0)) < 0) {
+               logger(LOG_ERR, "Could not open %s: %s\n", IP_DEVICE, strerror(errno));
                return false;
        }
 
                return false;
        }
 
@@ -205,7 +206,7 @@ static bool setup_device(void) {
 
                /* Push arp module to ip_fd */
                if(ioctl(ip_fd, I_PUSH, "arp") < 0) {
 
                /* Push arp module to ip_fd */
                if(ioctl(ip_fd, I_PUSH, "arp") < 0) {
-                       logger(LOG_ERR, "Could not push ARP module onto %s!", "/dev/ip");
+                       logger(LOG_ERR, "Could not push ARP module onto %s!", IP_DEVICE);
                        return false;
                }
 
                        return false;
                }