diff -Naur openvpn-2.3.2/src/openvpn/multi.c openvpn/src/openvpn/multi.c
old
|
new
|
|
1400 | 1400 | setenv_del (mi->context.c2.es, "ifconfig_pool_remote_ip"); |
1401 | 1401 | setenv_del (mi->context.c2.es, "ifconfig_pool_netmask"); |
1402 | 1402 | |
| 1403 | setenv_del (mi->context.c2.es, "ifconfig_pool_local_ip6"); |
| 1404 | setenv_del (mi->context.c2.es, "ifconfig_pool_remote_ip6"); |
| 1405 | |
1403 | 1406 | if (mi->context.c2.push_ifconfig_defined) |
1404 | 1407 | { |
1405 | 1408 | const int tunnel_type = TUNNEL_TYPE (mi->context.c1.tuntap); |
… |
… |
|
1426 | 1429 | } |
1427 | 1430 | } |
1428 | 1431 | |
1429 | | /* TODO: I'm not exactly sure what these environment variables are |
1430 | | * used for, but if we have them for IPv4, we should also have |
1431 | | * them for IPv6, no? |
1432 | | */ |
| 1432 | if (mi->context.c2.push_ifconfig_ipv6_defined) |
| 1433 | { |
| 1434 | setenv_in6_addr (mi->context.c2.es, |
| 1435 | "ifconfig_pool_remote", |
| 1436 | &mi->context.c2.push_ifconfig_ipv6_local, |
| 1437 | SA_SET_IF_NONZERO); |
| 1438 | |
| 1439 | setenv_in6_addr (mi->context.c2.es, |
| 1440 | "ifconfig_pool_local", |
| 1441 | &mi->context.c2.push_ifconfig_ipv6_remote, |
| 1442 | SA_SET_IF_NONZERO); |
| 1443 | } |
1433 | 1444 | } |
1434 | 1445 | |
1435 | 1446 | /* |
diff -Naur openvpn-2.3.2/src/openvpn/socket.c openvpn/src/openvpn/socket.c
old
|
new
|
|
2409 | 2409 | } |
2410 | 2410 | |
2411 | 2411 | void |
| 2412 | setenv_in6_addr (struct env_set *es, const char *name_prefix, struct in6_addr *addr, const unsigned int flags) |
| 2413 | { |
| 2414 | if (addr || !(flags & SA_SET_IF_NONZERO)) |
| 2415 | { |
| 2416 | struct openvpn_sockaddr si; |
| 2417 | CLEAR (si); |
| 2418 | si.addr.in6.sin6_family = AF_INET6; |
| 2419 | memcpy(&si.addr.in6.sin6_addr, addr, sizeof(struct in6_addr)); |
| 2420 | memcpy(&si.addr.sa, &si.addr.in6, sizeof(struct sockaddr_in6)); |
| 2421 | setenv_sockaddr (es, name_prefix, &si, flags); |
| 2422 | } |
| 2423 | } |
| 2424 | |
| 2425 | void |
2412 | 2426 | setenv_link_socket_actual (struct env_set *es, |
2413 | 2427 | const char *name_prefix, |
2414 | 2428 | const struct link_socket_actual *act, |
diff -Naur openvpn-2.3.2/src/openvpn/socket.h openvpn/src/openvpn/socket.h
old
|
new
|
|
383 | 383 | in_addr_t addr, |
384 | 384 | const unsigned int flags); |
385 | 385 | |
| 386 | void setenv_in6_addr (struct env_set *es, |
| 387 | const char *name_prefix, |
| 388 | struct in6_addr *addr, |
| 389 | const unsigned int flags); |
| 390 | |
386 | 391 | void setenv_link_socket_actual (struct env_set *es, |
387 | 392 | const char *name_prefix, |
388 | 393 | const struct link_socket_actual *act, |