ref: 5360722b60e7159b9fe182df858bafe2f9bc5b6b
parent: f98dab537cb35e8646463d376d9a53629ca2673d
author: cinap_lenrek <cinap_lenrek@rei2.9hal>
date: Sun Mar 11 13:36:41 EDT 2012
tftpfs: let kernel choose local udp port
--- a/sys/src/cmd/ip/tftpfs.c
+++ b/sys/src/cmd/ip/tftpfs.c
@@ -123,13 +123,6 @@
}
static int
-newport(void)
-{- static int port;
- return 5000+(port++)%64;
-}
-
-static int
filereq(uchar *buf, char *path)
{uchar *p;
@@ -155,7 +148,7 @@
download(void *aux)
{int fd, cfd, last, block, n, ndata;
- char *err, addr[40], adir[40];
+ char *err, adir[40];
uchar *data;
Channel *c;
Tfile *f;
@@ -180,12 +173,7 @@
threadsetname(f->path);
- for(n=0; n<10; n++){- snprint(addr, sizeof(addr), "udp!*!%d", newport());
- if((cfd = announce(addr, adir)) >= 0)
- break;
- }
- if(cfd < 0){+ if((cfd = announce("udp!*!0", adir)) < 0){err = "announce: %r";
goto out;
}
@@ -440,7 +428,7 @@
threadmain(int argc, char **argv)
{char *srvname = nil;
- char *mtpt = nil;
+ char *mtpt = "/n/tftp";
time0 = time(0);
ipmove(ipaddr, IPnoaddr);
@@ -451,6 +439,7 @@
break;
case 's':
srvname = EARGF(usage());
+ mtpt = nil;
break;
case 'm':
mtpt = EARGF(usage());
--
⑨