technology: check validity of given properties for tethering
authorJulien Massot <jmassot@aldebaran-robotics.com>
Wed, 4 Jul 2012 16:09:03 +0000 (16:09 +0000)
committerMarcel Holtmann <marcel@holtmann.org>
Thu, 5 Jul 2012 07:12:27 +0000 (09:12 +0200)
A WPA2 passphrase is between 8 and 63 characters,
a SSID name is between 1 and 32 characters.

src/technology.c

index ad555c9..6d020cb 100644 (file)
@@ -755,6 +755,9 @@ static DBusMessage *set_property(DBusConnection *conn,
                if (technology->type != CONNMAN_SERVICE_TYPE_WIFI)
                        return __connman_error_not_supported(msg);
 
+               if (strlen(str) < 1 || strlen(str) > 32)
+                       return __connman_error_invalid_arguments(msg);
+
                technology->tethering_ident = g_strdup(str);
        } else if (g_str_equal(name, "TetheringPassphrase") == TRUE) {
                const char *str;
@@ -764,8 +767,8 @@ static DBusMessage *set_property(DBusConnection *conn,
                if (technology->type != CONNMAN_SERVICE_TYPE_WIFI)
                        return __connman_error_not_supported(msg);
 
-               if (strlen(str) < 8)
-                       return __connman_error_invalid_arguments(msg);
+               if (strlen(str) < 8 || strlen(str) > 63)
+                       return __connman_error_passphrase_required(msg);
 
                technology->tethering_passphrase = g_strdup(str);
        } else if (g_str_equal(name, "Powered") == TRUE) {