summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyungwook Tak <k.tak@samsung.com>2016-03-14 18:32:00 +0900
committerKyungwook Tak <k.tak@samsung.com>2016-03-14 18:32:00 +0900
commitb6b29e4c1d702ec6d0b83a39182369cc54ff0b45 (patch)
tree99bda55ea514783a0088e8956539c7dd49da2e95
parent21de0adedcaedbbdb55fb1fe37951908e028c21e (diff)
downloadauth-fw-b6b29e4c1d702ec6d0b83a39182369cc54ff0b45.tar.gz
auth-fw-b6b29e4c1d702ec6d0b83a39182369cc54ff0b45.tar.bz2
auth-fw-b6b29e4c1d702ec6d0b83a39182369cc54ff0b45.zip
Change-Id: I7e34b3e278db8d1da6f6949e0438a52030262e7d Signed-off-by: Kyungwook Tak <k.tak@samsung.com>
-rw-r--r--src/server/service/policy-file.cpp18
1 files changed, 7 insertions, 11 deletions
diff --git a/src/server/service/policy-file.cpp b/src/server/service/policy-file.cpp
index f3c38d3..3c96320 100644
--- a/src/server/service/policy-file.cpp
+++ b/src/server/service/policy-file.cpp
@@ -24,6 +24,7 @@
#include <policy-file.h>
#include <fstream>
+#include <vector>
#include <regex.h>
#include <fcntl.h>
@@ -212,25 +213,20 @@ namespace AuthPasswd
m_policy.minComplexCharNumber = minComplexCharNumber;
}
- // policy maxCharOccurrences
bool PolicyFile::checkMaxCharOccurrences(const std::string &password) const
{
- unsigned int i = 0;
- unsigned char ch;
- char occurrence[256]= {0, };
+ std::vector<unsigned int> occurrence(256, 0);
if (m_policy.maxCharOccurrences == 0)
return true;
- for (i = 0; i < password.size(); i++) {
- ch = (unsigned char)password[i];
- occurrence[ch]++;
- }
+ for (auto ch : password)
+ occurrence[static_cast<unsigned char>(ch)]++;
- for (i = 0; i<256; i++) {
- if(occurrence[i] > m_policy.maxCharOccurrences)
+ for (auto item : occurrence)
+ if (item > m_policy.maxCharOccurrences)
return false;
- }
+
return true;
}