aboutsummaryrefslogtreecommitdiff
path: root/src/appl/gssftp
diff options
context:
space:
mode:
Diffstat (limited to 'src/appl/gssftp')
-rw-r--r--src/appl/gssftp/ChangeLog10
-rw-r--r--src/appl/gssftp/configure.in14
-rw-r--r--src/appl/gssftp/ftp/ChangeLog13
-rw-r--r--src/appl/gssftp/ftp/cmds.c10
-rw-r--r--src/appl/gssftp/ftp/ftp.c8
-rw-r--r--src/appl/gssftp/ftp/ftp_var.h2
-rw-r--r--src/appl/gssftp/ftp/pclose.c5
-rw-r--r--src/appl/gssftp/ftpd/ChangeLog8
-rw-r--r--src/appl/gssftp/ftpd/Makefile.in3
-rw-r--r--src/appl/gssftp/ftpd/ftpd.c5
-rw-r--r--src/appl/gssftp/ftpd/popen.c5
11 files changed, 44 insertions, 39 deletions
diff --git a/src/appl/gssftp/ChangeLog b/src/appl/gssftp/ChangeLog
index 9f184f7..2a6a5fd 100644
--- a/src/appl/gssftp/ChangeLog
+++ b/src/appl/gssftp/ChangeLog
@@ -1,3 +1,13 @@
+2003-06-05 Sam Hartman <hartmans@mit.edu>
+
+ * configure.in: Don't check for vfork as we no longer use it
+
+2003-05-23 Ken Raeburn <raeburn@mit.edu>
+
+ * configure.in: Don't use libkrb524.a any more.
+ * ftpd.c: Don't include krb524.h.
+ (main): Don't call krb524_init_ets.
+
2003-01-10 Ken Raeburn <raeburn@mit.edu>
* configure.in: Use V5_AC_OUTPUT_MAKEFILE instead of
diff --git a/src/appl/gssftp/configure.in b/src/appl/gssftp/configure.in
index 35ca40e..bf6d3b8 100644
--- a/src/appl/gssftp/configure.in
+++ b/src/appl/gssftp/configure.in
@@ -12,7 +12,6 @@ DECLARE_SYS_ERRLIST
AC_CHECK_SIZEOF(short)
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(long)
-AC_FUNC_VFORK
AC_HEADER_STDARG
AC_CHECK_HEADER(termios.h,[AC_CHECK_FUNC(cfsetispeed,AC_DEFINE(POSIX_TERMIOS))])
AC_CHECK_HEADERS(unistd.h stdlib.h string.h sys/select.h sys/sockio.h paths.h)
@@ -53,19 +52,6 @@ AC_MSG_RESULT($krb5_cv_shadow_pwd)
if test $krb5_cv_shadow_pwd = yes; then
AC_DEFINE(HAVE_SHADOW)
fi
-AC_ARG_WITH([krb4],
-[ --without-krb4 don't include Kerberos V4 backwards compatibility
- --with-krb4 use V4 libraries included with V5 (default)
- --with-krb4=KRB4DIR use preinstalled V4 libraries],
-,
-withval=yes
-)dnl
-if test $withval = no; then
- AC_MSG_RESULT(no krb4 support)
-else
- AC_MSG_RESULT(Adding in krb4 support)
- FTPD_LIBS="../../../krb524/libkrb524.a"
-fi
case $krb5_cv_host in
alpha*-dec-osf*)
AC_CHECK_LIB(security,setluid,
diff --git a/src/appl/gssftp/ftp/ChangeLog b/src/appl/gssftp/ftp/ChangeLog
index ba67eb5..445734f 100644
--- a/src/appl/gssftp/ftp/ChangeLog
+++ b/src/appl/gssftp/ftp/ChangeLog
@@ -1,3 +1,16 @@
+2003-06-16 Ken Raeburn <raeburn@mit.edu>
+
+ * ftp.c (recvrequest): Add new argument indicating whether "-" and
+ "|..." special treatment should be disabled.
+ * ftp_var.h (recvrequest): Update declaration.
+ * cmds.c (remglob, ls, mls): Pass 0 as the extra argument.
+ (mget): Pass 1.
+ (getit): Pass 1 iff only one filename was supplied.
+
+2003-06-05 Sam Hartman <hartmans@mit.edu>
+
+ * pclose.c (mypopen): use fork not vfork
+
2003-01-09 Ken Raeburn <raeburn@mit.edu>
* ftp.c (hookup, initconn, dataconn): Use socklen_t when passing
diff --git a/src/appl/gssftp/ftp/cmds.c b/src/appl/gssftp/ftp/cmds.c
index 38d7214..b9cb2a2 100644
--- a/src/appl/gssftp/ftp/cmds.c
+++ b/src/appl/gssftp/ftp/cmds.c
@@ -940,7 +940,7 @@ usage:
}
recvrequest("RETR", argv[2], argv[1], rmode,
- argv[1] != oldargv1 || argv[2] != oldargv2);
+ argv[1] != oldargv1 || argv[2] != oldargv2, loc);
restart_point = 0;
return (0);
}
@@ -1017,7 +1017,7 @@ void mget(argc, argv)
tp = domap(tp);
}
recvrequest("RETR", tp, cp, "w",
- tp != cp || !interactive);
+ tp != cp || !interactive, 1);
if (!mflag && fromatty) {
ointer = interactive;
interactive = 1;
@@ -1085,7 +1085,7 @@ remglob(argv,doswitch)
pswitch(!proxy);
}
for (rmode = "w"; *++argv != NULL; rmode = "a")
- recvrequest ("NLST", temp, *argv, rmode, 0);
+ recvrequest ("NLST", temp, *argv, rmode, 0, 0);
if (doswitch) {
pswitch(!proxy);
}
@@ -1455,7 +1455,7 @@ void ls(argc, argv)
code = -1;
return;
}
- recvrequest(cmd, argv[2], argv[1], "w", 0);
+ recvrequest(cmd, argv[2], argv[1], "w", 0, 0);
}
/*
@@ -1493,7 +1493,7 @@ usage:
(void) setjmp(jabort);
for (i = 1; mflag && i < argc-1; ++i) {
*rmode = (i == 1) ? 'w' : 'a';
- recvrequest(cmd, dest, argv[i], rmode, 0);
+ recvrequest(cmd, dest, argv[i], rmode, 0, 0);
if (!mflag && fromatty) {
ointer = interactive;
interactive = 1;
diff --git a/src/appl/gssftp/ftp/ftp.c b/src/appl/gssftp/ftp/ftp.c
index ffbb42c..155f857 100644
--- a/src/appl/gssftp/ftp/ftp.c
+++ b/src/appl/gssftp/ftp/ftp.c
@@ -1103,7 +1103,7 @@ abortrecv(int sig)
}
void recvrequest(char *cmd, char *volatile local, char *remote, char *lmode,
- int printnames)
+ int printnames, int fnameonly)
{
FILE *volatile fout, *volatile din = 0, *popen();
int (*volatile closefunc)(), pclose(), fclose();
@@ -1149,7 +1149,7 @@ void recvrequest(char *cmd, char *volatile local, char *remote, char *lmode,
return;
}
oldintr = signal(SIGINT, abortrecv);
- if (strcmp(local, "-") && *local != '|') {
+ if (fnameonly || (strcmp(local, "-") && *local != '|')) {
if (access(local, 2) < 0) {
char *dir = strrchr(local, '/');
@@ -1223,9 +1223,9 @@ void recvrequest(char *cmd, char *volatile local, char *remote, char *lmode,
din = dataconn("r");
if (din == NULL)
goto die;
- if (strcmp(local, "-") == 0)
+ if (strcmp(local, "-") == 0 && !fnameonly)
fout = stdout;
- else if (*local == '|') {
+ else if (*local == '|' && !fnameonly) {
#ifdef SIGPIPE
oldintp = signal(SIGPIPE, SIG_IGN);
#endif
diff --git a/src/appl/gssftp/ftp/ftp_var.h b/src/appl/gssftp/ftp/ftp_var.h
index 4448448..9baa047 100644
--- a/src/appl/gssftp/ftp/ftp_var.h
+++ b/src/appl/gssftp/ftp/ftp_var.h
@@ -249,7 +249,7 @@ void setpassive (void);
/* ftp.c */
void sendrequest (char *, char *, char *, int);
-void recvrequest (char *, char *volatile, char *, char *, int);
+void recvrequest (char *, char *volatile, char *, char *, int, int);
int login (char *);
void setpbsz (unsigned int);
void pswitch (int);
diff --git a/src/appl/gssftp/ftp/pclose.c b/src/appl/gssftp/ftp/pclose.c
index 04e481b..5d6a5aa 100644
--- a/src/appl/gssftp/ftp/pclose.c
+++ b/src/appl/gssftp/ftp/pclose.c
@@ -15,9 +15,6 @@ static char sccsid[] = "@(#)pclose.c 1.1 90/04/28 SMI"; /* from UCB 1.2 3/7/86 *
#include <signal.h>
#include <sys/param.h>
#include <sys/wait.h>
-#ifdef HAVE_VFORK_H
-#include <vfork.h>
-#endif
#define sig_t my_sig_t
#define sigtype krb5_sigtype
typedef sigtype (*sig_t)();
@@ -60,7 +57,7 @@ mypopen(cmd,mode)
return (NULL);
myside = tst(p[WTR], p[RDR]);
hisside = tst(p[RDR], p[WTR]);
- if ((pid = vfork()) == 0) {
+ if ((pid = fork()) == 0) {
/* myside and hisside reverse roles in child */
(void) close(myside);
if (hisside != tst(0, 1)) {
diff --git a/src/appl/gssftp/ftpd/ChangeLog b/src/appl/gssftp/ftpd/ChangeLog
index c940e01..7381476 100644
--- a/src/appl/gssftp/ftpd/ChangeLog
+++ b/src/appl/gssftp/ftpd/ChangeLog
@@ -1,3 +1,11 @@
+2003-06-05 Sam Hartman <hartmans@mit.edu>
+
+ * popen.c (ftpd_popen): Use fork not vfork
+
+2003-04-23 Ken Raeburn <raeburn@mit.edu>
+
+ * ftpd.c: Don't declare errno.
+
2003-01-03 Ken Raeburn <raeburn@mit.edu>
* ftpd.c (auth_data): Kerberos v4 checksum must be a 32-bit
diff --git a/src/appl/gssftp/ftpd/Makefile.in b/src/appl/gssftp/ftpd/Makefile.in
index e62ae10..ba68b22 100644
--- a/src/appl/gssftp/ftpd/Makefile.in
+++ b/src/appl/gssftp/ftpd/Makefile.in
@@ -85,8 +85,7 @@ $(OUTPRE)ftpd.$(OBJEXT): ftpd.c $(srcdir)/../arpa/ftp.h \
$(BUILDTOP)/include/krb5/autoconf.h $(SRCTOP)/include/port-sockets.h \
$(BUILDTOP)/include/krb5.h $(COM_ERR_DEPS) $(SRCTOP)/include/kerberosIV/krb.h \
$(SRCTOP)/include/kerberosIV/des.h $(KRB_ERR_H_DEP) \
- $(BUILDTOP)/include/profile.h $(KRB524_H_DEP) $(KRB524_ERR_H_DEP) \
- $(SRCTOP)/include/socket-utils.h $(BUILDTOP)/include/gssapi/gssapi.h \
+ $(BUILDTOP)/include/profile.h $(BUILDTOP)/include/gssapi/gssapi.h \
$(BUILDTOP)/include/gssapi/gssapi_generic.h $(BUILDTOP)/include/gssapi/gssapi_krb5.h \
ftpd_var.h secure.h
$(OUTPRE)ftpcmd.$(OBJEXT): ftpcmd.c $(srcdir)/../arpa/ftp.h \
diff --git a/src/appl/gssftp/ftpd/ftpd.c b/src/appl/gssftp/ftpd/ftpd.c
index 7fd7899..2a09bf3 100644
--- a/src/appl/gssftp/ftpd/ftpd.c
+++ b/src/appl/gssftp/ftpd/ftpd.c
@@ -130,7 +130,6 @@ extern int yyparse(void);
#ifdef KRB5_KRB4_COMPAT
#include <krb5.h>
#include <krb.h>
-#include <krb524.h>
AUTH_DAT kdata;
KTEXT_ST ticket;
@@ -170,7 +169,6 @@ int have_creds; /* User has credentials on disk */
#include "ftpd_var.h"
#include "secure.h"
-extern int errno;
extern char *crypt();
extern char version[];
extern char *home; /* pointer to home directory for glob */
@@ -315,9 +313,6 @@ main(argc, argv, envp)
#ifdef GSSAPI
krb5_init_context(&kcontext);
-#ifdef KRB5_KRB4_COMPAT
- krb524_init_ets(kcontext);
-#endif
#endif
while ((c = getopt(argc, argv, option_string)) != -1) {
diff --git a/src/appl/gssftp/ftpd/popen.c b/src/appl/gssftp/ftpd/popen.c
index 317b6fa..e9e5895 100644
--- a/src/appl/gssftp/ftpd/popen.c
+++ b/src/appl/gssftp/ftpd/popen.c
@@ -46,9 +46,6 @@ static char sccsid[] = "@(#)popen.c 5.9 (Berkeley) 2/25/91";
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#ifdef HAVE_VFORK_H
-#include <vfork.h>
-#endif
#include "ftpd_var.h"
/*
@@ -109,7 +106,7 @@ ftpd_popen(program, type)
gargv[gargc] = NULL;
iop = NULL;
- switch(pid = vfork()) {
+ switch(pid = fork()) {
case -1: /* error */
(void)close(pdes[0]);
(void)close(pdes[1]);