int main(int argc, char **argv) { char* pw, *crypted_pw; crypt_mechs_root = (crypt_mechs_t*)MyMalloc(sizeof(crypt_mechs_t)); crypt_mechs_root->mech = NULL; crypt_mechs_root->next = crypt_mechs_root->prev = NULL; if (argc < 2) { show_help(); exit(0); } pw = parse_arguments(argc, argv); load_mechs(); if (NULL == umkpasswd_conf->mech) { fprintf(stderr, "No mechanism specified.\n"); abort(); } if (NULL == pw) { pw = getpass("Password: "******"Crypted Pass: %s\n", crypted_pw); memset(pw, 0, strlen(pw)); return 0; }
void add_user_db(char *username, char *passwd, char *homedirectory) { char *crypt_passwd; if ((!(*username)) || (!(*passwd)) || (!(*homedirectory))) { write_stdout("<missing one or several arguments>\n"); exit(1); } crypt_passwd = crypt_pass(passwd); if (my_strcmp(crypt_passwd, "") == 0) { write_stdout("<invalid argument>\n"); exit(1); } create_user_db(username, crypt_passwd, homedirectory); }