|
|
@@ -1,13 +1,55 @@
|
|
|
-# taken from http://updates.redhat.com/8.0/en/os/SRPMS/krb5-1.2.5-8.src.rpm
|
|
|
-# Patch to add in missing protection against special characters and
|
|
|
-# malicious servers, backported from netkit ftp 0.17 sources, (There are
|
|
|
-# probably other security fixes that are missing from this old ftp
|
|
|
-# source too). Mark Cox, mjc@redhat.com, Jan 2003
|
|
|
-# http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0041
|
|
|
-
|
|
|
---- krb5-1.2.5/src/appl/gssftp/ftp/cmds.c.ORIG 2003-01-20 10:21:41.000000000 +0000
|
|
|
-+++ krb5-1.2.5/src/appl/gssftp/ftp/cmds.c 2003-01-20 11:03:40.000000000 +0000
|
|
|
-@@ -69,6 +69,7 @@
|
|
|
+--- krb5-1.2.8/src/appl/telnet/telnet/commands.c.dist 2003-05-16 12:24:35.000000000 +0200
|
|
|
++++ krb5-1.2.8/src/appl/telnet/telnet/commands.c 2003-05-16 12:31:39.000000000 +0200
|
|
|
+@@ -60,7 +60,7 @@
|
|
|
+ #include <netdb.h>
|
|
|
+ #include <ctype.h>
|
|
|
+ #include <pwd.h>
|
|
|
+-#include <varargs.h>
|
|
|
++#include <stdarg.h>
|
|
|
+ #include <errno.h>
|
|
|
+ #ifdef HAVE_VFORK_H
|
|
|
+ #include <vfork.h>
|
|
|
+@@ -115,7 +115,7 @@
|
|
|
+ extern char **genget();
|
|
|
+ extern int Ambiguous();
|
|
|
+
|
|
|
+-static call();
|
|
|
++static call(void *va_alist, ...);
|
|
|
+
|
|
|
+ typedef struct {
|
|
|
+ char *name; /* command name */
|
|
|
+@@ -2698,8 +2698,7 @@
|
|
|
+
|
|
|
+ /*VARARGS1*/
|
|
|
+ static
|
|
|
+-call(va_alist)
|
|
|
+- va_dcl
|
|
|
++call(void *va_alist, ...)
|
|
|
+ {
|
|
|
+ va_list ap;
|
|
|
+ typedef int (*intrtn_t)();
|
|
|
+@@ -2707,8 +2706,8 @@
|
|
|
+ char *args[100];
|
|
|
+ int argno = 0;
|
|
|
+
|
|
|
+- va_start(ap);
|
|
|
+- routine = (va_arg(ap, intrtn_t));
|
|
|
++ va_start(ap, va_alist);
|
|
|
++ routine = (intrtn_t) va_alist;
|
|
|
+ while ((args[argno++] = va_arg(ap, char *)) != 0) {
|
|
|
+ ;
|
|
|
+ }
|
|
|
+--- krb5-1.2.8/src/appl/gssftp/ftp/cmds.c.dist Wed Jun 25 17:41:28 2003
|
|
|
++++ krb5-1.2.8/src/appl/gssftp/ftp/cmds.c Wed Jun 25 17:43:54 2003
|
|
|
+@@ -52,6 +52,7 @@
|
|
|
+ #include <netdb.h>
|
|
|
+ #include <ctype.h>
|
|
|
+ #include <time.h>
|
|
|
++#include <limits.h>
|
|
|
+ #include <netinet/in.h>
|
|
|
+
|
|
|
+ #ifdef HAVE_GETCWD
|
|
|
+@@ -69,6 +70,7 @@
|
|
|
extern char **ftpglob();
|
|
|
extern char *home;
|
|
|
extern char *remglob();
|
|
|
@@ -15,7 +57,7 @@
|
|
|
extern char *getenv();
|
|
|
#ifndef HAVE_STRERROR
|
|
|
#define strerror(error) (sys_errlist[error])
|
|
|
-@@ -88,6 +89,64 @@
|
|
|
+@@ -88,6 +90,64 @@
|
|
|
extern int do_auth();
|
|
|
|
|
|
/*
|
|
|
@@ -80,7 +122,7 @@
|
|
|
* `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.
|
|
|
*
|
|
|
-@@ -832,7 +891,15 @@
|
|
|
+@@ -832,7 +892,15 @@
|
|
|
|
|
|
if (argc == 2) {
|
|
|
argc++;
|
|
|
@@ -97,7 +139,7 @@
|
|
|
loc++;
|
|
|
}
|
|
|
if (argc < 2 && !another(&argc, &argv, "remote-file"))
|
|
|
-@@ -1007,8 +1074,19 @@
|
|
|
+@@ -1007,8 +1075,19 @@
|
|
|
if (mapflag) {
|
|
|
tp = domap(tp);
|
|
|
}
|
|
|
@@ -119,7 +161,7 @@
|
|
|
if (!mflag && fromatty) {
|
|
|
ointer = interactive;
|
|
|
interactive = 1;
|
|
|
-@@ -1024,16 +1102,14 @@
|
|
|
+@@ -1024,16 +1103,14 @@
|
|
|
}
|
|
|
|
|
|
char *
|
|
|
@@ -140,7 +182,7 @@
|
|
|
|
|
|
if (!mflag) {
|
|
|
if (!doglob) {
|
|
|
-@@ -1055,36 +1131,154 @@
|
|
|
+@@ -1055,36 +1132,154 @@
|
|
|
return (cp);
|
|
|
}
|
|
|
if (ftemp == NULL) {
|
|
|
@@ -303,44 +345,3 @@
|
|
|
char *
|
|
|
onoff(bool)
|
|
|
int bool;
|
|
|
---- krb5-1.2.8/src/appl/telnet/telnet/commands.c.dist 2003-05-16 12:24:35.000000000 +0200
|
|
|
-+++ krb5-1.2.8/src/appl/telnet/telnet/commands.c 2003-05-16 12:31:39.000000000 +0200
|
|
|
-@@ -60,7 +60,7 @@
|
|
|
- #include <netdb.h>
|
|
|
- #include <ctype.h>
|
|
|
- #include <pwd.h>
|
|
|
--#include <varargs.h>
|
|
|
-+#include <stdarg.h>
|
|
|
- #include <errno.h>
|
|
|
- #ifdef HAVE_VFORK_H
|
|
|
- #include <vfork.h>
|
|
|
-@@ -115,7 +115,7 @@
|
|
|
- extern char **genget();
|
|
|
- extern int Ambiguous();
|
|
|
-
|
|
|
--static call();
|
|
|
-+static call(void *va_alist, ...);
|
|
|
-
|
|
|
- typedef struct {
|
|
|
- char *name; /* command name */
|
|
|
-@@ -2698,8 +2698,7 @@
|
|
|
-
|
|
|
- /*VARARGS1*/
|
|
|
- static
|
|
|
--call(va_alist)
|
|
|
-- va_dcl
|
|
|
-+call(void *va_alist, ...)
|
|
|
- {
|
|
|
- va_list ap;
|
|
|
- typedef int (*intrtn_t)();
|
|
|
-@@ -2707,8 +2706,8 @@
|
|
|
- char *args[100];
|
|
|
- int argno = 0;
|
|
|
-
|
|
|
-- va_start(ap);
|
|
|
-- routine = (va_arg(ap, intrtn_t));
|
|
|
-+ va_start(ap, va_alist);
|
|
|
-+ routine = (intrtn_t) va_alist;
|
|
|
- while ((args[argno++] = va_arg(ap, char *)) != 0) {
|
|
|
- ;
|
|
|
- }
|