Compare commits

..

11 Commits

Author SHA1 Message Date
angt
99262777fc Update mud 2016-04-17 10:16:13 +00:00
angt
b0f60caab2 Update mud 2016-04-14 20:12:45 +00:00
angt
efd5e0bb36 Remove down-timeout and use timeout for send-timeout 2016-04-08 14:38:07 +00:00
angt
ade4617d53 Update mud 2016-04-08 13:00:52 +00:00
angt
64a5fd8227 Update mud 2016-04-05 14:23:45 +00:00
angt
eba968797c Add {down,send,pong}-timeout and time-tolerance option 2016-04-05 14:17:07 +00:00
angt
d60f28a7fe Update mud 2016-04-05 06:42:03 +00:00
angt
32069eb104 Print tun device on STARTED and STOPPED too 2016-04-04 20:05:33 +00:00
angt
a6adcefc25 Update mud 2016-04-04 16:48:11 +00:00
angt
743b0ee0da Don't check AES-NI 2016-04-01 16:50:04 +00:00
angt
ba06a6fc10 Update mud 2016-04-01 16:37:02 +00:00
2 changed files with 29 additions and 21 deletions

2
mud

Submodule mud updated: 6b3001e6d8...3b86683636

View File

@@ -242,17 +242,20 @@ int main (int argc, char **argv)
gt.timeout = 5000; gt.timeout = 5000;
long time_tolerance = 0;
struct option opts[] = { struct option opts[] = {
{ "host", &host, option_str }, { "host", &host, option_str },
{ "port", &port, option_str }, { "port", &port, option_str },
{ "bind", &bind_list, option_str }, { "bind", &bind_list, option_str },
{ "bind-port", &bind_port, option_str }, { "bind-port", &bind_port, option_str },
{ "dev", &dev, option_str }, { "dev", &dev, option_str },
{ "keyfile", &keyfile, option_str }, { "keyfile", &keyfile, option_str },
{ "multiqueue", NULL, option_option }, { "multiqueue", NULL, option_option },
{ "statefile", &statefile, option_str }, { "statefile", &statefile, option_str },
{ "timeout", &gt.timeout, option_long }, { "timeout", &gt.timeout, option_long },
{ "version", NULL, option_option }, { "time-tolerance", &time_tolerance, option_long },
{ "version", NULL, option_option },
{ NULL }, { NULL },
}; };
@@ -279,11 +282,6 @@ int main (int argc, char **argv)
return 1; return 1;
} }
if (!crypto_aead_aes256gcm_is_available()) {
gt_na("AES-256-GCM");
return 1;
}
if (state_init(statefile)) if (state_init(statefile))
return 1; return 1;
@@ -310,6 +308,11 @@ int main (int argc, char **argv)
mud_set_key(mud, gt.key, sizeof(gt.key)); mud_set_key(mud, gt.key, sizeof(gt.key));
mud_set_send_timeout_msec(mud, gt.timeout);
if (time_tolerance > 0)
mud_set_time_tolerance_sec(mud, time_tolerance);
if (bind_list) { if (bind_list) {
char tmp[1024]; char tmp[1024];
char *name = &tmp[0]; char *name = &tmp[0];
@@ -355,9 +358,12 @@ int main (int argc, char **argv)
} }
struct timeval timeout = { struct timeval timeout = {
.tv_usec = 1000, .tv_usec = 100000,
}; };
if (mud_can_push(mud))
timeout.tv_usec = 1000;
if _0_(select(mud_fd+1, &rfds, NULL, NULL, &timeout)==-1) { if _0_(select(mud_fd+1, &rfds, NULL, NULL, &timeout)==-1) {
if (errno==EINTR) if (errno==EINTR)
continue; continue;
@@ -367,12 +373,14 @@ int main (int argc, char **argv)
if (mud_is_up(mud)) { if (mud_is_up(mud)) {
if (!started) { if (!started) {
state("STARTED", NULL); state("STARTED", tun_name);
started = 1; started = 1;
} }
} else if (started) { } else {
state("STOPPED", NULL); if (started) {
started = 0; state("STOPPED", tun_name);
started = 0;
}
} }
if (FD_ISSET(tun_fd, &rfds)) { if (FD_ISSET(tun_fd, &rfds)) {