Date: Thu, 13 Dec 2001 04:00:03 -0800 (PST) From: Evan Sarmiento <evms@cs.bu.edu> To: freebsd-bugs@FreeBSD.org Subject: Re: misc/32680: [PATCH] Allows users to start jails by hostname as well as IP address Message-ID: <200112131200.fBDC03h34034@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR misc/32680; it has been noted by GNATS.
From: Evan Sarmiento <evms@cs.bu.edu>
To: Will Andrews <will@csociety.org>,
FreeBSD GNATS DB <FreeBSD-gnats-submit@freebsd.org>
Cc:
Subject: Re: misc/32680: [PATCH] Allows users to start jails by hostname as well as IP address
Date: Thu, 13 Dec 2001 06:55:44 -0500 (EST)
Hello,
Attached is the new, stylized (9) jail.c patch:
--- jail.c Thu Dec 13 06:50:45 2001
+++ jail.new Thu Dec 13 06:52:24 2001
@@ -17,20 +17,20 @@
#include <arpa/inet.h>
#include <err.h>
-#include <stdio.h>
+#include <netdb.h>
#include <stdlib.h>
-#include <string.h>
#include <unistd.h>
int
main(int argc, char **argv)
{
+ struct hostent *hp;
struct jail j;
int i;
struct in_addr in;
if (argc < 5)
- errx(1, "Usage: %s path hostname ip-number command ...\n",
+ errx(1, "Usage: %s path hostname address command ...\n",
argv[0]);
i = chdir(argv[1]);
if (i)
@@ -40,12 +40,22 @@
j.path = argv[1];
j.hostname = argv[2];
i = inet_aton(argv[3], &in);
- if (!i)
- errx(1, "Couldn't make sense of ip-number\n");
+
+ if (i == NULL) {
+ hp = gethostbyname(argv[3]);
+
+ if (hp == NULL)
+ errx(1, "gethostbyname(%s): %s (and) inet_aton(%s): Could not make sense of either IP number or hostname.",
+ argv[3], hstrerror(h_errno), argv[3] );
+
+ else if (hp)
+ in = *(struct in_addr *)hp->h_addr;
+ }
+
j.ip_number = ntohl(in.s_addr);
i = jail(&j);
if (i)
- err(1, "Imprisonment failed");
+ err(1, "Imprisonment failed");
i = execv(argv[4], argv + 4);
if (i)
err(1, "execv(%s)", argv[4]);
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200112131200.fBDC03h34034>
