When password quality is AUTH_PWD_QUALITY_UNSPECIFIED,
password should be able to remove no mather what any policies setted.
Change-Id: I83e2a85f49b6d48eb92a89d38991daf8a2587a91
Signed-off-by: sangwan.kwon <sangwan.kwon@samsung.com>
bool checkQualityType(const std::string &password) const;
void setQualityType(unsigned int qualityType);
+ unsigned int getQualityType() const;
bool isValidPattern(const std::string &pattern) const;
bool checkPattern(const std::string &password) const;
m_policy.qualityType = qualityType;
}
+unsigned int PolicyFile::getQualityType() const
+{
+ return m_policy.qualityType;
+}
+
// policy pattern
bool PolicyFile::isValidPattern(const std::string &pattern) const
{
if (!itPolicy->second.isPolicyActive() || (passwdType != AUTH_PWD_NORMAL))
return AUTH_PASSWD_API_SUCCESS;
+ if (itPolicy->second.getQualityType() == AUTH_PWD_QUALITY_UNSPECIFIED && newPassword.empty())
+ return AUTH_PASSWD_API_SUCCESS;
+
if (!itPolicy->second.checkMinLength(newPassword)) {
LogError("new passwd's minLength is invalid");
return AUTH_PASSWD_API_ERROR_INVALID_MIN_LENGTH;