Fixes for FreeBSD password change
This commit is contained in:
parent
0611bb92b6
commit
d43b8b4e47
@ -93,7 +93,6 @@ static int def_loaded = 0; /* are defs already loaded? */
|
||||
|
||||
/* local function prototypes */
|
||||
static struct itemdef *def_find (const char *);
|
||||
static void def_load (void);
|
||||
|
||||
|
||||
|
||||
@ -229,7 +228,7 @@ static struct itemdef *def_find(const char *name)
|
||||
*
|
||||
* Loads the user-configured options from the default configuration file
|
||||
*/
|
||||
static void def_load(void)
|
||||
void def_load(void)
|
||||
{
|
||||
int i;
|
||||
FILE *fp;
|
||||
|
@ -8,6 +8,6 @@ int getdef_bool(const char *);
|
||||
long getdef_long(const char *, long);
|
||||
int getdef_num(const char *, int);
|
||||
char *getdef_str(const char *);
|
||||
|
||||
void def_load (void);
|
||||
|
||||
#endif /* _GETDEF_H */
|
||||
|
@ -62,6 +62,7 @@
|
||||
#include "pwio.h"
|
||||
#include "shadowio.h"
|
||||
#include "pw_util.h"
|
||||
#include "getdef.h"
|
||||
#include "mbpasswd.h"
|
||||
|
||||
|
||||
@ -732,6 +733,10 @@ int main(int argc, char *argv[])
|
||||
#endif
|
||||
char *cp;
|
||||
|
||||
/*
|
||||
* Init $MBSE_ROOT/etc/login.defs file before the *pw gets overwritten.
|
||||
*/
|
||||
def_load();
|
||||
|
||||
/*
|
||||
* Get my username
|
||||
@ -763,10 +768,10 @@ int main(int argc, char *argv[])
|
||||
// Dit programma is een groot security gat.
|
||||
|
||||
if (argc != 4) {
|
||||
printf("\nmbpasswd commandline:\n\n");
|
||||
printf("mbpasswd [-opt] [username] [newpassword]\n");
|
||||
printf("options are: -n normal password change\n");
|
||||
printf(" -f forced password change\n");
|
||||
fprintf(stderr, "\nmbpasswd commandline:\n\n");
|
||||
fprintf(stderr, "mbpasswd [-opt] [username] [newpassword]\n");
|
||||
fprintf(stderr, "options are: -n normal password change\n");
|
||||
fprintf(stderr, " -f forced password change\n");
|
||||
exit(E_FAILURE);
|
||||
}
|
||||
|
||||
@ -832,7 +837,6 @@ int main(int argc, char *argv[])
|
||||
#else
|
||||
cp = pw->pw_passwd;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* See if the user is permitted to change the password.
|
||||
* Otherwise, go ahead and set a new password.
|
||||
|
@ -193,7 +193,7 @@ int pw_mkdb(char *username)
|
||||
syslog(LOG_WARNING, "rebuilding the database...");
|
||||
execl(_PATH_PWD_MKDB, "pwd_mkdb", "-p", tempname, NULL);
|
||||
} else {
|
||||
syslog(LOG_WARNING, "updating the database...");
|
||||
syslog(LOG_WARNING, "updating the database for %s...", username);
|
||||
execl(_PATH_PWD_MKDB, "pwd_mkdb", "-p", "-u", username, tempname, NULL);
|
||||
}
|
||||
pw_error((char *)_PATH_PWD_MKDB, 1, 1);
|
||||
|
Reference in New Issue
Block a user