Current File : //proc/thread-self/root/usr/share/webmin/samba/kill_users.cgi
#!/usr/bin/perl
# Disconnect multiple Samba users

require './samba-lib.pl';
&ReadParse();
@d = split(/\0/, $in{'d'});
@d || &error($text{'viewu_enone'});

# check acls

&error_setup("$text{'eacl_aviol'}ask_epass.cgi");
if ($in{share}) { # this may be cracked very easy, don't know how to do better :(
	# per-share acls ...
	&error("$text{'eacl_np'} $text{'eacl_pkill'}") 
		unless &can('rvV',\%access, $in{share}); # read, view conn, kill conn
	}
else {
	&error("$text{'eacl_np'} $text{'eacl_pgkill'}") 
		unless $access{'view_all_con'} && $access{'kill_con'};
	}
	
# Kill them
foreach $pid (@d) {
	&kill_logged('TERM', $pid);
	}
&webmin_log("kills", undef, scalar(@d), \%in);
if ($in{share}) { &redirect("view_users.cgi?share=$in{share}"); }
else { &redirect("view_users.cgi"); }