Create a local passphrase setting function as config files would
otherwise use the internal passphrase setting function which disallows
modifications to immutable .config files.
---
src/service.c | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/src/service.c b/src/service.c
index d96713d..e6a5240 100644
--- a/src/service.c
+++ b/src/service.c
@@ -2876,12 +2876,12 @@ static int check_passphrase(enum
connman_service_security security,
return 0;
}
-int __connman_service_set_passphrase(struct connman_service *service,
- const char *passphrase)
+static int set_passphrase(struct connman_service *service,
+ const char *passphrase)
{
int err;
- if (service->immutable || service->hidden)
+ if (service->hidden)
return -EINVAL;
err = check_passphrase(service->security, passphrase);
@@ -2900,6 +2900,15 @@ int __connman_service_set_passphrase(struct
connman_service *service,
return 0;
}
+int __connman_service_set_passphrase(struct connman_service *service,
+ const char *passphrase)
+{
+ if (service->immutable)
+ return -EINVAL;
+
+ return set_passphrase(service, passphrase);
+}
+
const char *__connman_service_get_passphrase(struct connman_service *service)
{
if (!service)
@@ -4973,7 +4982,8 @@ void __connman_service_set_string(struct connman_service
*service,
g_free(service->phase2);
service->phase2 = g_strdup(value);
} else if (g_str_equal(key, "Passphrase"))
- __connman_service_set_passphrase(service, value);
+ set_passphrase(service, value);
+
}
void __connman_service_set_search_domains(struct connman_service *service,
--
1.9.1
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman