summaryrefslogtreecommitdiffstats
path: root/daemon
diff options
context:
space:
mode:
Diffstat (limited to 'daemon')
-rw-r--r--daemon/augeas.c23
-rw-r--r--daemon/blockdev.c22
-rw-r--r--daemon/checksum.c5
-rw-r--r--daemon/cmp.c2
-rw-r--r--daemon/command.c4
-rw-r--r--daemon/cpmv.c6
-rw-r--r--daemon/debug.c2
-rw-r--r--daemon/devsparts.c2
-rw-r--r--daemon/dir.c25
-rw-r--r--daemon/du.c5
-rw-r--r--daemon/ext2.c14
-rw-r--r--daemon/fallocate.c5
-rw-r--r--daemon/file.c57
-rw-r--r--daemon/find.c5
-rw-r--r--daemon/fsck.c2
-rw-r--r--daemon/glob.c5
-rw-r--r--daemon/grep.c29
-rw-r--r--daemon/grub.c5
-rw-r--r--daemon/headtail.c13
-rw-r--r--daemon/hexdump.c5
-rw-r--r--daemon/initrd.c5
-rw-r--r--daemon/inotify.c2
-rw-r--r--daemon/link.c17
-rw-r--r--daemon/ls.c10
-rw-r--r--daemon/lvm.c20
-rw-r--r--daemon/mknod.c11
-rw-r--r--daemon/mount.c26
-rw-r--r--daemon/ntfs.c2
-rw-r--r--daemon/readdir.c5
-rw-r--r--daemon/realpath.c5
-rw-r--r--daemon/scrub.c12
-rw-r--r--daemon/selinux.c2
-rw-r--r--daemon/sfdisk.c18
-rw-r--r--daemon/stat.c15
-rw-r--r--daemon/strings.c7
-rw-r--r--daemon/swap.c35
-rw-r--r--daemon/tar.c14
-rw-r--r--daemon/upload.c4
-rw-r--r--daemon/wc.c11
-rw-r--r--daemon/xattr.c39
-rw-r--r--daemon/zero.c2
-rw-r--r--daemon/zerofree.c2
42 files changed, 175 insertions, 325 deletions
diff --git a/daemon/augeas.c b/daemon/augeas.c
index b6cc8f00..7de36249 100644
--- a/daemon/augeas.c
+++ b/daemon/augeas.c
@@ -49,14 +49,11 @@ static augeas *aug = NULL;
/* We need to rewrite the root path so it is based at /sysroot. */
int
-do_aug_init (char *root, int flags)
+do_aug_init (const char *root, int flags)
{
#ifdef HAVE_AUGEAS
char *buf;
- NEED_ROOT (return -1);
- ABS_PATH (root, return -1);
-
if (aug) {
aug_close (aug);
aug = NULL;
@@ -100,7 +97,7 @@ do_aug_close (void)
}
int
-do_aug_defvar (char *name, char *expr)
+do_aug_defvar (const char *name, const char *expr)
{
#ifdef HAVE_AUG_DEFVAR
int r;
@@ -120,7 +117,7 @@ do_aug_defvar (char *name, char *expr)
}
guestfs_int_int_bool *
-do_aug_defnode (char *name, char *expr, char *val)
+do_aug_defnode (const char *name, const char *expr, const char *val)
{
#ifdef HAVE_AUG_DEFNODE
static guestfs_int_int_bool r;
@@ -142,7 +139,7 @@ do_aug_defnode (char *name, char *expr, char *val)
}
char *
-do_aug_get (char *path)
+do_aug_get (const char *path)
{
#ifdef HAVE_AUGEAS
const char *value = NULL;
@@ -185,7 +182,7 @@ do_aug_get (char *path)
}
int
-do_aug_set (char *path, char *val)
+do_aug_set (const char *path, const char *val)
{
#ifdef HAVE_AUGEAS
int r;
@@ -206,7 +203,7 @@ do_aug_set (char *path, char *val)
}
int
-do_aug_insert (char *path, char *label, int before)
+do_aug_insert (const char *path, const char *label, int before)
{
#ifdef HAVE_AUGEAS
int r;
@@ -227,7 +224,7 @@ do_aug_insert (char *path, char *label, int before)
}
int
-do_aug_rm (char *path)
+do_aug_rm (const char *path)
{
#ifdef HAVE_AUGEAS
int r;
@@ -248,7 +245,7 @@ do_aug_rm (char *path)
}
int
-do_aug_mv (char *src, char *dest)
+do_aug_mv (const char *src, const char *dest)
{
#ifdef HAVE_AUGEAS
int r;
@@ -269,7 +266,7 @@ do_aug_mv (char *src, char *dest)
}
char **
-do_aug_match (char *path)
+do_aug_match (const char *path)
{
#ifdef HAVE_AUGEAS
char **matches = NULL;
@@ -341,7 +338,7 @@ do_aug_load (void)
/* Simpler version of aug-match, which also sorts the output. */
char **
-do_aug_ls (char *path)
+do_aug_ls (const char *path)
{
#ifdef HAVE_AUGEAS
char **matches;
diff --git a/daemon/blockdev.c b/daemon/blockdev.c
index 46ee9948..0745007a 100644
--- a/daemon/blockdev.c
+++ b/daemon/blockdev.c
@@ -32,7 +32,7 @@
* we centralize it in one call.
*/
static int64_t
-call_blockdev (char *device, char *switc, int extraarg, int prints)
+call_blockdev (const char *device, char *switc, int extraarg, int prints)
{
int r;
int64_t rv;
@@ -78,37 +78,37 @@ call_blockdev (char *device, char *switc, int extraarg, int prints)
}
int
-do_blockdev_setro (char *device)
+do_blockdev_setro (const char *device)
{
return (int) call_blockdev (device, "--setro", 0, 0);
}
int
-do_blockdev_setrw (char *device)
+do_blockdev_setrw (const char *device)
{
return (int) call_blockdev (device, "--setrw", 0, 0);
}
int
-do_blockdev_getro (char *device)
+do_blockdev_getro (const char *device)
{
return (int) call_blockdev (device, "--getro", 0, 1);
}
int
-do_blockdev_getss (char *device)
+do_blockdev_getss (const char *device)
{
return (int) call_blockdev (device, "--getss", 0, 1);
}
int
-do_blockdev_getbsz (char *device)
+do_blockdev_getbsz (const char *device)
{
return (int) call_blockdev (device, "--getbsz", 0, 1);
}
int
-do_blockdev_setbsz (char *device, int blocksize)
+do_blockdev_setbsz (const char *device, int blocksize)
{
if (blocksize <= 0 /* || blocksize >= what? */) {
reply_with_error ("blockdev_setbsz: blocksize must be > 0");
@@ -118,25 +118,25 @@ do_blockdev_setbsz (char *device, int blocksize)
}
int64_t
-do_blockdev_getsz (char *device)
+do_blockdev_getsz (const char *device)
{
return call_blockdev (device, "--getsz", 0, 1);
}
int64_t
-do_blockdev_getsize64 (char *device)
+do_blockdev_getsize64 (const char *device)
{
return call_blockdev (device, "--getsize64", 0, 1);
}
int
-do_blockdev_flushbufs (char *device)
+do_blockdev_flushbufs (const char *device)
{
return call_blockdev (device, "--flushbufs", 0, 0);
}
int
-do_blockdev_rereadpt (char *device)
+do_blockdev_rereadpt (const char *device)
{
return call_blockdev (device, "--rereadpt", 0, 0);
}
diff --git a/daemon/checksum.c b/daemon/checksum.c
index c06a697d..24232650 100644
--- a/daemon/checksum.c
+++ b/daemon/checksum.c
@@ -28,7 +28,7 @@
#include "actions.h"
char *
-do_checksum (char *csumtype, char *path)
+do_checksum (const char *csumtype, const char *path)
{
const char *program;
char *buf;
@@ -36,9 +36,6 @@ do_checksum (char *csumtype, char *path)
int r;
int len;
- NEED_ROOT (return NULL);
- ABS_PATH (path, return NULL);
-
if (strcasecmp (csumtype, "crc") == 0)
program = "cksum";
else if (strcasecmp (csumtype, "md5") == 0)
diff --git a/daemon/cmp.c b/daemon/cmp.c
index a48e9244..56717c55 100644
--- a/daemon/cmp.c
+++ b/daemon/cmp.c
@@ -28,7 +28,7 @@
#include "actions.h"
int
-do_equal (char *file1, char *file2)
+do_equal (const char *file1, const char *file2)
{
char *file1buf, *file2buf;
char *err;
diff --git a/daemon/command.c b/daemon/command.c
index f7a6dcf6..9e23e572 100644
--- a/daemon/command.c
+++ b/daemon/command.c
@@ -132,7 +132,7 @@ do_command_lines (char **argv)
}
char *
-do_sh (char *command)
+do_sh (const char *command)
{
char *argv[] = { "/bin/sh", "-c", command, NULL };
@@ -140,7 +140,7 @@ do_sh (char *command)
}
char **
-do_sh_lines (char *command)
+do_sh_lines (const char *command)
{
char *argv[] = { "/bin/sh", "-c", command, NULL };
diff --git a/daemon/cpmv.c b/daemon/cpmv.c
index 4fdee6bd..1007203a 100644
--- a/daemon/cpmv.c
+++ b/daemon/cpmv.c
@@ -28,19 +28,19 @@
static int cpmv_cmd (const char *cmd, const char *flags, const char *src, const char *dest);
int
-do_cp (char *src, char *dest)
+do_cp (const char *src, const char *dest)
{
return cpmv_cmd ("cp", NULL, src, dest);
}
int
-do_cp_a (char *src, char *dest)
+do_cp_a (const char *src, const char *dest)
{
return cpmv_cmd ("cp", "-a", src, dest);
}
int
-do_mv (char *src, char *dest)
+do_mv (const char *src, const char *dest)
{
return cpmv_cmd ("mv", NULL, src, dest);
}
diff --git a/daemon/debug.c b/daemon/debug.c
index 5083398a..58a50619 100644
--- a/daemon/debug.c
+++ b/daemon/debug.c
@@ -67,7 +67,7 @@ static struct cmd cmds[] = {
#endif
char *
-do_debug (char *subcmd MAYBE_UNUSED, char **argv MAYBE_UNUSED)
+do_debug (const char *subcmd MAYBE_UNUSED, char **argv MAYBE_UNUSED)
{
#if ENABLE_DEBUG_COMMAND
int argc, i;
diff --git a/daemon/devsparts.c b/daemon/devsparts.c
index 04585ed7..b4ea5788 100644
--- a/daemon/devsparts.c
+++ b/daemon/devsparts.c
@@ -188,7 +188,7 @@ do_list_partitions (void)
}
int
-do_mkfs (char *fstype, char *device)
+do_mkfs (const char *fstype, const char *device)
{
char *err;
int r;
diff --git a/daemon/dir.c b/daemon/dir.c
index ec072ddb..ad1c7c98 100644
--- a/daemon/dir.c
+++ b/daemon/dir.c
@@ -30,13 +30,10 @@
#include "actions.h"
int
-do_rmdir (char *path)
+do_rmdir (const char *path)
{
int r;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
r = rmdir (path);
CHROOT_OUT;
@@ -54,14 +51,11 @@ do_rmdir (char *path)
* do stupid stuff, who are we to try to stop them?
*/
int
-do_rm_rf (char *path)
+do_rm_rf (const char *path)
{
int r;
char *buf, *err;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
if (strcmp (path, "/") == 0) {
reply_with_error ("rm -rf: cannot remove root directory");
return -1;
@@ -89,13 +83,10 @@ do_rm_rf (char *path)
}
int
-do_mkdir (char *path)
+do_mkdir (const char *path)
{
int r;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
r = mkdir (path, 0777);
CHROOT_OUT;
@@ -155,13 +146,10 @@ recursive_mkdir (const char *path)
}
int
-do_mkdir_p (char *path)
+do_mkdir_p (const char *path)
{
int r;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
r = recursive_mkdir (path);
CHROOT_OUT;
@@ -175,14 +163,11 @@ do_mkdir_p (char *path)
}
int
-do_is_dir (char *path)
+do_is_dir (const char *path)
{
int r;
struct stat buf;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
r = lstat (path, &buf);
CHROOT_OUT;
diff --git a/daemon/du.c b/daemon/du.c
index f5f083d2..e6df2452 100644
--- a/daemon/du.c
+++ b/daemon/du.c
@@ -29,16 +29,13 @@
#include "actions.h"
int64_t
-do_du (char *path)
+do_du (const char *path)
{
int r;
int64_t rv;
char *out, *err;
char *buf;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
/* Make the path relative to /sysroot. */
buf = sysroot_path (path);
if (!buf) {
diff --git a/daemon/ext2.c b/daemon/ext2.c
index 04869daf..f181b8d7 100644
--- a/daemon/ext2.c
+++ b/daemon/ext2.c
@@ -28,7 +28,7 @@
#include "actions.h"
char **
-do_tune2fs_l (char *device)
+do_tune2fs_l (const char *device)
{
int r;
char *out, *err;
@@ -115,7 +115,7 @@ do_tune2fs_l (char *device)
}
int
-do_set_e2label (char *device, char *label)
+do_set_e2label (const char *device, const char *label)
{
int r;
char *err;
@@ -132,7 +132,7 @@ do_set_e2label (char *device, char *label)
}
char *
-do_get_e2label (char *device)
+do_get_e2label (const char *device)
{
int r, len;
char *out, *err;
@@ -156,7 +156,7 @@ do_get_e2label (char *device)
}
int
-do_set_e2uuid (char *device, char *uuid)
+do_set_e2uuid (const char *device, const char *uuid)
{
int r;
char *err;
@@ -173,7 +173,7 @@ do_set_e2uuid (char *device, char *uuid)
}
char *
-do_get_e2uuid (char *device)
+do_get_e2uuid (const char *device)
{
int r;
char *out, *err, *p, *q;
@@ -234,7 +234,7 @@ do_get_e2uuid (char *device)
}
int
-do_resize2fs (char *device)
+do_resize2fs (const char *device)
{
char *err;
int r;
@@ -251,7 +251,7 @@ do_resize2fs (char *device)
}
int
-do_e2fsck_f (char *device)
+do_e2fsck_f (const char *device)
{
char *err;
int r;
diff --git a/daemon/fallocate.c b/daemon/fallocate.c
index 9c5a3dde..eb841457 100644
--- a/daemon/fallocate.c
+++ b/daemon/fallocate.c
@@ -28,13 +28,10 @@
#include "actions.h"
int
-do_fallocate (char *path, int len)
+do_fallocate (const char *path, int len)
{
int fd, r;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
fd = open (path, O_WRONLY | O_CREAT | O_TRUNC | O_NOCTTY, 0666);
CHROOT_OUT;
diff --git a/daemon/file.c b/daemon/file.c
index d8425e91..ed3221d5 100644
--- a/daemon/file.c
+++ b/daemon/file.c
@@ -30,14 +30,11 @@
#include "actions.h"
int
-do_touch (char *path)
+do_touch (const char *path)
{
int fd;
int r;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
fd = open (path, O_WRONLY | O_CREAT | O_NOCTTY, 0666);
CHROOT_OUT;
@@ -67,15 +64,12 @@ do_touch (char *path)
}
char *
-do_cat (char *path)
+do_cat (const char *path)
{
int fd;
int alloc, size, r, max;
char *buf, *buf2;
- NEED_ROOT (return NULL);
- ABS_PATH (path, return NULL);
-
CHROOT_IN;
fd = open (path, O_RDONLY);
CHROOT_OUT;
@@ -138,7 +132,7 @@ do_cat (char *path)
}
char **
-do_read_lines (char *path)
+do_read_lines (const char *path)
{
char **r = NULL;
int size = 0, alloc = 0;
@@ -147,9 +141,6 @@ do_read_lines (char *path)
size_t len = 0;
ssize_t n;
- NEED_ROOT (return NULL);
- ABS_PATH (path, return NULL);
-
CHROOT_IN;
fp = fopen (path, "r");
CHROOT_OUT;
@@ -190,13 +181,10 @@ do_read_lines (char *path)
}
int
-do_rm (char *path)
+do_rm (const char *path)
{
int r;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
r = unlink (path);
CHROOT_OUT;
@@ -210,13 +198,10 @@ do_rm (char *path)
}
int
-do_chmod (int mode, char *path)
+do_chmod (int mode, const char *path)
{
int r;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
r = chmod (path, mode);
CHROOT_OUT;
@@ -230,13 +215,10 @@ do_chmod (int mode, char *path)
}
int
-do_chown (int owner, int group, char *path)
+do_chown (int owner, int group, const char *path)
{
int r;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
r = chown (path, owner, group);
CHROOT_OUT;
@@ -250,13 +232,10 @@ do_chown (int owner, int group, char *path)
}
int
-do_exists (char *path)
+do_exists (const char *path)
{
int r;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
r = access (path, F_OK);
CHROOT_OUT;
@@ -265,14 +244,11 @@ do_exists (char *path)
}
int
-do_is_file (char *path)
+do_is_file (const char *path)
{
int r;
struct stat buf;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
r = lstat (path, &buf);
CHROOT_OUT;
@@ -290,13 +266,10 @@ do_is_file (char *path)
}
int
-do_write_file (char *path, char *content, int size)
+do_write_file (const char *path, const char *content, int size)
{
int fd;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
if (size == 0)
size = strlen (content);
@@ -324,15 +297,12 @@ do_write_file (char *path, char *content, int size)
}
char *
-do_read_file (char *path, size_t *size_r)
+do_read_file (const char *path, size_t *size_r)
{
int fd;
struct stat statbuf;
char *r;
- NEED_ROOT (return NULL);
- ABS_PATH (path, return NULL);
-
CHROOT_IN;
fd = open (path, O_RDONLY);
CHROOT_OUT;
@@ -384,7 +354,7 @@ do_read_file (char *path, size_t *size_r)
/* This runs the 'file' command. */
char *
-do_file (char *path)
+do_file (const char *path)
{
char *out, *err;
int r, freeit = 0;
@@ -436,7 +406,7 @@ do_file (char *path)
/* zcat | file */
char *
-do_zfile (char *method, char *path)
+do_zfile (const char *method, const char *path)
{
int len;
const char *zcat;
@@ -444,9 +414,6 @@ do_zfile (char *method, char *path)
FILE *fp;
char line[256];
- NEED_ROOT (return NULL);
- ABS_PATH (path, return NULL);
-
if (strcmp (method, "gzip") == 0 || strcmp (method, "compress") == 0)
zcat = "zcat";
else if (strcmp (method, "bzip2") == 0)
diff --git a/daemon/find.c b/daemon/find.c
index 950a0fcb..2147c579 100644
--- a/daemon/find.c
+++ b/daemon/find.c
@@ -48,7 +48,7 @@ input_to_nul (FILE *fp, char *buf, int maxlen)
}
char **
-do_find (char *dir)
+do_find (const char *dir)
{
struct stat statbuf;
int r, len, sysrootdirlen;
@@ -59,9 +59,6 @@ do_find (char *dir)
char *sysrootdir;
char str[PATH_MAX];
- NEED_ROOT (return NULL);
- ABS_PATH (dir, return NULL);
-
sysrootdir = sysroot_path (dir);
if (!sysrootdir) {
reply_with_perror ("malloc");
diff --git a/daemon/fsck.c b/daemon/fsck.c
index 825f97e0..71390949 100644
--- a/daemon/fsck.c
+++ b/daemon/fsck.c
@@ -27,7 +27,7 @@
#include "actions.h"
int
-do_fsck (char *fstype, char *device)
+do_fsck (const char *fstype, const char *device)
{
char *err;
int r;
diff --git a/daemon/glob.c b/daemon/glob.c
index 40b7c50e..4fe76f3f 100644
--- a/daemon/glob.c
+++ b/daemon/glob.c
@@ -26,14 +26,11 @@
#include "actions.h"
char **
-do_glob_expand (char *pattern)
+do_glob_expand (const char *pattern)
{
int r;
glob_t buf;
- NEED_ROOT (return NULL);
- ABS_PATH (pattern, return NULL); /* Required so chroot can be used. */
-
/* glob(3) in glibc never calls chdir, so this seems to be safe: */
CHROOT_IN;
r = glob (pattern, GLOB_MARK|GLOB_BRACE, NULL, &buf);
diff --git a/daemon/grep.c b/daemon/grep.c
index f0dbefd1..d1f5a3f7 100644
--- a/daemon/grep.c
+++ b/daemon/grep.c
@@ -28,16 +28,13 @@
#include "actions.h"
static char **
-grep (const char *prog, const char *flag, char *regex, char *path)
+grep (const char *prog, const char *flag, const char *regex, const char *path)
{
char *buf;
char *out, *err;
int r;
char **lines;
- NEED_ROOT (return NULL);
- ABS_PATH (path, return NULL);
-
/* Make the path relative to /sysroot. */
buf = sysroot_path (path);
if (!buf) {
@@ -67,74 +64,74 @@ grep (const char *prog, const char *flag, char *regex, char *path)
}
char **
-do_grep (char *regex, char *path)
+do_grep (const char *regex, const char *path)
{
/* The "--" is not really needed, but it helps when we don't need a flag. */
return grep ("grep", "--", regex, path);
}
char **
-do_egrep (char *regex, char *path)
+do_egrep (const char *regex, const char *path)
{
return grep ("egrep", "--", regex, path);
}
char **
-do_fgrep (char *regex, char *path)
+do_fgrep (const char *regex, const char *path)
{
return grep ("fgrep", "--", regex, path);
}
char **
-do_grepi (char *regex, char *path)
+do_grepi (const char *regex, const char *path)
{
return grep ("grep", "-i", regex, path);
}
char **
-do_egrepi (char *regex, char *path)
+do_egrepi (const char *regex, const char *path)
{
return grep ("egrep", "-i", regex, path);
}
char **
-do_fgrepi (char *regex, char *path)
+do_fgrepi (const char *regex, const char *path)
{
return grep ("fgrep", "-i", regex, path);
}
char **
-do_zgrep (char *regex, char *path)
+do_zgrep (const char *regex, const char *path)
{
return grep ("zgrep", "--", regex, path);
}
char **
-do_zegrep (char *regex, char *path)
+do_zegrep (const char *regex, const char *path)
{
return grep ("zegrep", "--", regex, path);
}
char **
-do_zfgrep (char *regex, char *path)
+do_zfgrep (const char *regex, const char *path)
{
return grep ("zfgrep", "--", regex, path);
}
char **
-do_zgrepi (char *regex, char *path)
+do_zgrepi (const char *regex, const char *path)
{
return grep ("zgrep", "-i", regex, path);
}
char **
-do_zegrepi (char *regex, char *path)
+do_zegrepi (const char *regex, const char *path)
{
return grep ("zegrep", "-i", regex, path);
}
char **
-do_zfgrepi (char *regex, char *path)
+do_zfgrepi (const char *regex, const char *path)
{
return grep ("zfgrep", "-i", regex, path);
}
diff --git a/daemon/grub.c b/daemon/grub.c
index 84766197..657abbba 100644
--- a/daemon/grub.c
+++ b/daemon/grub.c
@@ -26,15 +26,12 @@
#include "actions.h"
int
-do_grub_install (char *root, char *device)
+do_grub_install (const char *root, const char *device)
{
int r;
char *err;
char *buf;
- NEED_ROOT (return -1);
- ABS_PATH (root, return -1);
-
if (asprintf_nowarn (&buf, "--root-directory=%R", root) == -1) {
reply_with_perror ("asprintf");
return -1;
diff --git a/daemon/headtail.c b/daemon/headtail.c
index 79dcfbb4..9175cf05 100644
--- a/daemon/headtail.c
+++ b/daemon/headtail.c
@@ -28,16 +28,13 @@
#include "actions.h"
static char **
-headtail (const char *prog, const char *flag, const char *n, char *path)
+headtail (const char *prog, const char *flag, const char *n, const char *path)
{
char *buf;
char *out, *err;
int r;
char **lines;
- NEED_ROOT (return NULL);
- ABS_PATH (path, return NULL);
-
/* Make the path relative to /sysroot. */
buf = sysroot_path (path);
if (!buf) {
@@ -70,19 +67,19 @@ headtail (const char *prog, const char *flag, const char *n, char *path)
}
char **
-do_head (char *path)
+do_head (const char *path)
{
return headtail ("head", "-n", "10", path);
}
char **
-do_tail (char *path)
+do_tail (const char *path)
{
return headtail ("tail", "-n", "10", path);
}
char **
-do_head_n (int n, char *path)
+do_head_n (int n, const char *path)
{
char nbuf[16];
@@ -92,7 +89,7 @@ do_head_n (int n, char *path)
}
char **
-do_tail_n (int n, char *path)
+do_tail_n (int n, const char *path)
{
char nbuf[16];
diff --git a/daemon/hexdump.c b/daemon/hexdump.c
index faf3dc5f..7016faf4 100644
--- a/daemon/hexdump.c
+++ b/daemon/hexdump.c
@@ -26,15 +26,12 @@
#include "actions.h"
char *
-do_hexdump (char *path)
+do_hexdump (const char *path)
{
char *buf;
int r;
char *out, *err;
- NEED_ROOT (return NULL);
- ABS_PATH (path, return NULL);
-
buf = sysroot_path (path);
if (!buf) {
reply_with_perror ("malloc");
diff --git a/daemon/initrd.c b/daemon/initrd.c
index c1c7ce03..9431ef1f 100644
--- a/daemon/initrd.c
+++ b/daemon/initrd.c
@@ -28,7 +28,7 @@
#include "actions.h"
char **
-do_initrd_list (char *path)
+do_initrd_list (const char *path)
{
FILE *fp;
char *cmd;
@@ -37,9 +37,6 @@ do_initrd_list (char *path)
int size = 0, alloc = 0;
size_t len;
- NEED_ROOT (return NULL);
- ABS_PATH (path, return NULL);
-
/* "zcat /sysroot/<path> | cpio --quiet -it", but path must be quoted. */
if (asprintf_nowarn (&cmd, "zcat %R | cpio --quiet -it", path) == -1) {
reply_with_perror ("asprintf");
diff --git a/daemon/inotify.c b/daemon/inotify.c
index 96b96815..7834dcb5 100644
--- a/daemon/inotify.c
+++ b/daemon/inotify.c
@@ -123,7 +123,7 @@ do_inotify_close (void)
}
int64_t
-do_inotify_add_watch (char *path, int mask)
+do_inotify_add_watch (const char *path, int mask)
{
int64_t r;
char *buf;
diff --git a/daemon/link.c b/daemon/link.c
index 9129b5c9..a77c2e8a 100644
--- a/daemon/link.c
+++ b/daemon/link.c
@@ -28,15 +28,12 @@
#include "actions.h"
char *
-do_readlink (char *path)
+do_readlink (const char *path)
{
ssize_t r;
char *ret;
char link[PATH_MAX];
- NEED_ROOT (return NULL);
- ABS_PATH (path, return NULL);
-
CHROOT_IN;
r = readlink (path, link, sizeof link);
CHROOT_OUT;
@@ -62,10 +59,6 @@ _link (const char *flag, int symbolic, const char *target, const char *linkname)
char *buf_linkname;
char *buf_target;
- NEED_ROOT (return -1);
- ABS_PATH (linkname, return -1);
- /* but target does not need to be absolute */
-
/* Prefix linkname with sysroot. */
buf_linkname = sysroot_path (linkname);
if (!buf_linkname) {
@@ -113,25 +106,25 @@ _link (const char *flag, int symbolic, const char *target, const char *linkname)
}
int
-do_ln (char *target, char *linkname)
+do_ln (const char *target, const char *linkname)
{
return _link (NULL, 0, target, linkname);
}
int
-do_ln_f (char *target, char *linkname)
+do_ln_f (const char *target, const char *linkname)
{
return _link ("-f", 0, target, linkname);
}
int
-do_ln_s (char *target, char *linkname)
+do_ln_s (const char *target, const char *linkname)
{
return _link ("-s", 1, target, linkname);
}
int
-do_ln_sf (char *target, char *linkname)
+do_ln_sf (const char *target, const char *linkname)
{
return _link ("-sf", 1, target, linkname);
}
diff --git a/daemon/ls.c b/daemon/ls.c
index 8dba1bf4..9d2ca895 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 (return NULL);
- ABS_PATH (path, return NULL);
-
CHROOT_IN;
dir = opendir (path);
CHROOT_OUT;
@@ -84,15 +81,12 @@ do_ls (char *path)
*/
char *
-do_ll (char *path)
+do_ll (const char *path)
{
int r;
char *out, *err;
char *spath;
- NEED_ROOT (NULL);
- ABS_PATH (path, NULL);
-
spath = sysroot_path (path);
if (!spath) {
reply_with_perror ("malloc");
diff --git a/daemon/lvm.c b/daemon/lvm.c
index bee62d46..ddc125c9 100644
--- a/daemon/lvm.c
+++ b/daemon/lvm.c
@@ -32,7 +32,7 @@
*/
static char **
-convert_lvm_output (char *out, char *prefix)
+convert_lvm_output (char *out, const char *prefix)
{
char *p, *pend;
char **r = NULL;
@@ -171,7 +171,7 @@ do_lvs_full (void)
}
int
-do_pvcreate (char *device)
+do_pvcreate (const char *device)
{
char *err;
int r;
@@ -192,7 +192,7 @@ do_pvcreate (char *device)
}
int
-do_vgcreate (char *volgroup, char **physvols)
+do_vgcreate (const char *volgroup, char **physvols)
{
char *err;
int r, argc, i;
@@ -229,7 +229,7 @@ do_vgcreate (char *volgroup, char **physvols)
}
int
-do_lvcreate (char *logvol, char *volgroup, int mbytes)
+do_lvcreate (const char *logvol, const char *volgroup, int mbytes)
{
char *err;
int r;
@@ -254,14 +254,12 @@ do_lvcreate (char *logvol, char *volgroup, int mbytes)
}
int
-do_lvresize (char *logvol, int mbytes)
+do_lvresize (const char *logvol, int mbytes)
{
char *err;
int r;
char size[64];
- RESOLVE_DEVICE (logvol, return -1);
-
snprintf (size, sizeof size, "%d", mbytes);
r = command (NULL, &err,
@@ -345,7 +343,7 @@ do_lvm_remove_all (void)
}
int
-do_lvremove (char *device)
+do_lvremove (const char *device)
{
char *err;
int r;
@@ -366,7 +364,7 @@ do_lvremove (char *device)
}
int
-do_vgremove (char *device)
+do_vgremove (const char *device)
{
char *err;
int r;
@@ -387,7 +385,7 @@ do_vgremove (char *device)
}
int
-do_pvremove (char *device)
+do_pvremove (const char *device)
{
char *err;
int r;
@@ -408,7 +406,7 @@ do_pvremove (char *device)
}
int
-do_pvresize (char *device)
+do_pvresize (const char *device)
{
char *err;
int r;
diff --git a/daemon/mknod.c b/daemon/mknod.c
index a6e6eca6..adaeb80e 100644
--- a/daemon/mknod.c
+++ b/daemon/mknod.c
@@ -31,13 +31,10 @@
#include "actions.h"
int
-do_mknod (int mode, int devmajor, int devminor, char *path)
+do_mknod (int mode, int devmajor, int devminor, const char *path)
{
int r;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
r = mknod (path, mode, makedev (devmajor, devminor));
CHROOT_OUT;
@@ -51,19 +48,19 @@ do_mknod (int mode, int devmajor, int devminor, char *path)
}
int
-do_mkfifo (int mode, char *path)
+do_mkfifo (int mode, const char *path)
{
return do_mknod (mode | S_IFIFO, 0, 0, path);
}
int
-do_mknod_b (int mode, int devmajor, int devminor, char *path)
+do_mknod_b (int mode, int devmajor, int devminor, const char *path)
{
return do_mknod (mode | S_IFBLK, devmajor, devminor, path);
}
int
-do_mknod_c (int mode, int devmajor, int devminor, char *path)
+do_mknod_c (int mode, int devmajor, int devminor, const char *path)
{
return do_mknod (mode | S_IFCHR, devmajor, devminor, path);
}
diff --git a/daemon/mount.c b/daemon/mount.c
index 4f606823..89bef346 100644
--- a/daemon/mount.c
+++ b/daemon/mount.c
@@ -41,8 +41,8 @@ int root_mounted = 0;
*/
int
-do_mount_vfs (char *options, char *vfstype,
- char *device, char *mountpoint)
+do_mount_vfs (const char *options, const char *vfstype,
+ const char *device, const char *mountpoint)
{
int r, is_root;
char *mp;
@@ -81,20 +81,20 @@ do_mount_vfs (char *options, char *vfstype,
}
int
-do_mount (char *device, char *mountpoint)
+do_mount (const char *device, const char *mountpoint)
{
return do_mount_vfs ("sync,noatime", NULL, device, mountpoint);
}
int
-do_mount_ro (char *device, char *mountpoint)
+do_mount_ro (const char *device, const char *mountpoint)
{
return do_mount_vfs ("ro", NULL, device, mountpoint);
}
int
-do_mount_options (char *options, char *device,
- char *mountpoint)
+do_mount_options (const char *options, const char *device,
+ const char *mountpoint)
{
return do_mount_vfs (options, NULL, device, mountpoint);
}
@@ -103,7 +103,7 @@ do_mount_options (char *options, char *device,
* is kept updated.
*/
int
-do_umount (char *pathordevice)
+do_umount (const char *pathordevice)
{
int freeit = 0, r;
char *buf;
@@ -311,15 +311,12 @@ do_umount_all (void)
* device.
*/
int
-do_mount_loop (char *file, char *mountpoint)
+do_mount_loop (const char *file, const char *mountpoint)
{
int r;
char *buf, *mp;
char *error;
- NEED_ROOT (return -1);
- ABS_PATH (file, return -1);
-
/* We have to prefix /sysroot on both the filename and the mountpoint. */
mp = sysroot_path (mountpoint);
if (!mp) {
@@ -351,7 +348,7 @@ do_mount_loop (char *file, char *mountpoint)
* mkmountpoint case) set the root_mounted flag.
*/
int
-do_mkmountpoint (char *path)
+do_mkmountpoint (const char *path)
{
int r;
@@ -376,13 +373,10 @@ do_mkmountpoint (char *path)
}
int
-do_rmmountpoint (char *path)
+do_rmmountpoint (const char *path)
{
int r;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
r = rmdir (path);
CHROOT_OUT;
diff --git a/daemon/ntfs.c b/daemon/ntfs.c
index 1d73f2e1..85deb654 100644
--- a/daemon/ntfs.c
+++ b/daemon/ntfs.c
@@ -27,7 +27,7 @@
#include "actions.h"
int
-do_ntfs_3g_probe (int rw, char *device)
+do_ntfs_3g_probe (int rw, const char *device)
{
char *err;
int r;
diff --git a/daemon/readdir.c b/daemon/readdir.c
index 45256b22..ab42dfd2 100644
--- a/daemon/readdir.c
+++ b/daemon/readdir.c
@@ -28,7 +28,7 @@
#include "actions.h"
guestfs_int_dirent_list *
-do_readdir (char *path)
+do_readdir (const char *path)
{
guestfs_int_dirent_list *ret;
guestfs_int_dirent v;
@@ -36,9 +36,6 @@ do_readdir (char *path)
struct dirent *d;
int i;
- NEED_ROOT (return NULL);
- ABS_PATH (path, return NULL);
-
ret = malloc (sizeof *ret);
if (ret == NULL) {
reply_with_perror ("malloc");
diff --git a/daemon/realpath.c b/daemon/realpath.c
index c081a458..706af427 100644
--- a/daemon/realpath.c
+++ b/daemon/realpath.c
@@ -28,13 +28,10 @@
#include "actions.h"
char *
-do_realpath (char *path)
+do_realpath (const char *path)
{
char *ret;
- NEED_ROOT (return NULL);
- ABS_PATH (path, return NULL);
-
CHROOT_IN;
ret = realpath (path, NULL);
CHROOT_OUT;
diff --git a/daemon/scrub.c b/daemon/scrub.c
index 5530c69e..15c8b6c2 100644
--- a/daemon/scrub.c
+++ b/daemon/scrub.c
@@ -28,7 +28,7 @@
#include "actions.h"
int
-do_scrub_device (char *device)
+do_scrub_device (const char *device)
{
char *err;
int r;
@@ -46,15 +46,12 @@ do_scrub_device (char *device)
}
int
-do_scrub_file (char *file)
+do_scrub_file (const char *file)
{
char *buf;
char *err;
int r;
- NEED_ROOT (return -1);
- ABS_PATH (file, return -1);
-
/* Make the path relative to /sysroot. */
buf = sysroot_path (file);
if (!buf) {
@@ -76,15 +73,12 @@ do_scrub_file (char *file)
}
int
-do_scrub_freespace (char *dir)
+do_scrub_freespace (const char *dir)
{
char *buf;
char *err;
int r;
- NEED_ROOT (return -1);
- ABS_PATH (dir, return -1);
-
/* Make the path relative to /sysroot. */
buf = sysroot_path (dir);
if (!buf) {
diff --git a/daemon/selinux.c b/daemon/selinux.c
index 6e2b347e..ad5eaa15 100644
--- a/daemon/selinux.c
+++ b/daemon/selinux.c
@@ -37,7 +37,7 @@
* - enforcing=0
*/
int
-do_setcon (char *context)
+do_setcon (const char *context)
{
#ifdef HAVE_SETCON
if (setcon ((char *) context) == -1) {
diff --git a/daemon/sfdisk.c b/daemon/sfdisk.c
index e16e8c91..1ec0c859 100644
--- a/daemon/sfdisk.c
+++ b/daemon/sfdisk.c
@@ -30,7 +30,7 @@
#include "actions.h"
static int
-sfdisk (char *device, int n, int cyls, int heads, int sectors,
+sfdisk (const char *device, int n, int cyls, int heads, int sectors,
const char *extra_flag,
char * const* const lines)
{
@@ -82,15 +82,15 @@ sfdisk (char *device, int n, int cyls, int heads, int sectors,
}
int
-do_sfdisk (char *device, int cyls, int heads, int sectors,
+do_sfdisk (const char *device, int cyls, int heads, int sectors,
char **lines)
{
return sfdisk (device, 0, cyls, heads, sectors, NULL, lines);
}
int
-do_sfdisk_N (char *device, int n, int cyls, int heads, int sectors,
- char *line)
+do_sfdisk_N (const char *device, int n, int cyls, int heads, int sectors,
+ const char *line)
{
const char *lines[2] = { line, NULL };
@@ -98,13 +98,13 @@ do_sfdisk_N (char *device, int n, int cyls, int heads, int sectors,
}
int
-do_sfdiskM (char *device, char **lines)
+do_sfdiskM (const char *device, char **lines)
{
return sfdisk (device, 0, 0, 0, 0, "-uM", lines);
}
static char *
-sfdisk_flag (char *device, const char *flag)
+sfdisk_flag (const char *device, const char *flag)
{
char *out, *err;
int r;
@@ -125,19 +125,19 @@ sfdisk_flag (char *device, const char *flag)
}
char *
-do_sfdisk_l (char *device)
+do_sfdisk_l (const char *device)
{
return sfdisk_flag (device, "-l");
}
char *
-do_sfdisk_kernel_geometry (char *device)
+do_sfdisk_kernel_geometry (const char *device)
{
return sfdisk_flag (device, "-g");
}
char *
-do_sfdisk_disk_geometry (char *device)
+do_sfdisk_disk_geometry (const char *device)
{
return sfdisk_flag (device, "-G");
}
diff --git a/daemon/stat.c b/daemon/stat.c
index 4845851e..4ff27113 100644
--- a/daemon/stat.c
+++ b/daemon/stat.c
@@ -31,15 +31,12 @@
#include "actions.h"
guestfs_int_stat *
-do_stat (char *path)
+do_stat (const char *path)
{
int r;
guestfs_int_stat *ret;
struct stat statbuf;
- NEED_ROOT (return NULL);
- ABS_PATH (path, return NULL);
-
CHROOT_IN;
r = stat (path, &statbuf);
CHROOT_OUT;
@@ -73,15 +70,12 @@ do_stat (char *path)
}
guestfs_int_stat *
-do_lstat (char *path)
+do_lstat (const char *path)
{
int r;
guestfs_int_stat *ret;
struct stat statbuf;
- NEED_ROOT (return NULL);
- ABS_PATH (path, return NULL);
-
CHROOT_IN;
r = lstat (path, &statbuf);
CHROOT_OUT;
@@ -115,15 +109,12 @@ do_lstat (char *path)
}
guestfs_int_statvfs *
-do_statvfs (char *path)
+do_statvfs (const char *path)
{
int r;
guestfs_int_statvfs *ret;
struct statvfs statbuf;
- NEED_ROOT (return NULL);
- ABS_PATH (path, return NULL);
-
CHROOT_IN;
r = statvfs (path, &statbuf);
CHROOT_OUT;
diff --git a/daemon/strings.c b/daemon/strings.c
index e5aefca2..d7dc392a 100644
--- a/daemon/strings.c
+++ b/daemon/strings.c
@@ -26,16 +26,13 @@
#include "actions.h"
char **
-do_strings_e (char *encoding, char *path)
+do_strings_e (const char *encoding, const char *path)
{
char *buf;
int r;
char *out, *err;
char **lines;
- NEED_ROOT (return NULL);
- ABS_PATH (path, return NULL);
-
buf = sysroot_path (path);
if (!buf) {
reply_with_perror ("malloc");
@@ -64,7 +61,7 @@ do_strings_e (char *encoding, char *path)
}
char **
-do_strings (char *path)
+do_strings (const char *path)
{
return do_strings_e ("s", path);
}
diff --git a/daemon/swap.c b/daemon/swap.c
index 580482fc..bcc5f1b1 100644
--- a/daemon/swap.c
+++ b/daemon/swap.c
@@ -28,7 +28,7 @@
#include "actions.h"
static int
-mkswap (char *device, const char *flag, const char *value)
+mkswap (const char *device, const char *flag, const char *value)
{
char *err;
int r;
@@ -50,32 +50,29 @@ mkswap (char *device, const char *flag, const char *value)
}
int
-do_mkswap (char *device)
+do_mkswap (const char *device)
{
return mkswap (device, NULL, NULL);
}
int
-do_mkswap_L (char *label, char *device)
+do_mkswap_L (const char *label, const char *device)
{
return mkswap (device, "-L", label);
}
int
-do_mkswap_U (char *uuid, char *device)
+do_mkswap_U (const char *uuid, const char *device)
{
return mkswap (device, "-U", uuid);
}
int
-do_mkswap_file (char *path)
+do_mkswap_file (const char *path)
{
char *buf;
int r;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
buf = sysroot_path (path);
if (!buf) {
reply_with_perror ("malloc");
@@ -110,26 +107,23 @@ swaponoff (const char *cmd, const char *flag, const char *value)
}
int
-do_swapon_device (char *device)
+do_swapon_device (const char *device)
{
return swaponoff ("/sbin/swapon", NULL, device);
}
int
-do_swapoff_device (char *device)
+do_swapoff_device (const char *device)
{
return swaponoff ("/sbin/swapoff", NULL, device);
}
int
-do_swapon_file (char *path)
+do_swapon_file (const char *path)
{
char *buf;
int r;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
buf = sysroot_path (path);
if (!buf) {
reply_with_perror ("malloc");
@@ -142,14 +136,11 @@ do_swapon_file (char *path)
}
int
-do_swapoff_file (char *path)
+do_swapoff_file (const char *path)
{
char *buf;
int r;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
buf = sysroot_path (path);
if (!buf) {
reply_with_perror ("malloc");
@@ -162,25 +153,25 @@ do_swapoff_file (char *path)
}
int
-do_swapon_label (char *label)
+do_swapon_label (const char *label)
{
return swaponoff ("/sbin/swapon", "-L", label);
}
int
-do_swapoff_label (char *label)
+do_swapoff_label (const char *label)
{
return swaponoff ("/sbin/swapoff", "-L", label);
}
int
-do_swapon_uuid (char *uuid)
+do_swapon_uuid (const char *uuid)
{
return swaponoff ("/sbin/swapon", "-U", uuid);
}
int
-do_swapoff_uuid (char *uuid)
+do_swapoff_uuid (const char *uuid)
{
return swaponoff ("/sbin/swapoff", "-U", uuid);
}
diff --git a/daemon/tar.c b/daemon/tar.c
index 9d21e791..03dc5121 100644
--- a/daemon/tar.c
+++ b/daemon/tar.c
@@ -36,7 +36,7 @@ fwrite_cb (void *fp_ptr, const void *buf, int len)
/* Has one FileIn parameter. */
int
-do_tar_in (char *dir)
+do_tar_in (const char *dir)
{
int err, r;
FILE *fp;
@@ -99,16 +99,13 @@ do_tar_in (char *dir)
/* Has one FileOut parameter. */
int
-do_tar_out (char *dir)
+do_tar_out (const char *dir)
{
int r;
FILE *fp;
char *cmd;
char buf[GUESTFS_MAX_CHUNK_SIZE];
- NEED_ROOT (return -1);
- ABS_PATH (dir, return -1);
-
/* "tar -C /sysroot%s -cf - ." but we have to quote the dir. */
if (asprintf_nowarn (&cmd, "tar -C %R -cf - .", dir) == -1) {
reply_with_perror ("asprintf");
@@ -158,7 +155,7 @@ do_tar_out (char *dir)
/* Has one FileIn parameter. */
int
-do_tgz_in (char *dir)
+do_tgz_in (const char *dir)
{
int err, r;
FILE *fp;
@@ -221,16 +218,13 @@ do_tgz_in (char *dir)
/* Has one FileOut parameter. */
int
-do_tgz_out (char *dir)
+do_tgz_out (const char *dir)
{
int r;
FILE *fp;
char *cmd;
char buf[GUESTFS_MAX_CHUNK_SIZE];
- NEED_ROOT (return -1);
- ABS_PATH (dir, return -1);
-
/* "tar -C /sysroot%s -zcf - ." but we have to quote the dir. */
if (asprintf_nowarn (&cmd, "tar -C %R -zcf - .", dir) == -1) {
reply_with_perror ("asprintf");
diff --git a/daemon/upload.c b/daemon/upload.c
index 5c1adaf6..aede24a5 100644
--- a/daemon/upload.c
+++ b/daemon/upload.c
@@ -36,7 +36,7 @@ write_cb (void *fd_ptr, const void *buf, int len)
/* Has one FileIn parameter. */
int
-do_upload (char *filename)
+do_upload (const char *filename)
{
int err, fd, r, is_dev;
@@ -88,7 +88,7 @@ do_upload (char *filename)
/* Has one FileOut parameter. */
int
-do_download (char *filename)
+do_download (const char *filename)
{
int fd, r, is_dev;
char buf[GUESTFS_MAX_CHUNK_SIZE];
diff --git a/daemon/wc.c b/daemon/wc.c
index 97204432..93d4ebbd 100644
--- a/daemon/wc.c
+++ b/daemon/wc.c
@@ -28,15 +28,12 @@
#include "actions.h"
static int
-wc (char *flag, char *path)
+wc (char *flag, const char *path)
{
char *buf;
char *out, *err;
int r;
- NEED_ROOT (return -1);
- ABS_PATH (path, return -1);
-
/* Make the path relative to /sysroot. */
buf = sysroot_path (path);
if (!buf) {
@@ -73,19 +70,19 @@ wc (char *flag, char *path)
}
int
-do_wc_l (char *path)
+do_wc_l (const char *path)
{
return wc ("-l", path);
}
int
-do_wc_w (char *path)
+do_wc_w (const char *path)
{
return wc ("-w", path);
}
int
-do_wc_c (char *path)
+do_wc_c (const char *path)
{
return wc ("-c", path);
}
diff --git a/daemon/xattr.c b/daemon/xattr.c
index d5213217..17d9382c 100644
--- a/daemon/xattr.c
+++ b/daemon/xattr.c
@@ -35,12 +35,12 @@
#endif
#endif
-static guestfs_int_xattr_list *getxattrs (char *path, ssize_t (*listxattr) (const char *path, char *list, size_t size), ssize_t (*getxattr) (const char *path, const char *name, void *value, size_t size));
-static int _setxattr (char *xattr, char *val, int vallen, char *path, int (*setxattr) (const char *path, const char *name, const void *value, size_t size, int flags));
-static int _removexattr (char *xattr, char *path, int (*removexattr) (const char *path, const char *name));
+static guestfs_int_xattr_list *getxattrs (const char *path, ssize_t (*listxattr) (const char *path, char *list, size_t size), ssize_t (*getxattr) (const char *path, const char *name, void *value, size_t size));
+static int _setxattr (const char *xattr, const char *val, int vallen, const char *path, int (*setxattr) (const char *path, const char *name, const void *value, size_t size, int flags));
+static int _removexattr (const char *xattr, const char *path, int (*removexattr) (const char *path, const char *name));
guestfs_int_xattr_list *
-do_getxattrs (char *path)
+do_getxattrs (const char *path)
{
#if defined(HAVE_LISTXATTR) && defined(HAVE_GETXATTR)
return getxattrs (path, listxattr, getxattr);
@@ -51,7 +51,7 @@ do_getxattrs (char *path)
}
guestfs_int_xattr_list *
-do_lgetxattrs (char *path)
+do_lgetxattrs (const char *path)
{
#if defined(HAVE_LLISTXATTR) && defined(HAVE_LGETXATTR)
return getxattrs (path, llistxattr, lgetxattr);
@@ -62,7 +62,7 @@ do_lgetxattrs (char *path)
}
int
-do_setxattr (char *xattr, char *val, int vallen, char *path)
+do_setxattr (const char *xattr, const char *val, int vallen, const char *path)
{
#if defined(HAVE_SETXATTR)
return _setxattr (xattr, val, vallen, path, setxattr);
@@ -73,7 +73,7 @@ do_setxattr (char *xattr, char *val, int vallen, char *path)
}
int
-do_lsetxattr (char *xattr, char *val, int vallen, char *path)
+do_lsetxattr (const char *xattr, const char *val, int vallen, const char *path)
{
#if defined(HAVE_LSETXATTR)
return _setxattr (xattr, val, vallen, path, lsetxattr);
@@ -84,7 +84,7 @@ do_lsetxattr (char *xattr, char *val, int vallen, char *path)
}
int
-do_removexattr (char *xattr, char *path)
+do_removexattr (const char *xattr, const char *path)
{
#if defined(HAVE_REMOVEXATTR)
return _removexattr (xattr, path, removexattr);
@@ -95,7 +95,7 @@ do_removexattr (char *xattr, char *path)
}
int
-do_lremovexattr (char *xattr, char *path)
+do_lremovexattr (const char *xattr, const char *path)
{
#if defined(HAVE_LREMOVEXATTR)
return _removexattr (xattr, path, lremovexattr);
@@ -106,7 +106,7 @@ do_lremovexattr (char *xattr, char *path)
}
static guestfs_int_xattr_list *
-getxattrs (char *path,
+getxattrs (const char *path,
ssize_t (*listxattr) (const char *path, char *list, size_t size),
ssize_t (*getxattr) (const char *path, const char *name,
void *value, size_t size))
@@ -116,9 +116,6 @@ getxattrs (char *path,
int i, j;
guestfs_int_xattr_list *r = NULL;
- NEED_ROOT (return NULL);
- ABS_PATH (path, return NULL);
-
CHROOT_IN;
len = listxattr (path, NULL, 0);
CHROOT_OUT;
@@ -210,7 +207,7 @@ getxattrs (char *path,
}
static int
-_setxattr (char *xattr, char *val, int vallen, char *path,
+_setxattr (const char *xattr, const char *val, int vallen, const char *path,
int (*setxattr) (const char *path, const char *name,
const void *value, size_t size, int flags))
{
@@ -228,7 +225,7 @@ _setxattr (char *xattr, char *val, int vallen, char *path,
}
static int
-_removexattr (char *xattr, char *path,
+_removexattr (const char *xattr, const char *path,
int (*removexattr) (const char *path, const char *name))
{
int r;
@@ -247,42 +244,42 @@ _removexattr (char *xattr, char *path,
#else /* no xattr.h */
guestfs_int_xattr_list *
-do_getxattrs (char *path)
+do_getxattrs (const char *path)
{
reply_with_error ("getxattrs: no support for xattrs");
return NULL;
}
guestfs_int_xattr_list *
-do_lgetxattrs (char *path)
+do_lgetxattrs (const char *path)
{
reply_with_error ("lgetxattrs: no support for xattrs");
return NULL;
}
int
-do_setxattr (char *xattr, char *val, int vallen, char *path)
+do_setxattr (const char *xattr, const char *val, int vallen, const char *path)
{
reply_with_error ("setxattr: no support for xattrs");
return -1;
}
int
-do_lsetxattr (char *xattr, char *val, int vallen, char *path)
+do_lsetxattr (const char *xattr, const char *val, int vallen, const char *path)
{
reply_with_error ("lsetxattr: no support for xattrs");
return -1;
}
int
-do_removexattr (char *xattr, char *path)
+do_removexattr (const char *xattr, const char *path)
{
reply_with_error ("removexattr: no support for xattrs");
return -1;
}
int
-do_lremovexattr (char *xattr, char *path)
+do_lremovexattr (const char *xattr, const char *path)
{
reply_with_error ("lremovexattr: no support for xattrs");
return -1;
diff --git a/daemon/zero.c b/daemon/zero.c
index 864e9a66..ce45ae23 100644
--- a/daemon/zero.c
+++ b/daemon/zero.c
@@ -28,7 +28,7 @@
#include "actions.h"
int
-do_zero (char *device)
+do_zero (const char *device)
{
int fd, i;
char buf[4096];
diff --git a/daemon/zerofree.c b/daemon/zerofree.c
index 457f8db0..ffb9b70b 100644
--- a/daemon/zerofree.c
+++ b/daemon/zerofree.c
@@ -28,7 +28,7 @@
#include "actions.h"
int
-do_zerofree (char *device)
+do_zerofree (const char *device)
{
char *err;
int r;