From 55798d4fa222a2673ccca210acf52e2369bc5319 Mon Sep 17 00:00:00 2001 From: Jan Christoph Terasa Date: Sat, 16 Mar 2019 12:58:47 +0100 Subject: [PATCH] Fix PAM overriding self registration settings. --- src/elogd.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/elogd.c b/src/elogd.c index bc9f5500..5a020e59 100755 --- a/src/elogd.c +++ b/src/elogd.c @@ -27500,6 +27500,11 @@ void interprete(char *lbook, char *path) /* check if user in password file */ if (get_user_line(NULL, uname, NULL, full_name, NULL, NULL, NULL, NULL) == 2) { + /* if self registering not allowed, go back to login screen */ + if (!getcfg(group, "Self register", str, sizeof(str)) || atoi(str) == 0) { + show_login_page(NULL, str, 1); + return; + } #ifdef HAVE_PAM /* show new user page if username is not in password file */ getcfg(NULL, "Authentication", str, sizeof(str)); @@ -27508,11 +27513,6 @@ void interprete(char *lbook, char *path) return; } #endif /* HAVE_PAM */ - /* if self registering not allowed, go back to login screen */ - if (!getcfg(group, "Self register", str, sizeof(str)) || atoi(str) == 0) { - show_login_page(NULL, str, 1); - return; - } } /* put encoded password into password file */ @@ -27645,6 +27645,11 @@ void interprete(char *lbook, char *path) /* check if user in password file */ if (get_user_line(lbs, uname, NULL, full_name, NULL, NULL, NULL, &inactive) == 2) { + /* if self registering not allowed, go back to login screen */ + if (!getcfg(lbs->name, "Self register", str, sizeof(str)) || atoi(str) == 0) { + show_login_page(lbs, str, 1); + return; + } #ifdef HAVE_PAM /* show new user page if username is not in password file */ getcfg(lbs->name, "Authentication", str, sizeof(str)); @@ -27653,11 +27658,6 @@ void interprete(char *lbook, char *path) return; } #endif /* HAVE_PAM */ - /* if self registering not allowed, go back to login screen */ - if (!getcfg(lbs->name, "Self register", str, sizeof(str)) || atoi(str) == 0) { - show_login_page(lbs, str, 1); - return; - } } /* show error for inactive account */