#!/usr/local/bin/perl
# getfacl.cgi
# Gets the ACLs for some file

require './file-lib.pl';
&ReadParse();
&switch_acl_uid_and_chroot();
print "Content-type: text/plain\n\n";
if (!&can_access($in{'file'})) {
	print $text{'facl_eaccess'},"\n";
	}
else {
	$getfacl = $config{'getfacl'};
	if ($getfacl =~ /^\.\//) {
		$getfacl =~ s/^\./$module_root_directory/;
		}
	chdir("/");
	if ($in{'file'} eq '/') {
		$in{'file'} = '.';
		}
	else {
		$in{'file'} =~ s/^\///;
		}
	$out = `$getfacl '$in{'file'}' 2>&1`;
	if ($?) {
		print $out,"\n";
		}
	else {
		foreach $l (split(/\n/, $out)) {
			$l =~ s/#.*$//;
			$l =~ s/\s+$//;
			push(@rv, $l) if ($l =~ /\S/);
			}
		if (!@rv) {
			print "Filesystem does not support ACLs\n";
			}
		else {
			print "\n";
			foreach $l (@rv) {
				print $l,"\n";
				}
			}
		}
	}



syntax highlighted by Code2HTML, v. 0.9.1