Repository: ranger Updated Branches: refs/heads/ranger-0.7 53a7acd0d -> 822e76472
RANGER-2172: Good coding practices for unix authentication Service in Ranger Signed-off-by: Sailaja Polavarapu <spolavar...@hortonworks.com> (cherry picked from commit 1d47302f937e3fe1d565914c578faaf989e54424) Project: http://git-wip-us.apache.org/repos/asf/ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/822e7647 Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/822e7647 Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/822e7647 Branch: refs/heads/ranger-0.7 Commit: 822e76472c787aa1d18985430ecb5d5f0bc6457b Parents: 53a7acd Author: Vishal Suvagia <vishalsuva...@apache.org> Authored: Thu Sep 27 14:28:02 2018 +0530 Committer: Pradeep <prad...@apache.org> Committed: Thu Sep 27 14:30:41 2018 +0530 ---------------------------------------------------------------------- src/main/assembly/usersync.xml | 4 ++-- unixauthnative/src/main/c/credValidator.c | 7 +++++-- unixauthpam/src/main/c/pamCredValidator.c | 9 ++++++--- 3 files changed, 13 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ranger/blob/822e7647/src/main/assembly/usersync.xml ---------------------------------------------------------------------- diff --git a/src/main/assembly/usersync.xml b/src/main/assembly/usersync.xml index 66cf3dd..5d1efe8 100644 --- a/src/main/assembly/usersync.xml +++ b/src/main/assembly/usersync.xml @@ -113,7 +113,7 @@ </fileSet> <fileSet> <directoryMode>755</directoryMode> - <fileMode>755</fileMode> + <fileMode>750</fileMode> <outputDirectory>/native</outputDirectory> <directory>unixauthnative/target</directory> <includes> @@ -122,7 +122,7 @@ </fileSet> <fileSet> <directoryMode>755</directoryMode> - <fileMode>755</fileMode> + <fileMode>750</fileMode> <outputDirectory>/native</outputDirectory> <directory>unixauthpam/target</directory> <includes> http://git-wip-us.apache.org/repos/asf/ranger/blob/822e7647/unixauthnative/src/main/c/credValidator.c ---------------------------------------------------------------------- diff --git a/unixauthnative/src/main/c/credValidator.c b/unixauthnative/src/main/c/credValidator.c index 1c17e92..e426bdd 100644 --- a/unixauthnative/src/main/c/credValidator.c +++ b/unixauthnative/src/main/c/credValidator.c @@ -23,11 +23,14 @@ #include <sys/types.h> #include <crypt.h> +#define STRLEN 64 + int main(int ac, char **av, char **ev) { - char username[64] ; - char password[64] ; + char username[STRLEN] ; + char password[STRLEN] ; char line[512] ; + char format[20]; struct passwd *pwp; struct spwd *spwd ; http://git-wip-us.apache.org/repos/asf/ranger/blob/822e7647/unixauthpam/src/main/c/pamCredValidator.c ---------------------------------------------------------------------- diff --git a/unixauthpam/src/main/c/pamCredValidator.c b/unixauthpam/src/main/c/pamCredValidator.c index 0b45a6f..60d38ae 100644 --- a/unixauthpam/src/main/c/pamCredValidator.c +++ b/unixauthpam/src/main/c/pamCredValidator.c @@ -32,6 +32,8 @@ #include <sys/types.h> #include <security/pam_appl.h> +#define STRLEN 64 + int pamconv(int num_msg, const struct pam_message **msg, struct pam_response **resp, void *appdata_ptr) { if (num_msg != 1 || msg[0]->msg_style != PAM_PROMPT_ECHO_OFF) { fprintf(stderr, "ERROR: Unexpected PAM conversation '%d/%s'\n", msg[0]->msg_style, msg[0]->msg); @@ -56,16 +58,17 @@ struct pam_conv conv = { pamconv, NULL }; int main(int ac, char **av, char **ev) { - char username[64] ; - char password[64] ; + char username[STRLEN] ; + char password[STRLEN] ; char line[512] ; + char format[20]; int retval; pam_handle_t *pamh = NULL; sprintf(format, "LOGIN:%%%ds %%%ds", STRLEN-1, STRLEN-1); fgets(line,512,stdin) ; - sscanf(line, "LOGIN:%s %s",username,password) ; + sscanf(line, format, username,password) ; conv.appdata_ptr = (char *) password; retval = pam_start("ranger-remote", username, &conv, &pamh);