diff options
-rw-r--r-- | src/connman.h | 2 | ||||
-rw-r--r-- | src/ipconfig.c | 19 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/connman.h b/src/connman.h index 8c167981..1f74e238 100644 --- a/src/connman.h +++ b/src/connman.h @@ -362,6 +362,8 @@ int __connman_ipconfig_load(struct connman_ipconfig *ipconfig, int __connman_ipconfig_save(struct connman_ipconfig *ipconfig, GKeyFile *keyfile, const char *identifier, const char *prefix); gboolean __connman_ipconfig_ipv6_privacy_enabled(struct connman_ipconfig *ipconfig); +int __connman_ipconfig_ipv6_set_privacy(struct connman_ipconfig *ipconfig, + const char *value); int __connman_ipconfig_set_rp_filter(); void __connman_ipconfig_unset_rp_filter(int old_value); diff --git a/src/ipconfig.c b/src/ipconfig.c index 06c488af..6927936f 100644 --- a/src/ipconfig.c +++ b/src/ipconfig.c @@ -1718,6 +1718,25 @@ static int string2privacy(const char *privacy) return 0; } +int __connman_ipconfig_ipv6_set_privacy(struct connman_ipconfig *ipconfig, + const char *value) +{ + int privacy; + + if (ipconfig == NULL) + return -EINVAL; + + DBG("ipconfig %p privacy %s", ipconfig, value); + + privacy = string2privacy(value); + + ipconfig->ipv6_privacy_config = privacy; + + enable_ipv6(ipconfig); + + return 0; +} + void __connman_ipconfig_append_ipv4(struct connman_ipconfig *ipconfig, DBusMessageIter *iter) { |