--- tftpd/src/buf.c 2014/02/24 14:49:03 1.1.2.2 +++ tftpd/src/buf.c 2014/02/24 15:12:31 1.1.2.3 @@ -30,9 +30,17 @@ int flushBuffer(int fd) { int ret = 0; + const char *m; if (!bf || !cli.addr.sa.sa_len || cli.opc != TFTP_OPC_WRQ) return 0; + + m = cfg_getAttribute(&cfg, "tftpd", "buf_pad"); + if (m) { + memset(RPACK_NEXT(bf), *m, RPACK_REMAIN(bf)); + EVERBOSE(4, "Padding buffer with '%c' len=%d", *m, RPACK_REMAIN(bf)); + rpack_rnext(bf, RPACK_REMAIN(bf)); + } ret = write(fd, RPACK_BUF(bf), RPACK_OFF(bf)); if (ret == -1)