diff --git a/0001-rcp-don-t-advance-pointer-returned-from-rcp_basename.patch b/0001-rcp-don-t-advance-pointer-returned-from-rcp_basename.patch new file mode 100644 index 0000000..30a3d0d --- /dev/null +++ b/0001-rcp-don-t-advance-pointer-returned-from-rcp_basename.patch @@ -0,0 +1,45 @@ +From b86a7a6af20330dbf87264da768a9d317e210dbb Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Thu, 26 Mar 2015 14:10:51 +0100 +Subject: [PATCH] rcp: don't advance pointer returned from rcp_basename + +--- + rcp/rcp.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff -up netkit-rsh-0.17/rcp/rcp.c.basename netkit-rsh-0.17/rcp/rcp.c +--- netkit-rsh-0.17/rcp/rcp.c.basename 2015-03-26 14:19:25.771159388 +0100 ++++ netkit-rsh-0.17/rcp/rcp.c 2015-03-26 14:28:23.233938529 +0100 +@@ -98,6 +98,7 @@ static void usage(void); + static void toremote(const char *targ, int argc, char *argv[]); + static void tolocal(int argc, char *argv[]); + static void error(const char *fmt, ...); ++static char *rcp_basename(char *path); + + int + main(int argc, char *argv[]) +@@ -464,11 +465,11 @@ notreg: (void)close(f); + error("rcp: %s: not a plain file\n", name); + continue; + } +- last = strrchr(name, '/'); ++ ++ last = rcp_basename(name); + if (last == 0) + last = name; +- else +- last++; ++ + if (pflag) { + /* + * Make it compatible with possible future +@@ -556,8 +557,7 @@ rsource(char *name, struct stat *statp) + last = rcp_basename(name); + if (last == 0) + last = name; +- else +- last++; ++ + if (pflag) { + (void)snprintf(path, sizeof(path), + "T%ld 0 %ld 0\n", statp->st_mtime, statp->st_atime); diff --git a/0001-rshd-use-upper-bound-for-cmdbuflen.patch b/0001-rshd-use-upper-bound-for-cmdbuflen.patch new file mode 100644 index 0000000..1cf60ef --- /dev/null +++ b/0001-rshd-use-upper-bound-for-cmdbuflen.patch @@ -0,0 +1,30 @@ +From 4f543ec56d023905ec22e4b6325f834bce4a624a Mon Sep 17 00:00:00 2001 +From: Adam Tkac +Date: Mon, 5 May 2014 12:01:41 +0200 +Subject: [PATCH] rshd: use upper bound for cmdbuflen + +--- + rshd/rshd.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/rshd/rshd.c b/rshd/rshd.c +index 66c5703..487c969 100644 +--- a/rshd/rshd.c ++++ b/rshd/rshd.c +@@ -430,7 +430,12 @@ doit(struct sockaddr_storage *fromp, socklen_t fromlen) + exit (1); + } + +- cmdbuf = malloc (++cmdbuflen); ++ cmdbuflen++; ++ /* Decrease cmdbuflen to reasonable number if it's too high */ ++ if ((size_t) cmdbuflen > 131072) ++ cmdbuflen = 131072; ++ ++ cmdbuf = malloc (cmdbuflen); + if (cmdbuf == NULL) { + syslog (LOG_ERR, "Could not allocate space for cmdbuf"); + exit (1); +-- +1.8.3.1 + diff --git a/rsh.spec b/rsh.spec index b18f88a..76c7ef4 100644 --- a/rsh.spec +++ b/rsh.spec @@ -3,7 +3,7 @@ Summary: Clients for remote access commands (rsh, rlogin, rcp) Name: rsh Version: 0.17 -Release: 78%{?dist} +Release: 79%{?dist} License: BSD Group: Applications/Internet @@ -89,6 +89,8 @@ Patch46: 0001-rshd-use-sockaddr_in-for-non-native-IPv6-clients.patch Patch47: 0002-rlogind-use-sockaddr_in-for-non-native-IPv6-client.patch Patch48: netkit-rsh-0.17-ipv6-rexec.patch Patch49: 0001-rshd-include-missing-header-file.patch +Patch50: 0001-rshd-use-upper-bound-for-cmdbuflen.patch +Patch51: 0001-rcp-don-t-advance-pointer-returned-from-rcp_basename.patch %description The rsh package contains a set of programs which allow users to run @@ -166,12 +168,15 @@ from other machines %patch47 -p1 %patch48 -p1 -b .ipv6-rexec %patch49 -p1 -b .waitpid +%patch50 -p1 +%patch51 -p1 # No, I don't know what this is doing in the tarball. rm -f rexec/rexec %build sh configure --with-c-compiler=gcc +export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %ifarch s390 s390x %{__perl} -pi -e ' s,^CC=.*$,CC=cc,; @@ -249,6 +254,11 @@ install -m644 %SOURCE10 %{buildroot}%{_unitdir}/rexec.socket %{_mandir}/man8/*.8* %changelog +* Wed Jul 8 2015 Michal Sekletar - 0.17-79 +- use upper bound for cmdbuflen +- don't truncate first character of dirname when doing recursive copy +- disable strict aliasing optimizations + * Thu Jun 18 2015 Fedora Release Engineering - 0.17-78 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild