]> git.meshlink.io Git - meshlink/commitdiff
Merge branch 'saverio'
authorGuus Sliepen <guus@meshlink.io>
Sun, 13 Apr 2014 11:19:45 +0000 (13:19 +0200)
committerGuus Sliepen <guus@meshlink.io>
Sun, 13 Apr 2014 11:19:45 +0000 (13:19 +0200)
meshlink-sample/Makefile
meshlink-sample/meshlinkapp.c
src/libmeshlink.c
src/tincd.c

index 128870a03b9ec90524efa52bfd72a69b88c4ce8e..6c69ac8f153f91d02059c7ae0bec52c8078c0235 100644 (file)
@@ -1,7 +1,7 @@
 # Simple Makefile
 
 CC=gcc
-LIBS= -lcrypto  -lz -llzo2 -ldl -lpthread -L../src/.libs/ -lmeshlink
+LIBS= -L../src/.libs/ -lmeshlink -lcrypto -lz -ldl -lpthread -static
 INCLUDE= -I../src/
 LOADLIBES= $(LIBS)
 OBJS= meshlinkapp.o
index 0b494599f4c6c635d4ad0503909b2cbdbd614d6b..ff9bad1eb8cd7c61da7f76acd40308b764c2af0a 100644 (file)
@@ -2,12 +2,12 @@
 
 int main(int argc , char **argv){
 
-char *confbase = "/tmp/meshlink/";
-char *name = "test";
+char *confbase = argc > 1 ? argv[1] : "/tmp/meshlink/";
+char *name = argc > 2 ? argv[2] : "foo";
 debug_level = 5;
 
 node_t* remotenode = new_node();
-char *remotename = "ml";
+char *remotename = argc > 3 ? argv[3] : "bar";
 
 //TODO: change this, calling a function that returns node_t
 remotenode->name = malloc(16);
index db0362b1e89680ae62ea54abdd44517fa0544a8c..ed3e6755a3663847c721cd61c95b20c422be98e5 100644 (file)
@@ -372,6 +372,19 @@ bool tinc_start(const char* confbaseapi) {
 return true;
 }
 
+__attribute__((constructor)) static void meshlink_init(void) {
+       /* Slllluuuuuuurrrrp! */
+
+       gettimeofday(&now, NULL);
+       srand(now.tv_sec + now.tv_usec);
+       crypto_init();
+}
+
+__attribute__((destructor)) static void meshlink_exit(void) {
+       crypto_exit();
+}
+
+
 bool tinc_main_thread(void * in) {
        static bool status = false;
 
@@ -384,12 +397,6 @@ bool tinc_main_thread(void * in) {
 
        init_configuration(&config_tree);
 
-       /* Slllluuuuuuurrrrp! */
-
-       gettimeofday(&now, NULL);
-       srand(now.tv_sec + now.tv_usec);
-       crypto_init();
-
        if(!read_server_config())
                return false;
 
@@ -456,8 +463,6 @@ end:
 
        //free(priority);
 
-       crypto_exit();
-
        exit_configuration(&config_tree);
 
        return status;
index 6ff347deb3020fa4d08aaf1917472e2d7591107f..32447056d09e609ccc1fd94d451dd5d3ab44e6fa 100644 (file)
@@ -147,7 +147,7 @@ static bool parse_options(int argc, char **argv) {
        return true;
 }
 
-int main(int argc, char **argv) {
+int old_main(int argc, char **argv) {
        if(!parse_options(argc, argv))
                return 1;