summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2010-09-29 19:29:22 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2010-09-29 19:29:22 +0200
commitba484d0f2544c371b42d3a54d2b600e31b208bf1 (patch)
tree978ccf7e6acb59d9203aa864a66c67e594f00477
parente38df594b79345a08433d79291380187bc007b19 (diff)
downloadconnman-ba484d0f2544c371b42d3a54d2b600e31b208bf1.tar.gz
connman-ba484d0f2544c371b42d3a54d2b600e31b208bf1.tar.bz2
connman-ba484d0f2544c371b42d3a54d2b600e31b208bf1.zip
Define connman_network_set_passphrase
This is needed for the supplicant plugin to reset a service passphrase when authentication fails.
-rw-r--r--include/network.h2
-rw-r--r--src/network.c28
2 files changed, 30 insertions, 0 deletions
diff --git a/include/network.h b/include/network.h
index 96d2d28f..d71381b8 100644
--- a/include/network.h
+++ b/include/network.h
@@ -114,6 +114,8 @@ int connman_network_set_string(struct connman_network *network,
const char *key, const char *value);
const char *connman_network_get_string(struct connman_network *network,
const char *key);
+int connman_network_set_passphrase(struct connman_network *network,
+ const char* passphrase);
int connman_network_set_bool(struct connman_network *network,
const char *key, connman_bool_t value);
connman_bool_t connman_network_get_bool(struct connman_network *network,
diff --git a/src/network.c b/src/network.c
index aebf7cf7..079453c0 100644
--- a/src/network.c
+++ b/src/network.c
@@ -1442,6 +1442,34 @@ const char *connman_network_get_string(struct connman_network *network,
}
/**
+ * connman_network_set_passphrase:
+ * @network: network structure
+ * @passphrase: network passphrase
+ *
+ * Set network passphrase.
+ * If the network is linked to a service, the latter gets his passphrase
+ * set as well.
+ */
+int connman_network_set_passphrase(struct connman_network *network,
+ const char* passphrase)
+{
+ struct connman_service *service;
+
+ service = __connman_service_lookup_from_network(network);
+ if (service == NULL) {
+ connman_network_set_string(network, "WiFi.Passphrase",
+ passphrase);
+
+ return 0;
+ }
+
+ __connman_service_set_passphrase(service, passphrase);
+
+ return 0;
+}
+
+
+/**
* connman_network_set_bool:
* @network: network structure
* @key: unique identifier