[Libguestfs] [PATCH libguestfs] daemon/ls: make do_ll require root, like all the rest

Jim Meyering jim at meyering.net
Tue Aug 11 11:17:13 UTC 2009


per IRC discussion,

>From a1d982bf49e166341096902fc4c103d4397ce0e3 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering at redhat.com>
Date: Tue, 11 Aug 2009 13:16:27 +0200
Subject: [PATCH libguestfs] daemon/ls: make do_ll require root, like all the rest

* ls.c (do_ll): Do invoke "NEED_ROOT" here, and add a FIXME to
provide a "debug ll" command with the semantics we're removing.
---
 daemon/ls.c |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/daemon/ls.c b/daemon/ls.c
index 4d4714e..90db3e3 100644
--- a/daemon/ls.c
+++ b/daemon/ls.c
@@ -74,6 +74,14 @@ do_ls (char *path)
   return r;
 }

+/* FIXME: eventually, provide a "debug ll" command that would
+ * expose the /sysroot, because we can't chroot and run the ls
+ * command (since 'ls' won't necessarily exist in the chroot).  This
+ * command is not meant for serious use anyway, just for quick
+ * interactive sessions.  For the same reason, you can also "escape"
+ * the sysroot (eg. 'll /..').
+ */
+
 char *
 do_ll (char *path)
 {
@@ -81,15 +89,9 @@ do_ll (char *path)
   char *out, *err;
   char *spath;

-  //NEED_ROOT
+  NEED_ROOT (NULL);
   ABS_PATH (path, NULL);

-  /* This exposes the /sysroot, because we can't chroot and run the ls
-   * command (since 'ls' won't necessarily exist in the chroot).  This
-   * command is not meant for serious use anyway, just for quick
-   * interactive sessions.  For the same reason, you can also "escape"
-   * the sysroot (eg. 'll /..').
-   */
   spath = sysroot_path (path);
   if (!spath) {
     reply_with_perror ("malloc");
--
1.6.4.337.g5420e




More information about the Libguestfs mailing list