Add /info endpoint
[blerg.git] / auth.c
diff --git a/auth.c b/auth.c
index 6ce78b2..0a3a8f5 100644 (file)
--- 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