- int i, err;
- int replaywin_int;
-
- myself = new_node();
- myself->connection = new_connection();
-
- myself->hostname = xstrdup("MYSELF");
- myself->connection->hostname = xstrdup("MYSELF");
-
- myself->connection->options = 0;
- myself->connection->protocol_major = PROT_MAJOR;
- myself->connection->protocol_minor = PROT_MINOR;
-
- myself->options |= PROT_MINOR << 24;
-
- if(!(name = get_name())) {
- logger(DEBUG_ALWAYS, LOG_ERR, "Name for tinc daemon required!");
- return false;
- }
-
- myself->name = name;
- myself->connection->name = xstrdup(name);
- xasprintf(&fname, "%s/hosts/%s", confbase, name);
- read_config_options(config_tree, name);
- read_config_file(config_tree, fname);
- free(fname);
-
- get_config_bool(lookup_config(config_tree, "ExperimentalProtocol"), &experimental);
-
- if(experimental && !read_ecdsa_private_key())
- return false;
-
- if(!read_rsa_private_key())
- return false;
-
- if(!get_config_string(lookup_config(config_tree, "Port"), &myport))
- myport = xstrdup("655");
-
- if(!atoi(myport)) {
- struct addrinfo *ai = str2addrinfo("localhost", myport, SOCK_DGRAM);
- sockaddr_t sa;
- if(!ai || !ai->ai_addr)
- return false;
- free(myport);
- memcpy(&sa, ai->ai_addr, ai->ai_addrlen);
- sockaddr2str(&sa, NULL, &myport);
- }