From: Joseph C. Lehner Date: Fri, 13 Jan 2017 10:48:21 +0000 (+0100) Subject: More tftp fixes X-Git-Tag: v0.9.10~4 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=eafbf90d152ce023845ae38b0cd3c94cc27687eb;p=oweals%2Fnmrpflash.git More tftp fixes --- diff --git a/tftp.c b/tftp.c index 181fdd4..bf74650 100644 --- a/tftp.c +++ b/tftp.c @@ -298,7 +298,7 @@ void sock_perror(const char *msg) inline bool tftp_is_valid_filename(const char *filename) { - return strlen(filename) <= 500 && is_netascii(filename); + return strlen(filename) <= 255 && is_netascii(filename); } int tftp_put(struct nmrpd_args *args) @@ -396,7 +396,9 @@ int tftp_put(struct nmrpd_args *args) if (timeouts || ackblock == block) { if (!timeouts) { + // TODO: set block to 1 if ++block == 0 ? ++block; + pkt_mknum(tx, DATA); pkt_mknum(tx + 2, block); len = read(fd, tx + 4, blksize); @@ -440,7 +442,7 @@ int tftp_put(struct nmrpd_args *args) } else if (block) { fprintf(stderr, "Timeout while waiting for ACK(%d).\n", block); } else { - fprintf(stderr, "Timeout while waiting for initial reply.\n"); + fprintf(stderr, "Timeout while waiting for ACK(0)/OACK.\n"); } ret = -1; goto cleanup;