This shows you the differences between two versions of the page.
| — | sdk:scripts:set-ipsec-route [2015/05/05 15:04] (current) – created - external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== SDK Script set-ipsec-route.are ====== | ||
| + | <code c set-ipsec-route.are> | ||
| + | /* DESC: set route to IPSEC server depending on active WWAN / WLAN network | ||
| + | * Copyright (C) 2014 NetModule AG, Switzerland | ||
| + | * | ||
| + | */ | ||
| + | |||
| + | SERVER = nb_config_get(" | ||
| + | |||
| + | if (strlen(SERVER) == 0) { | ||
| + | nb_syslog(" | ||
| + | exit(1); | ||
| + | } | ||
| + | |||
| + | |||
| + | nb_syslog(" | ||
| + | oldroute = ""; | ||
| + | |||
| + | while (1) { | ||
| + | route = ""; | ||
| + | status = nb_status(" | ||
| + | |||
| + | wwan_status = struct_get(status, | ||
| + | wlan_status = struct_get(status, | ||
| + | wlan_network = struct_get(status, | ||
| + | |||
| + | if (wlan_status == " | ||
| + | nb_syslog(" | ||
| + | route = sprintf( | ||
| + | " | ||
| + | SERVER, struct_get(status, | ||
| + | ); | ||
| + | |||
| + | } else if (wwan_status == " | ||
| + | nb_syslog(" | ||
| + | route = sprintf( | ||
| + | " | ||
| + | SERVER, struct_get(status, | ||
| + | ); | ||
| + | | ||
| + | } else if (wlan_status == " | ||
| + | nb_syslog(" | ||
| + | route = sprintf( | ||
| + | " | ||
| + | SERVER, struct_get(status, | ||
| + | ); | ||
| + | } | ||
| + | |||
| + | if (route != "" | ||
| + | if (route == oldroute) { | ||
| + | nb_syslog(" | ||
| + | } else { | ||
| + | nb_syslog(" | ||
| + | nb_config_set(route); | ||
| + | oldroute = route; | ||
| + | sleep(3); | ||
| + | nb_restart(" | ||
| + | } | ||
| + | } | ||
| + | |||
| + | sleep(5); | ||
| + | } | ||
| + | |||
| + | nb_syslog(" | ||
| + | exit(0); | ||
| + | </ | ||