-c Allow new files to be created; otherwise uploaded files must already exist. Files are created with default permissions allowing anyone to read or write to them.
Works for me in diskless(8) usage and manual tftp(1) get/put testing with existing and new files. Feedback? OK? Index: tftpd.c =================================================================== RCS file: /cvs/src/usr.sbin/tftpd/tftpd.c,v retrieving revision 1.47 diff -u -p -r1.47 tftpd.c --- tftpd.c 24 Oct 2021 21:24:19 -0000 1.47 +++ tftpd.c 1 Oct 2022 16:40:56 -0000 @@ -391,8 +391,13 @@ main(int argc, char *argv[]) if (!debug && rdaemon(devnull) == -1) err(1, "unable to daemonize"); - if (pledge("stdio rpath wpath cpath fattr dns inet", NULL) == -1) - lerr(1, "pledge"); + if (cancreate) { + if (pledge("stdio rpath wpath cpath fattr dns inet", NULL) == -1) + lerr(1, "pledge"); + } else { + if (pledge("stdio rpath wpath fattr dns inet", NULL) == -1) + lerr(1, "pledge"); + } event_init();