diff options
author | Tomas Mraz <tm@t8m.info> | 2005-09-17 09:08:01 +0000 |
---|---|---|
committer | Tomas Mraz <tm@t8m.info> | 2005-09-17 09:08:01 +0000 |
commit | 892e8a4e2cc4e877d7f73c8aa1a0f9e56a54517e (patch) | |
tree | 0812b003f3e4bf07aa52cd7b09a463a85694fa89 /modules/pam_env | |
parent | 7d2aa22b82ff4c7c0737e11ca6a19abbf57ab4db (diff) | |
download | pam-892e8a4e2cc4e877d7f73c8aa1a0f9e56a54517e.tar.gz pam-892e8a4e2cc4e877d7f73c8aa1a0f9e56a54517e.tar.bz2 pam-892e8a4e2cc4e877d7f73c8aa1a0f9e56a54517e.zip |
Relevant BUGIDs:
Purpose of commit: cleanup
Commit summary:
---------------
Improved logging, code cleanup (by ldv)
Diffstat (limited to 'modules/pam_env')
-rw-r--r-- | modules/pam_env/pam_env.c | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/modules/pam_env/pam_env.c b/modules/pam_env/pam_env.c index 0915b0a8..9992bddb 100644 --- a/modules/pam_env/pam_env.c +++ b/modules/pam_env/pam_env.c @@ -1,4 +1,4 @@ -/* pam_mail module */ +/* pam_env module */ /* * $Id$ @@ -99,7 +99,7 @@ _pam_parse (const pam_handle_t *pamh, int argc, const char **argv, D(("new Configuration File: %s", *conffile)); ctrl |= PAM_NEW_CONF_FILE; } else { - pam_syslog(pamh, LOG_CRIT, + pam_syslog(pamh, LOG_ERR, "Configuration file specification missing argument - ignored"); } } else if (!strncmp(*argv,"envfile=",8)) { @@ -108,13 +108,13 @@ _pam_parse (const pam_handle_t *pamh, int argc, const char **argv, D(("new Env File: %s", *envfile)); ctrl |= PAM_NEW_ENV_FILE; } else { - pam_syslog (pamh, LOG_CRIT, + pam_syslog (pamh, LOG_ERR, "Env file specification missing argument - ignored"); } } else if (!strncmp(*argv,"readenv=",8)) *readenv = atoi(8+*argv); else - pam_syslog(pamh,LOG_ERR,"pam_parse: unknown option; %s",*argv); + pam_syslog(pamh, LOG_ERR, "unknown option: %s", *argv); } return ctrl; @@ -145,8 +145,7 @@ static int _parse_config_file(pam_handle_t *pamh, int ctrl, char **conffile) */ if ((conf = fopen(file,"r")) == NULL) { - pam_syslog(pamh, LOG_ERR, "Unable to open config file: %s", - strerror(errno)); + pam_syslog(pamh, LOG_ERR, "Unable to open config file: %s: %m", file); return PAM_IGNORE; } @@ -201,8 +200,8 @@ static int _parse_env_file(pam_handle_t *pamh, int ctrl, char **env_file) D(("Env file name is: %s", file)); if ((conf = fopen(file,"r")) == NULL) { - D(("Unable to open env file: %s", strerror(errno))); - return PAM_ABORT; + pam_syslog(pamh, LOG_ERR, "Unable to open env file: %s: %m", file); + return PAM_SERVICE_ERR; } while (_assemble_line(conf, buffer, BUF_SIZE) > 0) { @@ -687,18 +686,16 @@ static int _define_var(pam_handle_t *pamh, VAR *var) /* We have a variable to define, this is a simple function */ char *envvar; - int size, retval=PAM_SUCCESS; + int retval = PAM_SUCCESS; D(("Called.")); - size = strlen(var->name)+strlen(var->value)+2; - if ((envvar = malloc(size)) == NULL) { - D(("Malloc fail, size = %d", size)); - pam_syslog(pamh, LOG_ERR, "Malloc fail, size = %d", size); + if (asprintf(&envvar, "%s=%s", var->name, var->value) < 0) { + pam_syslog(pamh, LOG_ERR, "out of memory"); return PAM_BUF_ERR; } - (void) sprintf(envvar,"%s=%s",var->name,var->value); + retval = pam_putenv(pamh, envvar); - free(envvar); envvar=NULL; + _pam_drop(envvar); D(("Exit.")); return retval; } |