Received: (at submit) by bugs.x2go.org; 18 Aug 2014 09:26:26 +0000
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on
	ymir.das-netzwerkteam.de
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=ham
	version=3.3.2
X-Greylist: delayed 3600 seconds by postgrey-1.34 at ymir.das-netzwerkteam.de; Mon, 18 Aug 2014 11:26:25 CEST
Received: from relay1.vsu.ru (relay1.vsu.ru [62.76.169.14])
	by ymir.das-netzwerkteam.de (Postfix) with ESMTPS id 8957B5DB11
	for <submit@bugs.x2go.org>; Mon, 18 Aug 2014 11:26:25 +0200 (CEST)
Received: by relay1.vsu.ru (CommuniGate Pro PIPE 6.0.9)
  with PIPE id 417439112; Mon, 18 Aug 2014 12:26:24 +0400
Received: from [62.76.223.164] (account ai@vsu.ru HELO ai.localnet)
  by vsu.ru (CommuniGate Pro SMTP 6.0.9)
  with ESMTPSA id 417439109 for submit@bugs.x2go.org; Mon, 18 Aug 2014 12:26:18 +0400
From: Andrey Igoshin <ai@vsu.ru>
To: submit@bugs.x2go.org
Subject: x2goclient can not login with username in email format
Date: Mon, 18 Aug 2014 12:26:18 +0400
Message-ID: <1465353.qks6KEIbt1@ai>
User-Agent: KMail/4.13.3 (Linux/3.13.0-34-generic; KDE/4.13.3; x86_64; ; )
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="nextPart4003887.G5B6QjpDkd"
Content-Transfer-Encoding: 7Bit

This is a multi-part message in MIME format.

--nextPart4003887.G5B6QjpDkd
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"

Package: x2goserver
Version: 4.1.0.0-0~1055~ubuntu14.04.1

x2goclient can not connect if username is in email format
(user@domain.com).

details:

in username field user specifies his/her username which is in email
format (user@domain.com). in password field user specifies his/her
password. using this information x2goclient successfully authenticates
on server via ssh but can not start nxproxy.

it is a username sanitize problem in x2goserver.

patch attached.


it is not a x2goclient problem as i reported before (#433), please close it.


-- 
Andrey Igoshin <ai@vsu.ru>               Voronezh State University
sip:            ai@vsu.ru                Network Operation Center
phone: +7 473 2281160, ext. 2020         Voronezh, Russia

--nextPart4003887.G5B6QjpDkd
Content-Disposition: attachment; filename="x2goserver-username-email-sanitize.diff"
Content-Transfer-Encoding: 7Bit
Content-Type: text/x-patch; charset="UTF-8"; name="x2goserver-username-email-sanitize.diff"

diff -ur x2goserver.ORIG/X2Go/Utils.pm x2goserver/X2Go/Utils.pm
--- x2goserver.ORIG/X2Go/Utils.pm	2014-08-18 11:40:25.000000000 +0400
+++ x2goserver/X2Go/Utils.pm	2014-08-18 11:44:34.204177816 +0400
@@ -129,10 +129,10 @@
 			} else {return 0;}
 		} else {return 0;}
 	} elsif ($type eq "x2gosid") {
-		$string =~ s/[^a-zA-Z0-9\_\-\$\.]//g;
-		if ($string =~ /^([a-zA-Z0-9\_\-\$\.]*)$/) {
+		$string =~ s/[^a-zA-Z0-9\_\-\$\.\@]//g;
+		if ($string =~ /^([a-zA-Z0-9\_\-\$\.\@]*)$/) {
 			$string = $1;
-			if ($string =~ /^([a-zA-Z\_][a-zA-Z0-9\_\-\.]{0,31}[\$]?)\-([\d]{2,4})\-([\d]{9,12})\_[a-zA-Z0-9\_\-]*\_dp[\d]{1,2}$/) {
+			if ($string =~ /^([a-zA-Z\_][a-zA-Z0-9\_\-\.\@]{0,31}[\$]?)\-([\d]{2,4})\-([\d]{9,12})\_[a-zA-Z0-9\_\-]*\_dp[\d]{1,2}$/) {
 				if ((length($1) > 0) and (length($1) < 32)){
 					return $string;
 				} else {return 0;}
diff -ur x2goserver.ORIG/x2goserver/bin/x2gostartagent x2goserver/x2goserver/bin/x2gostartagent
--- x2goserver.ORIG/x2goserver/bin/x2gostartagent	2014-08-18 11:40:25.000000000 +0400
+++ x2goserver/x2goserver/bin/x2gostartagent	2014-08-18 11:48:29.533652011 +0400
@@ -176,7 +176,7 @@
 			SESSION_NAME=`echo "$SESSION_NAME" | perl -pe  "s/:/PP/g"`
 		fi
 		# sanitize session name
-		SESSION_NAME=`echo "$SESSION_NAME" | perl -pe  "s/[^a-zA-Z0-9\.\_\-]//g"`
+		SESSION_NAME=`echo "$SESSION_NAME" | perl -pe  "s/[^a-zA-Z0-9\.\_\-\@]//g"`
 
 		if [ -n "$SHADREQ_USER" ]; then
 			$X2GO_LIB_PATH/x2gosyslog "$0" "debug" "initializing new shadow session with ID $SESSION_NAME"

--nextPart4003887.G5B6QjpDkd--
