diff options
-rw-r--r-- | editors/awk.c | 1 | ||||
-rw-r--r-- | editors/vi.c | 1 | ||||
-rw-r--r-- | libbb/obscure.c | 15 | ||||
-rw-r--r-- | libbb/u_signal_names.c | 1 | ||||
-rw-r--r-- | networking/wget.c | 1 |
5 files changed, 12 insertions, 7 deletions
diff --git a/editors/awk.c b/editors/awk.c index 9c8bef53a..f4eb1ab90 100644 --- a/editors/awk.c +++ b/editors/awk.c @@ -12,6 +12,7 @@ #include <unistd.h> #include <errno.h> #include <string.h> +#include <strings.h> #include <time.h> #include <math.h> #include <ctype.h> diff --git a/editors/vi.c b/editors/vi.c index 9aacae439..0c0c930b9 100644 --- a/editors/vi.c +++ b/editors/vi.c @@ -53,6 +53,7 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <strings.h> #include <termios.h> #include <unistd.h> #include <sys/ioctl.h> diff --git a/libbb/obscure.c b/libbb/obscure.c index a152456b2..d6a87b5de 100644 --- a/libbb/obscure.c +++ b/libbb/obscure.c @@ -18,12 +18,12 @@ This password types should not be permitted: a) pure numbers: birthdates, social security number, license plate, phone numbers; b) words and all letters only passwords (uppercase, lowercase or mixed) - as palindromes, consecutive or repetitive letters + as palindromes, consecutive or repetitive letters or adjacent letters on your keyboard; c) username, real name, company name or (e-mail?) address in any form (as-is, reversed, capitalized, doubled, etc.). (we can check only against username, gecos and hostname) - d) common and obvious letter-number replacements + d) common and obvious letter-number replacements (e.g. replace the letter O with number 0) such as "M1cr0$0ft" or "P@ssw0rd" (CAVEAT: we cannot check for them without the use of a dictionary). @@ -42,12 +42,13 @@ #include <ctype.h> #include <unistd.h> #include <string.h> +#include <strings.h> #include "libbb.h" /* passwords should consist of 6 (to 8 characters) */ -#define MINLEN 6 +#define MINLEN 6 static int string_checker_helper(const char *p1, const char *p2) __attribute__ ((__pure__)); @@ -93,7 +94,7 @@ static int string_checker(const char *p1, const char *p2) #define NUMBERS 4 #define SPECIAL 8 -static const char *obscure_msg(const char *old_p, const char *new_p, const struct passwd *pw) +static const char *obscure_msg(const char *old_p, const char *new_p, const struct passwd *pw) { int i; int c; @@ -107,7 +108,7 @@ static const char *obscure_msg(const char *old_p, const char *new_p, const struc /* size */ if (!new_p || (length = strlen(new_p)) < MINLEN) return("too short"); - + /* no username as-is, as sub-string, reversed, capitalized, doubled */ if (string_checker(new_p, pw->pw_name)) { return "similar to username"; @@ -152,11 +153,11 @@ static const char *obscure_msg(const char *old_p, const char *new_p, const struc return "too many similar characters"; } } - for(i=0;i<4;i++) + for (i=0; i<4; i++) if (mixed & (1<<i)) size -= 2; if (length < size) return "too weak"; - + if (old_p && old_p[0] != '\0') { /* check vs. old password */ if (string_checker(new_p, old_p)) { diff --git a/libbb/u_signal_names.c b/libbb/u_signal_names.c index 31ebd895a..bf65fa3e9 100644 --- a/libbb/u_signal_names.c +++ b/libbb/u_signal_names.c @@ -11,6 +11,7 @@ #include <signal.h> #include <ctype.h> #include <string.h> +#include <strings.h> #include <stdlib.h> #include <stdio.h> diff --git a/networking/wget.c b/networking/wget.c index 90ab48f9b..6efa3bf21 100644 --- a/networking/wget.c +++ b/networking/wget.c @@ -12,6 +12,7 @@ #include <unistd.h> #include <ctype.h> #include <string.h> +#include <strings.h> #include <unistd.h> #include <signal.h> #include <sys/ioctl.h> |