You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by bo...@apache.org on 2016/11/04 02:57:36 UTC
incubator-ranger git commit: RANGER-1187:call pam_end before exit
Repository: incubator-ranger
Updated Branches:
refs/heads/master 92d20fe1d -> 85f272920
RANGER-1187:call pam_end before exit
Signed-off-by: Don Bosco Durai <bo...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/85f27292
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/85f27292
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/85f27292
Branch: refs/heads/master
Commit: 85f27292053d2a08c16b61ac40b4088d55da5d85
Parents: 92d20fe
Author: zhangqiang2 <zh...@zte.com.cn>
Authored: Fri Oct 28 18:15:59 2016 +0800
Committer: Don Bosco Durai <bo...@apache.org>
Committed: Thu Nov 3 19:56:19 2016 -0700
----------------------------------------------------------------------
unixauthpam/src/main/c/pamCredValidator.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/85f27292/unixauthpam/src/main/c/pamCredValidator.c
----------------------------------------------------------------------
diff --git a/unixauthpam/src/main/c/pamCredValidator.c b/unixauthpam/src/main/c/pamCredValidator.c
index ab19080..df84a3e 100644
--- a/unixauthpam/src/main/c/pamCredValidator.c
+++ b/unixauthpam/src/main/c/pamCredValidator.c
@@ -71,12 +71,18 @@ int main(int ac, char **av, char **ev)
if (retval != PAM_SUCCESS) {
/* why expose this? */
fprintf(stdout, "FAILED: [%s] does not exists.\n", username) ;
+ if (pamh) {
+ pam_end(pamh, retval);
+ }
exit(1);
}
retval = pam_authenticate(pamh, 0);
if (retval != PAM_SUCCESS) {
fprintf(stdout, "FAILED: Password did not match.\n") ;
+ if (pamh) {
+ pam_end(pamh, retval);
+ }
exit(1);
}
@@ -84,12 +90,18 @@ int main(int ac, char **av, char **ev)
retval = pam_acct_mgmt(pamh, 0);
if (retval != PAM_SUCCESS) {
fprintf(stdout, "FAILED: [%s] is not authorized.\n", username) ;
+ if (pamh) {
+ pam_end(pamh, retval);
+ }
exit(1);
}
/* establish the requested credentials */
if ((retval = pam_setcred(pamh, PAM_ESTABLISH_CRED)) != PAM_SUCCESS) {
fprintf(stdout, "FAILED: Error setting credentials for [%s].\n", username) ;
+ if (pamh) {
+ pam_end(pamh, retval);
+ }
exit(1);
}