X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=daemon%2Fls.c;h=3e3183ad31cf4f20bac088a48cf32920216a540c;hp=4d4714ee3fd4959172f0a97b2456c3c62c8c7a16;hb=24a6cf4533118e04367f7fcdc6eadaa4e2dfbc56;hpb=78029b529ad98769685d607230b70f71832d5906 diff --git a/daemon/ls.c b/daemon/ls.c index 4d4714e..3e3183a 100644 --- a/daemon/ls.c +++ b/daemon/ls.c @@ -30,16 +30,13 @@ #include "actions.h" char ** -do_ls (char *path) +do_ls (const char *path) { char **r = NULL; int size = 0, alloc = 0; DIR *dir; struct dirent *d; - NEED_ROOT (NULL); - ABS_PATH (path, NULL); - CHROOT_IN; dir = opendir (path); CHROOT_OUT; @@ -74,22 +71,19 @@ 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. + */ + char * -do_ll (char *path) +do_ll (const char *path) { int r; char *out, *err; char *spath; - //NEED_ROOT - 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");