aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Narron <richard@aaazen.com>2022-04-01 11:28:35 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2022-04-02 18:19:03 +0700
commit6733fb97c56cefb94767a6b38c59bc77d967c921 (patch)
tree3d28b172dec5ed4b7ebdd6c8d66005acfc774859
parent74795638ef41a29560027d268af1023bc09818ac (diff)
network/linksys-tftp: Add more patches.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r--network/linksys-tftp/README4
-rw-r--r--network/linksys-tftp/linksys-tftp-1.2.1-r1-clang.patch196
-rw-r--r--network/linksys-tftp/linksys-tftp-1.2.1-r1-fno-common.patch11
-rw-r--r--network/linksys-tftp/linksys-tftp.SlackBuild10
-rw-r--r--network/linksys-tftp/linksys-tftp.info4
5 files changed, 217 insertions, 8 deletions
diff --git a/network/linksys-tftp/README b/network/linksys-tftp/README
index d2132b7f01680..3a11f65459465 100644
--- a/network/linksys-tftp/README
+++ b/network/linksys-tftp/README
@@ -8,12 +8,12 @@ They all need a password for the tftp firmware file transfer to work.
For example to upgrade a Linksys WRT54G router at 192.168.1.1 with
tomato firmware, WRT54G_WRT54GL.bin, where the password is admin
-$linksys-wrt 192.168.1.1
+#linksys-tftp 192.168.1.1
linksys-tftp>verbose
linksys-tftp>binary
linksys-tftp>blocksize 512
linksys-tftp>rexmt 1
-linksys-tftp>timeout 30
+linksys-tftp>timeout 120
linksys-tftp>trace
linksys-tftp>put WRT54G_WRT54GL.bin admin
linksys-tftp>quit
diff --git a/network/linksys-tftp/linksys-tftp-1.2.1-r1-clang.patch b/network/linksys-tftp/linksys-tftp-1.2.1-r1-clang.patch
new file mode 100644
index 0000000000000..94ccee0c9eef0
--- /dev/null
+++ b/network/linksys-tftp/linksys-tftp-1.2.1-r1-clang.patch
@@ -0,0 +1,196 @@
+--- a/main.c
++++ b/main.c
+@@ -159,7 +159,7 @@ setpeer(argc, argv)
+
+ if (!argv[1]) {
+ printf("usage: %s host-name [port] (Default port is 69/udp)\n", argv[0]);
+- return;
++ return 0;
+ }
+ host = gethostbyname(argv[1]);
+ if (host) {
+@@ -172,7 +172,7 @@ setpeer(argc, argv)
+ if (sin.sin_addr.s_addr == -1) {
+ connected = 0;
+ printf("%s: unknown host\n", argv[1]);
+- return;
++ return 0;
+ }
+ strcpy(hostname, argv[1]);
+ }
+@@ -182,7 +182,7 @@ setpeer(argc, argv)
+ if (port < 0) {
+ printf("%s: bad port number\n", argv[2]);
+ connected = 0;
+- return;
++ return 0;
+ }
+ port = htons(port);
+ }
+@@ -209,7 +209,7 @@ modecmd(argc, argv)
+
+ if (argc < 2) {
+ printf("Using %s mode to transfer files.\n", mode);
+- return;
++ return 0;
+ }
+ if (argc == 2) {
+ for (p = modes; p->m_name; p++)
+@@ -217,7 +217,7 @@ modecmd(argc, argv)
+ break;
+ if (p->m_name) {
+ setmode(p->m_mode);
+- return;
++ return 0;
+ }
+ printf("%s: unknown mode\n", argv[1]);
+ /* drop through and print usage message */
+@@ -231,7 +231,7 @@ modecmd(argc, argv)
+ sep = " | ";
+ }
+ printf(" ]\n");
+- return;
++ return 0;
+ }
+
+ setbinary(argc, argv)
+@@ -265,31 +265,32 @@ put(argc, argv)
+
+ if (argc < 3) {
+ putusage(argv[0]);
+- return;
++ return 0;
+ }
+ linkpass = argv[2];
+ if (!connected) {
+ fprintf(stderr,"No target machine specified.\n");
+- return;
++ return 0;
+ }
+ cp = argv[1];
+ fd = open(cp, O_RDONLY);
+ if (fd < 0) {
+ fprintf(stderr, "tftp: "); perror(cp);
+- return;
++ return 0;
+ }
+ if (verbose)
+ printf("putting %s to %s:%s [%s] AUTH %s\n",
+ cp, hostname, cp, mode, linkpass);
+ sin.sin_port = port;
+ sendfile(fd, cp, mode, linkpass);
+- return;
++ return 0;
+ }
+
+ putusage(s)
+ char *s;
+ {
+ printf("usage: %s file [linksys pass] (you must be connected)\n", s);
++ return 0;
+ }
+
+ /*
+@@ -304,18 +305,18 @@ get(argc, argv)
+
+ if (argc < 3) {
+ getusage(argv[0]);
+- return;
++ return 0;
+ }
+ linkpass = argv[2];
+ if (!connected) {
+ fprintf(stderr,"No target machine specified.\n");
+- return;
++ return 0;
+ }
+ cp = argv[1];
+ fd = creat(cp, 0644);
+ if (fd < 0) {
+ fprintf(stderr, "tftp: "); perror(cp);
+- return;
++ return 0;
+ }
+ if (verbose)
+ printf("getting from %s:%s to %s [%s] AUTH %s\n",
+@@ -323,7 +324,7 @@ get(argc, argv)
+ sin.sin_port = port;
+ recvfile(fd, cp, mode, linkpass);
+
+- return;
++ return 0;
+ }
+
+ getusage(s)
+@@ -349,7 +350,7 @@ setrexmt(argc, argv)
+ }
+ if (argc != 2) {
+ printf("usage: %s value\n", argv[0]);
+- return;
++ return 0;
+ }
+ t = atoi(argv[1]);
+ if (t < 0)
+@@ -375,7 +376,7 @@ settimeout(argc, argv)
+ }
+ if (argc != 2) {
+ printf("usage: %s value\n", argv[0]);
+- return;
++ return 0;
+ }
+ t = atoi(argv[1]);
+ if (t < 0)
+@@ -450,7 +451,7 @@ getcmd(name)
+ longest = 0;
+ nmatches = 0;
+ found = 0;
+- if(!name) return;
++ if(!name) return 0;
+ for (c = cmdtab; p = c->name; c++) {
+ for (q = name; *q == *p++; q++)
+ if (*q == 0) /* exact match? */
+@@ -513,7 +514,7 @@ help(argc, argv)
+ printf("Commands may be abbreviated. Commands are:\n\n");
+ for (c = cmdtab; c->name; c++)
+ printf("%-*s\t%s\n", HELPINDENT, c->name, c->help);
+- return;
++ return 0;
+ }
+ while (--argc > 0) {
+ register char *arg;
+@@ -557,7 +558,7 @@ setblocksize(argc, argv)
+ }
+ if (argc != 2) {
+ printf("usage: %s value\n", argv[0]);
+- return;
++ return 0;
+ }
+ t = atoi(argv[1]);
+ if (t < 8 || t > 1432)
+@@ -570,5 +571,5 @@ banner() {
+ printf("Mike Lynn\tabaddon [at] 802.11ninja.net\n");
+ printf("Linksys TFTP Client for *BSD/Linux\tThe Firmware gets sexier\n");
+ printf("Modified Berkeley TFTP client Release: %s\n\n",svers);
+- return;
++ return 0;
+ }
+--- a/tftpsubs.c
++++ b/tftpsubs.c
+@@ -116,7 +116,7 @@ read_ahead(file, convert)
+
+ b = &bfs[nextone]; /* look at "next" buffer */
+ if (b->counter != BF_FREE) /* nop if not free */
+- return;
++ return 0;
+ nextone = !nextone; /* "incr" next buffer ptr */
+
+ dp = (struct tftphdr *)b->buf;
+@@ -131,7 +131,7 @@ read_ahead(file, convert)
+ b->counter += i;
+ } while (i != 0 && !(i < 0 && errno != EINTR) &&
+ b->counter < segsize);
+- return;
++ return 0;
+ }
+
+ p = dp->th_data;
diff --git a/network/linksys-tftp/linksys-tftp-1.2.1-r1-fno-common.patch b/network/linksys-tftp/linksys-tftp-1.2.1-r1-fno-common.patch
new file mode 100644
index 0000000000000..a63977619845a
--- /dev/null
+++ b/network/linksys-tftp/linksys-tftp-1.2.1-r1-fno-common.patch
@@ -0,0 +1,11 @@
+--- a/tftp.c
++++ b/tftp.c
+@@ -50,7 +50,7 @@ extern int segsize;
+ #define PKTSIZE (1432+4) /* SEGSIZE+4 */
+ char ackbuf[PKTSIZE];
+ int timeout;
+-jmp_buf toplevel;
++extern jmp_buf toplevel;
+ jmp_buf timeoutbuf;
+
+ #ifndef OACK
diff --git a/network/linksys-tftp/linksys-tftp.SlackBuild b/network/linksys-tftp/linksys-tftp.SlackBuild
index b6a51cdd7463c..7af5722f6f11a 100644
--- a/network/linksys-tftp/linksys-tftp.SlackBuild
+++ b/network/linksys-tftp/linksys-tftp.SlackBuild
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=linksys-tftp
VERSION=${VERSION:-1.2.1}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -56,7 +56,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+tar xvf $CWD/$PRGNAM-$VERSION.tar.*z*
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -66,8 +66,10 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# patches thanks to Gentoo
-(echo " " && cat $CWD/linksys-tftp-1.2.1-r1-Makefile.patch) | patch -b -p1
-(echo " " && cat $CWD/linksys-tftp-1.2.1-r1-header.patch) | patch -b -p1
+(echo " " && cat $CWD/linksys-tftp-1.2.1-r1-Makefile.patch) | patch -b -p1
+(echo " " && cat $CWD/linksys-tftp-1.2.1-r1-clang.patch) | patch -b -p1
+(echo " " && cat $CWD/linksys-tftp-1.2.1-r1-fno-common.patch) | patch -b -p1
+(echo " " && cat $CWD/linksys-tftp-1.2.1-r1-header.patch) | patch -b -p1
CFLAGS="$SLKCFLAGS -fcommon" \
make
diff --git a/network/linksys-tftp/linksys-tftp.info b/network/linksys-tftp/linksys-tftp.info
index 1e2c9be8ff9c6..59caa9a0de604 100644
--- a/network/linksys-tftp/linksys-tftp.info
+++ b/network/linksys-tftp/linksys-tftp.info
@@ -1,8 +1,8 @@
PRGNAM="linksys-tftp"
VERSION="1.2.1"
HOMEPAGE="https://www.redsand.net/solutions/linksys_tftp.html"
-DOWNLOAD="https://www.redsand.net/solutions/linksys-tftp-1.2.1.tar.gz"
-MD5SUM="f536f778dcbcb4a65838042ca0a2a454"
+DOWNLOAD="https://distfiles.gentoo.org/distfiles/linksys-tftp-1.2.1.tar.bz2"
+MD5SUM="e201eab05d2344b32f8fdf96462c27a4"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""