svn commit: r228798 - head/lib/libstand

Ed Schouten ed at FreeBSD.org
Thu Dec 22 09:36:38 UTC 2011


Author: ed
Date: Thu Dec 22 09:36:37 2011
New Revision: 228798
URL: http://svn.freebsd.org/changeset/base/228798

Log:
  Add placeholder code for prepending pathnames to tftp.
  
  At work we have a single tftp server that provides installation data for
  a variety of operating systems. I'd rather place our FreeBSD-related
  files in a subdirectory, instead of the root.
  
  It would be nice if this setting could be run-time configurable, but at
  least in our specific case, this is not possible, as pxeboot is
  chainloaded through pxelinux.
  
  Sponsored by:	Kumina bv

Modified:
  head/lib/libstand/tftp.c

Modified: head/lib/libstand/tftp.c
==============================================================================
--- head/lib/libstand/tftp.c	Thu Dec 22 08:42:07 2011	(r228797)
+++ head/lib/libstand/tftp.c	Thu Dec 22 09:36:37 2011	(r228798)
@@ -292,8 +292,15 @@ tftp_makereq(struct tftp_handle *h)
 	wbuf.t.th_opcode = htons((u_short) RRQ);
 	wtail = wbuf.t.th_stuff;
 	l = strlen(h->path);
+#ifdef TFTP_PREPEND_PATH
+	if (l > FNAME_SIZE - (sizeof(TFTP_PREPEND_PATH) - 1))
+		return (ENAMETOOLONG);
+	bcopy(TFTP_PREPEND_PATH, wtail, sizeof(TFTP_PREPEND_PATH) - 1);
+	wtail += sizeof(TFTP_PREPEND_PATH) - 1;
+#else
 	if (l > FNAME_SIZE)
 		return (ENAMETOOLONG);
+#endif
 	bcopy(h->path, wtail, l + 1);
 	wtail += l + 1;
 	bcopy("octet", wtail, 6);


More information about the svn-src-head mailing list