summaryrefslogtreecommitdiffstats
path: root/daemon
diff options
context:
space:
mode:
authorRichard Jones <rjones@trick.home.annexia.org>2009-09-15 17:14:44 +0100
committerRichard Jones <rjones@trick.home.annexia.org>2009-09-17 16:05:39 +0100
commitda0a4f8d1f6ddd302ceba028d87c6e009589e503 (patch)
tree1d4bb0d6498e7c97846ae0094826963e29201cf1 /daemon
parentabac360f324d8c881878c5d9b7fb64be93981125 (diff)
downloadlibguestfs-da0a4f8d1f6ddd302ceba028d87c6e009589e503.tar.gz
libguestfs-da0a4f8d1f6ddd302ceba028d87c6e009589e503.tar.xz
libguestfs-da0a4f8d1f6ddd302ceba028d87c6e009589e503.zip
Remove explicit guestfs=10.0.2.4:6666 kernel command line parameter.
Since we control the appliance tightly, we can just specify that it will always use a particular host and port, and we don't need to pass it on the command line each time. Also the VMCHANNEL_* constants are only relevant to the particular guestfwd vmchannel implementation, so we rename them as GUESTFWD_*.
Diffstat (limited to 'daemon')
-rw-r--r--daemon/guestfsd.c78
1 files changed, 21 insertions, 57 deletions
diff --git a/daemon/guestfsd.c b/daemon/guestfsd.c
index 7c4e72e4..bfd81392 100644
--- a/daemon/guestfsd.c
+++ b/daemon/guestfsd.c
@@ -43,8 +43,8 @@
static void usage (void);
/* Also in guestfs.c */
-#define VMCHANNEL_PORT "6666"
-#define VMCHANNEL_ADDR "10.0.2.4"
+#define GUESTFWD_PORT "6666"
+#define GUESTFWD_ADDR "10.0.2.4"
int verbose = 0;
@@ -67,18 +67,14 @@ int sysroot_len = 8;
int
main (int argc, char *argv[])
{
- static const char *options = "fh:p:?";
+ static const char *options = "f?";
static const struct option long_options[] = {
{ "foreground", 0, 0, 'f' },
{ "help", 0, 0, '?' },
- { "host", 1, 0, 'h' },
- { "port", 1, 0, 'p' },
{ 0, 0, 0, 0 }
};
int c, n, r;
int dont_fork = 0;
- const char *host = NULL;
- const char *port = NULL;
FILE *fp;
char buf[4096];
char *p, *p2;
@@ -111,14 +107,6 @@ main (int argc, char *argv[])
dont_fork = 1;
break;
- case 'h':
- host = optarg;
- break;
-
- case 'p':
- port = optarg;
- break;
-
case '?':
usage ();
exit (0);
@@ -134,47 +122,21 @@ main (int argc, char *argv[])
exit (1);
}
- /* If host and port aren't set yet, try /proc/cmdline. */
- if (!host || !port) {
- fp = fopen ("/proc/cmdline", "r");
- if (fp == NULL) {
- perror ("/proc/cmdline");
- goto next;
- }
- n = fread (buf, 1, sizeof buf - 1, fp);
- fclose (fp);
- buf[n] = '\0';
-
- /* Set the verbose flag. Not quite right because this will only
- * set the flag if host and port aren't set on the command line.
- * Don't worry about this for now. (XXX)
- */
- verbose = strstr (buf, "guestfs_verbose=1") != NULL;
- if (verbose)
- printf ("verbose daemon enabled\n");
-
- p = strstr (buf, "guestfs=");
-
- if (p) {
- p += 8;
- p2 = strchr (p, ':');
- if (p2) {
- *p2++ = '\0';
- host = p;
- r = strcspn (p2, " \n");
- p2[r] = '\0';
- port = p2;
- }
- }
+ /* Set the verbose flag. */
+ fp = fopen ("/proc/cmdline", "r");
+ if (fp == NULL) {
+ perror ("/proc/cmdline");
+ goto next;
}
+ n = fread (buf, 1, sizeof buf - 1, fp);
+ fclose (fp);
+ buf[n] = '\0';
- next:
- /* Can't parse /proc/cmdline, so use built-in defaults. */
- if (!host || !port) {
- host = VMCHANNEL_ADDR;
- port = VMCHANNEL_PORT;
- }
+ verbose = strstr (buf, "guestfs_verbose=1") != NULL;
+ if (verbose)
+ printf ("verbose daemon enabled\n");
+ next:
/* Make sure SIGPIPE doesn't kill us. */
memset (&sa, 0, sizeof sa);
sa.sa_handler = SIG_IGN;
@@ -197,9 +159,10 @@ main (int argc, char *argv[])
memset (&hints, 0, sizeof hints);
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_ADDRCONFIG;
- r = getaddrinfo (host, port, &hints, &res);
+ r = getaddrinfo (GUESTFWD_ADDR, GUESTFWD_PORT, &hints, &res);
if (r != 0) {
- fprintf (stderr, "%s:%s: %s\n", host, port, gai_strerror (r));
+ fprintf (stderr, "%s:%s: %s\n",
+ GUESTFWD_ADDR, GUESTFWD_PORT, gai_strerror (r));
exit (1);
}
@@ -219,7 +182,8 @@ main (int argc, char *argv[])
freeaddrinfo (res);
if (sock == -1) {
- fprintf (stderr, "connection to %s:%s failed\n", host, port);
+ fprintf (stderr, "connection to %s:%s failed\n",
+ GUESTFWD_ADDR, GUESTFWD_PORT);
exit (1);
}
@@ -318,7 +282,7 @@ xread (int sock, void *v_buf, size_t len)
static void
usage (void)
{
- fprintf (stderr, "guestfsd [-f] [-h host -p port]\n");
+ fprintf (stderr, "guestfsd [-f]\n");
}
int