aboutsummaryrefslogtreecommitdiffstats
path: root/main/busybox/loginutils-sha512.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/busybox/loginutils-sha512.patch')
-rw-r--r--main/busybox/loginutils-sha512.patch78
1 files changed, 0 insertions, 78 deletions
diff --git a/main/busybox/loginutils-sha512.patch b/main/busybox/loginutils-sha512.patch
deleted file mode 100644
index f8f4e788e8..0000000000
--- a/main/busybox/loginutils-sha512.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-diff --git a/libbb/pw_encrypt.c b/libbb/pw_encrypt.c
-index 39ffa08..432551c 100644
---- a/libbb/pw_encrypt.c
-+++ b/libbb/pw_encrypt.c
-@@ -59,7 +59,7 @@ char* FAST_FUNC crypt_make_pw_salt(char salt[MAX_PW_SALT_LEN], const char *algo)
- *salt_ptr++ = '$';
- #if !ENABLE_USE_BB_CRYPT || ENABLE_USE_BB_CRYPT_SHA
- if (algo[0] == 's') { /* sha */
-- salt[1] = '5' + (strcmp(algo, "sha512") == 0);
-+ salt[1] = '6' - (strcmp(algo, "sha256") == 0);
- len = 16/2;
- }
- #endif
-diff --git a/loginutils/chpasswd.c b/loginutils/chpasswd.c
-index 54ed737..59ea602 100644
---- a/loginutils/chpasswd.c
-+++ b/loginutils/chpasswd.c
-@@ -13,11 +13,13 @@
- //usage: "Read user:password from stdin and update /etc/passwd\n"
- //usage: IF_LONG_OPTS(
- //usage: "\n -e,--encrypted Supplied passwords are in encrypted form"
--//usage: "\n -m,--md5 Use MD5 encryption instead of DES"
-+//usage: "\n -m,--md5 Use MD5 encryption instead of SHA512"
-+//usage: "\n -d,--des Use DES encryption instead of SHA512"
- //usage: )
- //usage: IF_NOT_LONG_OPTS(
- //usage: "\n -e Supplied passwords are in encrypted form"
--//usage: "\n -m Use MD5 encryption instead of DES"
-+//usage: "\n -m Use MD5 encryption instead of SHA512"
-+//usage: "\n -d Use DES encryption instead of SHA512"
- //usage: )
-
- //TODO: implement -c ALGO
-@@ -26,11 +28,13 @@
- static const char chpasswd_longopts[] ALIGN1 =
- "encrypted\0" No_argument "e"
- "md5\0" No_argument "m"
-+ "des\0" No_argument "d"
- ;
- #endif
-
- #define OPT_ENC 1
- #define OPT_MD5 2
-+#define OPT_DES 4
-
- int chpasswd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
- int chpasswd_main(int argc UNUSED_PARAM, char **argv)
-@@ -41,9 +45,9 @@ int chpasswd_main(int argc UNUSED_PARAM, char **argv)
- if (getuid() != 0)
- bb_error_msg_and_die(bb_msg_perm_denied_are_you_root);
-
-- opt_complementary = "m--e:e--m";
-+ opt_complementary = "m--e:e--m:d--e:e--d:m--d:d--m";
- IF_LONG_OPTS(applet_long_options = chpasswd_longopts;)
-- opt = getopt32(argv, "em");
-+ opt = getopt32(argv, "emd");
-
- while ((name = xmalloc_fgetline(stdin)) != NULL) {
- char *free_me;
-@@ -61,12 +65,14 @@ int chpasswd_main(int argc UNUSED_PARAM, char **argv)
- if (!(opt & OPT_ENC)) {
- char salt[sizeof("$N$XXXXXXXX")];
-
-- crypt_make_salt(salt, 1);
-+ salt[0] = '$';
-+ salt[1] = '6';
-+ salt[2] = '$';
-+ crypt_make_salt(salt + 3, 4);
- if (opt & OPT_MD5) {
-- salt[0] = '$';
- salt[1] = '1';
-- salt[2] = '$';
-- crypt_make_salt(salt + 3, 4);
-+ } else if (opt & OPT_DES) {
-+ crypt_make_salt(salt, 1);
- }
- free_me = pass = pw_encrypt(pass, salt, 0);
- }