1From af1c347a31ae243d29c6087da8ffb423b23c74f2 Mon Sep 17 00:00:00 2001 2From: Kai Kang <kai.kang@windriver.com> 3Date: Mon, 1 Feb 2021 09:54:48 +0800 4Subject: [PATCH] greeter.c: disallow empty new password 5 6Do not clear text of label 'promt' when skip_password is set. When user 7is required to update password, it only shows input box without label 8for about 1 second. 9 10And disallow empty new password when user is required to update it. 11 12Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/2/] 13 14Signed-off-by: Kai Kang <kai.kang@windriver.com> 15--- 16 src/greeter.c | 7 +++++-- 17 1 file changed, 5 insertions(+), 2 deletions(-) 18 19diff --git a/src/greeter.c b/src/greeter.c 20index 7e4a168..c0e6b64 100644 21--- a/src/greeter.c 22+++ b/src/greeter.c 23@@ -220,7 +220,6 @@ static void on_entry_activate(GtkEntry* entry) 24 } 25 if(g_key_file_get_integer(config,"base","skip_password",NULL)!=0) 26 { 27- gtk_label_set_text( GTK_LABEL(prompt), ""); 28 try_login_user(user); 29 } 30 else 31@@ -235,6 +239,10 @@ static void on_entry_activate(GtkEntry* entry) 32 if (pass_expired) { 33 if (!new_pass) { 34 new_pass = g_strdup(gtk_entry_get_text(entry)); 35+ if (strlen(new_pass) == 0) { 36+ new_pass = NULL; 37+ gtk_label_set_text((GtkLabel *)info, _("Empty password is not allowed.")); 38+ } 39 switch_to_input_passwd(); 40 } else { 41 tmp = g_strdup(gtk_entry_get_text(entry)); 42@@ -251,7 +259,7 @@ static void on_entry_activate(GtkEntry* entry) 43 gtk_label_set_text((GtkLabel *)info, _("Maximum number of failed update password attempts exceeded.")); 44 switch_to_input_user(); 45 } 46- } else if (!strcmp(pass, g_base64_encode((guchar*)new_pass, strlen(new_pass) + 1))) { 47+ } else if (pass && !strcmp(pass, g_base64_encode((guchar*)new_pass, strlen(new_pass) + 1))) { 48 // if new password is same as old one 49 g_free(new_pass); 50 new_pass = NULL; 51-- 522.25.1 53 54