summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--scp.c39
-rw-r--r--sftp.c8
3 files changed, 12 insertions, 42 deletions
diff --git a/ChangeLog b/ChangeLog
index 49f76a5e6..428606415 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -22,6 +22,11 @@
22 - (djm) Convert mandoc manpages to man automatically. Patch from Mark D. 22 - (djm) Convert mandoc manpages to man automatically. Patch from Mark D.
23 Roth <roth+openssh@feep.net> 23 Roth <roth+openssh@feep.net>
24 - (bal) CVS ID fix up and slight manpage fix from OpenBSD tree. 24 - (bal) CVS ID fix up and slight manpage fix from OpenBSD tree.
25 - (djm) OpenBSD CVS Sync
26 - mouring@cvs.openbsd.org 2001/04/16 02:31:44
27 [scp.c sftp.c]
28 IPv6 support for sftp (which I bungled in my last patch) which is
29 borrowed from scp.c. Thanks to Markus@ for pointing it out.
25 30
2620010415 3120010415
27 - OpenBSD CVS Sync 32 - OpenBSD CVS Sync
@@ -5107,4 +5112,4 @@
5107 - Wrote replacements for strlcpy and mkdtemp 5112 - Wrote replacements for strlcpy and mkdtemp
5108 - Released 1.0pre1 5113 - Released 1.0pre1
5109 5114
5110$Id: ChangeLog,v 1.1124 2001/04/16 02:13:26 mouring Exp $ 5115$Id: ChangeLog,v 1.1125 2001/04/16 08:26:41 djm Exp $
diff --git a/scp.c b/scp.c
index ef8ed9f28..0c4400f67 100644
--- a/scp.c
+++ b/scp.c
@@ -75,7 +75,7 @@
75 */ 75 */
76 76
77#include "includes.h" 77#include "includes.h"
78RCSID("$OpenBSD: scp.c,v 1.66 2001/04/14 17:04:42 stevesk Exp $"); 78RCSID("$OpenBSD: scp.c,v 1.67 2001/04/16 02:31:43 mouring Exp $");
79 79
80#include "xmalloc.h" 80#include "xmalloc.h"
81#include "atomicio.h" 81#include "atomicio.h"
@@ -203,7 +203,6 @@ typedef struct {
203} BUF; 203} BUF;
204 204
205BUF *allocbuf(BUF *, int, int); 205BUF *allocbuf(BUF *, int, int);
206char *colon(char *);
207void lostconn(int); 206void lostconn(int);
208void nospace(void); 207void nospace(void);
209int okname(char *); 208int okname(char *);
@@ -223,7 +222,6 @@ void rsource(char *, struct stat *);
223void sink(int, char *[]); 222void sink(int, char *[]);
224void source(int, char *[]); 223void source(int, char *[]);
225void tolocal(int, char *[]); 224void tolocal(int, char *[]);
226char *cleanhostname(char *);
227void toremote(char *, int, char *[]); 225void toremote(char *, int, char *[]);
228void usage(void); 226void usage(void);
229 227
@@ -345,17 +343,6 @@ main(argc, argv)
345 exit(errs != 0); 343 exit(errs != 0);
346} 344}
347 345
348char *
349cleanhostname(host)
350 char *host;
351{
352 if (*host == '[' && host[strlen(host) - 1] == ']') {
353 host[strlen(host) - 1] = '\0';
354 return (host + 1);
355 } else
356 return host;
357}
358
359void 346void
360toremote(targ, argc, argv) 347toremote(targ, argc, argv)
361 char *targ, *argv[]; 348 char *targ, *argv[];
@@ -1000,30 +987,6 @@ run_err(const char *fmt,...)
1000 } 987 }
1001} 988}
1002 989
1003char *
1004colon(cp)
1005 char *cp;
1006{
1007 int flag = 0;
1008
1009 if (*cp == ':') /* Leading colon is part of file name. */
1010 return (0);
1011 if (*cp == '[')
1012 flag = 1;
1013
1014 for (; *cp; ++cp) {
1015 if (*cp == '@' && *(cp+1) == '[')
1016 flag = 1;
1017 if (*cp == ']' && *(cp+1) == ':' && flag)
1018 return (cp+1);
1019 if (*cp == ':' && !flag)
1020 return (cp);
1021 if (*cp == '/')
1022 return (0);
1023 }
1024 return (0);
1025}
1026
1027void 990void
1028verifydir(cp) 991verifydir(cp)
1029 char *cp; 992 char *cp;
diff --git a/sftp.c b/sftp.c
index 911a04f24..8c887fbcf 100644
--- a/sftp.c
+++ b/sftp.c
@@ -24,10 +24,9 @@
24 24
25#include "includes.h" 25#include "includes.h"
26 26
27RCSID("$OpenBSD: sftp.c,v 1.14 2001/04/12 23:17:54 mouring Exp $"); 27RCSID("$OpenBSD: sftp.c,v 1.15 2001/04/16 02:31:44 mouring Exp $");
28 28
29/* XXX: commandline mode */ 29/* XXX: commandline mode */
30/* XXX: copy between two remote hosts (commandline) */
31/* XXX: short-form remote directory listings (like 'ls -C') */ 30/* XXX: short-form remote directory listings (like 'ls -C') */
32 31
33#include "buffer.h" 32#include "buffer.h"
@@ -46,6 +45,8 @@ extern char *__progname;
46char *__progname; 45char *__progname;
47#endif 46#endif
48 47
48#include "scp-common.h"
49
49int use_ssh1 = 0; 50int use_ssh1 = 0;
50char *ssh_program = _PATH_SSH_PROGRAM; 51char *ssh_program = _PATH_SSH_PROGRAM;
51char *sftp_server = NULL; 52char *sftp_server = NULL;
@@ -209,7 +210,7 @@ main(int argc, char **argv)
209 userhost = xstrdup(argv[optind]); 210 userhost = xstrdup(argv[optind]);
210 file2 = argv[optind+1]; 211 file2 = argv[optind+1];
211 212
212 if ((cp = strchr(userhost, ':')) != NULL) { 213 if ((cp = colon(userhost)) != NULL) {
213 *cp++ = '\0'; 214 *cp++ = '\0';
214 file1 = cp; 215 file1 = cp;
215 } 216 }
@@ -226,6 +227,7 @@ main(int argc, char **argv)
226 make_ssh_args(userhost); 227 make_ssh_args(userhost);
227 } 228 }
228 229
230 host = cleanhostname(host);
229 if (!*host) { 231 if (!*host) {
230 fprintf(stderr, "Missing hostname\n"); 232 fprintf(stderr, "Missing hostname\n");
231 usage(); 233 usage();