X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Flibmeshlink.c;h=a1fef4cc784320326dea481e1fb0aa7919347661;hb=158cbe99f972a1613b7d4d95abfe5fe48e019e67;hp=f45faa388ae998e6d1e688f46be8e93408628a3b;hpb=1ffa0e102dc0d036241ee1ea2a13df42526c0872;p=meshlink diff --git a/src/libmeshlink.c b/src/libmeshlink.c index f45faa38..a1fef4cc 100644 --- a/src/libmeshlink.c +++ b/src/libmeshlink.c @@ -1,6 +1,6 @@ /* libmeshlink.h -- Tincd Library - Copyright (C) 2014 Guus Sliepen Saverio Proto + Copyright (C) 2014 Guus Sliepen Saverio Proto 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 @@ -18,7 +18,6 @@ */ #include "libmeshlink.h" -#include LZO1X_H #ifdef HAVE_SYS_MMAN_H #include #endif @@ -62,9 +61,6 @@ bool setup_meshlink_network(void) { if(!setup_myself()) return false; - if(!init_control()) - return false; - return true; } @@ -383,8 +379,7 @@ int check_port(char *name) { } //tinc_setup() should basically do what cmd_init() from src/tincctl.c does, except it doesn't have to generate a tinc-up script. bool tinc_setup(const char* confbaseapi, const char* name) { - confbase = confbaseapi; - make_names(); + confbase = xstrdup(confbaseapi); xasprintf(&tinc_conf, "%s" SLASH "tinc.conf", confbase); xasprintf(&hosts_dir, "%s" SLASH "hosts", confbase); if(!access(tinc_conf, F_OK)) { @@ -397,11 +392,6 @@ bool tinc_setup(const char* confbaseapi, const char* name) { return false; } - if(!confbase_given && mkdir(confdir, 0755) && errno != EEXIST) { - fprintf(stderr, "Could not create directory %s: %s\n", confdir, strerror(errno)); - return false; - } - if(mkdir(confbase, 0777) && errno != EEXIST) { fprintf(stderr, "Could not create directory %s: %s\n", confbase, strerror(errno)); return false; @@ -440,15 +430,14 @@ return true; } bool tinc_main_thread(void * in) { + static bool status = false; -static bool status = false; + /* If nonzero, write log entries to a separate file. */ + bool use_logfile = false; -/* If nonzero, write log entries to a separate file. */ -bool use_logfile = false; + confbase = (char*) in; -confbase = (char*) in; - - openlogger("tinc", use_logfile?LOGMODE_FILE:LOGMODE_STDERR); + openlogger("tinc", LOGMODE_STDERR); init_configuration(&config_tree); @@ -461,13 +450,6 @@ confbase = (char*) in; if(!read_server_config()) return false; -#ifdef HAVE_LZO - if(lzo_init() != LZO_E_OK) { - logger(DEBUG_ALWAYS, LOG_ERR, "Error initializing LZO compressor!"); - return false; - } -#endif - //char *priority = NULL; //shoud be not needed in libmeshlink #ifdef HAVE_MLOCKALL @@ -534,8 +516,6 @@ end: crypto_exit(); exit_configuration(&config_tree); - free(cmdline_conf); - free_names(); return status; @@ -546,7 +526,7 @@ bool tinc_stop(); bool route_meshlink(node_t *source,vpn_packet_t *packet) { printf("data %s\n",packet->data); - printf("data 11%s\n",packet->data+11); + printf("data 16%s\n",packet->data+16); printf("data 32%s\n",packet->data+32); node_t* owner = NULL; @@ -586,6 +566,7 @@ bool tinc_send_packet(node_t *receiver, const char* buf, unsigned int len) { memcpy(hdr->source,myself->name,sizeof(hdr->source)); packet.priority = 0; + packet.len = len + 32; memcpy(packet.data,hdr,32); memcpy(packet.data+32,buf,len);