aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2013-11-25 18:17:58 +0100
committerTobias Brunner <tobias@strongswan.org>2013-11-27 18:36:58 +0100
commit0b506edb1901aefd4fca35c51f985e7e93bbaf6e (patch)
tree0eb3a2d35a999c29dfa9a1aa896eb545c5b54cb0 /src
parent692a421aa03825412c7cdf5c49ae5913dbe17cfd (diff)
downloadstrongswan-0b506edb1901aefd4fca35c51f985e7e93bbaf6e.tar.bz2
strongswan-0b506edb1901aefd4fca35c51f985e7e93bbaf6e.tar.xz
nm: Require the PSK to be at least 20 characters long
Diffstat (limited to 'src')
-rw-r--r--src/frontends/gnome/auth-dialog/main.c11
-rw-r--r--src/frontends/gnome/po/de.po8
2 files changed, 14 insertions, 5 deletions
diff --git a/src/frontends/gnome/auth-dialog/main.c b/src/frontends/gnome/auth-dialog/main.c
index 57fb4dfe3..b9fd886d5 100644
--- a/src/frontends/gnome/auth-dialog/main.c
+++ b/src/frontends/gnome/auth-dialog/main.c
@@ -118,7 +118,7 @@ int main (int argc, char *argv[])
gchar *name = NULL, *uuid = NULL, *service = NULL, *keyring = NULL, *pass;
GOptionContext *context;
char *agent, *type;
- guint32 itemid;
+ guint32 itemid, minlen = 0;
GtkWidget *dialog;
GOptionEntry entries[] = {
{ "reprompt", 'r', 0, G_OPTION_ARG_NONE, &retry, "Reprompt for passwords", NULL},
@@ -182,9 +182,10 @@ int main (int argc, char *argv[])
else if (!strcmp(type, "psk"))
{
dialog = gnome_password_dialog_new(_("VPN password required"),
- _("Pre-shared key required to establish VPN connection:"),
+ _("Pre-shared key required to establish VPN connection (min. 20 characters):"),
NULL, NULL, TRUE);
gnome_password_dialog_set_show_remember(GNOME_PASSWORD_DIALOG(dialog), TRUE);
+ minlen = 20;
}
else /* smartcard */
{
@@ -198,12 +199,18 @@ int main (int argc, char *argv[])
{
gnome_password_dialog_set_password(GNOME_PASSWORD_DIALOG(dialog), pass);
}
+
+too_short_retry:
if (!gnome_password_dialog_run_and_block(GNOME_PASSWORD_DIALOG(dialog)))
{
return 1;
}
pass = gnome_password_dialog_get_password(GNOME_PASSWORD_DIALOG(dialog));
+ if (minlen && strlen(pass) < minlen)
+ {
+ goto too_short_retry;
+ }
switch (gnome_password_dialog_get_remember(GNOME_PASSWORD_DIALOG(dialog)))
{
case GNOME_PASSWORD_DIALOG_REMEMBER_NOTHING:
diff --git a/src/frontends/gnome/po/de.po b/src/frontends/gnome/po/de.po
index 291b2ebf1..8882b9012 100644
--- a/src/frontends/gnome/po/de.po
+++ b/src/frontends/gnome/po/de.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: NetworkManager-strongswan\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-11-22 14:00+0100\n"
+"POT-Creation-Date: 2013-11-25 18:14+0100\n"
"PO-Revision-Date: 2010-02-18 09:20+0100\n"
"Last-Translator: Martin Willi <martin@strongswan.org>\n"
"Language-Team: de <martin@strongswan.org>\n"
@@ -161,9 +161,11 @@ msgstr ""
"Passwort geschützt:"
#: ../auth-dialog/main.c:185
-msgid "Pre-shared key required to establish VPN connection:"
+msgid ""
+"Pre-shared key required to establish VPN connection (min. 20 characters):"
msgstr ""
-"Für die Erstellung des VPN-Tunnels ist ein Pre-shared Key erforderlich:"
+"Für die Erstellung des VPN-Tunnels ist ein Pre-shared Key erforderlich (min. "
+"20 Zeichen):"
#: ../auth-dialog/main.c:192
msgid "Smartcard PIN required to establish VPN connection:"