[openssh-commits] [openssh] 04/04: upstream: Check for user at host when parsing sftp target. This

git+noreply at mindrot.org git+noreply at mindrot.org
Sat Jun 8 00:26:03 AEST 2019


This is an automated email from the git hooks/post-receive script.

dtucker pushed a commit to branch master
in repository openssh.

commit 25e3bccbaa63d27b9d5e09c123f1eb28594d2bd6
Author: dtucker at openbsd.org <dtucker at openbsd.org>
Date:   Fri Jun 7 03:47:12 2019 +0000

    upstream: Check for user at host when parsing sftp target. This
    
    allows user@[1.2.3.4] to work without a path in addition to with one.
    bz#2999, ok djm@
    
    OpenBSD-Commit-ID: d989217110932490ba8ce92127a9a6838878928b
---
 sftp.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/sftp.c b/sftp.c
index 04881c83..03c7a5c7 100644
--- a/sftp.c
+++ b/sftp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sftp.c,v 1.191 2019/06/06 05:13:13 otto Exp $ */
+/* $OpenBSD: sftp.c,v 1.192 2019/06/07 03:47:12 dtucker Exp $ */
 /*
  * Copyright (c) 2001-2004 Damien Miller <djm at openbsd.org>
  *
@@ -2527,12 +2527,17 @@ main(int argc, char **argv)
 				port = tmp;
 			break;
 		default:
+			/* Try with user, host and path. */
 			if (parse_user_host_path(*argv, &user, &host,
-			    &file1) == -1) {
-				/* Treat as a plain hostname. */
-				host = xstrdup(*argv);
-				host = cleanhostname(host);
-			}
+			    &file1) == 0)
+				break;
+			/* Try with user and host. */
+			if (parse_user_host_port(*argv, &user, &host, NULL)
+			    == 0)
+				break;
+			/* Treat as a plain hostname. */
+			host = xstrdup(*argv);
+			host = cleanhostname(host);
 			break;
 		}
 		file2 = *(argv + 1);

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list