#!/usr/bin/perl

# Copyright (C) 2007-2018 X2Go Project - https://wiki.x2go.org
# Copyright (C) 2007-2018 Oleksandr Shneyder <o.shneyder@phoca-gmbh.de>
# Copyright (C) 2007-2018 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the
# Free Software Foundation, Inc.,
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.

use strict;
use Sys::Syslog qw( :standard :macros );

use X2Go::Server::DB;
use X2Go::Log qw(loglevel);
use X2Go::Utils qw(system_capture_merged_output);

openlog($0,'cons,pid','user');
setlogmask( LOG_UPTO(loglevel()) );


syslog('info', "x2goshowblocks has been called with options: @ARGV");

my $uname=shift;
my $id=shift;
my $tbl="mounts";
my @outp=dbsys_getmounts( $id);
for (my $i=0;$i<@outp;$i++)
{
	my $path=(split("\\|",@outp[$i]))[1];
	print system_capture_merged_output("su", "$uname", "-c", "lsof | grep \"$path\"");
}

# closing syslog
closelog;
