service: Return -EPERM for hidden services and prompt for input
authorPatrik Flykt <patrik.flykt@linux.intel.com>
Fri, 2 Dec 2011 14:18:22 +0000 (16:18 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Mon, 12 Dec 2011 09:44:39 +0000 (10:44 +0100)
src/service.c

index 663b985..214cc8c 100644 (file)
@@ -4520,6 +4520,9 @@ static int service_connect(struct connman_service *service)
 {
        int err;
 
+       if (service->hidden == TRUE)
+               return -EPERM;
+
        switch (service->type) {
        case CONNMAN_SERVICE_TYPE_UNKNOWN:
        case CONNMAN_SERVICE_TYPE_SYSTEM:
@@ -4674,7 +4677,7 @@ int __connman_service_connect(struct connman_service *service)
                        __connman_provider_disconnect(service->provider);
 
        if (service->userconnect == TRUE) {
-               if (err == -ENOKEY) {
+               if (err == -ENOKEY || err == -EPERM) {
                        if (__connman_agent_request_passphrase_input(service,
                                                        request_input_cb,
                                                        NULL) == -EIO)