version 1.13, 2002/01/14 00:11:44 |
version 1.14, 2002/01/15 02:17:03 |
|
|
log_error(NO_MAIL|MSG_ONLY, "no passwd entry for %s!", *user_runas); |
log_error(NO_MAIL|MSG_ONLY, "no passwd entry for %s!", *user_runas); |
} |
} |
|
|
/* Build up custom environment that avoids any nasty bits. */ |
|
new_environ = rebuild_env(sudo_mode, envp); |
|
|
|
/* This goes after the sudoers parse since we honor sudoers options. */ |
/* This goes after the sudoers parse since we honor sudoers options. */ |
if (sudo_mode == MODE_KILL || sudo_mode == MODE_INVALIDATE) { |
if (sudo_mode == MODE_KILL || sudo_mode == MODE_INVALIDATE) { |
remove_timestamp((sudo_mode == MODE_KILL)); |
remove_timestamp((sudo_mode == MODE_KILL)); |
|
|
if (!(validated & FLAG_NOPASS)) |
if (!(validated & FLAG_NOPASS)) |
check_user(); |
check_user(); |
|
|
|
/* Build up custom environment that avoids any nasty bits. */ |
|
new_environ = rebuild_env(sudo_mode, envp); |
|
|
if (validated & VALIDATE_OK) { |
if (validated & VALIDATE_OK) { |
/* Finally tell the user if the command did not exist. */ |
/* Finally tell the user if the command did not exist. */ |
if (cmnd_status == NOT_FOUND_DOT) { |
if (cmnd_status == NOT_FOUND_DOT) { |
|
|
struct hostent *hp; |
struct hostent *hp; |
char *p; |
char *p; |
|
|
if (def_flag(I_FQDN)) { |
if (!(hp = gethostbyname(user_host))) { |
if (!(hp = gethostbyname(user_host))) { |
log_error(MSG_ONLY|NO_EXIT, |
log_error(MSG_ONLY|NO_EXIT, |
"unable to lookup %s via gethostbyname()", user_host); |
"unable to lookup %s via gethostbyname()", user_host); |
} else { |
} else { |
if (user_shost != user_host) |
free(user_host); |
free(user_shost); |
user_host = estrdup(hp->h_name); |
free(user_host); |
} |
user_host = estrdup(hp->h_name); |
} |
} |
if (user_shost != user_host) |
|
free(user_shost); |
|
if ((p = strchr(user_host, '.'))) { |
if ((p = strchr(user_host, '.'))) { |
*p = '\0'; |
*p = '\0'; |
user_shost = estrdup(user_host); |
user_shost = estrdup(user_host); |