Define connman_network_set_passphrase
authorSamuel Ortiz <sameo@linux.intel.com>
Wed, 29 Sep 2010 17:29:22 +0000 (19:29 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Wed, 29 Sep 2010 17:29:22 +0000 (19:29 +0200)
This is needed for the supplicant plugin to reset a service passphrase
when authentication fails.

include/network.h
src/network.c

index 96d2d28..d71381b 100644 (file)
@@ -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,
index aebf7cf..079453c 100644 (file)
@@ -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