Jim Meyering
2009-Aug-11 11:17 UTC
[Libguestfs] [PATCH libguestfs] daemon/ls: make do_ll require root, like all the rest
per IRC discussion,>From a1d982bf49e166341096902fc4c103d4397ce0e3 Mon Sep 17 00:00:00 2001From: 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
Richard W.M. Jones
2009-Aug-11 11:23 UTC
[Libguestfs] [PATCH libguestfs] daemon/ls: make do_ll require root, like all the rest
On Tue, Aug 11, 2009 at 01:17:13PM +0200, Jim Meyering wrote: [...] No the comment is unclear. It should be: /* Because we can't chroot and run the ls command (since 'ls' won't * necessarily exist in the chroot), this command can be used to escape * from the sysroot (eg. 'll /..'). This command is not meant for * serious use anyway, just for quick interactive sessions. * * FIXME: eventually, provide a "debug ll" command that would list files * in the appliance. */ But the rest of the patch is fine, so ACK if the comment is changed. Rich. -- Richard Jones, Emerging Technologies, Red Hat http://et.redhat.com/~rjones virt-df lists disk usage of guests without needing to install any software inside the virtual machine. Supports Linux and Windows. http://et.redhat.com/~rjones/virt-df/
Apparently Analagous Threads
- [PATCH] daemon: resolve paths for ll and llz
- [PATCH 1/2] xenstore: don't die on access-denied child nodes in 'xenstore ls'
- [PATCH 0/23] factor and const-correctness
- [PATCH libguestfs] doc: improve emacs snippets
- [PATCH v2] virt-ls: support drive letters on Windows