X-Git-Url: http://git.bytex64.net/?a=blobdiff_plain;f=auth.c;h=0a3a8f5c664c07f0d1175f66679c5ad6c3a6e332;hb=5cb7a8ed8b5f1b0d5cb23c8afc069d4958aa8596;hp=6ce78b249232e81fffe02619e030554eeb6e9599;hpb=c4025f5d80dc8f3f15ee6814ac689b9eee1dba10;p=blerg.git diff --git a/auth.c b/auth.c index 6ce78b2..0a3a8f5 100644 --- a/auth.c +++ b/auth.c @@ -21,10 +21,10 @@ int auth_set_password(const char *username, const char *password) { return 1; } -int auth_check_password(const char *username, const char *password) { +int auth_get_password(const char *username, char *password) { char filename[512]; - char epw[33]; - int fd, len; + int fd; + int len = 0; sprintf(filename, "%s/%s/password", DATA_PATH, username); fd = open(filename, O_RDONLY); @@ -33,6 +33,17 @@ int auth_check_password(const char *username, const char *password) { len = read(fd, password, 32); close(fd); + password[len] = 0; + + return 1; +} + +int auth_check_password(const char *username, const char *password) { + char epw[33]; + + if (auth_get_password(username, epw) == 0) + return 0; + if (strncmp(password, epw, 32) == 0) return 1; else