[X2Go-Commits] x2gobroker.git - statusflag (branch) updated: 57030875e10c269c360ac2b1c1623b9f427d6714

X2Go dev team git-admin at x2go.org
Tue Jun 4 21:09:24 CEST 2013


The branch, statusflag has been updated
       via  57030875e10c269c360ac2b1c1623b9f427d6714 (commit)
      from  00034ba69ecca2523dc6ad1b5b16f9952508683c (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:
 X2Go/Broker/ZeroConf.pm |   46 +++++++++++++++++++++++++++-------------------
 cgi/x2gobroker.cgi      |   14 ++++++--------
 2 files changed, 33 insertions(+), 27 deletions(-)

The diff of changes is:
diff --git a/X2Go/Broker/ZeroConf.pm b/X2Go/Broker/ZeroConf.pm
index b98f9d8..da4eb98 100644
--- a/X2Go/Broker/ZeroConf.pm
+++ b/X2Go/Broker/ZeroConf.pm
@@ -21,7 +21,7 @@
 package X2Go::Broker::ZeroConf;
 
 use strict;
-use Sys:Hostname;
+use Sys::Hostname;
 use Authen::PAM;
 use Authen::Simple::PAM;
 use X2Go::Broker::Common;
@@ -38,12 +38,15 @@ my $hostname = hostname;
 ### public functions, available to broker cgi
 ###
 
+my $username;
+my $password;
+
 ### exported function ###
 sub CheckAccess
 {
 	# zeroconf broker: use PAM to perform authentication against
 	#                  the local PAM login module
-	my ($user,$pass)=@_;
+	($username, $password)=@_;
 	my $pam = Authen::Simple::PAM->new(service => 'x2gobroker');
 	if ( $pam->authenticate( $username, $password ) ) {
 		# successfull authentication
@@ -64,10 +67,10 @@ sub SetPass
 
 	# zeroconf broker: use PAM to initiate a local passwd change
 	my $service = "x2gobroker";
-	ref($pamh = new Authen::PAM($service, $username, \&passwd_conv_func)) ||
-	    die "Error code $pamh during PAM init!";
-	$state = 0;
-	$res = $pamh->pam_chauthtok;
+	my $pamh = new Authen::PAM($service, $username, \&passwd_conv_func) ||
+	    die "Error code \$pamh during PAM init!";
+	my $state = 0;
+	my $res = $pamh->pam_chauthtok;
 	die $pamh->pam_strerror($res) unless $res == PAM_SUCCESS();
 
 	print "\n<br>CHANGING PASS OK<br>\n";
@@ -76,16 +79,16 @@ sub SetPass
 ### exported function ###
 sub SelectSession
 {
-	my ($user, $sid)=@_;
-	my @words=split("\@",$sid);
+	my ($user, $session_id)=@_;
+	my @words=split("\@",$session_id);
 	###
-	### FIXME: why the heck is the $sid format <host>@<session>,
+	### FIXME: why the heck is the $session_id format <host>@<session>,
 	###        <session>@<host> would make much more sense!!! (for
 	###        the human eye...)
 	###
-	my $sess_id=@words[1];
+	my $session_id=@words[1];
 	my $host=@words[0];
-	check_and_start_session($user, $host, $sess_id);
+	check_and_start_session($user, $host, $session_id);
 }
 
 ### exported function ###
@@ -93,15 +96,15 @@ sub ListSessions
 {
 	# print Dumper($message->entries);
 	print "START_USER_SESSIONS<br>";
-	my($status,$sessions)=CallBrokerAgent($hostname, $user, 'listsessions');
+	my($status,$sessions)=CallBrokerAgent($hostname, $username, 'listsessions');
 	if ( $status )
 	{
 		if($sessions)
 		{
 			my @sinfo = split("\\|",$sessions);
 			my $session_status = @sinfo[4];
-			my $sid = @sinfo[1];
-			print "<br>[$hostname\@$sid]<br>";
+			my $session_id = @sinfo[1];
+			print "<br>[$hostname\@$session_id]<br>";
 			print "status=$session_status<br>";
 		} else {
 			print "<br>[$hostname]<br>";
@@ -121,6 +124,10 @@ sub passwd_conv_func {
 		my $code = shift;
 		my $msg = shift;
 		my $ans = "";
+		my $state;
+
+		my $oldpassword;
+		my $newpassword;
 
 		$ans = $username if ( $code == PAM_PROMPT_ECHO_ON() );
 		if ( $code == PAM_PROMPT_ECHO_OFF() ) {
@@ -137,8 +144,9 @@ sub passwd_conv_func {
 
 sub check_and_start_session
 {
-	my ($uid, $host, $sid) = @_;
-	my ($status, $sessions)=ExecRemoteBroker($user, $hostname, 'listsessions');
+	my ($username, $hostname, $session_id) = @_;
+	my $running;
+	my ($status, $sessions)=ExecRemoteBroker($username, $hostname, 'listsessions');
 	if ( ! $status )
 	{
 		print "ERROR: X2Go server not available\n";
@@ -151,12 +159,12 @@ sub check_and_start_session
 		my @sinfo = split("\\|",$sessions);
 		my $session_status = @sinfo[4];
 		my $session_server = @sinfo[3];
-		$sid=@sinfo[1];
+		$session_id=@sinfo[1];
 		if( $session_status eq 'R' )
 		{
 			$running = 1;
 			my $str;
-			($status, $str) = ExecRemoteBroker($uid, $hostname, "suspend $sid");
+			($status, $str) = ExecRemoteBroker($username, $hostname, "suspend $session_id");
 			$sessions =~ s/\|R\|/\|S\|/;
 		}
 		if( $session_status eq 'S' )
@@ -165,7 +173,7 @@ sub check_and_start_session
 		}
 	}
 
-	print "SERVER:$hostname:$port\n";
+	print "SERVER:$hostname\n";
 	if($running)
 	{
 		# use first session in session list...
diff --git a/cgi/x2gobroker.cgi b/cgi/x2gobroker.cgi
index 06ed66b..3d44d52 100755
--- a/cgi/x2gobroker.cgi
+++ b/cgi/x2gobroker.cgi
@@ -24,15 +24,13 @@ use strict;
 use File::Basename qw(basename);
 
 my $cgi_name = basename($0);
-my $broker_backend ~= s/x2gobroker-(.*)\.cgi/\1/
+my $broker_backend = $cgi_name;
+$broker_backend =~ s/x2gobroker-(.*)\.cgi/\1/;
 
-use lib "/usr/lib/x2go/";
-use lib "/usr/lib/x2go/broker/";
-
-switch ( $broker_backend ) {
-	case 'zeroconf' { use X2Go::Broker::ZeroConf qw(CheckAccess SetPass SelectSession ListSessions) }
-	case 'simple' { use X2Go::Broker::Simple qw(CheckAccess SetPass SelectSession ListSessions) }
-	case 'ldap' { use X2Go::Broker::LDAP qw(CheckAccess SetPass SelectSession ListSessions) }
+SWITCH: {
+  $broker_backend == "zeroconf" && do { use X2Go::Broker::ZeroConf qw(CheckAccess SetPass SelectSession ListSessions); last SWITCH; };
+#  $broker_backend == "simple" && do { use X2Go::Broker::Simple qw(CheckAccess SetPass SelectSession ListSessions); last SWITCH; };
+#  $broker_backend == "ldap" && do { use X2Go::Broker::LDAP qw(CheckAccess SetPass SelectSession ListSessions); last SWITCH; };
 }
 
 use CGI;


hooks/post-receive
-- 
x2gobroker.git (HTTP(S) Session broker for X2Go)

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 "x2gobroker.git" (HTTP(S) Session broker for X2Go).




More information about the x2go-commits mailing list