i386/106493: [ patch ] pxeboot uses /pxeroot instead of /

Andrey Russev ruan at univ.kiev.ua
Fri Dec 8 12:00:27 PST 2006


>Number:         106493
>Category:       i386
>Synopsis:       [ patch ] pxeboot uses /pxeroot instead of /
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-i386
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Dec 08 20:00:25 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Andrey Russev
>Release:        FreeBSD 6.0-RELEASE-p15 i386
>Organization:
>Environment:
System: FreeBSD 6.0-RELEASE-p15 i386

isc-dhcp3-server-3.0.3
	
>Description:
When boot server exports its own root as a rootpath to the client,
the latter falls back to /pxeroot
	
>How-To-Repeat:
1. Enable tftpd
2. Copy /boot/pxeboot to the tftpd root (/tftpboot/)
3. Add lines
  filename "pxeboot";
  option root-path "/";
to the dhcpd.conf
4. Restart dhcpd
5. Try to boot some machine over the network
	
>Fix:
Workaround:
  option root-path "//";

	

--- pxe.c.diff begins here ---
--- pxe.c	Mon Apr 18 00:38:22 2005
+++ /tmp/pxe.c	Thu Dec  7 19:06:14 2006
@@ -282,7 +282,7 @@
 		bootp(pxe_sock, BOOTP_PXE);
 		if (rootip.s_addr == 0)
 			rootip.s_addr = bootplayer.sip;
-		if (!rootpath[1])
+		if (!rootpath[0])
 			strcpy(rootpath, PXENFSROOTPATH);
 
 		for (i = 0; rootpath[i] != '\0' && i < FNAME_SIZE; i++)
--- pxe.c.diff ends here ---



>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-i386 mailing list