static bool do_destroy_container(struct lxc_conf *conf) {
int ret;
- if (am_unpriv()) {
+ if (am_guest_unpriv()) {
ret = userns_exec_full(conf, storage_destroy_wrapper, conf,
"storage_destroy_wrapper");
if (ret < 0)
const char *p1 = do_lxcapi_get_config_path(c);
char *path = alloca(strlen(p1) + strlen(c->name) + 2);
sprintf(path, "%s/%s", p1, c->name);
- if (am_unpriv())
+ if (am_guest_unpriv())
ret = userns_exec_full(conf, lxc_rmdir_onedev_wrapper, path,
"lxc_rmdir_onedev_wrapper");
else
goto out;
}
- if (am_unpriv()) {
+ if (am_guest_unpriv()) {
if (chown_mapped_root(newpath, c->lxc_conf) < 0) {
ERROR("Error chowning %s to container root", newpath);
goto out;
data.c1 = c2;
data.flags = flags;
data.hookargs = hookargs;
- if (am_unpriv())
+ if (am_guest_unpriv())
ret = userns_exec_full(c->lxc_conf, clone_update_rootfs_wrapper,
&data, "clone_update_rootfs_wrapper");
else
static bool do_lxcapi_add_device_node(struct lxc_container *c, const char *src_path, const char *dest_path)
{
- if (am_unpriv()) {
+ if (am_host_unpriv()) {
ERROR(NOT_SUPPORTED_ERROR, __FUNCTION__);
return false;
}
static bool do_lxcapi_remove_device_node(struct lxc_container *c, const char *src_path, const char *dest_path)
{
- if (am_unpriv()) {
+ if (am_host_unpriv()) {
ERROR(NOT_SUPPORTED_ERROR, __FUNCTION__);
return false;
}
pid_t init_pid;
int ret = 0;
- if (am_unpriv()) {
+ if (am_guest_unpriv()) {
ERROR(NOT_SUPPORTED_ERROR, __FUNCTION__);
return false;
}
int ret;
pid_t pid, pid_outside;
- if (am_unpriv()) {
+ if (am_guest_unpriv()) {
ERROR(NOT_SUPPORTED_ERROR, __FUNCTION__);
return false;
}
char ifname[IFNAMSIZ];
struct lxc_list *iterator;
- if (am_unpriv())
+ if (am_guest_unpriv())
return 0;
lxc_list_for_each(iterator, network) {
{
struct lxc_list *iterator;
- if (!am_unpriv())
+ if (!am_guest_unpriv())
return 0;
lxc_list_for_each(iterator, network) {
memset(handler, 0, sizeof(*handler));
- /* Note that am_unpriv() checks the effective uid. We probably don't
+ /* Note that am_guest_unpriv() checks the effective uid. We probably don't
* care if we are real root only if we are running as root so this
* should be fine.
*/
- handler->am_root = !am_unpriv();
+ handler->am_root = !am_guest_unpriv();
handler->data_sock[0] = handler->data_sock[1] = -1;
handler->conf = conf;
handler->lxcpath = lxcpath;
if (mkdir_p(new->dest, 0755) < 0)
return -1;
- if (am_unpriv() && chown_mapped_root(new->dest, conf) < 0)
+ if (am_guest_unpriv() && chown_mapped_root(new->dest, conf) < 0)
WARN("Failed to update ownership of %s", new->dest);
if (strcmp(orig->type, "dir") == 0) {
free(delta);
return -1;
}
- if (am_unpriv() && chown_mapped_root(delta, conf) < 0)
+ if (am_guest_unpriv() && chown_mapped_root(delta, conf) < 0)
WARN("Failed to update ownership of %s", delta);
// the src will be 'aufs:lowerdir:upperdir'
free(ndelta);
return -1;
}
- if (am_unpriv() && chown_mapped_root(ndelta, conf) < 0)
+ if (am_guest_unpriv() && chown_mapped_root(ndelta, conf) < 0)
WARN("Failed to update ownership of %s", ndelta);
struct rsync_data_char rdata;
rdata.src = odelta;
rdata.dest = ndelta;
- if (am_unpriv())
+ if (am_guest_unpriv())
ret = userns_exec_full(conf, rsync_delta_wrapper,
&rdata, "rsync_delta_wrapper");
else
if (snap) {
struct rsync_data_char sdata;
- if (!am_unpriv())
+ if (!am_guest_unpriv())
return btrfs_snapshot(orig->dest, new->dest);
sdata.dest = new->dest;
sdata.src = orig->dest;
if (mkdir_p(new->dest, 0755) < 0)
return -1;
- if (am_unpriv() && chown_mapped_root(new->dest, conf) < 0)
+ if (am_guest_unpriv() && chown_mapped_root(new->dest, conf) < 0)
WARN("Failed to update ownership of %s", new->dest);
if (strcmp(orig->type, "dir") == 0) {
free(delta);
return -1;
}
- if (am_unpriv() && chown_mapped_root(delta, conf) < 0)
+ if (am_guest_unpriv() && chown_mapped_root(delta, conf) < 0)
WARN("Failed to update ownership of %s", delta);
/*
free(work);
return -1;
}
- if (am_unpriv() && chown_mapped_root(work, conf) < 0)
+ if (am_guest_unpriv() && chown_mapped_root(work, conf) < 0)
WARN("Failed to update ownership of %s", work);
free(work);
free(ndelta);
return -1;
}
- if (am_unpriv() && chown_mapped_root(ndelta, conf) < 0)
+ if (am_guest_unpriv() && chown_mapped_root(ndelta, conf) < 0)
WARN("Failed to update ownership of %s", ndelta);
/*
free(work);
return -1;
}
- if (am_unpriv() && chown_mapped_root(work, conf) < 0)
+ if (am_guest_unpriv() && chown_mapped_root(work, conf) < 0)
WARN("Failed to update ownership of %s", work);
free(work);
rdata.orig = orig;
rdata.new = new;
- if (am_unpriv())
+ if (am_guest_unpriv())
ret = userns_exec_full(conf, ovl_rsync_wrapper, &rdata,
"ovl_rsync_wrapper");
else
if (!bdevtype && !keepbdevtype && snap && (!strcmp(orig->type, "dir") || !strcmp(orig->type, "overlayfs")))
bdevtype = "overlayfs";
- if (am_unpriv() && !unpriv_snap_allowed(orig, bdevtype, snap, maybe_snap)) {
+ if (am_guest_unpriv() && !unpriv_snap_allowed(orig, bdevtype, snap, maybe_snap)) {
ERROR("Unsupported snapshot type \"%s\" for unprivileged users",
bdevtype ? bdevtype : "(null)");
storage_put(orig);
goto err;
}
- if (am_unpriv() && chown_mapped_root(new->src, c0->lxc_conf) < 0)
+ if (am_guest_unpriv() && chown_mapped_root(new->src, c0->lxc_conf) < 0)
WARN("Failed to update ownership of %s", new->dest);
if (snap)
data.orig = orig;
data.new = new;
- if (am_unpriv())
+ if (am_guest_unpriv())
ret = userns_exec_full(c0->lxc_conf, rsync_rootfs_wrapper,
&data, "rsync_rootfs_wrapper");
else
}
/* are we unprivileged with respect to init_user_ns */
-inline static bool am_unpriv(void)
+inline static bool am_host_unpriv(void)
{
FILE *f;
uid_t user, host, count;