X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fifconfig.c;h=9913b81562703c24e9da5dae3c99e34d84590abd;hb=e1823fc941f16b4b769e4511c8acb274705cc989;hp=0bbbf828fb90e7fa27218d74b57e5514c93a6395;hpb=ddabda536acf33abbfef28bc199d2b3ae7219b46;p=tinc diff --git a/src/ifconfig.c b/src/ifconfig.c index 0bbbf828..9913b815 100644 --- a/src/ifconfig.c +++ b/src/ifconfig.c @@ -25,9 +25,12 @@ static long start; -#ifndef HAVE_MINGW +#ifndef HAVE_WINDOWS void ifconfig_header(FILE *out) { fprintf(out, "#!/bin/sh\n"); +#ifdef HAVE_LINUX + fprintf(out, "ip link set \"$INTERFACE\" up\n"); +#endif start = ftell(out); } @@ -50,12 +53,17 @@ void ifconfig_slaac(FILE *out) { bool ifconfig_footer(FILE *out) { if(ftell(out) == start) { - fprintf(out, "echo 'Unconfigured tinc-up script, please edit '$0'!'\n\n#ifconfig $INTERFACE netmask \n"); - return false; - } else { + fprintf(out, #ifdef HAVE_LINUX - fprintf(out, "ip link set \"$INTERFACE\" up\n"); + "#ip addr add / dev $INTERFACE\n" #else + "#ifconfig $INTERFACE /\n" +#endif + "\n" + "echo \"Unconfigured tinc-up script, please edit '$0'!\" >&2\n"); + return false; + } else { +#ifndef HAVE_LINUX fprintf(out, "ifconfig \"$INTERFACE\" up\n"); #endif return true; @@ -105,6 +113,7 @@ void ifconfig_address(FILE *out, const char *value) { ipv6 = address; break; + case SUBNET_MAC: default: return; } @@ -128,7 +137,7 @@ void ifconfig_address(FILE *out, const char *value) { return; } -#elif defined(HAVE_MINGW) +#elif defined(HAVE_WINDOWS) switch(address.type) { case SUBNET_MAC: @@ -136,11 +145,11 @@ void ifconfig_address(FILE *out, const char *value) { break; case SUBNET_IPV4: - fprintf(out, "netsh inetface ipv4 set address \"%%INTERFACE%%\" static %s\n", address_str); + fprintf(out, "netsh interface ipv4 set address \"%%INTERFACE%%\" static %s\n", address_str); break; case SUBNET_IPV6: - fprintf(out, "netsh inetface ipv6 set address \"%%INTERFACE%%\" %s\n", address_str); + fprintf(out, "netsh interface ipv6 set address \"%%INTERFACE%%\" %s\n", address_str); break; default: @@ -208,6 +217,7 @@ void ifconfig_route(FILE *out, const char *value) { fprintf(out, "ip route add %s via %s dev \"$INTERFACE\" onlink\n", subnet_str, gateway_str); break; + case SUBNET_MAC: default: return; } @@ -221,12 +231,13 @@ void ifconfig_route(FILE *out, const char *value) { fprintf(out, "ip route add %s dev \"$INTERFACE\"\n", subnet_str); break; + case SUBNET_MAC: default: return; } } -#elif defined(HAVE_MINGW) +#elif defined(HAVE_WINDOWS) if(*gateway_str) { switch(subnet.type) { @@ -238,6 +249,7 @@ void ifconfig_route(FILE *out, const char *value) { fprintf(out, "netsh interface ipv6 add route %s \"%%INTERFACE%%\" %s\n", subnet_str, gateway_str); break; + case SUBNET_MAC: default: return; } @@ -251,6 +263,7 @@ void ifconfig_route(FILE *out, const char *value) { fprintf(out, "netsh interface ipv6 add route %s \"%%INTERFACE%%\"\n", subnet_str); break; + case SUBNET_MAC: default: return; } @@ -278,6 +291,7 @@ void ifconfig_route(FILE *out, const char *value) { net2str(gateway_str, sizeof(gateway_str), &ipv6); break; + case SUBNET_MAC: default: return; } @@ -298,6 +312,7 @@ void ifconfig_route(FILE *out, const char *value) { fprintf(out, "route add -inet6 %s %s\n", subnet_str, gateway_str); break; + case SUBNET_MAC: default: return; }