git.annexia.org
/
libguestfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
daemon: Change chdir to use openat/fdopendir.
[libguestfs.git]
/
daemon
/
file.c
diff --git
a/daemon/file.c
b/daemon/file.c
index
2ba2aab
..
212aff2
100644
(file)
--- a/
daemon/file.c
+++ b/
daemon/file.c
@@
-30,14
+30,11
@@
#include "actions.h"
int
#include "actions.h"
int
-do_touch (char *path)
+do_touch (c
onst c
har *path)
{
int fd;
int r;
{
int fd;
int r;
- NEED_ROOT (-1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
fd = open (path, O_WRONLY | O_CREAT | O_NOCTTY, 0666);
CHROOT_OUT;
CHROOT_IN;
fd = open (path, O_WRONLY | O_CREAT | O_NOCTTY, 0666);
CHROOT_OUT;
@@
-67,15
+64,12
@@
do_touch (char *path)
}
char *
}
char *
-do_cat (char *path)
+do_cat (c
onst c
har *path)
{
int fd;
int alloc, size, r, max;
char *buf, *buf2;
{
int fd;
int alloc, size, r, max;
char *buf, *buf2;
- NEED_ROOT (NULL);
- ABS_PATH (path, return NULL);
-
CHROOT_IN;
fd = open (path, O_RDONLY);
CHROOT_OUT;
CHROOT_IN;
fd = open (path, O_RDONLY);
CHROOT_OUT;
@@
-138,7
+132,7
@@
do_cat (char *path)
}
char **
}
char **
-do_read_lines (char *path)
+do_read_lines (c
onst c
har *path)
{
char **r = NULL;
int size = 0, alloc = 0;
{
char **r = NULL;
int size = 0, alloc = 0;
@@
-147,9
+141,6
@@
do_read_lines (char *path)
size_t len = 0;
ssize_t n;
size_t len = 0;
ssize_t n;
- NEED_ROOT (NULL);
- ABS_PATH (path, return NULL);
-
CHROOT_IN;
fp = fopen (path, "r");
CHROOT_OUT;
CHROOT_IN;
fp = fopen (path, "r");
CHROOT_OUT;
@@
-190,13
+181,10
@@
do_read_lines (char *path)
}
int
}
int
-do_rm (char *path)
+do_rm (c
onst c
har *path)
{
int r;
{
int r;
- NEED_ROOT (-1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
r = unlink (path);
CHROOT_OUT;
CHROOT_IN;
r = unlink (path);
CHROOT_OUT;
@@
-210,13
+198,10
@@
do_rm (char *path)
}
int
}
int
-do_chmod (int mode, char *path)
+do_chmod (int mode, c
onst c
har *path)
{
int r;
{
int r;
- NEED_ROOT (-1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
r = chmod (path, mode);
CHROOT_OUT;
CHROOT_IN;
r = chmod (path, mode);
CHROOT_OUT;
@@
-230,13
+215,10
@@
do_chmod (int mode, char *path)
}
int
}
int
-do_chown (int owner, int group, char *path)
+do_chown (int owner, int group, c
onst c
har *path)
{
int r;
{
int r;
- NEED_ROOT (-1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
r = chown (path, owner, group);
CHROOT_OUT;
CHROOT_IN;
r = chown (path, owner, group);
CHROOT_OUT;
@@
-250,13
+232,10
@@
do_chown (int owner, int group, char *path)
}
int
}
int
-do_exists (char *path)
+do_exists (c
onst c
har *path)
{
int r;
{
int r;
- NEED_ROOT (-1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
r = access (path, F_OK);
CHROOT_OUT;
CHROOT_IN;
r = access (path, F_OK);
CHROOT_OUT;
@@
-265,14
+244,11
@@
do_exists (char *path)
}
int
}
int
-do_is_file (char *path)
+do_is_file (c
onst c
har *path)
{
int r;
struct stat buf;
{
int r;
struct stat buf;
- NEED_ROOT (-1);
- ABS_PATH (path, return -1);
-
CHROOT_IN;
r = lstat (path, &buf);
CHROOT_OUT;
CHROOT_IN;
r = lstat (path, &buf);
CHROOT_OUT;
@@
-290,13
+266,10
@@
do_is_file (char *path)
}
int
}
int
-do_write_file (c
har *path,
char *content, int size)
+do_write_file (c
onst char *path, const
char *content, int size)
{
int fd;
{
int fd;
- NEED_ROOT (-1);
- ABS_PATH (path, return -1);
-
if (size == 0)
size = strlen (content);
if (size == 0)
size = strlen (content);
@@
-324,15
+297,12
@@
do_write_file (char *path, char *content, int size)
}
char *
}
char *
-do_read_file (char *path, size_t *size_r)
+do_read_file (c
onst c
har *path, size_t *size_r)
{
int fd;
struct stat statbuf;
char *r;
{
int fd;
struct stat statbuf;
char *r;
- NEED_ROOT (NULL);
- ABS_PATH (path, return NULL);
-
CHROOT_IN;
fd = open (path, O_RDONLY);
CHROOT_OUT;
CHROOT_IN;
fd = open (path, O_RDONLY);
CHROOT_OUT;
@@
-384,15
+354,13
@@
do_read_file (char *path, size_t *size_r)
/* This runs the 'file' command. */
char *
/* This runs the 'file' command. */
char *
-do_file (char *path)
+do_file (c
onst c
har *path)
{
char *out, *err;
int r, freeit = 0;
char *buf;
int len;
{
char *out, *err;
int r, freeit = 0;
char *buf;
int len;
- REQUIRE_ROOT_OR_RESOLVE_DEVICE (path, return NULL);
-
if (strncmp (path, "/dev/", 5) == 0)
buf = (char *) path;
else {
if (strncmp (path, "/dev/", 5) == 0)
buf = (char *) path;
else {
@@
-436,7
+404,7
@@
do_file (char *path)
/* zcat | file */
char *
/* zcat | file */
char *
-do_zfile (c
har *method,
char *path)
+do_zfile (c
onst char *method, const
char *path)
{
int len;
const char *zcat;
{
int len;
const char *zcat;
@@
-444,9
+412,6
@@
do_zfile (char *method, char *path)
FILE *fp;
char line[256];
FILE *fp;
char line[256];
- NEED_ROOT (NULL);
- ABS_PATH (path, return NULL);
-
if (strcmp (method, "gzip") == 0 || strcmp (method, "compress") == 0)
zcat = "zcat";
else if (strcmp (method, "bzip2") == 0)
if (strcmp (method, "gzip") == 0 || strcmp (method, "compress") == 0)
zcat = "zcat";
else if (strcmp (method, "bzip2") == 0)