Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Dec 2011 09:36:37 +0000 (UTC)
From:      Ed Schouten <ed@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r228798 - head/lib/libstand
Message-ID:  <201112220936.pBM9abps009471@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201112220936.pBM9abps009471>