+2009-03-13 Nicolas François <nicolas.francois@centraliens.net>
+
+ * src/newusers.c: Make sure the SHA related variables are not
+ compiled when disabled at configuration time.
+ * src/newusers.c: Added FIXME
+
2009-03-13 Nicolas François <nicolas.francois@centraliens.net>
* src/gpasswd.c: Remove the documentation of options from the
static bool cflg = false;
static bool rflg = false; /* create a system account */
+#ifdef USE_SHA_CRYPT
static bool sflg = false;
+#endif
static char *crypt_method = NULL;
+#ifdef USE_SHA_CRYPT
static long sha_rounds = 5000;
+#endif
static bool is_shadow;
#ifdef SHADOWGRP
grent.gr_name = xstrdup (gid);
} else {
grent.gr_name = xstrdup (name);
+/* FIXME: check if the group exist */
}
/* Check if this is a valid group name */
{
void *crypt_arg = NULL;
if (crypt_method != NULL) {
+#ifdef USE_SHA_CRYPT
if (sflg) {
crypt_arg = &sha_rounds;
}
+#endif
}
if ((crypt_method != NULL) && (0 == strcmp(crypt_method, "NONE"))) {
struct spwd spent;
void *crypt_arg = NULL;
if (crypt_method != NULL) {
+#ifdef USE_SHA_CRYPT
if (sflg) {
crypt_arg = &sha_rounds;
}
+#endif
}
/*
#ifdef USE_SHA_CRYPT
case 's':
sflg = true;
- if (!getlong(optarg, &sha_rounds)) {
+ if (getlong(optarg, &sha_rounds) == 0) {
fprintf (stderr,
_("%s: invalid numeric argument '%s'\n"),
Prog, optarg);
*/
static void check_flags (void)
{
+#ifdef USE_SHA_CRYPT
if (sflg && !cflg) {
fprintf (stderr,
_("%s: %s flag is only allowed with the %s flag\n"),
Prog, "-s", "-c");
usage ();
}
+#endif
if (cflg) {
if ( (0 != strcmp (crypt_method, "DES"))
if ( ('\0' != newpw.pw_dir[0])
&& (access (newpw.pw_dir, F_OK) != 0)) {
+/* FIXME: should check for directory */
mode_t msk = 0777 & ~getdef_num ("UMASK",
GETDEF_DEFAULT_UMASK);
if (mkdir (newpw.pw_dir, msk) != 0) {