return 1;
} elsif ($test eq 'userid-param') {
my ($userid, undef, $realm) = PVE::AccessControl::verify_username($param->{userid});
- return if !$self->check_user_exist($userid, $noerr);
my ($t, $subtest) = @$check;
die "missing parameters" if !$subtest;
if ($subtest eq 'self') {
- return 1 if $username eq 'userid';
+ return 0 if !$self->check_user_exist($userid, $noerr);
+ return 1 if $username eq $userid;
return 0 if $noerr;
raise_perm_exc();
} elsif ($subtest eq 'Realm.AllocateUser') {
# STDOUT,STDERR are redirected to the filename returned by upid_decode
# NOTE: we simulate running in foreground if ($self->{type} eq 'cli')
sub fork_worker {
- my ($self, $dtype, $id, $user, $function) = @_;
+ my ($self, $dtype, $id, $user, $function, $background) = @_;
$dtype = 'unknown' if !defined ($dtype);
$id = '' if !defined ($id);
$user = 'root@pve' if !defined ($user);
- my $sync = $self->{type} eq 'cli' ? 1 : 0;
+ my $sync = ($self->{type} eq 'cli' && !$background) ? 1 : 0;
local $SIG{INT} =
local $SIG{QUIT} =