projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add missing m4 files.
[tinc]
/
src
/
net_socket.c
diff --git
a/src/net_socket.c
b/src/net_socket.c
index
fab11d6
..
8259d9a
100644
(file)
--- a/
src/net_socket.c
+++ b/
src/net_socket.c
@@
-35,11
+35,6
@@
#include "utils.h"
#include "xalloc.h"
#include "utils.h"
#include "xalloc.h"
-/* Needed on Mac OS/X */
-#ifndef SOL_TCP
-#define SOL_TCP IPPROTO_TCP
-#endif
-
int addressfamily = AF_UNSPEC;
int maxtimeout = 900;
int seconds_till_retry = 5;
int addressfamily = AF_UNSPEC;
int maxtimeout = 900;
int seconds_till_retry = 5;
@@
-73,14
+68,14
@@
static void configure_tcp(connection_t *c) {
}
#endif
}
#endif
-#if defined(
SOL
_TCP) && defined(TCP_NODELAY)
+#if defined(
IPPROTO
_TCP) && defined(TCP_NODELAY)
option = 1;
option = 1;
- setsockopt(c->socket,
SOL
_TCP, TCP_NODELAY, (void *)&option, sizeof option);
+ setsockopt(c->socket,
IPPROTO
_TCP, TCP_NODELAY, (void *)&option, sizeof option);
#endif
#endif
-#if defined(
SOL
_IP) && defined(IP_TOS) && defined(IPTOS_LOWDELAY)
+#if defined(
IPPROTO
_IP) && defined(IP_TOS) && defined(IPTOS_LOWDELAY)
option = IPTOS_LOWDELAY;
option = IPTOS_LOWDELAY;
- setsockopt(c->socket,
SOL
_IP, IP_TOS, (void *)&option, sizeof option);
+ setsockopt(c->socket,
IPPROTO
_IP, IP_TOS, (void *)&option, sizeof option);
#endif
#if defined(IPPROTO_IPV6) && defined(IPV6_TCLASS) && defined(IPTOS_LOWDELAY)
#endif
#if defined(IPPROTO_IPV6) && defined(IPV6_TCLASS) && defined(IPTOS_LOWDELAY)
@@
-168,9
+163,9
@@
int setup_listen_socket(const sockaddr_t *sa) {
option = 1;
setsockopt(nfd, SOL_SOCKET, SO_REUSEADDR, (void *)&option, sizeof option);
option = 1;
setsockopt(nfd, SOL_SOCKET, SO_REUSEADDR, (void *)&option, sizeof option);
-#if defined(
SOL
_IPV6) && defined(IPV6_V6ONLY)
+#if defined(
IPPROTO
_IPV6) && defined(IPV6_V6ONLY)
if(sa->sa.sa_family == AF_INET6)
if(sa->sa.sa_family == AF_INET6)
- setsockopt(nfd,
SOL
_IPV6, IPV6_V6ONLY, (void *)&option, sizeof option);
+ setsockopt(nfd,
IPPROTO
_IPV6, IPV6_V6ONLY, (void *)&option, sizeof option);
#endif
if(get_config_string
#endif
if(get_config_string
@@
-266,10
+261,10
@@
int setup_vpn_in_socket(const sockaddr_t *sa) {
#define IP_DONTFRAGMENT IP_DONTFRAG
#endif
#define IP_DONTFRAGMENT IP_DONTFRAG
#endif
-#if defined(
SOL
_IP) && defined(IP_MTU_DISCOVER) && defined(IP_PMTUDISC_DO)
+#if defined(
IPPROTO
_IP) && defined(IP_MTU_DISCOVER) && defined(IP_PMTUDISC_DO)
if(myself->options & OPTION_PMTU_DISCOVERY) {
option = IP_PMTUDISC_DO;
if(myself->options & OPTION_PMTU_DISCOVERY) {
option = IP_PMTUDISC_DO;
- setsockopt(nfd,
SOL
_IP, IP_MTU_DISCOVER, (void *)&option, sizeof(option));
+ setsockopt(nfd,
IPPROTO
_IP, IP_MTU_DISCOVER, (void *)&option, sizeof(option));
}
#elif defined(IPPROTO_IP) && defined(IP_DONTFRAGMENT)
if(myself->options & OPTION_PMTU_DISCOVERY) {
}
#elif defined(IPPROTO_IP) && defined(IP_DONTFRAGMENT)
if(myself->options & OPTION_PMTU_DISCOVERY) {
@@
-278,10
+273,10
@@
int setup_vpn_in_socket(const sockaddr_t *sa) {
}
#endif
}
#endif
-#if defined(
SOL
_IPV6) && defined(IPV6_MTU_DISCOVER) && defined(IPV6_PMTUDISC_DO)
+#if defined(
IPPROTO
_IPV6) && defined(IPV6_MTU_DISCOVER) && defined(IPV6_PMTUDISC_DO)
if(myself->options & OPTION_PMTU_DISCOVERY) {
option = IPV6_PMTUDISC_DO;
if(myself->options & OPTION_PMTU_DISCOVERY) {
option = IPV6_PMTUDISC_DO;
- setsockopt(nfd,
SOL
_IPV6, IPV6_MTU_DISCOVER, (void *)&option, sizeof(option));
+ setsockopt(nfd,
IPPROTO
_IPV6, IPV6_MTU_DISCOVER, (void *)&option, sizeof(option));
}
#elif defined(IPPROTO_IPV6) && defined(IPV6_DONTFRAG)
if(myself->options & OPTION_PMTU_DISCOVERY) {
}
#elif defined(IPPROTO_IPV6) && defined(IPV6_DONTFRAG)
if(myself->options & OPTION_PMTU_DISCOVERY) {
@@
-522,10
+517,10
@@
begin:
#endif
if(proxytype != PROXY_EXEC) {
#endif
if(proxytype != PROXY_EXEC) {
-#if defined(
SOL
_IPV6) && defined(IPV6_V6ONLY)
+#if defined(
IPPROTO
_IPV6) && defined(IPV6_V6ONLY)
int option = 1;
if(c->address.sa.sa_family == AF_INET6)
int option = 1;
if(c->address.sa.sa_family == AF_INET6)
- setsockopt(c->socket,
SOL
_IPV6, IPV6_V6ONLY, (void *)&option, sizeof option);
+ setsockopt(c->socket,
IPPROTO
_IPV6, IPV6_V6ONLY, (void *)&option, sizeof option);
#endif
bind_to_interface(c->socket);
#endif
bind_to_interface(c->socket);
@@
-539,6
+534,8
@@
begin:
} else if(proxytype == PROXY_EXEC) {
result = 0;
} else {
} else if(proxytype == PROXY_EXEC) {
result = 0;
} else {
+ if(!proxyai)
+ abort();
result = connect(c->socket, proxyai->ai_addr, proxyai->ai_addrlen);
freeaddrinfo(proxyai);
}
result = connect(c->socket, proxyai->ai_addr, proxyai->ai_addrlen);
freeaddrinfo(proxyai);
}
@@
-552,6
+549,7
@@
begin:
/* Now that there is a working socket, fill in the rest and register this connection. */
/* Now that there is a working socket, fill in the rest and register this connection. */
+ c->last_ping_time = time(NULL);
c->status.connecting = true;
c->name = xstrdup(outgoing->name);
#ifndef DISABLE_LEGACY
c->status.connecting = true;
c->name = xstrdup(outgoing->name);
#ifndef DISABLE_LEGACY