use constant {O_PATH => 0x00200000,
O_TMPFILE => 0x00410000}; # This includes O_DIRECTORY
+use constant {AT_EMPTY_PATH => 0x1000};
+
sub run_with_timeout {
my ($timeout, $code, @param) = @_;
return syscall(PVE::Syscall::mkdirat, $dirfd, $name, $mode) == 0;
}
+sub fchownat($$$$$) {
+ my ($dirfd, $pathname, $owner, $group, $flags) = @_;
+ return syscall(PVE::Syscall::fchownat, $dirfd, $pathname, $owner, $group, $flags) == 0;
+}
+
my $salt_starter = time();
sub encrypt_pw {
sub array_intersect {
my ($arrays) = @_;
+ if (!ref($arrays->[0])) {
+ $arrays = [ grep { ref($_) eq 'ARRAY' } @_ ];
+ }
+
return [] if scalar(@$arrays) == 0;
return $arrays->[0] if scalar(@$arrays) == 1;