|
| static int | unhex (unsigned char x) |
| static int | initialize_libgcrypt (void) |
| static int | parse_minimum_uid (const char *value, uid_t *uid) |
| static int | validate_opened_file (int fd, const char *path) |
| static int | open_credential_file (const char *path, int access_mode) |
| static int | find_append_position (FILE *fp, const char *path, off_t *pos) |
| static int | open_credential_for_replacement (const char *path) |
| static int | randnum_make_keypath (const char *path, char *keypath, size_t keypath_size) |
| static int | randnum_read_keyfd (int keyfd, uint8_t key[DES_KEY_SZ], const char *keypath) |
| static int | randnum_open_keyfile (const char *path, int *keyfd_out) |
| static int | randnum_write_keyfile (const char *keypath) |
| static int | randnum_ensure_keyfile (const char *path, int flags) |
| static int | convert_passwd (char *passwd_buf, char *newpwd, const int keyfd) |
| static int | srp_compute_verifier (const char *username, const char *password, const unsigned char *salt, unsigned char *v_out) |
| static void | srp_encode_hex (char *out_hex, const unsigned char *salt, const unsigned char *verifier) |
| static int | open_srp_verifier_directory (const char *path) |
| static int | srp_uid_filename (uid_t uid, char *name, size_t size) |
| static int | validate_srp_verifier_file (int fd, uid_t uid, const char *path, int administrative) |
| static int | open_srp_verifier (int dirfd, const char *path, uid_t uid, int create) |
| static int | update_srp_passwd (const char *path, const char *name, uid_t uid, int flags, const char *pass) |
| static int | disable_srp_verifier (const char *path, const char *name, uid_t uid) |
| static int | create_srp_directory (const char *path, uid_t minuid) |
| static int | valid_hex_or_disabled (const char *field, size_t len) |
| static int | valid_randnum_record (const char *fields) |
| static int | update_passwd (const char *path, const char *name, int flags, const char *pass) |
| static int | create_file (const char *path, uid_t minuid) |
| static void | print_usage (void) |
| int | main (int argc, char **argv) |
AFP user password utility.
Supports two modes:
SRP mode (default): Manages one SRP verifier file per numeric UID for use with the SRP UAM. Format: username:hex_salt(32):hex_verifier(384)
RandNum mode (-r flag): Manages legacy password file for use with the RandNum UAM. Format: username:hex_password(16):last_login(16):fail_count(8)