Import Upstream version 1.0.33
This commit is contained in:
parent
e0e55285b8
commit
5969674c46
109 changed files with 5599 additions and 5444 deletions
|
|
@ -33,7 +33,7 @@ static struct vdepluglib plug;
|
|||
static struct vdeconn *conn = NULL;
|
||||
static int port = 0;
|
||||
static char *group = NULL;
|
||||
static char *device_info;
|
||||
static const char *device_info = "VDE socket";
|
||||
|
||||
extern char *identname;
|
||||
extern volatile bool running;
|
||||
|
|
@ -49,8 +49,9 @@ static bool setup_device(void) {
|
|||
return false;
|
||||
}
|
||||
|
||||
if(!get_config_string(lookup_config(config_tree, "Device"), &device))
|
||||
xasprintf(&device, LOCALSTATEDIR "/run/vde.ctl");
|
||||
if(!get_config_string(lookup_config(config_tree, "Device"), &device)) {
|
||||
xasprintf(&device, RUNSTATEDIR "/vde.ctl");
|
||||
}
|
||||
|
||||
get_config_string(lookup_config(config_tree, "Interface"), &iface);
|
||||
|
||||
|
|
@ -58,8 +59,6 @@ static bool setup_device(void) {
|
|||
|
||||
get_config_string(lookup_config(config_tree, "VDEGroup"), &group);
|
||||
|
||||
device_info = "VDE socket";
|
||||
|
||||
struct vde_open_args args = {
|
||||
.port = port,
|
||||
.group = group,
|
||||
|
|
@ -67,6 +66,7 @@ static bool setup_device(void) {
|
|||
};
|
||||
|
||||
conn = plug.vde_open(device, identname, &args);
|
||||
|
||||
if(!conn) {
|
||||
logger(LOG_ERR, "Could not open VDE socket %s", device);
|
||||
return false;
|
||||
|
|
@ -80,18 +80,21 @@ static bool setup_device(void) {
|
|||
|
||||
logger(LOG_INFO, "%s is a %s", device, device_info);
|
||||
|
||||
if(routing_mode == RMODE_ROUTER)
|
||||
if(routing_mode == RMODE_ROUTER) {
|
||||
overwrite_mac = true;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void close_device(void) {
|
||||
if(conn)
|
||||
if(conn) {
|
||||
plug.vde_close(conn);
|
||||
}
|
||||
|
||||
if(plug.dl_handle)
|
||||
if(plug.dl_handle) {
|
||||
libvdeplug_dynclose(plug);
|
||||
}
|
||||
|
||||
free(device);
|
||||
|
||||
|
|
@ -100,6 +103,7 @@ static void close_device(void) {
|
|||
|
||||
static bool read_packet(vpn_packet_t *packet) {
|
||||
int lenin = (ssize_t)plug.vde_recv(conn, packet->data, MTU, 0);
|
||||
|
||||
if(lenin <= 0) {
|
||||
logger(LOG_ERR, "Error while reading from %s %s: %s", device_info, device, strerror(errno));
|
||||
running = false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue