diff options
author | Niraj Kumar Goit <niraj.g@samsung.com> | 2016-06-14 22:47:31 +0530 |
---|---|---|
committer | Niraj Kumar Goit <niraj.g@samsung.com> | 2016-06-14 07:30:10 -0700 |
commit | ad827936df8179d2e8ca02bd1fa7c35e4b41221a (patch) | |
tree | 65b403d847b32fdc969b37f8f8ba311e9818c30e /src/service.c | |
parent | 9dce45fbb4d830e84384fa38c5d167dea3994a0a (diff) | |
download | connman-ad827936df8179d2e8ca02bd1fa7c35e4b41221a.tar.gz connman-ad827936df8179d2e8ca02bd1fa7c35e4b41221a.tar.bz2 connman-ad827936df8179d2e8ca02bd1fa7c35e4b41221a.zip |
[SPIN] implement to check blacklist for auto connection.
Change-Id: I174b228529374f80b1c4197a310124c028564bb8
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
Diffstat (limited to 'src/service.c')
-rwxr-xr-x | src/service.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c index 9149dd24..ed59930b 100755 --- a/src/service.c +++ b/src/service.c @@ -4198,6 +4198,31 @@ void __connman_service_set_active_session(bool enable, GSList *list) active_count); } +#if defined TIZEN_CONNMAN_USE_BLACKLIST +static connman_bool_t is_allowed(struct connman_service *service) +{ + connman_bool_t allowed; + const char *security = NULL; + + if (!service) + return false; + + security = security2string(service->security); + if (!security) + return false; + + /* check if service is existed in blacklist */ + allowed = __connman_agent_request_blacklist_check(service->name, + security, service->eap); + if (allowed == false) { + DBG("service %p is not allowed", service); + service->autoconnect = false; + } + + return allowed; +} +#endif + struct preferred_tech_data { GList *preferred_list; enum connman_service_type type; @@ -4324,6 +4349,11 @@ static bool auto_connect_service(GList *services, CONNMAN_SERVICE_STATE_IDLE) continue; +#if defined TIZEN_CONNMAN_USE_BLACKLIST + if (is_allowed(service) == false) + continue; +#endif + if (autoconnecting && !active_sessions[service->type]) { DBG("service %p type %s has no users", service, __connman_service_type2string(service->type)); |