--- linksys-tftp-1.2.1/main.c 2024-04-16 08:27:50.327449884 -0700 +++ linksys-tftp-1.2.1/main.c 2024-04-15 21:36:43.035399534 -0700 @@ -33,6 +33,7 @@ static char sccsid[] = "@(#)main.c 5.8 ( #include #include +#include #include #include @@ -43,7 +44,11 @@ static char sccsid[] = "@(#)main.c 5.8 ( #include #include #include -#include +/* #include */ + +/* routines from tftp.c */ +extern void sendfile(int fd, char *name, char *mode, char *linkpass); +extern void recvfile(int fd, char *name, char *mode, char *linkpass); #define TIMEOUT 5 /* secs between rexmt's */ @@ -64,9 +69,13 @@ struct servent *sp; int segsize = 512; -int quit(), help(), setverbose(), settrace(), status(); -int get(), put(), setpeer(), modecmd(), setrexmt(), settimeout(); -int setbinary(), banner(), setascii(), setblocksize(); +/* local routines */ +int quit(), help(), setverbose(), settrace(), status(), command(); +int get(), getusage(), put(), putusage(); +int setpeer(), modecmd(), setrexmt(), settimeout(), status(); +int setbinary(), setascii(); +void setmode(), makeargv(); +int setblocksize(), banner(); #define HELPINDENT (sizeof("connect")) @@ -114,8 +123,7 @@ struct cmd *getcmd(); char *index(); char *rindex(); -int main(argc, argv) - char *argv[]; +int main(int argc, char *argv[]) { struct sockaddr_in sin; int top; @@ -147,13 +155,12 @@ int main(argc, argv) top = setjmp(toplevel) == 0; for (;;) command(top); + return 0; } char hostname[100]; -setpeer(argc, argv) - int argc; - char *argv[]; +int setpeer(int argc, char *argv[]) { struct hostent *host; @@ -187,6 +194,7 @@ setpeer(argc, argv) port = htons(port); } connected = 1; + return 0; } struct modes { @@ -201,8 +209,7 @@ struct modes { { 0, 0 } }; -modecmd(argc, argv) - char *argv[]; +int modecmd(int argc, char *argv[]) { register struct modes *p; char *sep; @@ -234,18 +241,17 @@ modecmd(argc, argv) return 0; } -setbinary(argc, argv) -char *argv[]; -{ setmode("octet"); +int setbinary(int argc, char *argv[]) +{ + setmode("octet"); } -setascii(argc, argv) -char *argv[]; -{ setmode("netascii"); -} +int setascii(int argc, char *argv[]) +{ + setmode("netascii"); + } -setmode(newmode) -char *newmode; +void setmode(char *newmode) { strcpy(mode, newmode); if (verbose) @@ -256,8 +262,7 @@ char *newmode; * Send file(s). */ -put(argc, argv) - char *argv[]; +int put(int argc, char *argv[]) { int fd; register int n; @@ -286,8 +291,7 @@ put(argc, argv) return 0; } -putusage(s) - char *s; +int putusage(char *s) { printf("usage: %s file [linksys pass] (you must be connected)\n", s); return 0; @@ -296,8 +300,7 @@ putusage(s) /* * Receive file(s). */ -get(argc, argv) - char *argv[]; +int get(int argc, char *argv[]) { int fd; register int n; @@ -327,16 +330,15 @@ get(argc, argv) return 0; } -getusage(s) -char * s; +int getusage(char *s) { printf("usage: %s file [linksys pass] (you must be connected)\n", s); + return 0; } int rexmtval = TIMEOUT; -setrexmt(argc, argv) - char *argv[]; +int setrexmt(int argc, char *argv[]) { int t; @@ -357,12 +359,12 @@ setrexmt(argc, argv) printf("%d: bad value\n", t); else rexmtval = t; + return 0; } int maxtimeout = 5 * TIMEOUT; -settimeout(argc, argv) - char *argv[]; +int settimeout(int argc, char *argv[]) { int t; @@ -383,10 +385,10 @@ settimeout(argc, argv) printf("%d: bad value\n", t); else maxtimeout = t; + return 0; } -status(argc, argv) - char *argv[]; +int status(int argc, char *argv[]) { if (connected) printf("Connected to %s.\n", hostname); @@ -396,6 +398,7 @@ status(argc, argv) verbose ? "on" : "off", trace ? "on" : "off"); printf("Rexmt-interval: %d seconds, Max-timeout: %d seconds\n", rexmtval, maxtimeout); + return 0; } void intr(int sig) @@ -408,8 +411,7 @@ void intr(int sig) /* * Command parser. */ -command(top) - int top; +int command(int top) { register struct cmd *c; @@ -438,11 +440,10 @@ command(top) } (*c->handler)(margc, margv); } + return 0; } -struct cmd * -getcmd(name) - register char *name; +struct cmd *getcmd(register char *name) { register char *p, *q; register struct cmd *c, *found; @@ -473,7 +474,7 @@ getcmd(name) /* * Slice a string up into argc/argv. */ -makeargv() +void makeargv() { register char *cp; register char **argp = margv; @@ -496,7 +497,7 @@ makeargv() } /*VARARGS*/ -quit() +int quit() { exit(0); } @@ -504,9 +505,7 @@ quit() /* * Help command. */ -help(argc, argv) - int argc; - char *argv[]; +int help(int argc, char *argv[]) { register struct cmd *c; @@ -527,24 +526,26 @@ help(argc, argv) else printf("%s\n", c->help); } + return 0; } /*VARARGS*/ -settrace() +int settrace() { trace = !trace; printf("Packet tracing %s.\n", trace ? "on" : "off"); + return 0; } /*VARARGS*/ -setverbose() +int setverbose() { verbose = !verbose; printf("Verbose mode %s.\n", verbose ? "on" : "off"); + return 0; } -setblocksize(argc, argv) - char *argv[]; +int setblocksize(int argc, char *argv[]) { int t; @@ -565,8 +566,9 @@ setblocksize(argc, argv) printf("%d: bad value\n", t); else segsize = t; + return 0; } -banner() { +int banner() { printf("TJ Shelton\tredsand [at] redsand.net\n"); printf("Mike Lynn\tabaddon [at] 802.11ninja.net\n"); printf("Linksys TFTP Client for *BSD/Linux\tThe Firmware gets sexier\n");