aboutsummaryrefslogtreecommitdiffstats
path: root/src/frontends/gnome/auth-dialog/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontends/gnome/auth-dialog/main.c')
-rw-r--r--src/frontends/gnome/auth-dialog/main.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/frontends/gnome/auth-dialog/main.c b/src/frontends/gnome/auth-dialog/main.c
index a22e34d77..57fb4dfe3 100644
--- a/src/frontends/gnome/auth-dialog/main.c
+++ b/src/frontends/gnome/auth-dialog/main.c
@@ -99,7 +99,7 @@ static char* get_connection_type(char *uuid)
fprintf (stderr, "Failed to read data and secrets from stdin.\n");
return NULL;
}
-
+
method = g_hash_table_lookup (data, "method");
if (method)
method = g_strdup(method);
@@ -159,7 +159,8 @@ int main (int argc, char *argv[])
fprintf(stderr, "Connection lookup failed\n");
return 1;
}
- if (!strcmp(type, "eap") || !strcmp(type, "key") || !strcmp(type, "smartcard"))
+ if (!strcmp(type, "eap") || !strcmp(type, "key") || !strcmp(type, "psk") ||
+ !strcmp(type, "smartcard"))
{
pass = lookup_password(name, service);
if ((!pass || retry) && allow_interaction)
@@ -178,6 +179,13 @@ int main (int argc, char *argv[])
NULL, NULL, TRUE);
gnome_password_dialog_set_show_remember(GNOME_PASSWORD_DIALOG(dialog), TRUE);
}
+ else if (!strcmp(type, "psk"))
+ {
+ dialog = gnome_password_dialog_new(_("VPN password required"),
+ _("Pre-shared key required to establish VPN connection:"),
+ NULL, NULL, TRUE);
+ gnome_password_dialog_set_show_remember(GNOME_PASSWORD_DIALOG(dialog), TRUE);
+ }
else /* smartcard */
{
dialog = gnome_password_dialog_new(_("VPN password required"),
@@ -244,4 +252,3 @@ int main (int argc, char *argv[])
wait_for_quit ();
return 0;
}
-