[X2go-Commits] x2gobroker.git - master (branch) updated: 5390f605e0c3d1ce459626985922dc051bc638ed

X2Go dev team git-admin at x2go.org
Tue Jan 29 06:43:09 CET 2013


The branch, master has been updated
       via  5390f605e0c3d1ce459626985922dc051bc638ed (commit)
       via  fd8d9373b9d278eea303b69170f25fccc3e3ee1b (commit)
       via  1a77bd8337305a0996a8e1fc17ec81b3a8197670 (commit)
       via  93478923dd6bf64fcea8fa4b3cebfaf9e8b288ee (commit)
      from  bf53dfab0b17eb1ab474fddccf7220dd14c1ba81 (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 -----------------------------------------------------------------
commit 5390f605e0c3d1ce459626985922dc051bc638ed
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Tue Jan 29 06:44:08 2013 +0100

    update README, TODO

commit fd8d9373b9d278eea303b69170f25fccc3e3ee1b
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Tue Jan 29 06:43:35 2013 +0100

    no load balancing support, yet

commit 1a77bd8337305a0996a8e1fc17ec81b3a8197670
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Tue Jan 29 06:43:04 2013 +0100

    empty test unit for the web frontend + inifile broker backend

commit 93478923dd6bf64fcea8fa4b3cebfaf9e8b288ee
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Tue Jan 29 06:24:04 2013 +0100

    add X2GOBROKER_DEBUG to x2gobroker-daemon.default

-----------------------------------------------------------------------

Summary of changes:
 NEWS                                               |    4 +-
 README                                             |   54 +++++++++++++++++++-
 TODO                                               |   25 ++++++++-
 debian/x2gobroker-daemon.default                   |    6 +++
 etc/broker/x2gobroker-sessionprofiles.conf         |    4 +-
 .../test_web_plain_inifile.py}                     |   28 ++++++----
 6 files changed, 106 insertions(+), 15 deletions(-)
 copy x2gobroker/{authmechs/pam_authmech.py => tests/test_web_plain_inifile.py} (59%)

The diff of changes is:
diff --git a/NEWS b/NEWS
index 37d39b4..ec72a39 100644
--- a/NEWS
+++ b/NEWS
@@ -4,9 +4,9 @@ NEWS on X2Go Session Broker
 X2Go Session Broker is a Web project that provides
 session brokerage for X2Go via HTTP(S).
 
-The framework was originally designed in Perl and his
+The framework was originally designed in Perl and has
 been rewritten in Python using the web.py framework
 in 2012/2013.
 
 light+love,
-Mike Gabriel, 20121129
\ No newline at end of file
+Mike Gabriel, 20121129
diff --git a/README b/README
index 763a825..03d87e4 100644
--- a/README
+++ b/README
@@ -4,5 +4,57 @@ README for X2Go Session Broker
 X2Go Session Broker is a Web project that provides
 session brokerage for X2Go via HTTP(S).
 
+Dependencies:
+
+ * This version of X2Go Session Broker requires X2Go Server
+   4.1.0.0 and above.
+ * This version X2Go Session Broker works with X2Go Client
+   (>= 4.0.0.0) and Python X2Go (>= 0.5.0.0, not yet available)
+   as client.
+
+Available features:
+
+ * easily extendible backend / submodule concept
+ * ACL based session profile provisioning
+ * X2Go load balancing
+
+Available backends:
+
+ * ZEROCONF: the ,,zeroconf'' broker backend (which is the default)
+   is for testing X2Go client applications without much hassle
+   against the X2Go Session Broker
+ * INIFILE: the ,,inifile'' broker backend scales well with
+   small and medium X2Go deployments. It is configurable through
+   a single file (/etc/x2go/broker/x2gobroker-sessionprofiles.conf).
+   It provides flexible provisioning of session profiles based
+   on user, group and host ACLs.
+
+Configuration files:
+
+  /etc/default/x2gobroker-daemon
+  /etc/x2go/x2gobroker.conf
+  /etc/x2go/broker/**
+
+Environment variables (and their defaults):
+
+  # run XGo Session Broker in debug mode, this will make the broker
+  # available through http GET method calls (otherwise: POST method
+  # only) and you will be able to test the broker through your web
+  # browser
+  X2GOBROKER_DEBUG=false
+
+  # default X2Go Session Broker backend (available: zeroconf, inifile)
+  X2GOBROKER_DEFAULT_BACKEND=zeroconf
+
+  # path to the X2Go Session Broker's configuration file
+  X2GOBROKER_CONFIG=/etc/x2go/x2gobroker.conf
+
+  # path to the X2Go Session Broker's session profiles file (when using the inifile backend)
+  X2GOBROKER_SESSIONPROFILES=/etc/x2go/broker/x2gobroker-sessionprofiles.conf
+
+  # path to the X2Go Session Broker's agent command
+  X2GOBROKER_AGENT_CMD=/usr/lib/x2go/x2gobroker-agent
+
+
 light+love,
-Mike Gabriel, 20121129
\ No newline at end of file
+Mike Gabriel, 20130129
diff --git a/TODO b/TODO
index 4787426..dc1c5f9 100644
--- a/TODO
+++ b/TODO
@@ -1,7 +1,28 @@
 TODO list for X2Go Session Broker
 =================================
 
-Plenty of work in the loop...
+Several more thinkable broker backends:
+
+  o USERGROUP backend (provide one session profiles file per user/group)
+  o LDAP backend (provide session profiles through LDAP)
+  o DNS backend (store X2Go server information in DNS and detect it from there)
+  o WEBCONFIG backend (click your session together TTW)
+  o ...
+
+For the INIFILE backend:
+
+  o implement load balancing
+  o implement session resuing
+  o make use of X2Go::Server Perl API in x2gobroker-agent
+  o add Apache2 CGI support
+
+For the communication with Python X2Go:
+
+  o add a JSON based server/client protocol
+
+For the communication with LightDM (being a replacement of UCS):
+
+  o add an XML based server/client protocol
 
 light+love,
-Mike Gabriel, 20121129
\ No newline at end of file
+Mike Gabriel, 20130129
\ No newline at end of file
diff --git a/debian/x2gobroker-daemon.default b/debian/x2gobroker-daemon.default
index 0165e17..a0090df 100644
--- a/debian/x2gobroker-daemon.default
+++ b/debian/x2gobroker-daemon.default
@@ -3,6 +3,12 @@
 # Uncomment to enable the X2Go Session Broker standalone daemon
 START_DAEMON=true
 
+# run XGo Session Broker in debug mode, this will make the broker
+# available through http GET method calls (otherwise: POST method
+# only) and you will be able to test the broker through your web
+# browser
+#X2GOBROKER_DEBUG=false
+
 # bind standalone daemon to this address:port
 #DAEMON_BIND_ADDRESS=127.0.0.1:8080
 
diff --git a/etc/broker/x2gobroker-sessionprofiles.conf b/etc/broker/x2gobroker-sessionprofiles.conf
index 05c582a..8b332a3 100644
--- a/etc/broker/x2gobroker-sessionprofiles.conf
+++ b/etc/broker/x2gobroker-sessionprofiles.conf
@@ -143,7 +143,9 @@ acl-any-order=deny-allow
 
 [pool-C-XFCE]
 user=
-host=s-E1.pool-c.domain.local,s-E2.pool-c.domain.local,s-E3.pool-c.domain.local,s-E4.pool-c.domain.local,s-E5.pool-c.domain.local,s-E6.pool-c.domain.local
+# no load balancing support, yet
+#host=s-E1.pool-c.domain.local,s-E2.pool-c.domain.local,s-E3.pool-c.domain.local,s-E4.pool-c.domain.local,s-E5.pool-c.domain.local,s-E6.pool-c.domain.local
+host=s-E1.pool-c.domain.local
 name=XFCE - pool-C
 command=XFCE
 acl-users-allow=testuser-A,testuser-B
diff --git a/x2gobroker/authmechs/pam_authmech.py b/x2gobroker/tests/test_web_plain_inifile.py
similarity index 59%
copy from x2gobroker/authmechs/pam_authmech.py
copy to x2gobroker/tests/test_web_plain_inifile.py
index fca5ec0..e957ed7 100644
--- a/x2gobroker/authmechs/pam_authmech.py
+++ b/x2gobroker/tests/test_web_plain_inifile.py
@@ -1,7 +1,6 @@
 # -*- coding: utf-8 -*-
 
 # Copyright (C) 2012 by Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
-# Copyright (C) 2012 by Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
 #
 # X2Go Session Broker is free software; you can redistribute it and/or modify
 # it under the terms of the GNU Affero General Public License as published by
@@ -18,15 +17,26 @@
 # Free Software Foundation, Inc.,
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
-import pam
+import unittest
+import tempfile
+from paste.fixture import TestApp
+from nose.tools import *
 
-class X2GoBrokerAuthMech(object):
+# Python X2GoBroker modules
+import x2gobroker.defaults
 
-    def authenticate(self, username, password):
+from x2gobroker.web.plain import *
 
-        # do a simple PAM authentication against the PAM service ,,x2gobroker''
-        if username and password:
-            if pam.authenticate(username, password, service="x2gobroker"):
-                return True
+urls = ( '/plain/(.*)', 'X2GoBrokerWebPlain',)
+app = web.application(urls, globals())
 
-        return False
+x2gobroker.defaults.X2GOBROKER_CONFIG_DEFAULTS.update({'base': {'enable': True, },})
+
+class TestX2GoBrokerWebPlainInifile(unittest.TestCase):
+    pass
+
+def test_suite():
+    from unittest import TestSuite, makeSuite
+    suite = TestSuite()
+    suite.addTest(makeSuite(TestX2GoBrokerWebPlainInifile))
+    return suite


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