|
|
@@ -1,108 +1,6 @@
|
|
|
-diff -ru3 krb5-1.3.1.orig/src/appl/gssftp/ftp/cmds.c krb5-1.3.1/src/appl/gssftp/ftp/cmds.c
|
|
|
---- krb5-1.3.1.orig/src/appl/gssftp/ftp/cmds.c 2003-06-17 00:37:39.000000000 +0200
|
|
|
-+++ krb5-1.3.1/src/appl/gssftp/ftp/cmds.c 2003-09-10 19:45:29.000000000 +0200
|
|
|
-@@ -65,6 +65,7 @@
|
|
|
- #include <errno.h>
|
|
|
- #include <ctype.h>
|
|
|
- #include <time.h>
|
|
|
-+#include <limits.h>
|
|
|
-
|
|
|
- #ifdef HAVE_GETCWD
|
|
|
- #define getwd(x) getcwd(x,MAXPATHLEN)
|
|
|
-@@ -101,6 +102,30 @@
|
|
|
- static char *domap (char *);
|
|
|
-
|
|
|
- /*
|
|
|
-+ * pipeprotect: protect against "special" local filenames by prepending
|
|
|
-+ * "./". Special local filenames are "-" and "|..." AND "/...".
|
|
|
-+ */
|
|
|
-+static char *pipeprotect(char *name)
|
|
|
-+{
|
|
|
-+ char *nu;
|
|
|
-+ if (strcmp(name, "-") && *name!='|' && *name!='/') {
|
|
|
-+ return name;
|
|
|
-+ }
|
|
|
-+
|
|
|
-+ /* We're going to leak this memory. XXX. */
|
|
|
-+ nu = malloc(strlen(name)+3);
|
|
|
-+ if (nu==NULL) {
|
|
|
-+ perror("malloc");
|
|
|
-+ code = -1;
|
|
|
-+ return NULL;
|
|
|
-+ }
|
|
|
-+ strcpy(nu, ".");
|
|
|
-+ if (*name != '/') strcat(nu, "/");
|
|
|
-+ strcat(nu, name);
|
|
|
-+ return nu;
|
|
|
-+}
|
|
|
-+
|
|
|
-+/*
|
|
|
- * `Another' gets another argument, and stores the new argc and argv.
|
|
|
- * It reverts to the top level (via main.c's intr()) on EOF/error.
|
|
|
- *
|
|
|
-@@ -844,7 +869,15 @@
|
|
|
-
|
|
|
- if (argc == 2) {
|
|
|
- argc++;
|
|
|
-- argv[2] = argv[1];
|
|
|
-+ /*
|
|
|
-+ * Protect the user from accidentally retrieving special
|
|
|
-+ * local names.
|
|
|
-+ */
|
|
|
-+ argv[2] = pipeprotect(argv[1]);
|
|
|
-+ if (!argv[2]) {
|
|
|
-+ code = -1;
|
|
|
-+ return 0;
|
|
|
-+ }
|
|
|
- loc++;
|
|
|
- }
|
|
|
- if (argc < 2 && !another(&argc, &argv, "remote-file"))
|
|
|
-@@ -1033,16 +1066,14 @@
|
|
|
- }
|
|
|
-
|
|
|
- char *
|
|
|
--remglob(argv,doswitch)
|
|
|
-- char *argv[];
|
|
|
-- int doswitch;
|
|
|
-+remglob(char *argv[], int doswitch)
|
|
|
- {
|
|
|
- #ifdef _WIN32
|
|
|
- char *temp = NULL;
|
|
|
- #else
|
|
|
- char temp[16];
|
|
|
- #endif
|
|
|
-- static char buf[MAXPATHLEN];
|
|
|
-+ static char buf[PATH_MAX];
|
|
|
- static FILE *ftemp = NULL;
|
|
|
- static char **args;
|
|
|
- int oldverbose, oldhash;
|
|
|
-diff -ru3 krb5-1.3.1.orig/src/util/ss/pager.c krb5-1.3.1/src/util/ss/pager.c
|
|
|
---- krb5-1.3.1.orig/src/util/ss/pager.c 2003-01-06 00:28:05.000000000 +0100
|
|
|
-+++ krb5-1.3.1/src/util/ss/pager.c 2003-09-10 19:11:35.000000000 +0200
|
|
|
-@@ -11,6 +11,7 @@
|
|
|
- #include "copyright.h"
|
|
|
- #include <errno.h>
|
|
|
- #include <stdio.h>
|
|
|
-+#include <errno.h>
|
|
|
- #include <sys/types.h>
|
|
|
- #include <sys/file.h>
|
|
|
- #include <signal.h>
|
|
|
-diff -Nau krb5-1.3.1.orig/src/appl/gssftp/ftp/ftp_var.h krb5-1.3.1/src/appl/gssftp/ftp/ftp_var.h
|
|
|
---- krb5-1.3.1.orig/src/appl/gssftp/ftp/ftp_var.h Tue Jun 17 00:37:40 2003
|
|
|
-+++ krb5-1.3.1/src/appl/gssftp/ftp/ftp_var.h Thu Oct 30 16:21:17 2003
|
|
|
-@@ -57,9 +57,7 @@
|
|
|
- typedef void (*sig_t)(int);
|
|
|
- typedef void sigtype;
|
|
|
- #else
|
|
|
--#define sig_t my_sig_t
|
|
|
- #define sigtype krb5_sigtype
|
|
|
--typedef sigtype (*sig_t)();
|
|
|
- #endif
|
|
|
-
|
|
|
- /*
|
|
|
-diff -Naur krb5-1.3.1.orig/src/appl/gssftp/configure.in krb5-1.3.1/src/appl/gssftp/configure.in
|
|
|
---- krb5-1.3.1.orig/src/appl/gssftp/configure.in Fri Jun 6 01:54:14 2003
|
|
|
-+++ krb5-1.3.1/src/appl/gssftp/configure.in Tue Jan 27 19:19:35 2004
|
|
|
+Index: src/appl/gssftp/configure.in
|
|
|
+--- src/appl/gssftp/configure.in.orig 2003-06-06 01:54:14.000000000 +0200
|
|
|
++++ src/appl/gssftp/configure.in 2004-04-10 12:36:57.000000000 +0200
|
|
|
@@ -21,6 +21,7 @@
|
|
|
AC_CHECK_FUNCS(getcwd getdtablesize getusershell seteuid setreuid setresuid strerror getenv)
|
|
|
AC_CHECK_LIB(crypt,crypt) dnl
|
|
|
@@ -111,10 +9,10 @@ diff -Naur krb5-1.3.1.orig/src/appl/gssftp/configure.in krb5-1.3.1/src/appl/gssf
|
|
|
dnl
|
|
|
dnl copied from appl/bsd/configure.in
|
|
|
dnl
|
|
|
-diff -Naur krb5-1.3.1.orig/src/appl/gssftp/configure krb5-1.3.1/src/appl/gssftp/configure
|
|
|
---- krb5-1.3.1.orig/src/appl/gssftp/configure 2004-01-27 14:52:16.496284102 +0100
|
|
|
-+++ krb5-1.3.1/src/appl/gssftp/configure 2004-01-27 16:56:28.499089951 +0100
|
|
|
-@@ -4966,7 +4966,71 @@
|
|
|
+Index: src/appl/gssftp/configure
|
|
|
+--- src/appl/gssftp/configure.orig 2004-04-06 22:06:01.000000000 +0200
|
|
|
++++ src/appl/gssftp/configure 2004-04-10 12:36:57.000000000 +0200
|
|
|
+@@ -7285,7 +7285,71 @@
|
|
|
LIBS="-lutil $LIBS"
|
|
|
|
|
|
fi
|
|
|
@@ -187,23 +85,90 @@ diff -Naur krb5-1.3.1.orig/src/appl/gssftp/configure krb5-1.3.1/src/appl/gssftp/
|
|
|
echo $ECHO_N "checking setenv... $ECHO_C" >&6
|
|
|
if test "${krb5_cv_setenv+set}" = set; then
|
|
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
|
|
-diff -Naur krb5-1.3.1.orig/src/appl/gssftp/ftp/cmds.c krb5-1.3.1/src/appl/gssftp/ftp/cmds.c
|
|
|
---- krb5-1.3.1.orig/src/appl/gssftp/ftp/cmds.c 2004-01-27 17:29:25.019970000 +0100
|
|
|
-+++ krb5-1.3.1/src/appl/gssftp/ftp/cmds.c 2004-01-27 17:38:12.186768053 +0100
|
|
|
-@@ -67,6 +67,10 @@
|
|
|
+Index: src/appl/gssftp/ftp/cmds.c
|
|
|
+--- src/appl/gssftp/ftp/cmds.c.orig 2003-06-17 00:37:39.000000000 +0200
|
|
|
++++ src/appl/gssftp/ftp/cmds.c 2004-04-10 12:36:57.000000000 +0200
|
|
|
+@@ -65,6 +65,10 @@
|
|
|
+ #include <errno.h>
|
|
|
+ #include <ctype.h>
|
|
|
#include <time.h>
|
|
|
- #include <limits.h>
|
|
|
-
|
|
|
++#include <limits.h>
|
|
|
+#ifndef HAVE_SIG_T
|
|
|
+typedef void (*sig_t) (int);
|
|
|
+#endif
|
|
|
-+
|
|
|
+
|
|
|
#ifdef HAVE_GETCWD
|
|
|
#define getwd(x) getcwd(x,MAXPATHLEN)
|
|
|
+@@ -101,6 +105,30 @@
|
|
|
+ static char *domap (char *);
|
|
|
+
|
|
|
+ /*
|
|
|
++ * pipeprotect: protect against "special" local filenames by prepending
|
|
|
++ * "./". Special local filenames are "-" and "|..." AND "/...".
|
|
|
++ */
|
|
|
++static char *pipeprotect(char *name)
|
|
|
++{
|
|
|
++ char *nu;
|
|
|
++ if (strcmp(name, "-") && *name!='|' && *name!='/') {
|
|
|
++ return name;
|
|
|
++ }
|
|
|
++
|
|
|
++ /* We're going to leak this memory. XXX. */
|
|
|
++ nu = malloc(strlen(name)+3);
|
|
|
++ if (nu==NULL) {
|
|
|
++ perror("malloc");
|
|
|
++ code = -1;
|
|
|
++ return NULL;
|
|
|
++ }
|
|
|
++ strcpy(nu, ".");
|
|
|
++ if (*name != '/') strcat(nu, "/");
|
|
|
++ strcat(nu, name);
|
|
|
++ return nu;
|
|
|
++}
|
|
|
++
|
|
|
++/*
|
|
|
+ * `Another' gets another argument, and stores the new argc and argv.
|
|
|
+ * It reverts to the top level (via main.c's intr()) on EOF/error.
|
|
|
+ *
|
|
|
+@@ -844,7 +872,15 @@
|
|
|
+
|
|
|
+ if (argc == 2) {
|
|
|
+ argc++;
|
|
|
+- argv[2] = argv[1];
|
|
|
++ /*
|
|
|
++ * Protect the user from accidentally retrieving special
|
|
|
++ * local names.
|
|
|
++ */
|
|
|
++ argv[2] = pipeprotect(argv[1]);
|
|
|
++ if (!argv[2]) {
|
|
|
++ code = -1;
|
|
|
++ return 0;
|
|
|
++ }
|
|
|
+ loc++;
|
|
|
+ }
|
|
|
+ if (argc < 2 && !another(&argc, &argv, "remote-file"))
|
|
|
+@@ -1033,16 +1069,14 @@
|
|
|
+ }
|
|
|
+
|
|
|
+ char *
|
|
|
+-remglob(argv,doswitch)
|
|
|
+- char *argv[];
|
|
|
+- int doswitch;
|
|
|
++remglob(char *argv[], int doswitch)
|
|
|
+ {
|
|
|
+ #ifdef _WIN32
|
|
|
+ char *temp = NULL;
|
|
|
+ #else
|
|
|
+ char temp[16];
|
|
|
#endif
|
|
|
-diff -Naur krb5-1.3.1.orig/src/appl/gssftp/ftp/ftp.c krb5-1.3.1/src/appl/gssftp/ftp/ftp.c
|
|
|
---- krb5-1.3.1.orig/src/appl/gssftp/ftp/ftp.c 2003-06-17 00:37:40.000000000 +0200
|
|
|
-+++ krb5-1.3.1/src/appl/gssftp/ftp/ftp.c 2004-01-27 17:40:18.235260482 +0100
|
|
|
+- static char buf[MAXPATHLEN];
|
|
|
++ static char buf[PATH_MAX];
|
|
|
+ static FILE *ftemp = NULL;
|
|
|
+ static char **args;
|
|
|
+ int oldverbose, oldhash;
|
|
|
+Index: src/appl/gssftp/ftp/ftp.c
|
|
|
+--- src/appl/gssftp/ftp/ftp.c.orig 2003-06-17 00:37:40.000000000 +0200
|
|
|
++++ src/appl/gssftp/ftp/ftp.c 2004-04-10 12:36:57.000000000 +0200
|
|
|
@@ -99,6 +99,10 @@
|
|
|
#include <sys/select.h>
|
|
|
#endif
|
|
|
@@ -215,9 +180,22 @@ diff -Naur krb5-1.3.1.orig/src/appl/gssftp/ftp/ftp.c krb5-1.3.1/src/appl/gssftp/
|
|
|
#include <netinet/in.h>
|
|
|
#include <netinet/in_systm.h>
|
|
|
#include <netinet/ip.h>
|
|
|
-Index: lib/krb5/os/hst_realm.c
|
|
|
---- krb5-1.3.1/src/lib/krb5/os/hst_realm.c.orig 2002-10-16 00:51:50.000000000 +0200
|
|
|
-+++ krb5-1.3.1/src/lib/krb5/os/hst_realm.c 2004-02-16 21:13:19.000000000 +0100
|
|
|
+Index: src/appl/gssftp/ftp/ftp_var.h
|
|
|
+--- src/appl/gssftp/ftp/ftp_var.h.orig 2003-06-17 00:37:40.000000000 +0200
|
|
|
++++ src/appl/gssftp/ftp/ftp_var.h 2004-04-10 12:36:57.000000000 +0200
|
|
|
+@@ -57,9 +57,7 @@
|
|
|
+ typedef void (*sig_t)(int);
|
|
|
+ typedef void sigtype;
|
|
|
+ #else
|
|
|
+-#define sig_t my_sig_t
|
|
|
+ #define sigtype krb5_sigtype
|
|
|
+-typedef sigtype (*sig_t)();
|
|
|
+ #endif
|
|
|
+
|
|
|
+ /*
|
|
|
+Index: src/lib/krb5/os/hst_realm.c
|
|
|
+--- src/lib/krb5/os/hst_realm.c.orig 2002-10-16 00:51:50.000000000 +0200
|
|
|
++++ src/lib/krb5/os/hst_realm.c 2004-04-10 12:36:57.000000000 +0200
|
|
|
@@ -438,7 +438,7 @@
|
|
|
return EAFNOSUPPORT;
|
|
|
case EAI_MEMORY:
|
|
|
@@ -227,9 +205,9 @@ Index: lib/krb5/os/hst_realm.c
|
|
|
case EAI_NODATA:
|
|
|
return KRB5_EAI_NODATA;
|
|
|
#endif
|
|
|
-Index: lib/krb5/os/locate_kdc.c
|
|
|
---- krb5-1.3.1/src/lib/krb5/os/locate_kdc.c.orig 2003-06-09 23:27:56.000000000 +0200
|
|
|
-+++ krb5-1.3.1/src/lib/krb5/os/locate_kdc.c 2004-02-16 21:15:04.000000000 +0100
|
|
|
+Index: src/lib/krb5/os/locate_kdc.c
|
|
|
+--- src/lib/krb5/os/locate_kdc.c.orig 2004-01-06 03:30:15.000000000 +0100
|
|
|
++++ src/lib/krb5/os/locate_kdc.c 2004-04-10 12:36:57.000000000 +0200
|
|
|
@@ -185,7 +185,7 @@
|
|
|
#ifdef EAI_ADDRFAMILY
|
|
|
case EAI_ADDRFAMILY:
|
|
|
@@ -239,4 +217,14 @@ Index: lib/krb5/os/locate_kdc.c
|
|
|
case EAI_NODATA:
|
|
|
#endif
|
|
|
case EAI_NONAME:
|
|
|
-
|
|
|
+Index: src/util/ss/pager.c
|
|
|
+--- src/util/ss/pager.c.orig 2003-01-06 00:28:05.000000000 +0100
|
|
|
++++ src/util/ss/pager.c 2004-04-10 12:36:57.000000000 +0200
|
|
|
+@@ -11,6 +11,7 @@
|
|
|
+ #include "copyright.h"
|
|
|
+ #include <errno.h>
|
|
|
+ #include <stdio.h>
|
|
|
++#include <errno.h>
|
|
|
+ #include <sys/types.h>
|
|
|
+ #include <sys/file.h>
|
|
|
+ #include <signal.h>
|