79 lines
3.3 KiB
Diff
79 lines
3.3 KiB
Diff
From 6875a6f5c1c4c446eb5098f342a53913db83ac8a Mon Sep 17 00:00:00 2001
|
|
From: liuxinhao <liuxinhao@kylinsec.com.cn>
|
|
Date: Wed, 23 Oct 2024 10:34:17 +0800
|
|
Subject: [PATCH] fix(passwd): enriching pw_history error reporing
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
- 丰富pw_history的报错信息
|
|
|
|
Related #52096
|
|
---
|
|
plugins/accounts/passwd-wrapper.cpp | 41 ++++++++++++++---------------
|
|
1 file changed, 20 insertions(+), 21 deletions(-)
|
|
|
|
diff --git a/plugins/accounts/passwd-wrapper.cpp b/plugins/accounts/passwd-wrapper.cpp
|
|
index 1a26737..e962729 100644
|
|
--- a/plugins/accounts/passwd-wrapper.cpp
|
|
+++ b/plugins/accounts/passwd-wrapper.cpp
|
|
@@ -1,14 +1,14 @@
|
|
/**
|
|
- * Copyright (c) 2020 ~ 2021 KylinSec Co., Ltd.
|
|
+ * Copyright (c) 2020 ~ 2021 KylinSec Co., Ltd.
|
|
* kiran-cc-daemon is licensed under Mulan PSL v2.
|
|
- * You can use this software according to the terms and conditions of the Mulan PSL v2.
|
|
+ * You can use this software according to the terms and conditions of the Mulan PSL v2.
|
|
* You may obtain a copy of Mulan PSL v2 at:
|
|
- * http://license.coscl.org.cn/MulanPSL2
|
|
- * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
|
- * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
|
- * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
|
- * See the Mulan PSL v2 for more details.
|
|
- *
|
|
+ * http://license.coscl.org.cn/MulanPSL2
|
|
+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
|
+ * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
|
+ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
|
+ * See the Mulan PSL v2 for more details.
|
|
+ *
|
|
* Author: tangjie02 <tangjie02@kylinos.com.cn>
|
|
*/
|
|
|
|
@@ -289,20 +289,19 @@ bool PasswdWrapper::process_passwd_output_line(const std::string &line)
|
|
break;
|
|
case PASSWD_STATE_RETYPE:
|
|
if (StrUtils::contains_oneof_substrs(lowercase_passwd_tips, std::vector<std::string>{
|
|
- "successfully",
|
|
- "failure",
|
|
- }))
|
|
+ "successfully"}))
|
|
{
|
|
- if (lowercase_passwd_tips.find("successfully") != std::string::npos)
|
|
- {
|
|
- // 密码设置成功
|
|
- this->end_passwd(true);
|
|
- }
|
|
- else
|
|
- {
|
|
- this->additional_error_message_ = this->translation_passwd_tips(line);
|
|
- this->state_ = PASSWD_STATE_ERROR;
|
|
- }
|
|
+ // 密码设置成功
|
|
+ this->end_passwd(true);
|
|
+ retval = true;
|
|
+ }
|
|
+ else if (StrUtils::contains_oneof_substrs(lowercase_passwd_tips,
|
|
+ std::vector<std::string>{"failure"}) ||
|
|
+ StrUtils::contains_allof_substrs(lowercase_passwd_tips,
|
|
+ std::vector<std::string>{"password", "already", "used"}))
|
|
+ {
|
|
+ this->additional_error_message_ = this->translation_passwd_tips(line);
|
|
+ this->state_ = PASSWD_STATE_ERROR;
|
|
retval = true;
|
|
}
|
|
break;
|
|
--
|
|
2.27.0
|
|
|