From joshe@joshe.dyndns.org  Wed May 15 16:12:38 2002
Return-Path: <joshe@joshe.dyndns.org>
Received: from joshe.dyndns.org (adsl-141-154-87-69.ba-dsg.net [141.154.87.69])
	by hub.freebsd.org (Postfix) with ESMTP id 8968137B400
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 15 May 2002 16:12:37 -0700 (PDT)
Received: by joshe.dyndns.org (Postfix, from userid 1000)
	id 731C41478C3; Wed, 15 May 2002 19:12:02 -0400 (EDT)
Message-Id: <20020515231202.731C41478C3@joshe.dyndns.org>
Date: Wed, 15 May 2002 19:12:02 -0400 (EDT)
From: Josh Elsasser <jre@vineyard.net>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: [PATCH] add option to rarpd for alternate tftp directory
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         38126
>Category:       bin
>Synopsis:       [PATCH] add option to rarpd for alternate tftp directory
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    dwmalone
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed May 15 16:20:01 PDT 2002
>Closed-Date:    Sun Dec 01 13:34:35 PST 2002
>Last-Modified:  Sun Dec 01 13:34:35 PST 2002
>Originator:     Josh Elsasser
>Release:        FreeBSD 4.6-PRERELEASE i386
>Organization:
>Environment:
System: FreeBSD jade 4.6-PRERELEASE FreeBSD 4.6-PRERELEASE #1: Sat May 4 18:42:54 EDT 2002 joshe@jade:/usr/obj/usr/src/sys/JADE i386

>Description:
	Rarpd uses files in /tftpboot to determine if it can boot the
client.  Tftpd can be told via command-line options to use a directory
other than /tftpboot, however rarpd will still look in /tftpboot.  It
is possible to have rarpd use an alternate directory, but only at
compile-time.
>How-To-Repeat:
	Try to a directory other than /tftboot as your tftp directory.
>Fix:

	Add a command-line option to specify a non-default tftpN*directory to use.  Update manpage as well.

--- rarpd.c.orig	Sat Jul 21 14:58:09 2001
+++ rarpd.c	Wed May 15 14:29:46 2002
@@ -33,8 +33,8 @@
 /*
  * rarpd - Reverse ARP Daemon
  *
- * Usage:	rarpd -a [ -dfsv ] [ hostname ]
- *		rarpd [ -dfsv ] interface [ hostname ]
+ * Usage:	rarpd -a [ -dfsv ] [ -t directory ] [ hostname ]
+ *		rarpd [ -dfsv ] [ -t directory ] interface [ hostname ]
  *
  * 'hostname' is optional solely for backwards compatibility with Sun's rarpd.
  * Currently, the argument is ignored.
@@ -129,7 +129,7 @@
 
 int verbose;			/* verbose messages */
 int s;				/* inet datagram socket */
-const char *tftp_dir = TFTP_DIR;	/* tftp directory */
+char *tftp_dir = TFTP_DIR;	/* tftp directory */
 
 int dflag;			/* messages to stdout/stderr, not syslog(3) */
 int sflag;			/* ignore /tftpboot */
@@ -164,6 +164,8 @@
 	int aflag = 0;		/* listen on "all" interfaces  */
 	int fflag = 0;		/* don't fork */
 
+	extern char *optarg;
+
 	if ((name = strrchr(argv[0], '/')) != NULL)
 		++name;
 	else
@@ -177,7 +179,7 @@
 	openlog(name, LOG_PID | LOG_CONS, LOG_DAEMON);
 
 	opterr = 0;
-	while ((op = getopt(argc, argv, "adfsv")) != -1) {
+	while ((op = getopt(argc, argv, "adfst:v")) != -1) {
 		switch (op) {
 		case 'a':
 			++aflag;
@@ -195,6 +197,11 @@
 			++sflag;
 			break;
 
+		case 't':
+			if(optarg)
+				tftp_dir = optarg;
+			break;
+
 		case 'v':
 			++verbose;
 			break;
@@ -395,7 +402,7 @@
 void
 usage(void)
 {
-	(void)fprintf(stderr, "usage: rarpd [-adfsv] [interface]\n");
+	(void)fprintf(stderr, "usage: rarpd [-adfsv] [-t directory] [interface]\n");
 	exit(1);
 }
 
--- usr.sbin/rarpd/rarpd.8.orig	Sat Jul 21 14:58:08 2001
+++ usr.sbin/rarpd/rarpd.8	Wed May 15 13:36:50 2002
@@ -28,6 +28,7 @@
 .Sh SYNOPSIS
 .Nm
 .Op Fl adfsv
+.Op Fl t Ar directory
 .Op Ar interface
 .Sh DESCRIPTION
 .Nm
@@ -93,6 +94,11 @@
 Supply a response to any RARP request for which an ethernet to IP address
 mapping exists; do not depend on the existence of
 .Pa /tftpboot/\fIipaddr\fP* .
+.It Fl t Ar directory
+Use
+.Pa directory
+instead of
+.Pa /tftpboot .
 .It Fl v
 Enable verbose sysloging.
 .El
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->dwmalone 
Responsible-Changed-By: dwmalone 
Responsible-Changed-When: Sun Sep 15 08:37:58 PDT 2002 
Responsible-Changed-Why:  
-t option has been added by rwattson, but still needs to be added to 
usage. I'll close the PR when I MFC it. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=38126 
State-Changed-From-To: open->closed 
State-Changed-By: dwmalone 
State-Changed-When: Sun Dec 1 13:34:12 PST 2002 
State-Changed-Why:  
-t now merged from current. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=38126 
>Unformatted:
