Diff for /tftpd/src/srv.c between versions 1.4.2.1 and 1.4.2.2

version 1.4.2.1, 2014/02/21 08:32:33 version 1.4.2.2, 2014/02/21 08:40:00
Line 163  getOpts(rpack_t * __restrict pkt, int rlen) Line 163  getOpts(rpack_t * __restrict pkt, int rlen)
                         cli.tsiz = strtoll(val, NULL, 10);                          cli.tsiz = strtoll(val, NULL, 10);
                 else if (!strcasecmp(opt, TFTP_OPT_TIMEOUT))                  else if (!strcasecmp(opt, TFTP_OPT_TIMEOUT))
                         cli.tout.tv_sec = strtol(val, NULL, 10);                          cli.tout.tv_sec = strtol(val, NULL, 10);
                else if (!strcasecmp(opt, TFTP_OPT_ROLLOVER))                else if (!strcasecmp(opt, TFTP_OPT_ROLLOVER)) {
                         cli.roll = strtol(val, NULL, 10);                          cli.roll = strtol(val, NULL, 10);
                           cli.roll++;
                   }
         } while (rlen > 0);          } while (rlen > 0);
   
         EVERBOSE(4, "blksize=%u tsize=%llu timeout=%u rollover=%u",           EVERBOSE(4, "blksize=%u tsize=%llu timeout=%u rollover=%u", 
                        cli.siz, cli.tsiz, cli.tout.tv_sec, cli.roll);                        cli.siz, cli.tsiz, cli.tout.tv_sec, cli.roll - 1);
         return 0;          return 0;
 }  }
   
Line 209  txOack(sched_task_t *task) Line 211  txOack(sched_task_t *task)
         }          }
         if (cli.roll) {          if (cli.roll) {
                 memset(szStr, 0, sizeof szStr);                  memset(szStr, 0, sizeof szStr);
                snprintf(szStr, sizeof szStr, "%u", cli.roll);                snprintf(szStr, sizeof szStr, "%u", cli.roll - 1);
                 rpack_rdata(pkt, TFTP_OPT_ROLLOVER, strlen(TFTP_OPT_ROLLOVER) + 1);                  rpack_rdata(pkt, TFTP_OPT_ROLLOVER, strlen(TFTP_OPT_ROLLOVER) + 1);
                 rpack_rdata(pkt, szStr, strlen(szStr) + 1);                  rpack_rdata(pkt, szStr, strlen(szStr) + 1);
         }          }
   
         EVERBOSE(4, "blksize=%u tsize=%llu timeout=%u rollover=%u",           EVERBOSE(4, "blksize=%u tsize=%llu timeout=%u rollover=%u", 
                        cli.siz, cli.tsiz, cli.tout.tv_sec, cli.roll);                        cli.siz, cli.tsiz, cli.tout.tv_sec, cli.roll - 1);
         schedCallOnce(TASK_ROOT(task), txPkt, NULL, TASK_FD(task),           schedCallOnce(TASK_ROOT(task), txPkt, NULL, TASK_FD(task), 
                         TASK_DATA(task), RPACK_OFF(pkt));                          TASK_DATA(task), RPACK_OFF(pkt));
         taskExit(task, NULL);          taskExit(task, NULL);
Line 358  ACK(sched_task_t *task) Line 360  ACK(sched_task_t *task)
         } else if (ntohs(code) == cli.seq) {          } else if (ntohs(code) == cli.seq) {
                 /* check for rollover seq id */                  /* check for rollover seq id */
                 if (cli.roll && cli.seq == USHRT_MAX)                  if (cli.roll && cli.seq == USHRT_MAX)
                        cli.seq = cli.roll;                        cli.seq = cli.roll - 1;
                 else                  else
                         cli.seq++;                          cli.seq++;
         }          }

Removed from v.1.4.2.1  
changed lines
  Added in v.1.4.2.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>