A service that has been provisioned via other means than NFC is marked immutable and no further modifications are allowed except those specified in __connman_service_load_modifiable().
Setting a service to immutable needs to happen after all necessary configuration is done as generic configuration functions which also check the immutable status are used. --- src/config.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/config.c b/src/config.c index 9d1759f..93a788a 100644 --- a/src/config.c +++ b/src/config.c @@ -1263,9 +1263,6 @@ static int try_provision_service(struct connman_config_service *config, g_slist_prepend(config->service_identifiers, g_strdup(service_id)); - if (!config->virtual) - __connman_service_set_immutable(service, true); - __connman_service_set_favorite_delayed(service, true, true); __connman_service_set_config(service, config->config_ident, @@ -1314,6 +1311,8 @@ static int try_provision_service(struct connman_config_service *config, return 0; } + __connman_service_set_immutable(service, true); + if (type == CONNMAN_SERVICE_TYPE_ETHERNET || type == CONNMAN_SERVICE_TYPE_GADGET) { __connman_service_connect(service, -- 1.9.1 _______________________________________________ connman mailing list connman@connman.net https://lists.connman.net/mailman/listinfo/connman