From 627d936df1945e8476a37dc82f460e245469a335 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Mon, 14 Dec 2009 09:34:25 +0100 Subject: [PATCH] Add public function to validate D-Bus identifiers --- include/dbus.h | 1 + src/dbus.c | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/include/dbus.h b/include/dbus.h index dce7af0..c9f4a62 100644 --- a/include/dbus.h +++ b/include/dbus.h @@ -55,6 +55,7 @@ void connman_dbus_dict_append_array(DBusMessageIter *dict, void connman_dbus_dict_append_variant(DBusMessageIter *dict, const char *key, int type, void *val); +dbus_bool_t connman_dbus_validate_ident(const char *ident); char *connman_dbus_encode_string(const char *value); #ifdef __cplusplus diff --git a/src/dbus.c b/src/dbus.c index daa2239..9cb13dd 100644 --- a/src/dbus.c +++ b/src/dbus.c @@ -24,9 +24,30 @@ #endif #include +#include #include "connman.h" +dbus_bool_t connman_dbus_validate_ident(const char *ident) +{ + unsigned int i; + + if (ident == NULL) + return FALSE; + + for (i = 0; i < strlen(ident); i++) { + if (ident[i] >= '0' && ident[i] <= '9') + continue; + if (ident[i] >= 'a' && ident[i] <= 'z') + continue; + if (ident[i] >= 'A' && ident[i] <= 'Z') + continue; + return FALSE; + } + + return TRUE; +} + char *connman_dbus_encode_string(const char *value) { GString *str; -- 2.7.4