]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream commit
authordjm@openbsd.org <djm@openbsd.org>
Fri, 18 Aug 2017 05:48:04 +0000 (05:48 +0000)
committerDamien Miller <djm@mindrot.org>
Wed, 23 Aug 2017 09:47:06 +0000 (19:47 +1000)
add a "quiet" flag to exited_cleanly() that supresses
errors about exit status (failure due to signal is still reported)

Upstream-ID: db85c39c3aa08e6ff67fc1fb4ffa89f807a9d2f0

auth2-pubkey.c
misc.c
misc.h

index 0b1e88deb093c7bc95efe0fe69076f65fc060d28..e1845d7d5a2fc717fbd7ffa9053a3518092b7c92 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth2-pubkey.c,v 1.69 2017/08/18 05:36:45 djm Exp $ */
+/* $OpenBSD: auth2-pubkey.c,v 1.70 2017/08/18 05:48:04 djm Exp $ */
 /*
  * Copyright (c) 2000 Markus Friedl.  All rights reserved.
  *
@@ -437,7 +437,7 @@ match_principals_command(struct passwd *user_pw, const struct sshkey *key)
        fclose(f);
        f = NULL;
 
-       if (exited_cleanly(pid, "AuthorizedPrincipalsCommand", command) != 0)
+       if (exited_cleanly(pid, "AuthorizedPrincipalsCommand", command, 0) != 0)
                goto out;
 
        /* Read completed successfully */
@@ -767,7 +767,7 @@ user_key_command_allowed2(struct passwd *user_pw, struct sshkey *key)
        fclose(f);
        f = NULL;
 
-       if (exited_cleanly(pid, "AuthorizedKeysCommand", command) != 0)
+       if (exited_cleanly(pid, "AuthorizedKeysCommand", command, 0) != 0)
                goto out;
 
        /* Read completed successfully */
diff --git a/misc.c b/misc.c
index 8398f0b36ff8129ee72e213c6ea6c936c55cd648..73723d1971fb9457ef682e52b3cfce169a82a0af 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: misc.c,v 1.112 2017/08/18 05:36:45 djm Exp $ */
+/* $OpenBSD: misc.c,v 1.113 2017/08/18 05:48:04 djm Exp $ */
 /*
  * Copyright (c) 2000 Markus Friedl.  All rights reserved.
  * Copyright (c) 2005,2006 Damien Miller.  All rights reserved.
@@ -1570,7 +1570,7 @@ subprocess(const char *tag, struct passwd *pw, const char *command,
 
 /* Returns 0 if pid exited cleanly, non-zero otherwise */
 int
-exited_cleanly(pid_t pid, const char *tag, const char *cmd)
+exited_cleanly(pid_t pid, const char *tag, const char *cmd, int quiet)
 {
        int status;
 
@@ -1584,7 +1584,8 @@ exited_cleanly(pid_t pid, const char *tag, const char *cmd)
                error("%s %s exited on signal %d", tag, cmd, WTERMSIG(status));
                return -1;
        } else if (WEXITSTATUS(status) != 0) {
-               error("%s %s failed, status %d", tag, cmd, WEXITSTATUS(status));
+               do_log2(quiet ? SYSLOG_LEVEL_DEBUG1 : SYSLOG_LEVEL_INFO,
+                   "%s %s failed, status %d", tag, cmd, WEXITSTATUS(status));
                return -1;
        }
        return 0;
diff --git a/misc.h b/misc.h
index 617f87675fbe8179e0a28e789479d4c35282815d..153d11375bf56e05358e13d2c38d530797195da8 100644 (file)
--- a/misc.h
+++ b/misc.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: misc.h,v 1.62 2017/08/18 05:36:45 djm Exp $ */
+/* $OpenBSD: misc.h,v 1.63 2017/08/18 05:48:04 djm Exp $ */
 
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -138,7 +138,7 @@ void         child_set_env(char ***envp, u_int *envsizep, const char *name,
 
 int     argv_split(const char *, int *, char ***);
 char   *argv_assemble(int, char **argv);
-int     exited_cleanly(pid_t, const char *, const char *);
+int     exited_cleanly(pid_t, const char *, const char *, int);
 
 #define SSH_SUBPROCESS_STDOUT_DISCARD  (1)     /* Discard stdout */
 #define SSH_SUBPROCESS_STDOUT_CAPTURE  (1<<1)  /* Redirect stdout */