krb5/krb5-1.3.3-rcp-sendlarge.patch

48 lines
2.0 KiB
Diff
Raw Normal View History

Fix sending of large files. This isn't *quite* right, because we still have to
open the file right to avoid EFBIG errors, and this patch doesn't fix that.
Either we build with -D_FILE_OFFSET_BITS=64, change open() to open64(), or
pass O_LARGEFILE to open(), none of which are easy to automate.
--- krb5-1.3.3/src/appl/bsd/krcp.c 2004-04-15 00:40:00.000000000 -0400
+++ krb5-1.3.3/src/appl/bsd/krcp.c 2004-04-15 00:55:38.000000000 -0400
@@ -819,8 +819,13 @@
continue;
}
}
+#ifdef HAVE_LONG_LONG
+ (void) sprintf(buf, "C%04o %lld %s\n",
+ (int) stb.st_mode&07777, (long long) stb.st_size, last);
+#else
(void) sprintf(buf, "C%04o %ld %s\n",
(int) stb.st_mode&07777, (long ) stb.st_size, last);
+#endif
(void) rcmd_stream_write(rem, buf, strlen(buf), 0);
if (response() < 0) {
(void) close(f);
--- krb5-1.3.3/src/appl/bsd/v4rcp.c 2004-04-15 00:40:28.000000000 -0400
+++ krb5-1.3.3/src/appl/bsd/v4rcp.c 2004-04-15 00:46:57.000000000 -0400
@@ -538,8 +538,13 @@
continue;
}
}
+#ifdef HAVE_LONG_LONG
+ (void) sprintf(buf, "C%04o %lld %s\n",
+ (unsigned int) stb.st_mode&07777, (long long) stb.st_size, last);
+#else
(void) sprintf(buf, "C%04o %ld %s\n",
(unsigned int) stb.st_mode&07777, (long) stb.st_size, last);
+#endif
kstream_write (krem, buf, strlen (buf));
if (response() < 0) {
(void) close(f);
--- krb5-1.3.3/src/appl/bsd/configure.in 2004-04-15 00:52:22.000000000 -0400
+++ krb5-1.3.3/src/appl/bsd/configure.in 2004-04-15 00:52:16.000000000 -0400
@@ -77,6 +77,7 @@
AC_TYPE_MODE_T
AC_CHECK_FUNCS(isatty inet_aton getenv gettosbyname killpg initgroups setpriority setreuid setresuid waitpid setsid ptsname setlogin tcgetpgrp tcsetpgrp setpgid strsave utimes rmufile rresvport_af)
AC_CHECK_HEADERS(unistd.h stdlib.h string.h sys/filio.h sys/sockio.h sys/label.h sys/tty.h ttyent.h lastlog.h sys/select.h sys/ptyvar.h utmp.h sys/time.h krb4-proto.h sys/ioctl_compat.h paths.h arpa/nameser.h)
+AC_CHECK_TYPES([long long])
AC_HEADER_STDARG
AC_REPLACE_FUNCS(getdtablesize)
dnl