service: Factor out passphrase setting functionality
authorPatrik Flykt <patrik.flykt@linux.intel.com>
Fri, 2 Dec 2011 14:18:33 +0000 (16:18 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Mon, 12 Dec 2011 09:44:40 +0000 (10:44 +0100)
Factor out passphrase setting functionality, as it will be needed
by other parts of the hidden network code.

src/connman.h
src/service.c

index 0d8ef1e..4745c22 100644 (file)
@@ -82,6 +82,8 @@ void __connman_counter_cleanup(void);
 
 struct connman_service;
 
+void __connman_service_add_passphrase(struct connman_service *service,
+                               const gchar *passphrase);
 typedef void (* authentication_cb_t) (struct connman_service *service,
                                connman_bool_t values_received,
                                const char *name, int name_len,
index 464c681..299844e 100644 (file)
@@ -3955,6 +3955,29 @@ static void report_error_cb(struct connman_service *service,
        }
 }
 
+void __connman_service_add_passphrase(struct connman_service *service,
+                               const gchar *passphrase)
+{
+       switch (service->security) {
+       case CONNMAN_SERVICE_SECURITY_WEP:
+       case CONNMAN_SERVICE_SECURITY_PSK:
+               __connman_service_set_passphrase(service, passphrase);
+               break;
+       case CONNMAN_SERVICE_SECURITY_8021X:
+               __connman_service_set_agent_passphrase(service,
+                                               passphrase);
+               break;
+       case CONNMAN_SERVICE_SECURITY_UNKNOWN:
+       case CONNMAN_SERVICE_SECURITY_NONE:
+       case CONNMAN_SERVICE_SECURITY_WPA:
+       case CONNMAN_SERVICE_SECURITY_RSN:
+               DBG("service security '%s' not handled",
+                       security2string(service->security));
+               break;
+       }
+
+}
+
 static void request_input_cb (struct connman_service *service,
                        connman_bool_t values_received,
                        const char *name, int name_len,
@@ -3973,25 +3996,8 @@ static void request_input_cb (struct connman_service *service,
        if (identity != NULL)
                __connman_service_set_agent_identity(service, identity);
 
-       if (passphrase != NULL) {
-               switch (service->security) {
-               case CONNMAN_SERVICE_SECURITY_WEP:
-               case CONNMAN_SERVICE_SECURITY_PSK:
-                       __connman_service_set_passphrase(service, passphrase);
-                       break;
-               case CONNMAN_SERVICE_SECURITY_8021X:
-                       __connman_service_set_agent_passphrase(service,
-                                                       passphrase);
-                       break;
-               case CONNMAN_SERVICE_SECURITY_UNKNOWN:
-               case CONNMAN_SERVICE_SECURITY_NONE:
-               case CONNMAN_SERVICE_SECURITY_WPA:
-               case CONNMAN_SERVICE_SECURITY_RSN:
-                       DBG("service security '%s' not handled",
-                               security2string(service->security));
-                       break;
-               }
-       }
+       if (passphrase != NULL)
+               __connman_service_add_passphrase(service, passphrase);
 
        __connman_service_connect(service);