Add some server debugging for hostbased auth.
authordtucker <dtucker@openbsd.org>
Fri, 9 Dec 2022 00:17:40 +0000 (00:17 +0000)
committerdtucker <dtucker@openbsd.org>
Fri, 9 Dec 2022 00:17:40 +0000 (00:17 +0000)
auth_debug_add queues messages about the auth process which is sent to
the client after successful authentication.  This also sends those to
the server debug log to aid in debugging.  From bz#3507, ok djm@

usr.bin/ssh/auth-rhosts.c
usr.bin/ssh/auth.c

index 2771fa5..07f7553 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth-rhosts.c,v 1.56 2022/02/23 21:21:49 djm Exp $ */
+/* $OpenBSD: auth-rhosts.c,v 1.57 2022/12/09 00:17:40 dtucker Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -17,6 +17,7 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 
+#include <errno.h>
 #include <fcntl.h>
 #include <netgroup.h>
 #include <pwd.h>
@@ -279,6 +280,7 @@ auth_rhosts2(struct passwd *pw, const char *client_user, const char *hostname,
                xasprintf(&path, "%s/%s",
                    pw->pw_dir, rhosts_files[rhosts_file_index]);
                if (stat(path, &st) == -1) {
+                       debug3_f("stat %s: %s", path, strerror(errno));
                        free(path);
                        continue;
                }
index 4cb50e5..7d60d15 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth.c,v 1.158 2022/06/03 04:47:21 djm Exp $ */
+/* $OpenBSD: auth.c,v 1.159 2022/12/09 00:17:40 dtucker Exp $ */
 /*
  * Copyright (c) 2000 Markus Friedl.  All rights reserved.
  *
@@ -500,14 +500,13 @@ auth_debug_add(const char *fmt,...)
        va_list args;
        int r;
 
-       if (auth_debug == NULL)
-               return;
-
        va_start(args, fmt);
        vsnprintf(buf, sizeof(buf), fmt, args);
        va_end(args);
-       if ((r = sshbuf_put_cstring(auth_debug, buf)) != 0)
-               fatal_fr(r, "sshbuf_put_cstring");
+       debug3("%s", buf);
+       if (auth_debug != NULL)
+               if ((r = sshbuf_put_cstring(auth_debug, buf)) != 0)
+                       fatal_fr(r, "sshbuf_put_cstring");
 }
 
 void