projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Assign more suitable types and fix narrowing conversion warns.
[tinc]
/
src
/
bsd
/
device.c
diff --git
a/src/bsd/device.c
b/src/bsd/device.c
index
6d68bc7
..
57029d5
100644
(file)
--- a/
src/bsd/device.c
+++ b/
src/bsd/device.c
@@
-1,7
+1,7
@@
/*
device.c -- Interaction BSD tun/tap device
Copyright (C) 2001-2005 Ivo Timmermans,
/*
device.c -- Interaction BSD tun/tap device
Copyright (C) 2001-2005 Ivo Timmermans,
- 2001-20
17
Guus Sliepen <guus@tinc-vpn.org>
+ 2001-20
21
Guus Sliepen <guus@tinc-vpn.org>
2009 Grzegorz Dymarek <gregd72002@googlemail.com>
This program is free software; you can redistribute it and/or modify
2009 Grzegorz Dymarek <gregd72002@googlemail.com>
This program is free software; you can redistribute it and/or modify
@@
-24,10
+24,7
@@
#include "../conf.h"
#include "../device.h"
#include "../logger.h"
#include "../conf.h"
#include "../device.h"
#include "../logger.h"
-#include "../names.h"
-#include "../net.h"
#include "../route.h"
#include "../route.h"
-#include "../utils.h"
#include "../xalloc.h"
#ifdef ENABLE_TUNEMU
#include "../xalloc.h"
#ifdef ENABLE_TUNEMU
@@
-40,8
+37,13
@@
#include <net/if_utun.h>
#endif
#include <net/if_utun.h>
#endif
+#if defined(HAVE_FREEBSD) || defined(HAVE_DRAGONFLY)
+#define DEFAULT_TUN_DEVICE "/dev/tun" // Use the autoclone device
+#define DEFAULT_TAP_DEVICE "/dev/tap"
+#else
#define DEFAULT_TUN_DEVICE "/dev/tun0"
#define DEFAULT_TAP_DEVICE "/dev/tap0"
#define DEFAULT_TUN_DEVICE "/dev/tun0"
#define DEFAULT_TAP_DEVICE "/dev/tap0"
+#endif
typedef enum device_type {
DEVICE_TYPE_TUN,
typedef enum device_type {
DEVICE_TYPE_TUN,
@@
-56,7
+58,7
@@
typedef enum device_type {
int device_fd = -1;
char *device = NULL;
char *iface = NULL;
int device_fd = -1;
char *device = NULL;
char *iface = NULL;
-static c
har *device_info = NULL
;
+static c
onst char *device_info = "OS X utun device"
;
#if defined(ENABLE_TUNEMU)
static device_type_t device_type = DEVICE_TYPE_TUNEMU;
#elif defined(HAVE_OPENBSD) || defined(HAVE_FREEBSD) || defined(HAVE_DRAGONFLY)
#if defined(ENABLE_TUNEMU)
static device_type_t device_type = DEVICE_TYPE_TUNEMU;
#elif defined(HAVE_OPENBSD) || defined(HAVE_FREEBSD) || defined(HAVE_DRAGONFLY)
@@
-83,7
+85,7
@@
static bool setup_utun(void) {
return false;
}
return false;
}
-
int
unit = -1;
+
long
unit = -1;
char *p = strstr(device, "utun"), *e = NULL;
if(p) {
char *p = strstr(device, "utun"), *e = NULL;
if(p) {
@@
-116,8
+118,6
@@
static bool setup_utun(void) {
iface = xstrdup(name);
}
iface = xstrdup(name);
}
- device_info = "OS X utun device";
-
logger(DEBUG_ALWAYS, LOG_INFO, "%s is a %s", device, device_info);
return true;
logger(DEBUG_ALWAYS, LOG_INFO, "%s is a %s", device, device_info);
return true;
@@
-300,10
+300,7
@@
static bool setup_device(void) {
struct ifreq ifr;
if(ioctl(device_fd, TAPGIFNAME, (void *)&ifr) == 0) {
struct ifreq ifr;
if(ioctl(device_fd, TAPGIFNAME, (void *)&ifr) == 0) {
- if(iface) {
- free(iface);
- }
-
+ free(iface);
iface = xstrdup(ifr.ifr_name);
}
}
iface = xstrdup(ifr.ifr_name);
}
}
@@
-354,7
+351,7
@@
static void close_device(void) {
}
static bool read_packet(vpn_packet_t *packet) {
}
static bool read_packet(vpn_packet_t *packet) {
-
in
t inlen;
+
ssize_
t inlen;
switch(device_type) {
case DEVICE_TYPE_TUN:
switch(device_type) {
case DEVICE_TYPE_TUN:
@@
-503,7
+500,7
@@
static bool write_packet(vpn_packet_t *packet) {
#ifdef ENABLE_TUNEMU
case DEVICE_TYPE_TUNEMU:
#ifdef ENABLE_TUNEMU
case DEVICE_TYPE_TUNEMU:
- if(tunemu_write(
device_fd,
DATA(packet) + 14, packet->len - 14) < 0) {
+ if(tunemu_write(DATA(packet) + 14, packet->len - 14) < 0) {
logger(DEBUG_ALWAYS, LOG_ERR, "Error while writing to %s %s: %s", device_info,
device, strerror(errno));
return false;
logger(DEBUG_ALWAYS, LOG_ERR, "Error while writing to %s %s: %s", device_info,
device, strerror(errno));
return false;