summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChengyi Zhao <chengyi1.zhao@archermind.com>2013-07-11 09:12:01 +0800
committerZhang zhengguang <zhengguang.zhang@intel.com>2013-07-18 23:18:17 +0800
commit8912e481bb4ced41895865cc75da553d71992680 (patch)
tree10f8455a58048f0145e4aa8c96d9346b78f05a52
parent073bd6bfec229bde625c6e00e9210f7265f7fd6a (diff)
downloadconnman-8912e481bb4ced41895865cc75da553d71992680.tar.gz
connman-8912e481bb4ced41895865cc75da553d71992680.tar.bz2
connman-8912e481bb4ced41895865cc75da553d71992680.zip
Tethering: Add open access point support in technology
-rw-r--r--src/technology.c33
1 files changed, 18 insertions, 15 deletions
diff --git a/src/technology.c b/src/technology.c
index 0293094c..faf5ae02 100644
--- a/src/technology.c
+++ b/src/technology.c
@@ -328,8 +328,7 @@ static int set_tethering(struct connman_technology *technology,
if (bridge == NULL)
return -EOPNOTSUPP;
- if (technology->type == CONNMAN_SERVICE_TYPE_WIFI &&
- (ident == NULL || passphrase == NULL))
+ if (technology->type == CONNMAN_SERVICE_TYPE_WIFI && ident == NULL)
return -EINVAL;
for (tech_drivers = technology->driver_list; tech_drivers != NULL;
@@ -890,19 +889,23 @@ static DBusMessage *set_property(DBusConnection *conn,
if (technology->type != CONNMAN_SERVICE_TYPE_WIFI)
return __connman_error_not_supported(msg);
- if (strlen(str) < 8 || strlen(str) > 63)
- return __connman_error_passphrase_required(msg);
-
- if (g_strcmp0(technology->tethering_passphrase, str) != 0) {
- g_free(technology->tethering_passphrase);
- technology->tethering_passphrase = g_strdup(str);
- technology_save(technology);
-
- connman_dbus_property_changed_basic(technology->path,
- CONNMAN_TECHNOLOGY_INTERFACE,
- "TetheringPassphrase",
- DBUS_TYPE_STRING,
- &technology->tethering_passphrase);
+ if (strlen(str) < 8 || strlen(str) > 63) {
+ if (g_str_equal(str, ""))
+ technology->tethering_passphrase = NULL;
+ else
+ return __connman_error_passphrase_required(msg);
+ } else {
+ if (g_strcmp0(technology->tethering_passphrase, str) != 0) {
+ g_free(technology->tethering_passphrase);
+ technology->tethering_passphrase = g_strdup(str);
+ technology_save(technology);
+
+ connman_dbus_property_changed_basic(technology->path,
+ CONNMAN_TECHNOLOGY_INTERFACE,
+ "TetheringPassphrase",
+ DBUS_TYPE_STRING,
+ &technology->tethering_passphrase);
+ }
}
} else if (g_str_equal(name, "Powered") == TRUE) {
connman_bool_t enable;