summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.in4
-rw-r--r--src/expiry.c2
-rw-r--r--src/gpasswd.c5
-rw-r--r--src/login.c11
-rw-r--r--src/newgidmap.c4
-rw-r--r--src/newuidmap.c4
-rw-r--r--src/su.c21
-rw-r--r--src/sulogin.c2
8 files changed, 29 insertions, 24 deletions
diff --git a/src/Makefile.in b/src/Makefile.in
index af6b5f97..dc04b877 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -577,9 +577,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign src/Makefile
+ $(AUTOMAKE) --gnu src/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
diff --git a/src/expiry.c b/src/expiry.c
index 4ae47703..41add942 100644
--- a/src/expiry.c
+++ b/src/expiry.c
@@ -58,7 +58,7 @@ static void process_flags (int argc, char **argv);
*/
static RETSIGTYPE catch_signals (unused int sig)
{
- exit (10);
+ _exit (10);
}
/*
diff --git a/src/gpasswd.c b/src/gpasswd.c
index 27ad9599..c4a492b1 100644
--- a/src/gpasswd.c
+++ b/src/gpasswd.c
@@ -169,9 +169,8 @@ static RETSIGTYPE catch_signals (int killed)
}
if (0 != killed) {
- (void) putchar ('\n');
- (void) fflush (stdout);
- exit (killed);
+ (void) write (STDOUT_FILENO, "\n", 1);
+ _exit (killed);
}
}
diff --git a/src/login.c b/src/login.c
index d610844d..2d2e704e 100644
--- a/src/login.c
+++ b/src/login.c
@@ -103,7 +103,7 @@ static bool hflg = false;
static bool preauth_flag = false;
static bool amroot;
-static unsigned int timeout;
+static char tmsg[256];
/*
* External identifiers.
@@ -416,8 +416,8 @@ static void init_env (void)
static RETSIGTYPE alarm_handler (unused int sig)
{
- fprintf (stderr, _("\nLogin timed out after %u seconds.\n"), timeout);
- exit (0);
+ write (STDERR_FILENO, tmsg, strlen (tmsg));
+ _exit (0);
}
#ifdef USE_PAM
@@ -532,6 +532,7 @@ int main (int argc, char **argv)
bool is_console;
#endif
int err;
+ unsigned int timeout;
const char *cp;
const char *tmp;
char fromhost[512];
@@ -698,8 +699,10 @@ int main (int argc, char **argv)
top:
/* only allow ALARM sec. for login */
- (void) signal (SIGALRM, alarm_handler);
timeout = getdef_unum ("LOGIN_TIMEOUT", ALARM);
+ snprintf (tmsg, sizeof tmsg,
+ _("\nLogin timed out after %u seconds.\n"), timeout);
+ (void) signal (SIGALRM, alarm_handler);
if (timeout > 0) {
(void) alarm (timeout);
}
diff --git a/src/newgidmap.c b/src/newgidmap.c
index 451c6a64..b1e33513 100644
--- a/src/newgidmap.c
+++ b/src/newgidmap.c
@@ -56,7 +56,7 @@ static bool verify_range(struct passwd *pw, struct map_range *range)
if (have_sub_gids(pw->pw_name, range->lower, range->count))
return true;
- /* Allow a process to map it's own gid */
+ /* Allow a process to map its own gid */
if ((range->count == 1) && (pw->pw_gid == range->lower))
return true;
@@ -113,7 +113,7 @@ int main(int argc, char **argv)
if (argc < 2)
usage();
- /* Find the process that needs it's user namespace
+ /* Find the process that needs its user namespace
* gid mapping set.
*/
target_str = argv[1];
diff --git a/src/newuidmap.c b/src/newuidmap.c
index 9c8bc1ba..1ba25e7a 100644
--- a/src/newuidmap.c
+++ b/src/newuidmap.c
@@ -56,7 +56,7 @@ static bool verify_range(struct passwd *pw, struct map_range *range)
if (have_sub_uids(pw->pw_name, range->lower, range->count))
return true;
- /* Allow a process to map it's own uid */
+ /* Allow a process to map its own uid */
if ((range->count == 1) && (pw->pw_uid == range->lower))
return true;
@@ -113,7 +113,7 @@ int main(int argc, char **argv)
if (argc < 2)
usage();
- /* Find the process that needs it's user namespace
+ /* Find the process that needs its user namespace
* uid mapping set.
*/
target_str = argv[1];
diff --git a/src/su.c b/src/su.c
index 37042172..93ffd2fb 100644
--- a/src/su.c
+++ b/src/su.c
@@ -105,6 +105,8 @@ static char caller_name[BUFSIZ];
static bool change_environment = true;
#ifdef USE_PAM
+static char kill_msg[256];
+static char wait_msg[256];
static pam_handle_t *pamh = NULL;
static int caught = 0;
/* PID of the child, in case it needs to be killed */
@@ -161,8 +163,7 @@ static RETSIGTYPE die (int killed)
}
if (killed != 0) {
- closelog ();
- exit (128+killed);
+ _exit (128+killed);
}
}
@@ -182,12 +183,11 @@ static RETSIGTYPE kill_child (int unused(s))
{
if (0 != pid_child) {
(void) kill (-pid_child, SIGKILL);
- (void) fputs (_(" ...killed.\n"), stderr);
+ (void) write (STDERR_FILENO, kill_msg, strlen (kill_msg));
} else {
- (void) fputs (_(" ...waiting for child to terminate.\n"),
- stderr);
+ (void) write (STDERR_FILENO, wait_msg, strlen (wait_msg));
}
- exit (255);
+ _exit (255);
}
#endif /* USE_PAM */
@@ -373,6 +373,9 @@ static void prepare_pam_close_session (void)
stderr);
(void) kill (-pid_child, caught);
+ snprintf (kill_msg, 256, _(" ...killed.\n"));
+ snprintf (wait_msg, 256, _(" ...waiting for child to terminate.\n"));
+
(void) signal (SIGALRM, kill_child);
(void) alarm (2);
@@ -422,7 +425,7 @@ static void check_perms_pam (const struct passwd *pw)
int ret;
ret = pam_authenticate (pamh, 0);
if (PAM_SUCCESS != ret) {
- SYSLOG ((LOG_ERR, "pam_authenticate: %s",
+ SYSLOG (((pw->pw_uid != 0)? LOG_NOTICE : LOG_WARN, "pam_authenticate: %s",
pam_strerror (pamh, ret)));
fprintf (stderr, _("%s: %s\n"), Prog, pam_strerror (pamh, ret));
(void) pam_end (pamh, ret);
@@ -585,7 +588,7 @@ static /*@only@*/struct passwd * check_perms (void)
if (NULL == pw) {
(void) fprintf (stderr,
_("No passwd entry for user '%s'\n"), name);
- SYSLOG ((LOG_ERR, "No passwd entry for user '%s'", name));
+ SYSLOG ((LOG_NOTICE, "No passwd entry for user '%s'", name));
su_failure (caller_tty, true);
}
@@ -615,7 +618,7 @@ static /*@only@*/struct passwd * check_perms (void)
(void) fprintf (stderr,
_("No passwd entry for user '%s'\n"),
name);
- SYSLOG ((LOG_ERR,
+ SYSLOG ((LOG_NOTICE,
"No passwd entry for user '%s'", name));
su_failure (caller_tty, true);
}
diff --git a/src/sulogin.c b/src/sulogin.c
index ccbf2c5d..4264099b 100644
--- a/src/sulogin.c
+++ b/src/sulogin.c
@@ -70,7 +70,7 @@ static RETSIGTYPE catch_signals (int);
static RETSIGTYPE catch_signals (unused int sig)
{
- exit (1);
+ _exit (1);
}
/*