- (djm) Convert mandoc manpages to man automatically. Patch from Mark D.
Roth <roth+openssh@feep.net>
- (bal) CVS ID fix up and slight manpage fix from OpenBSD tree.
+ - (djm) OpenBSD CVS Sync
+ - mouring@cvs.openbsd.org 2001/04/16 02:31:44
+ [scp.c sftp.c]
+ IPv6 support for sftp (which I bungled in my last patch) which is
+ borrowed from scp.c. Thanks to Markus@ for pointing it out.
20010415
- OpenBSD CVS Sync
*/
#include "includes.h"
-RCSID("$OpenBSD: scp.c,v 1.66 2001/04/14 17:04:42 stevesk Exp $");
+RCSID("$OpenBSD: scp.c,v 1.67 2001/04/16 02:31:43 mouring Exp $");
#include "xmalloc.h"
#include "atomicio.h"
} BUF;
BUF *allocbuf(BUF *, int, int);
-char *colon(char *);
void lostconn(int);
void nospace(void);
int okname(char *);
void sink(int, char *[]);
void source(int, char *[]);
void tolocal(int, char *[]);
-char *cleanhostname(char *);
void toremote(char *, int, char *[]);
void usage(void);
exit(errs != 0);
}
-char *
-cleanhostname(host)
- char *host;
-{
- if (*host == '[' && host[strlen(host) - 1] == ']') {
- host[strlen(host) - 1] = '\0';
- return (host + 1);
- } else
- return host;
-}
-
void
toremote(targ, argc, argv)
char *targ, *argv[];
}
}
-char *
-colon(cp)
- char *cp;
-{
- int flag = 0;
-
- if (*cp == ':') /* Leading colon is part of file name. */
- return (0);
- if (*cp == '[')
- flag = 1;
-
- for (; *cp; ++cp) {
- if (*cp == '@' && *(cp+1) == '[')
- flag = 1;
- if (*cp == ']' && *(cp+1) == ':' && flag)
- return (cp+1);
- if (*cp == ':' && !flag)
- return (cp);
- if (*cp == '/')
- return (0);
- }
- return (0);
-}
-
void
verifydir(cp)
char *cp;
#include "includes.h"
-RCSID("$OpenBSD: sftp.c,v 1.14 2001/04/12 23:17:54 mouring Exp $");
+RCSID("$OpenBSD: sftp.c,v 1.15 2001/04/16 02:31:44 mouring Exp $");
/* XXX: commandline mode */
-/* XXX: copy between two remote hosts (commandline) */
/* XXX: short-form remote directory listings (like 'ls -C') */
#include "buffer.h"
char *__progname;
#endif
+#include "scp-common.h"
+
int use_ssh1 = 0;
char *ssh_program = _PATH_SSH_PROGRAM;
char *sftp_server = NULL;
userhost = xstrdup(argv[optind]);
file2 = argv[optind+1];
- if ((cp = strchr(userhost, ':')) != NULL) {
+ if ((cp = colon(userhost)) != NULL) {
*cp++ = '\0';
file1 = cp;
}
make_ssh_args(userhost);
}
+ host = cleanhostname(host);
if (!*host) {
fprintf(stderr, "Missing hostname\n");
usage();