Date: Wed, 15 May 2002 19:12:02 -0400 (EDT) From: Josh Elsasser <jre@vineyard.net> To: FreeBSD-gnats-submit@FreeBSD.org Subject: bin/38126: [PATCH] add option to rarpd for alternate tftp directory Message-ID: <20020515231202.731C41478C3@joshe.dyndns.org>
index | next in thread | raw e-mail
>Number: 38126
>Category: bin
>Synopsis: [PATCH] add option to rarpd for alternate tftp directory
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed May 15 16:20:01 PDT 2002
>Closed-Date:
>Last-Modified:
>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:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020515231202.731C41478C3>
