From 6727e7c8bdf1cb39264a9de6333d228b51c39956 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Tue, 11 Aug 2009 13:16:27 +0200 Subject: [PATCH] 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 | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/daemon/ls.c b/daemon/ls.c index 4d4714e..e2ca55f 100644 --- a/daemon/ls.c +++ b/daemon/ls.c @@ -74,6 +74,15 @@ do_ls (char *path) return r; } +/* 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. + */ + char * do_ll (char *path) { @@ -81,15 +90,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.8.3.1