Not sure if this is the correct fix. ftpfs to a tiny embedded ftp server which doesn't support PASV (rare these days) provokes the use of PORT. PORT replies with the IP address of 0.0.0.0 This is due to the contents of /net/tcp/n/local (after announce()) being ::!29274 (missing IP address). Maybe this is history? Perhaps announce used to give the local address before connection and now either doesn't or only does after the connection is successfull; the port is correct though. My fix is to use myipaddr() to fetch the IP address, which works. -Steve Reference: /n/sources/patch/applied/ftpfs-port Date: Mon Dec 20 18:58:51 CET 2004 --- /sys/src/cmd/ip/ftpfs/proto.c Mon Dec 20 18:58:51 2004 +++ /sys/src/cmd/ip/ftpfs/proto.c Mon Dec 20 18:58:51 2004 @@ -1167,8 +1167,16 @@ if(ptr) *ptr = 0; ptr = strchr(buf, '!')+1; - parseip(ipaddr, buf); port = atoi(ptr); + + memset(ipaddr, 0, IPaddrlen); + if (*net){ + strcpy(buf, net); + ptr = strchr(buf +1, '/'); + if (ptr) + *ptr = 0; + myipaddr(ipaddr, buf); + } /* tell remote side */ sprint(buf, "PORT %d,%d,%d,%d,%d,%d", ipaddr[IPv4off+0], ipaddr[IPv4off+1],