summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Massot <jmassot@aldebaran-robotics.com>2012-04-13 15:16:34 +0000
committerPatrik Flykt <patrik.flykt@linux.intel.com>2012-04-17 13:37:23 +0300
commit78c88d814d9f429949f933aff0d5c84e52775ab0 (patch)
tree862c04acaf3fbd5e01bd5b7112c26d791832de1a
parentf476aef890036fee3f05266c86ca2736cb0d33b9 (diff)
downloadconnman-78c88d814d9f429949f933aff0d5c84e52775ab0.tar.gz
connman-78c88d814d9f429949f933aff0d5c84e52775ab0.tar.bz2
connman-78c88d814d9f429949f933aff0d5c84e52775ab0.zip
service: Add function to check the WPS PIN validity
-rw-r--r--src/service.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c
index 96dd0f9e..88d79120 100644
--- a/src/service.c
+++ b/src/service.c
@@ -4277,6 +4277,26 @@ int __connman_service_add_passphrase(struct connman_service *service,
return err;
}
+static int check_wpspin(const char *wpspin)
+{
+ guint i;
+
+ if (wpspin == NULL)
+ return 0;
+
+ /* A WPS PIN is always 8 chars length,
+ * its content is in digit representation.
+ */
+ if (strlen(wpspin) != 8)
+ return -ENOKEY;
+
+ for (i = 0; i < 8; i++)
+ if (!isdigit((unsigned char) wpspin[i]))
+ return -ENOKEY;
+
+ return 0;
+}
+
static void request_input_cb (struct connman_service *service,
connman_bool_t values_received,
const char *name, int name_len,