[X2Go-Commits] x2gothinclient.git - build-main (branch) updated: 1.0.1.8-86-gd9659bd

X2Go dev team git-admin at x2go.org
Fri Jul 19 23:38:14 CEST 2013


The branch, build-main has been updated
       via  d9659bd14977762adfe00d0808ec9c9776f38067 (commit)
      from  f51ce717c9443124c5829a64afd0226d8236ae35 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 debian/changelog                 |    2 +
 x2gosmartcardrules/x2gognupgccid |   24 ++---
 x2gousbmount/x2gousbmount        |  178 ++++++++++++++++++++------------------
 3 files changed, 111 insertions(+), 93 deletions(-)

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 66e4b70..f14fff2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -55,6 +55,8 @@ x2gothinclient (1.0.99.1-0~x2go1) UNRELEASED; urgency=low
     - x2gothinclient_create: syntax fix, spotted by Thomas Güttler (Fixes: #95).
     - Export $LANG and $LANGUAGE to TCE daemon.
     - Use qx instead of open3 to launch x2goclient. (Fixes: #66).
+    - Only make x2gousbmount and x2gognupgccid scripts functional if
+      x2gothinclientd is running.
   * /debian/control:
     + Maintainer change in package: X2Go Developers <x2go-dev at lists.berlios.de>.
     + Priority: optional.
diff --git a/x2gosmartcardrules/x2gognupgccid b/x2gosmartcardrules/x2gognupgccid
index 508f96c..df3b229 100755
--- a/x2gosmartcardrules/x2gognupgccid
+++ b/x2gosmartcardrules/x2gognupgccid
@@ -3,12 +3,11 @@
 # taken from libgphoto2
 #
 # Sets up newly plugged in card reader so that only members of the
-# group can access it
+# group can access it from user space. (Replace scard with the name
+# of the group you want to have access to the card reader.)
+
 GROUP=scard
 
-# can access it from user space. (Replace scard with the name of the
-# group you want to have access to the card reader.)
-#
 # Note that for this script to work, you'll need all of the following:
 # a) a line in the file /etc/hotplug/gnupg-ccid.usermap that corresponds
 #    to the card reader you are using.
@@ -23,12 +22,17 @@ GROUP=scard
 
 set -e
 
-DEV=`echo ${DEVICE} | sed 's/proc/dev/'`
+# only do this if x2gothinclientd is default display manager, otherwise this makes no sense
+if ps ax | grep x2gothinclient | x2gothinclientd 1>/dev/null; then
+
+	DEV=`echo ${DEVICE} | sed 's/proc/dev/'`
+
+	if [ "${ACTION}" = "add" ]; then
+		sleep 2
+		chown :${GROUP} "${DEV}"
+		chmod g+rw,o-rwx "${DEV}"
+	fi
 
-if [ "${ACTION}" = "add" ]; then
-	sleep 2
-	chown :${GROUP} "${DEV}"
-	chmod g+rw,o-rwx "${DEV}"
 fi
 
-exit 0
\ No newline at end of file
+exit 0
diff --git a/x2gousbmount/x2gousbmount b/x2gousbmount/x2gousbmount
index 0c9c756..ca2efa9 100755
--- a/x2gousbmount/x2gousbmount
+++ b/x2gousbmount/x2gousbmount
@@ -21,105 +21,117 @@
 use strict;
 use File::Path::Expand;
 
-open (F,">>/var/log/usb");
-
-my $dev=$ENV{'DEVNAME'};
-my $model=$ENV{'ID_MODEL'};
-my $vendor=$ENV{'ID_VENDOR'};
-my $action=$ENV{'ACTION'};
-my @ldev=split("/","$dev");
-my $ldev=@ldev[@ldev-1];
-
-my $name="${vendor}_${model}";
-$name=~s/ //g;
-$name=~s/\\//g;
-$name=~s/\///g;
-print F "action: $action,  device: $dev, model: $model ($ldev), total: $name\n";
-mkdir("/media");
-mkdir("/media/$name");
-print F "$name\n";       
-
-if ( $action eq "add")
+check_x2gothinclientd() {
+	my $x=`ps ax | grep x2gothinclient`;
+	if ( $x=~m/x2gothinclientd/ )
+	{
+		return 1;
+	}
+	return 0;
+}
+
+if ( check_x2gothinclientd() )
 {
 
-	###
-	### ACTION: mount device after it has been added to USB subsystem
-	###
+	open (F,">>/var/log/usb");
 
-	# prepare mount points
+	my $dev=$ENV{'DEVNAME'};
+	my $model=$ENV{'ID_MODEL'};
+	my $vendor=$ENV{'ID_VENDOR'};
+	my $action=$ENV{'ACTION'};
+	my @ldev=split("/","$dev");
+	my $ldev=@ldev[@ldev-1];
+
+	my $name="${vendor}_${model}";
+	$name=~s/ //g;
+	$name=~s/\\//g;
+	$name=~s/\///g;
+	print F "action: $action,  device: $dev, model: $model ($ldev), total: $name\n";
 	mkdir("/media");
 	mkdir("/media/$name");
-	mkdir("/media/$name/$ldev");
+	print F "$name\n";       
 
-	# mount the USB device
-	if(system("mount $dev /media/$name/$ldev -o uid=x2gothinclient,sync,uni_xlate")==0)
-	{
-		# if mounted, inform x2goclient about it...
-		system("touch /var/run/$ldev.mounted");
-		open (D,">",expand_filename("~x2gothinclient/export/$name.$ldev"));
-		print D "export=/media/$name/$ldev\n";
-		close (D);
-	}
-	else
+	if ( $action eq "add")
 	{
-		# the mount failed, let's assume that the device is encrypted...
-		my $enc=`ls -1 /var/run | grep .encrypted`;
-		if(  $enc eq "" )
-		{
-			# use cryptsetup to decrypt the device...
-			system("/sbin/cryptsetup --key-file /etc/keys/keystick.key luksOpen $dev keystick");
-			
 
-			# mount the ,,decrypted'' USB device via devmapper...
-			if(system("mount /dev/mapper/keystick  /media/$name/$ldev ")==0)
+		###
+		### ACTION: mount device after it has been added to USB subsystem
+		###
+
+		# prepare mount points
+		mkdir("/media");
+		mkdir("/media/$name");
+		mkdir("/media/$name/$ldev");
+
+		# mount the USB device
+		if(system("mount $dev /media/$name/$ldev -o uid=x2gothinclient,sync,uni_xlate")==0)
+		{
+			# if mounted, inform x2goclient about it...
+			system("touch /var/run/$ldev.mounted");
+			open (D,">",expand_filename("~x2gothinclient/export/$name.$ldev"));
+			print D "export=/media/$name/$ldev\n";
+			close (D);
+		}
+		else
+		{
+			# the mount failed, let's assume that the device is encrypted...
+			my $enc=`ls -1 /var/run | grep .encrypted`;
+			if(  $enc eq "" )
 			{
-				# inform x2goclient about this...
-				system("touch /var/run/$ldev.encrypted");
-				system("chown -R x2gothinclient /media/$name/$ldev/dsa.key");
-				open (D,">",expand_filename("~/x2gothinclient/logins/$name.$ldev"));
-				print D "login=/media/$name/$ldev\n";
-				close (D);
+				# use cryptsetup to decrypt the device...
+				system("/sbin/cryptsetup --key-file /etc/keys/keystick.key luksOpen $dev keystick");
+
+				# mount the ,,decrypted'' USB device via devmapper...
+				if(system("mount /dev/mapper/keystick  /media/$name/$ldev ")==0)
+				{
+					# inform x2goclient about this...
+					system("touch /var/run/$ldev.encrypted");
+					system("chown -R x2gothinclient /media/$name/$ldev/dsa.key");
+					open (D,">",expand_filename("~/x2gothinclient/logins/$name.$ldev"));
+					print D "login=/media/$name/$ldev\n";
+					close (D);
+				}
+				else
+				{
+					# on mount failures release the decrypted device again
+					system("/sbin/cryptsetup luksClose keystick");
+				}
 			}
 			else
 			{
-				# on mount failures release the decrypted device again
-				system("/sbin/cryptsetup luksClose keystick");
+				print F "cryptodisk already present\n";
 			}
 		}
-		else
-		{
-			print F "cryptodisk already present\n";       
-		}
 	}
-}
-elsif ( $action eq "remove" )
-{
+	elsif ( $action eq "remove" )
+	{
 
-	###
-	### ACTION: unmount device after it has been removed from the USB subsystem
-	###
+		###
+		### ACTION: unmount device after it has been removed from the USB subsystem
+		###
 
-	# we rely on our own mount logistics here...
-	if ( -e "/var/run/$ldev.mounted" )
-	{
-		# inform x2goclient that the device has been removed
-		system ("umount -ff /media/$name/$ldev");
-		unlink ("/var/run/$ldev.mounted");
-		open ( D,">",expand_filename("~x2gothinclient/export/$name.$ldev.unexport"));
-		print D "unexport=/media/$name/$ldev\n";
-		close (D);
-	}
-	elsif ( -e "/var/run/$ldev.encrypted" )
-	{
-		# inform x2goclient that the device has been removed
-		# release the encrypted device mapping
-		unlink ("/var/run/$ldev.encrypted");
-		open ( D,">",expand_filename("~/x2gothinclient/logins/$name.$ldev.unexport"));
-		print D "logout=/media/$name/$ldev\n";
-		system("umount /media/$name/$ldev");
-		system("/sbin/cryptsetup luksClose keystick");		
-		close (D);
+		# we rely on our own mount logistics here...
+		if ( -e "/var/run/$ldev.mounted" )
+		{
+			# inform x2goclient that the device has been removed
+			system ("umount -ff /media/$name/$ldev");
+			unlink ("/var/run/$ldev.mounted");
+			open ( D,">",expand_filename("~x2gothinclient/export/$name.$ldev.unexport"));
+			print D "unexport=/media/$name/$ldev\n";
+			close (D);
+		}
+		elsif ( -e "/var/run/$ldev.encrypted" )
+		{
+			# inform x2goclient that the device has been removed
+			# release the encrypted device mapping
+			unlink ("/var/run/$ldev.encrypted");
+			open ( D,">",expand_filename("~/x2gothinclient/logins/$name.$ldev.unexport"));
+			print D "logout=/media/$name/$ldev\n";
+			system("umount /media/$name/$ldev");
+			system("/sbin/cryptsetup luksClose keystick");
+			close (D);
+		}
 	}
-}
 
-close (F);
+	close (F);
+}


hooks/post-receive
-- 
x2gothinclient.git (X2Go Thin Client Environment)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "x2gothinclient.git" (X2Go Thin Client Environment).




More information about the x2go-commits mailing list