Compare commits

...

10 Commits

Author SHA1 Message Date
openeuler-ci-bot
f3ebe50b81
!20 sync by openEuler-22.03-LTS-SP3
From: @Venland 
Reviewed-by: @xzyangha 
Signed-off-by: @xzyangha
2024-06-19 06:47:41 +00:00
liweigang
41eb3cf091 sync by openEuler-22.03-LTS-SP3
Signed-off-by: liweigang <liweiganga@uniontech.com>
2024-06-19 10:48:21 +08:00
openeuler-ci-bot
81ffa6e008
!12 [sync] PR-11: update golang.org/x/sys
From: @openeuler-sync-bot 
Reviewed-by: @leeffo 
Signed-off-by: @leeffo
2023-07-10 07:08:50 +00:00
leeffo
ea4de226e5 update golang.org/x/sys
(cherry picked from commit 677dc97d9b119a68573f11286da05b216fce4a49)
2023-06-28 17:00:30 +08:00
openeuler-ci-bot
fc8ee365f2
!10 [sync] PR-9: update to 5.1.4
From: @openeuler-sync-bot 
Reviewed-by: @HelloWorld_lvcongqing 
Signed-off-by: @HelloWorld_lvcongqing
2023-05-08 03:08:03 +00:00
liweiganga
95e5850a30 update: update to 5.1.4
(cherry picked from commit 294e3a45aea032526910ac4cf699f7082380c866)
2023-05-08 10:50:34 +08:00
openeuler-ci-bot
0d8f62f61e
!7 [sync] PR-6: enable debuginfo for fix strip
From: @openeuler-sync-bot 
Reviewed-by: @panchenbo 
Signed-off-by: @panchenbo
2022-12-28 02:37:28 +00:00
liweiganga
334a871cf5 enable debuginfo for fix strip
(cherry picked from commit 2635014717198158c44604f6c8c8e6e642dec8a7)
2022-12-22 09:19:56 +08:00
openeuler-ci-bot
6e531dd5dc
!5 [sync] PR-4: add dde.conf
From: @openeuler-sync-bot 
Reviewed-by: @yeqinglong01 
Signed-off-by: @yeqinglong01
2022-08-03 05:15:53 +00:00
loong_C
d90ba66030 add dde.conf
(cherry picked from commit fdf305c17aa7436682f8e56cb82e7aa0aebb211b)
2022-08-03 10:18:38 +08:00
9 changed files with 364 additions and 372 deletions

View File

@ -0,0 +1,24 @@
diff --git a/Makefile b/Makefile
index 35976a0..6fc6112 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,8 @@
PREFIX=/usr
+ifeq (${LIBDIR},)
+LIBDIR := lib
+endif
GOPKG_PREFIX = service
GOBUILD = go build $(GO_BUILD_FLAGS)
ifeq (${PAM_MODULE_DIR},)
@@ -51,8 +54,8 @@ build: prepare $(addprefix out/bin/, ${BINARIES}) out/${LIBRARIES} static_lib ou
install: translate
mkdir -pv ${DESTDIR}${PREFIX}/share/locale
- cp -rf out/locale/* ${DESTDIR}${PREFIX}/share/locale
- mkdir -p ${DESTDIR}${PREFIX}/lib
- cp -f out/lib* ${DESTDIR}${PREFIX}/lib
+ mkdir -p ${DESTDIR}${PREFIX}/${LIBDIR}
+ cp -f out/lib* ${DESTDIR}${PREFIX}/${LIBDIR}
mkdir -p ${DESTDIR}${PREFIX}/include
cp lib/deepin_pw_check.h ${DESTDIR}${PREFIX}/include/
mkdir -pv ${DESTDIR}/${PKG_FILE_DIR}

View File

@ -0,0 +1,298 @@
From 2e84087cd91a7a0b8b268d4e2d8c97f6c38afcb0 Mon Sep 17 00:00:00 2001
From: leeffo <leeffo@yeah.net>
Date: Tue, 21 Feb 2023 14:50:45 +0800
Subject: [PATCH] deepin-pw-check modify password policy
---
tool/pwd_conf_update.c | 148 +++++++++++++++++++++--------------------
1 file changed, 75 insertions(+), 73 deletions(-)
diff --git a/tool/pwd_conf_update.c b/tool/pwd_conf_update.c
index ddcfca5..f30c2b8 100644
--- a/tool/pwd_conf_update.c
+++ b/tool/pwd_conf_update.c
@@ -90,15 +90,15 @@ const _default_conf default_conf[] = {
[OS_EULER] =
{
.min_length = 8,
- .max_length = 510,
+ .max_length = 511,
.validate_policy = "1234567890;abcdefghijklmnopqrstuvwxyz;"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ;!\"#$%&'()*+,-./"
":;<=>?@[\\]^_`{|}~/",
.validate_required = 3,
.palindorme_num = 4,
.word_check = 1,
- .monotone_same_character_num = 3,
- .consecutive_same_character_num = 3,
+ .monotone_same_character_num = 0,
+ .consecutive_same_character_num = 0,
.first_letter_uppercase = 0,
},
};
@@ -252,15 +252,15 @@ int update_conf(OS_TYPE os_type) {
} else {
// 如果找到了该字段
// 如果是服务器版,强制覆盖配置
- // if (OS_SERVER == os_type) {
- // sprintf(append_string + offset, "STRONG_PASSWORD = %s\n", "true");
- // DEBUG("restore STRONG_PASSWORD");
- // } else {
+ if (OS_SERVER == os_type) {
+ sprintf(append_string + offset, "STRONG_PASSWORD = %s\n", "true");
+ DEBUG("restore STRONG_PASSWORD");
+ } else {
// 如果不是服务器版,则维持原配置
sprintf(append_string + offset,
"STRONG_PASSWORD = %s\n",
iniparser_getboolean(dic, "Password:STRONG_PASSWORD", false) ? "true" : "false");
- // }
+ }
}
offset = strlen(append_string);
@@ -270,18 +270,18 @@ int update_conf(OS_TYPE os_type) {
default_conf[os_type].min_length);
DEBUG("set PASSWORD_MIN_LENGTH");
} else {
- // if (OS_SERVER == os_type) {
- // sprintf(append_string + offset,
- // "PASSWORD_MIN_LENGTH = %d\n",
- // default_conf[os_type].min_length);
- // DEBUG("restore PASSWORD_MIN_LENGTH");
- // } else {
+ if (OS_SERVER == os_type) {
+ sprintf(append_string + offset,
+ "PASSWORD_MIN_LENGTH = %d\n",
+ default_conf[os_type].min_length);
+ DEBUG("restore PASSWORD_MIN_LENGTH");
+ } else {
sprintf(append_string + offset,
"PASSWORD_MIN_LENGTH = %d\n",
iniparser_getint(dic,
"Password:PASSWORD_MIN_LENGTH",
default_conf[os_type].min_length));
- // }
+ }
}
offset = strlen(append_string);
@@ -291,18 +291,18 @@ int update_conf(OS_TYPE os_type) {
default_conf[os_type].max_length);
DEBUG("set PASSWORD_MAX_LENGTH");
} else {
- // if (OS_SERVER == os_type) {
- // sprintf(append_string + offset,
- // "PASSWORD_MAX_LENGTH = %d\n",
- // default_conf[os_type].max_length);
- // DEBUG("restore PASSWORD_MAX_LENGTH");
- // } else {
+ if (OS_SERVER == os_type) {
+ sprintf(append_string + offset,
+ "PASSWORD_MAX_LENGTH = %d\n",
+ default_conf[os_type].max_length);
+ DEBUG("restore PASSWORD_MAX_LENGTH");
+ } else {
sprintf(append_string + offset,
"PASSWORD_MAX_LENGTH = %d\n",
iniparser_getint(dic,
"Password:PASSWORD_MAX_LENGTH",
default_conf[os_type].max_length));
- // }
+ }
}
offset = strlen(append_string);
@@ -315,14 +315,16 @@ int update_conf(OS_TYPE os_type) {
// char cmd[512];
// sprintf(cmd, "sed \"/^VALIDATE_POLICY.*/\"d -i %s", PASSWD_CONF_FILE_PATH);
// system(cmd);
- // sprintf(append_string + offset,
- // "VALIDATE_POLICY = \"%s\"\n",
- // default_conf[os_type].validate_policy);
- // DEBUG("set VALIDATE_POLICY after delete");
-
- char buff[512];
- get_validate_policy(buff);
- sprintf(append_string + offset, "VALIDATE_POLICY = %s\n", buff);
+ if (OS_EULER == os_type) {
+ sprintf(append_string + offset,
+ "VALIDATE_POLICY = %s\n",
+ default_conf[os_type].validate_policy);
+ DEBUG("set VALIDATE_POLICY after delete");
+ } else {
+ char buff[512];
+ get_validate_policy(buff);
+ sprintf(append_string + offset, "VALIDATE_POLICY = %s\n", buff);
+ }
}
offset = strlen(append_string);
@@ -332,18 +334,18 @@ int update_conf(OS_TYPE os_type) {
default_conf[os_type].validate_required);
DEBUG("set VALIDATE_REQUIRED");
} else {
- // if (OS_SERVER == os_type) {
- // sprintf(append_string + offset,
- // "VALIDATE_REQUIRED = %d\n",
- // default_conf[os_type].validate_required);
- // DEBUG("restore VALIDATE_REQUIRED");
- // } else {
+ if (OS_SERVER == os_type) {
+ sprintf(append_string + offset,
+ "VALIDATE_REQUIRED = %d\n",
+ default_conf[os_type].validate_required);
+ DEBUG("restore VALIDATE_REQUIRED");
+ } else {
sprintf(append_string + offset,
"VALIDATE_REQUIRED = %d\n",
iniparser_getint(dic,
"Password:VALIDATE_REQUIRED",
default_conf[os_type].validate_required));
- // }
+ }
}
offset = strlen(append_string);
@@ -353,18 +355,18 @@ int update_conf(OS_TYPE os_type) {
default_conf[os_type].palindorme_num);
DEBUG("set PALINDROME_NUM");
} else {
- // if (OS_SERVER == os_type) {
- // sprintf(append_string + offset,
- // "PALINDROME_NUM = %d\n",
- // default_conf[os_type].palindorme_num);
- // DEBUG("restore PALINDROME_NUM");
- // } else {
+ if (OS_SERVER == os_type) {
+ sprintf(append_string + offset,
+ "PALINDROME_NUM = %d\n",
+ default_conf[os_type].palindorme_num);
+ DEBUG("restore PALINDROME_NUM");
+ } else {
sprintf(append_string + offset,
"PALINDROME_NUM = %d\n",
iniparser_getint(dic,
"Password:PALINDROME_NUM",
default_conf[os_type].palindorme_num));
- // }
+ }
}
offset = strlen(append_string);
@@ -372,14 +374,14 @@ int update_conf(OS_TYPE os_type) {
sprintf(append_string + offset, "WORD_CHECK = %d\n", default_conf[os_type].word_check);
DEBUG("set WORD_CHECK");
} else {
- // if (OS_SERVER == os_type) {
- // sprintf(append_string + offset, "WORD_CHECK = %d\n",
- // default_conf[os_type].word_check); DEBUG("restore WORD_CHECK");
- // } else {
+ if (OS_SERVER == os_type) {
+ sprintf(append_string + offset, "WORD_CHECK = %d\n",
+ default_conf[os_type].word_check); DEBUG("restore WORD_CHECK");
+ } else {
sprintf(append_string + offset,
"WORD_CHECK = %d\n",
iniparser_getint(dic, "Password:WORD_CHECK", default_conf[os_type].word_check));
- // }
+ }
}
offset = strlen(append_string);
@@ -389,18 +391,18 @@ int update_conf(OS_TYPE os_type) {
default_conf[os_type].monotone_same_character_num);
DEBUG("set MONOTONE_CHARACTER_NUM");
} else {
- // if (OS_SERVER == os_type) {
- // sprintf(append_string + offset,
- // "MONOTONE_CHARACTER_NUM = %d\n",
- // default_conf[os_type].monotone_same_character_num);
- // DEBUG("restore MONOTONE_CHARACTER_NUM");
- // } else {
+ if (OS_SERVER == os_type) {
+ sprintf(append_string + offset,
+ "MONOTONE_CHARACTER_NUM = %d\n",
+ default_conf[os_type].monotone_same_character_num);
+ DEBUG("restore MONOTONE_CHARACTER_NUM");
+ } else {
sprintf(append_string + offset,
"MONOTONE_CHARACTER_NUM = %d\n",
iniparser_getint(dic,
"Password:MONOTONE_CHARACTER_NUM",
default_conf[os_type].monotone_same_character_num));
- // }
+ }
}
offset = strlen(append_string);
@@ -410,18 +412,18 @@ int update_conf(OS_TYPE os_type) {
default_conf[os_type].consecutive_same_character_num);
DEBUG("set CONSECUTIVE_SAME_CHARACTER_NUM");
} else {
- // if (OS_SERVER == os_type) {
- // sprintf(append_string + offset,
- // "CONSECUTIVE_SAME_CHARACTER_NUM = %d\n",
- // default_conf[os_type].consecutive_same_character_num);
- // DEBUG("restore CONSECUTIVE_SAME_CHARACTER_NUM");
- // } else {
+ if (OS_SERVER == os_type) {
+ sprintf(append_string + offset,
+ "CONSECUTIVE_SAME_CHARACTER_NUM = %d\n",
+ default_conf[os_type].consecutive_same_character_num);
+ DEBUG("restore CONSECUTIVE_SAME_CHARACTER_NUM");
+ } else {
sprintf(append_string + offset,
"CONSECUTIVE_SAME_CHARACTER_NUM = %d\n",
iniparser_getint(dic,
"Password:CONSECUTIVE_SAME_CHARACTER_NUM",
default_conf[os_type].consecutive_same_character_num));
- // }
+ }
}
offset = strlen(append_string);
@@ -429,14 +431,14 @@ int update_conf(OS_TYPE os_type) {
sprintf(append_string + offset, "DICT_PATH = %s\n", "");
DEBUG("set DICT_PATH");
} else {
- // if (OS_SERVER == os_type) {
- // sprintf(append_string + offset, "DICT_PATH = %s\n", "");
- // DEBUG("restore DICT_PATH");
- // } else {
+ if (OS_SERVER == os_type) {
+ sprintf(append_string + offset, "DICT_PATH = %s\n", "");
+ DEBUG("restore DICT_PATH");
+ } else {
sprintf(append_string + offset,
"DICT_PATH = %s\n",
iniparser_getstring(dic, "Password:DICT_PATH", ""));
- // }
+ }
}
offset = strlen(append_string);
@@ -444,15 +446,15 @@ int update_conf(OS_TYPE os_type) {
sprintf(append_string + offset, "FIRST_LETTER_UPPERCASE = %s\n", "false");
DEBUG("set FIRST_LETTER_UPPERCASE");
} else {
- // if (OS_SERVER == os_type) {
- // sprintf(append_string + offset, "FIRST_LETTER_UPPERCASE = %s\n", "false");
- // DEBUG("restore FIRST_LETTER_UPPERCASE");
- // } else {
+ if (OS_SERVER == os_type) {
+ sprintf(append_string + offset, "FIRST_LETTER_UPPERCASE = %s\n", "false");
+ DEBUG("restore FIRST_LETTER_UPPERCASE");
+ } else {
sprintf(append_string + offset,
"FIRST_LETTER_UPPERCASE = %s\n",
iniparser_getboolean(dic, "Password:FIRST_LETTER_UPPERCASE", false) ? "true"
: "false");
- // }
+ }
}
DEBUG("append string :%s", append_string);
--
2.20.1

12
dde.conf Normal file
View File

@ -0,0 +1,12 @@
[Password]
STRONG_PASSWORD = true
PASSWORD_MIN_LENGTH = 8
PASSWORD_MAX_LENGTH = 511
VALIDATE_POLICY = 1234567890;abcdefghijklmnopqrstuvwxyz;ABCDEFGHIJKLMNOPQRSTUVWXYZ;!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
VALIDATE_REQUIRED = 3
PALINDROME_NUM = 4
WORD_CHECK = 1
MONOTONE_CHARACTER_NUM = 0
CONSECUTIVE_SAME_CHARACTER_NUM = 0
DICT_PATH =
FIRST_LETTER_UPPERCASE = false

Binary file not shown.

Binary file not shown.

View File

@ -1,18 +1,23 @@
# Run tests in check section
# disable for bootstrapping
%bcond_with check
%global with_debug 1
%global with_debug 0
%if 0%{?with_debug}
%global debug_package %{nil}
%endif
Name: deepin-pw-check
Version: 5.0.20.7
Version: 5.1.17
Release: 1
Summary: Used to check password and manager the configuration for password.
License: GPL-3.0
URL: https://github.com/linuxdeepin/%{name}
Source0: %{name}-%{version}.orig.tar.xz
Source0: %{name}-%{version}.tar.gz
Source1: vendor.tar.gz
Source2: dde.conf
Patch1000: 0001-fix-for-UonioTech.patch
Patch1001: 1000-deepin-pw-check-modify-password-policy.patch
BuildRequires: golang
BuildRequires: pam-devel
@ -22,9 +27,6 @@ BuildRequires: deepin-gettext-tools
BuildRequires: cracklib-devel
BuildRequires: iniparser
Patch0: fix-pwd-pam-update-error.patch
Patch1: fix-deepin_pw_check.c-sprintf-error.patch
Requires: polkit
%description
@ -42,9 +44,8 @@ this interface is designed to adapt to fingerprint, face and other authenticatio
%prep
%setup -q
patch -p1 < rpm/0001-fix-for-UonioTech.patch
%patch0 -p1
%patch1 -p1
%patch1000 -p1
%patch1001 -p1
tar -xf %{SOURCE1}
@ -55,15 +56,10 @@ export GOPATH=%{_builddir}/%{name}-%{version}/vendor:$GOPATH
%make_build GO_BUILD_FLAGS=-trimpath GOBUILD="go build -compiler gc -ldflags \"-B $BUILDID\""
%post
pwd-conf-update
sed -i "s/pam_pwquality.so/pam_deepin_pw_check.so/g" /etc/pam.d/system-auth
sed -i "s/pam_pwquality.so/pam_deepin_pw_check.so/g" /etc/pam.d/password-auth
%postun
if [ "$1" = "0" ] ; then
sed -i "s/pam_deepin_pw_check.so/pam_pwquality.so/g" /etc/pam.d/system-auth
sed -i "s/pam_deepin_pw_check.so/pam_pwquality.so/g" /etc/pam.d/password-auth
fi
%install
mkdir -p %{buildroot}/%{_sysconfdir}/deepin
@ -72,11 +68,14 @@ export PKG_FILE_DIR=%{_libdir}/pkgconfig
%make_install PKG_FILE_DIR=%{_libdir}/pkgconfig LIBDIR=lib64 PAM_MODULE_DIR=%{_libdir}/security GOBUILD="go build -compiler gc -ldflags \"-B $BUILDID\""
%find_lang deepin-pw-check
install -Dm644 %{SOURCE2} %{buildroot}%{_sysconfdir}/deepin/dde.conf
%files -f deepin-pw-check.lang
%doc README.md
%license
%dir %{_sysconfdir}/deepin
%{_sysconfdir}/deepin/dde.conf
%{_bindir}/pwd-conf-update
%{_prefix}/lib/deepin-pw-check/deepin-pw-check
%{_libdir}/libdeepin_pw_check.so.*
@ -92,5 +91,20 @@ export PKG_FILE_DIR=%{_libdir}/pkgconfig
%{_includedir}/deepin_pw_check.h
%changelog
* Tue Jul 25 2023 leeffo <liweiganga@uniontech.com> - 5.1.17-1
- upgrade to version 5.1.17
* Wed Jun 28 2023 liweigang <liweiganga@uniontech.com> - 5.1.4-2
- feat: update golang.org/x/sys
* Mon Apr 03 2023 liweiganga <liweiganga@uniontech.com> - 5.1.4-1
- update: update to 5.1.4
* Wed Dec 21 2022 liweiganga <liweiganga@uniontech.com> - 5.0.20.7-3
- enable debuginfo for fix strip
* Tue Aug 02 2022 liweiganga <liweiganga@uniontech.com> - 5.0.20.7-2
- add dde.conf
* Fri Jul 22 2022 konglidong <konglidong@uniontech.com> - 5.0.20.7-1
- package init

View File

@ -1,37 +0,0 @@
From b1e0ad33fc949d9bb9aa6f4ce2d566c39e089819 Mon Sep 17 00:00:00 2001
From: panchenbo <panchenbo@uniontech.com>
Date: Mon, 16 Aug 2021 11:40:16 +0800
Subject: [PATCH] fix deepin_pw_check.c sprintf error
---
lib/deepin_pw_check.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/lib/deepin_pw_check.c b/lib/deepin_pw_check.c
index d528ad9..f5fcc99 100644
--- a/lib/deepin_pw_check.c
+++ b/lib/deepin_pw_check.c
@@ -255,7 +255,9 @@ bool is_type_valid(const char *pw, char *character_type, int character_num_requi
p = strtok(character_type_tmp, ";");
int length = strlen(pw);
- char all_character[512] = "\0";
+ char all_character[512];
+ memset(all_character, 0, sizeof(all_character));
+ int offset = 0;
while (p != NULL) {
char *next_data_addr = NULL;
@@ -287,7 +289,8 @@ bool is_type_valid(const char *pw, char *character_type, int character_num_requi
}
}
- sprintf(all_character, "%s%s", all_character, p);
+ offset = strlen(all_character);
+ sprintf(all_character + offset, "%s", p);
DEBUG("p is %s, all_character is %s", p, all_character);
int ok = 0;
for (int i = 0; i < length; i++) {
--
2.20.1

View File

@ -1,319 +0,0 @@
From 2d590fae89f2455893b509d3861f832e31f1a3c9 Mon Sep 17 00:00:00 2001
From: panchenbo <panchenbo@uniontech.com>
Date: Tue, 10 Aug 2021 16:22:25 +0800
Subject: [PATCH] debug
---
tool/pwd_conf_update.c | 157 ++++++++++++++++++-----------------------
1 file changed, 70 insertions(+), 87 deletions(-)
diff --git a/tool/pwd_conf_update.c b/tool/pwd_conf_update.c
index 580e471..c9f9747 100644
--- a/tool/pwd_conf_update.c
+++ b/tool/pwd_conf_update.c
@@ -189,232 +189,215 @@ int update_conf(OS_TYPE os_type) {
}
char append_string[2048] = {0};
- sprintf(append_string, "[Password]\n");
+ int offset = 0;
+ sprintf(append_string + offset, "[Password]\n");
+ offset = strlen(append_string);
// 如果找不到该字段,则写默认的
if (iniparser_find_entry(dic, "Password:STRONG_PASSWORD") == 0) {
- sprintf(append_string, "%sSTRONG_PASSWORD = %s\n", append_string, "true");
+ sprintf(append_string + offset, "STRONG_PASSWORD = %s\n", "true");
DEBUG("set STRONG_PASSWORD");
} else {
// 如果找到了该字段
// 如果是服务器版,强制覆盖配置
if (OS_SERVER == os_type) {
- sprintf(append_string, "%sSTRONG_PASSWORD = %s\n", append_string, "true");
+ sprintf(append_string + offset, "STRONG_PASSWORD = %s\n", "true");
DEBUG("restore STRONG_PASSWORD");
} else {
// 如果不是服务器版,则维持原配置
- sprintf(append_string, "%sSTRONG_PASSWORD = %s\n", append_string, "true");
+ sprintf(append_string + offset, "STRONG_PASSWORD = %s\n", "true");
}
}
+ offset = strlen(append_string);
if (iniparser_find_entry(dic, "Password:PASSWORD_MIN_LENGTH") == 0) {
- sprintf(append_string,
- "%sPASSWORD_MIN_LENGTH = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "PASSWORD_MIN_LENGTH = %d\n",
default_conf[os_type].min_length);
DEBUG("set PASSWORD_MIN_LENGTH");
} else {
if (OS_SERVER == os_type) {
- sprintf(append_string,
- "%sPASSWORD_MIN_LENGTH = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "PASSWORD_MIN_LENGTH = %d\n",
default_conf[os_type].min_length);
DEBUG("restore PASSWORD_MIN_LENGTH");
} else {
- sprintf(append_string,
- "%sPASSWORD_MIN_LENGTH = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "PASSWORD_MIN_LENGTH = %d\n",
iniparser_getint(dic,
"Password:PASSWORD_MIN_LENGTH",
default_conf[os_type].min_length));
}
}
+ offset = strlen(append_string);
if (iniparser_find_entry(dic, "Password:PASSWORD_MAX_LENGTH") == 0) {
- sprintf(append_string,
- "%sPASSWORD_MAX_LENGTH = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "PASSWORD_MAX_LENGTH = %d\n",
default_conf[os_type].max_length);
DEBUG("set PASSWORD_MAX_LENGTH");
} else {
if (OS_SERVER == os_type) {
- sprintf(append_string,
- "%sPASSWORD_MAX_LENGTH = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "PASSWORD_MAX_LENGTH = %d\n",
default_conf[os_type].max_length);
DEBUG("restore PASSWORD_MAX_LENGTH");
} else {
- sprintf(append_string,
- "%sPASSWORD_MAX_LENGTH = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "PASSWORD_MAX_LENGTH = %d\n",
iniparser_getint(dic,
"Password:PASSWORD_MAX_LENGTH",
default_conf[os_type].max_length));
}
}
+ offset = strlen(append_string);
if (iniparser_find_entry(dic, "Password:VALIDATE_POLICY") == 0) {
- sprintf(append_string,
- "%sVALIDATE_POLICY = \"%s\"\n",
- append_string,
+ sprintf(append_string + offset,
+ "VALIDATE_POLICY = \"%s\"\n",
default_conf[os_type].validate_policy);
DEBUG("set VALIDATE_POLICY");
} else {
char cmd[512];
sprintf(cmd, "sed \"/^VALIDATE_POLICY.*/\"d -i %s", PASSWD_CONF_FILE_PATH);
system(cmd);
- sprintf(append_string,
- "%sVALIDATE_POLICY = \"%s\"\n",
- append_string,
+ sprintf(append_string + offset,
+ "VALIDATE_POLICY = \"%s\"\n",
default_conf[os_type].validate_policy);
DEBUG("set VALIDATE_POLICY after delete");
}
+ offset = strlen(append_string);
if (iniparser_find_entry(dic, "Password:VALIDATE_REQUIRED") == 0) {
- sprintf(append_string,
- "%sVALIDATE_REQUIRED = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "VALIDATE_REQUIRED = %d\n",
default_conf[os_type].validate_required);
DEBUG("set VALIDATE_REQUIRED");
} else {
if (OS_SERVER == os_type) {
- sprintf(append_string,
- "%sVALIDATE_REQUIRED = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "VALIDATE_REQUIRED = %d\n",
default_conf[os_type].validate_required);
DEBUG("restore VALIDATE_REQUIRED");
} else {
- sprintf(append_string,
- "%sVALIDATE_REQUIRED = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "VALIDATE_REQUIRED = %d\n",
iniparser_getint(dic,
"Password:VALIDATE_REQUIRED",
default_conf[os_type].validate_required));
}
}
+ offset = strlen(append_string);
if (iniparser_find_entry(dic, "Password:PALINDROME_NUM") == 0) {
- sprintf(append_string,
- "%sPALINDROME_NUM = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "PALINDROME_NUM = %d\n",
default_conf[os_type].palindorme_num);
DEBUG("set PALINDROME_NUM");
} else {
if (OS_SERVER == os_type) {
- sprintf(append_string,
- "%sPALINDROME_NUM = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "PALINDROME_NUM = %d\n",
default_conf[os_type].palindorme_num);
DEBUG("restore PALINDROME_NUM");
} else {
- sprintf(append_string,
- "%sPALINDROME_NUM = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "PALINDROME_NUM = %d\n",
iniparser_getint(dic,
"Password:PALINDROME_NUM",
default_conf[os_type].palindorme_num));
}
}
+ offset = strlen(append_string);
if (iniparser_find_entry(dic, "Password:WORD_CHECK") == 0) {
- sprintf(append_string,
- "%sWORD_CHECK = %d\n",
- append_string,
- default_conf[os_type].word_check);
+ sprintf(append_string + offset, "WORD_CHECK = %d\n", default_conf[os_type].word_check);
DEBUG("set WORD_CHECK");
} else {
if (OS_SERVER == os_type) {
- sprintf(append_string,
- "%sWORD_CHECK = %d\n",
- append_string,
- default_conf[os_type].word_check);
+ sprintf(append_string + offset, "WORD_CHECK = %d\n", default_conf[os_type].word_check);
DEBUG("restore WORD_CHECK");
} else {
- sprintf(append_string,
- "%sWORD_CHECK = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "WORD_CHECK = %d\n",
iniparser_getint(dic, "Password:WORD_CHECK", default_conf[os_type].word_check));
}
}
+ offset = strlen(append_string);
if (iniparser_find_entry(dic, "Password:MONOTONE_CHARACTER_NUM") == 0) {
- sprintf(append_string,
- "%sMONOTONE_CHARACTER_NUM = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "MONOTONE_CHARACTER_NUM = %d\n",
default_conf[os_type].monotone_same_character_num);
DEBUG("set MONOTONE_CHARACTER_NUM");
} else {
if (OS_SERVER == os_type) {
- sprintf(append_string,
- "%sMONOTONE_CHARACTER_NUM = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "MONOTONE_CHARACTER_NUM = %d\n",
default_conf[os_type].monotone_same_character_num);
DEBUG("restore MONOTONE_CHARACTER_NUM");
} else {
- sprintf(append_string,
- "%sMONOTONE_CHARACTER_NUM = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "MONOTONE_CHARACTER_NUM = %d\n",
iniparser_getint(dic,
"Password:MONOTONE_CHARACTER_NUM",
default_conf[os_type].monotone_same_character_num));
}
}
+ offset = strlen(append_string);
if (iniparser_find_entry(dic, "Password:CONSECUTIVE_SAME_CHARACTER_NUM") == 0) {
- sprintf(append_string,
- "%sCONSECUTIVE_SAME_CHARACTER_NUM = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "CONSECUTIVE_SAME_CHARACTER_NUM = %d\n",
default_conf[os_type].consecutive_same_character_num);
DEBUG("set CONSECUTIVE_SAME_CHARACTER_NUM");
} else {
if (OS_SERVER == os_type) {
- sprintf(append_string,
- "%sCONSECUTIVE_SAME_CHARACTER_NUM = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "CONSECUTIVE_SAME_CHARACTER_NUM = %d\n",
default_conf[os_type].consecutive_same_character_num);
DEBUG("restore CONSECUTIVE_SAME_CHARACTER_NUM");
} else {
- sprintf(append_string,
- "%sCONSECUTIVE_SAME_CHARACTER_NUM = %d\n",
- append_string,
+ sprintf(append_string + offset,
+ "CONSECUTIVE_SAME_CHARACTER_NUM = %d\n",
iniparser_getint(dic,
"Password:CONSECUTIVE_SAME_CHARACTER_NUM",
default_conf[os_type].consecutive_same_character_num));
}
}
+ offset = strlen(append_string);
if (iniparser_find_entry(dic, "Password:DICT_PATH") == 0) {
- sprintf(append_string, "%sDICT_PATH = %s\n", append_string, "");
- DEBUG("set WORD_CHECK");
+ sprintf(append_string + offset, "DICT_PATH = %s\n", "");
+ DEBUG("set DICT_PATH");
} else {
if (OS_SERVER == os_type) {
- sprintf(append_string, "%sDICT_PATH = %s\n", append_string, "");
+ sprintf(append_string + offset, "DICT_PATH = %s\n", "");
DEBUG("restore DICT_PATH");
} else {
- sprintf(append_string,
- "%sDICT_PATH = %s\n",
- append_string,
+ sprintf(append_string + offset,
+ "DICT_PATH = %s\n",
iniparser_getstring(dic, "Password:DICT_PATH", ""));
}
}
+ offset = strlen(append_string);
if (iniparser_find_entry(dic, "Password:FIRST_LETTER_UPPERCASE") == 0) {
- sprintf(append_string, "%sFIRST_LETTER_UPPERCASE = %s\n", append_string, "false");
+ sprintf(append_string + offset, "FIRST_LETTER_UPPERCASE = %s\n", "false");
DEBUG("set FIRST_LETTER_UPPERCASE");
} else {
if (OS_SERVER == os_type) {
- sprintf(append_string, "%sFIRST_LETTER_UPPERCASE = %s\n", append_string, "false");
+ sprintf(append_string + offset, "FIRST_LETTER_UPPERCASE = %s\n", "false");
DEBUG("restore FIRST_LETTER_UPPERCASE");
} else {
- sprintf(append_string,
- "%sFIRST_LETTER_UPPERCASE = %s\n",
- append_string,
+ sprintf(append_string + offset,
+ "FIRST_LETTER_UPPERCASE = %s\n",
iniparser_getboolean(dic, "Password:FIRST_LETTER_UPPERCASE", false) ? "true"
: "false");
}
}
- DEBUG("append string is %s", append_string);
+ DEBUG("append string :%s", append_string);
if (strlen(append_string) == 0) {
return 0;
--
2.20.1

Binary file not shown.