* libmisc/salt.c: Make sure method is not NULL, defaulting to DES.
Thanks to Dan Kopecek <dkopecek@redhat.com>. * src/chpasswd.c, src/chgpasswd.c: Do not use DES by default, but the system default define in /Etc/login.defs. Thanks to Dan Kopecek <dkopecek@redhat.com>. * NEWS, man/chpasswd.8.xml, man/chgpasswd.8.xml: Do not mention DES as the default algorithm. * src/chpasswd.c, src/chgpasswd.c: Tag the ENCRYPTMETHOD_SELECT dependent code accordingly.
This commit is contained in:
parent
e1e619074c
commit
2e782e3d7d
@ -2,7 +2,13 @@
|
|||||||
|
|
||||||
* libmisc/salt.c: Make sure method is not NULL, defaulting to DES.
|
* libmisc/salt.c: Make sure method is not NULL, defaulting to DES.
|
||||||
Thanks to Dan Kopecek <dkopecek@redhat.com>.
|
Thanks to Dan Kopecek <dkopecek@redhat.com>.
|
||||||
|
* src/chpasswd.c, src/chgpasswd.c: Do not use DES by default, but
|
||||||
|
the system default define in /Etc/login.defs. Thanks to Dan
|
||||||
|
Kopecek <dkopecek@redhat.com>.
|
||||||
|
* NEWS, man/chpasswd.8.xml, man/chgpasswd.8.xml: Do not mention
|
||||||
|
DES as the default algorithm.
|
||||||
|
* src/chpasswd.c, src/chgpasswd.c: Tag the ENCRYPTMETHOD_SELECT
|
||||||
|
dependent code accordingly.
|
||||||
|
|
||||||
2007-11-23 Nicolas François <nicolas.francois@centraliens.net>
|
2007-11-23 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
|
2
NEWS
2
NEWS
@ -55,6 +55,8 @@ shadow-4.0.18.1 -> shadow-4.0.18.2 UNRELEASED
|
|||||||
passwords.
|
passwords.
|
||||||
- chpaswd, chgpasswd, newusers: New options -c/--crypt-method and
|
- chpaswd, chgpasswd, newusers: New options -c/--crypt-method and
|
||||||
-s/--sha-rounds to supersede the system default encryption algorithm.
|
-s/--sha-rounds to supersede the system default encryption algorithm.
|
||||||
|
- chpaswd, chgpasswd, newusers: DES is no more the default algorithm. They
|
||||||
|
will respect the system default configured in /etc/login.defs
|
||||||
|
|
||||||
*** documentation:
|
*** documentation:
|
||||||
- Generate the translated manpages from PO at build time.
|
- Generate the translated manpages from PO at build time.
|
||||||
|
@ -32,8 +32,8 @@
|
|||||||
remap='I'>password</emphasis>
|
remap='I'>password</emphasis>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
By default the supplied password must be in clear-text. Default
|
By default the supplied password must be in clear-text, and is
|
||||||
encryption algorithm is DES.
|
encrypted by <command>chgpasswd</command>.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The default encryption algorithm can be defined for the system with
|
The default encryption algorithm can be defined for the system with
|
||||||
|
@ -32,9 +32,9 @@
|
|||||||
remap='I'>password</emphasis>
|
remap='I'>password</emphasis>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
By default the supplied password must be in clear-text. Default
|
By default the supplied password must be in clear-text, and is
|
||||||
encryption algorithm is DES. Also the password age will be updated, if
|
encrypted by <command>chpasswd</command>.
|
||||||
present.
|
Also the password age will be updated, if present.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The default encryption algorithm can be defined for the system with
|
The default encryption algorithm can be defined for the system with
|
||||||
|
@ -76,8 +76,7 @@ static void usage (void)
|
|||||||
" -c, --crypt-method the crypt method (one of %s)\n"
|
" -c, --crypt-method the crypt method (one of %s)\n"
|
||||||
" -e, --encrypted supplied passwords are encrypted\n"
|
" -e, --encrypted supplied passwords are encrypted\n"
|
||||||
" -h, --help display this help message and exit\n"
|
" -h, --help display this help message and exit\n"
|
||||||
" -m, --md5 use MD5 encryption instead of DES when the supplied\n"
|
" -m, --md5 encrypt the clear text password using the MD5 algorithm\n"
|
||||||
" passwords are not encrypted\n"
|
|
||||||
"%s"
|
"%s"
|
||||||
"\n"),
|
"\n"),
|
||||||
Prog,
|
Prog,
|
||||||
@ -128,12 +127,20 @@ int main (int argc, char **argv)
|
|||||||
{"encrypted", no_argument, NULL, 'e'},
|
{"encrypted", no_argument, NULL, 'e'},
|
||||||
{"help", no_argument, NULL, 'h'},
|
{"help", no_argument, NULL, 'h'},
|
||||||
{"md5", no_argument, NULL, 'm'},
|
{"md5", no_argument, NULL, 'm'},
|
||||||
|
#ifdef ENCRYPTMETHOD_SELECT
|
||||||
{"sha-rounds", required_argument, NULL, 's'},
|
{"sha-rounds", required_argument, NULL, 's'},
|
||||||
|
#endif
|
||||||
{NULL, 0, NULL, '\0'}
|
{NULL, 0, NULL, '\0'}
|
||||||
};
|
};
|
||||||
|
|
||||||
while ((c =
|
while ((c =
|
||||||
getopt_long (argc, argv, "c:ehms:", long_options,
|
getopt_long (argc, argv,
|
||||||
|
#ifdef ENCRYPTMETHOD_SELECT
|
||||||
|
"c:ehms:",
|
||||||
|
#else
|
||||||
|
"c:ehm",
|
||||||
|
#endif
|
||||||
|
long_options,
|
||||||
&option_index)) != -1) {
|
&option_index)) != -1) {
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case 'c':
|
case 'c':
|
||||||
@ -149,6 +156,7 @@ int main (int argc, char **argv)
|
|||||||
case 'm':
|
case 'm':
|
||||||
md5flg = 1;
|
md5flg = 1;
|
||||||
break;
|
break;
|
||||||
|
#ifdef ENCRYPTMETHOD_SELECT
|
||||||
case 's':
|
case 's':
|
||||||
sflg = 1;
|
sflg = 1;
|
||||||
if (!getlong(optarg, &sha_rounds)) {
|
if (!getlong(optarg, &sha_rounds)) {
|
||||||
@ -158,6 +166,7 @@ int main (int argc, char **argv)
|
|||||||
usage ();
|
usage ();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
case 0:
|
case 0:
|
||||||
/* long option */
|
/* long option */
|
||||||
break;
|
break;
|
||||||
@ -312,7 +321,7 @@ int main (int argc, char **argv)
|
|||||||
if (sflg)
|
if (sflg)
|
||||||
arg = &sha_rounds;
|
arg = &sha_rounds;
|
||||||
} else
|
} else
|
||||||
crypt_method = "DES";
|
crypt_method = NULL;
|
||||||
cp = pw_encrypt (newpwd,
|
cp = pw_encrypt (newpwd,
|
||||||
crypt_make_salt(crypt_method, arg));
|
crypt_make_salt(crypt_method, arg));
|
||||||
}
|
}
|
||||||
|
@ -73,8 +73,7 @@ static void usage (void)
|
|||||||
" -c, --crypt-method the crypt method (one of %s)\n"
|
" -c, --crypt-method the crypt method (one of %s)\n"
|
||||||
" -e, --encrypted supplied passwords are encrypted\n"
|
" -e, --encrypted supplied passwords are encrypted\n"
|
||||||
" -h, --help display this help message and exit\n"
|
" -h, --help display this help message and exit\n"
|
||||||
" -m, --md5 use MD5 encryption instead of DES when the supplied\n"
|
" -m, --md5 encrypt the clear text password using the MD5 algorithm\n"
|
||||||
" passwords are not encrypted\n"
|
|
||||||
"%s"
|
"%s"
|
||||||
"\n"),
|
"\n"),
|
||||||
Prog,
|
Prog,
|
||||||
@ -124,12 +123,20 @@ int main (int argc, char **argv)
|
|||||||
{"encrypted", no_argument, NULL, 'e'},
|
{"encrypted", no_argument, NULL, 'e'},
|
||||||
{"help", no_argument, NULL, 'h'},
|
{"help", no_argument, NULL, 'h'},
|
||||||
{"md5", no_argument, NULL, 'm'},
|
{"md5", no_argument, NULL, 'm'},
|
||||||
|
#ifdef ENCRYPTMETHOD_SELECT
|
||||||
{"sha-rounds", required_argument, NULL, 's'},
|
{"sha-rounds", required_argument, NULL, 's'},
|
||||||
|
#endif
|
||||||
{NULL, 0, NULL, '\0'}
|
{NULL, 0, NULL, '\0'}
|
||||||
};
|
};
|
||||||
|
|
||||||
while ((c =
|
while ((c =
|
||||||
getopt_long (argc, argv, "c:ehms:", long_options,
|
getopt_long (argc, argv,
|
||||||
|
#ifdef ENCRYPTMETHOD_SELECT
|
||||||
|
"c:ehms:",
|
||||||
|
#else
|
||||||
|
"c:ehm",
|
||||||
|
#endif
|
||||||
|
long_options,
|
||||||
&option_index)) != -1) {
|
&option_index)) != -1) {
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case 'c':
|
case 'c':
|
||||||
@ -145,6 +152,7 @@ int main (int argc, char **argv)
|
|||||||
case 'm':
|
case 'm':
|
||||||
md5flg = 1;
|
md5flg = 1;
|
||||||
break;
|
break;
|
||||||
|
#ifdef ENCRYPTMETHOD_SELECT
|
||||||
case 's':
|
case 's':
|
||||||
sflg = 1;
|
sflg = 1;
|
||||||
if (!getlong(optarg, &sha_rounds)) {
|
if (!getlong(optarg, &sha_rounds)) {
|
||||||
@ -154,6 +162,7 @@ int main (int argc, char **argv)
|
|||||||
usage ();
|
usage ();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
case 0:
|
case 0:
|
||||||
/* long option */
|
/* long option */
|
||||||
break;
|
break;
|
||||||
@ -310,7 +319,7 @@ int main (int argc, char **argv)
|
|||||||
if (sflg)
|
if (sflg)
|
||||||
arg = &sha_rounds;
|
arg = &sha_rounds;
|
||||||
} else
|
} else
|
||||||
crypt_method = "DES";
|
crypt_method = NULL;
|
||||||
cp = pw_encrypt (newpwd,
|
cp = pw_encrypt (newpwd,
|
||||||
crypt_make_salt(crypt_method, arg));
|
crypt_make_salt(crypt_method, arg));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user