From 71dbb845475229592ba7053afd48fae9441ca677 Mon Sep 17 00:00:00 2001
From: Alexander Pyhalov <apyhalov@gmail.com>
Date: Thu, 8 Nov 2018 15:49:33 +0300
Subject: [PATCH] mate-about-me: handle additional pam errors

---
 capplets/about-me/mate-about-me-password.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/capplets/about-me/mate-about-me-password.c b/capplets/about-me/mate-about-me-password.c
index abac117de..2652d624a 100644
--- a/capplets/about-me/mate-about-me-password.c
+++ b/capplets/about-me/mate-about-me-password.c
@@ -512,6 +512,11 @@ io_watch_stdout (GIOChannel *source, GIOCondition condition, PasswordDialog *pdi
 							  "match",
 							  "1 numeric or special",
 							  "failure",
+							  "must contain",
+							  "must differ",
+							  "are not allowed",
+							  "repeating characters",
+							  "history",
 							  NULL)) {
 
 				/* What response did we get? */
@@ -536,12 +541,17 @@ io_watch_stdout (GIOChannel *source, GIOCondition condition, PasswordDialog *pdi
 						   g_strrstr (str->str, "longer") != NULL) {
 						msg = g_strdup (_("The password is too short."));
 					} else if (g_strrstr (str->str, "palindrome") != NULL ||
+						   g_strrstr (str->str, "must contain") != NULL ||
+						   g_strrstr (str->str, "are not allowed") != NULL ||
+						   g_strrstr (str->str, "repeating characters") != NULL ||
+						   g_strrstr (str->str, "history") != NULL ||
 						   g_strrstr (str->str, "simpl") != NULL ||
 						   g_strrstr (str->str, "dictionary") != NULL) {
 						msg = g_strdup (_("The password is too simple."));
 					} else if (g_strrstr (str->str, "similar") != NULL ||
 					           g_strrstr (str->str, "different") != NULL ||
 					           g_strrstr (str->str, "case") != NULL ||
+					           g_strrstr (str->str, "must differ") != NULL ||
 						   g_strrstr (str->str, "wrapped") != NULL) {
 						msg = g_strdup (_("The old and new passwords are too similar."));
 					} else if (g_strrstr (str->str, "1 numeric or special") != NULL) {