Dear all

The X2Go project is proud to announce a new release of the X2Go
component ,,x2gobroker''.

New gains of this version of ,,x2gobroker'' are:

  o ported to Python 3
  o allow-deny/deny-allow ACLs rework
  o new login option, useful when broker and X2Go Server users diverge
  o various fixes
  o build fix for newer Fedora versions
  o initial UCCS API version 5
  o dropped Apache httpd 2.2 support
  o updated API documentation
  o rpm build fixes

X2Go Component: x2gobroker
Timestamp: 1549140629
Date: Sat, 02 Feb 2019 21:50:29 +0100
Fixes these bug report(s): 1013 1234 1240 1252 1315
 x2gobroker ( RELEASED; urgency=medium
   [ Mike Gabriel ]
   * New upstream version (
     - Bump upstream version to
     - Port to Python 3. (Fixes: #1240).
     - Drop left-over debug print() call.
     - Makefile: Assure that is run under Python3.
     - Improve debugging messages during authentication phase.
     - x2gobroker/ Fix call of base64.decodestring on Python3.
     - Unit tests: Fix deep misunderstanding in the way allow-deny vs.
       deny-allow should actually work.
     - x2gobroker/brokers/ Entire rewrite of
       check_profile_acls() method. (Fixes: #1234).
     - x2gobroker/tests/ Add test case for passwords
       with accentuated characters (using the testsuite_authmech for now).
     - Makefile: Support skipping installation of the x2gobroker PyModule.
       Useful when building with CDBS on Debian.
     - Makefile: Compress man pages.
     - Makefile: Run build at build time.
     - tmpfiles.d utilization: Create RUNDIR/x2gobroker via tmpfiles.d system.
       Fixes missing dir and flawed permissions when running under systemd.
     - etc/x2gobroker.conf: Mention the per-profile option for
       enabling/disabling load checker support.
     - sbin/{x2gobroker-pubkeyauthorizer,x2gobroker-keygen}: Use proper octal
       numbers for file permissions.
     - sbin/x2gobroker-pubkeyauthorizer: Fix key lookup in os.environ for
     - sbin/x2gobroker-pubkeyauthorizer: Some string/bytecode fixes for Python3.
       Plus urllib -> urllib.request.
     - sbin/x2gobroker-pubkeyauthorizer: Improve key integrity checker and move
       it further up. Plus one more Python2 -> Python3 issue fixed.
     - sbin/x2gobroker-pubkeyauthorizer: Drop unused binascii import.
     - x2gobroker-pubkeyauthorizer: Tiny Python2to3 fix.
     - load checker integration: Make the default-use-load-checker option work
       like all other default-* options.
     - uccs frontend: Convert datetime.datetime object to string before
       answering the http request with it.
     - x2gobroker/agent (check_load()): Bail out if no remote agent is given.
     - x2gobroker-testagent: Convert to Python3 (using 2to3 tool).
     - x2gobroker-loadchecker: Python3'ify iteration over dict keys.
     - x2gobroker/ Provide helper functions for pretty-formatting key
     - x2gobroker-keygen: Use new fingerprint formatting functions.
     - x2gobroker/ Bail out if no hostaddr contained in remote_agent.
     - x2gobroker/ No load-checking when remote_agent is set to
     - x2gobroker/ Better sanity checks for remote_agent and its dict
       keys hostname and hostaddr.
     - x2gobroker/ Report properly to the logger if we fail to
       obtain a load factor.
     - x2gobroker-loadchecker.service: loadchecker service needs to chuid to
       system user x2gobroker. (Fixes: #1252).
     - x2gobroker-loadchecker.service: File ownership should be
       x2gobroker:x2gobroker, too.
     - x2gobroker-loadchecker: No chown/chmod if we are not running as root
       (which is mostly the case).
     - x2gobroker/brokers/ Make sure profile['name'] has a
       fallback if not given in the session profile.
     - x2gobroker/brokers/ Also check for presence of 'host'
       and 'sshport'.
     - UCCS API change for X2Go Sessions: Rename "SessionType" to "Command".
     - obligatory profile keys: Move from inifile backend to UCCS frontend, as
       those requirements are frontend specific.
     - UCCS: Start working on API version 5.
     - x2gobroker/ Hide private Python class properties from JSON
       dict (like <obj>._api_version).
     - UCCS frontend: Fix API version check.
     - UCSS frontend: Propagate API version onwards to the X2GoServer JSON
       generator class.
     - infile broker backend: Fix handling of empty lists in session profile
       and session profile defaults.
     - etc/x2gobroker-wsgi.apache.*: Drop Apache2.2 support.
     - Log to system broker.log file when run via x2gobroker-ssh.
     - Getting started documentation: Rework document, convert to markdown,
       install into x2gobroker bin:pkg (on DEB based systems).
     - Makefile.docupload: Add apidoc target (running sphinx-apidoc).
     - docs/source: Initialize Sphinx API documentation's .rst files.
     - bin/x2gobroker: If binding the http server fails, a non-zero exit code
       should be returned. (Fixes: #1013).
     - x2gobroker/ Don't re-read the x2gobroker.conf during
       each cycle of the load checking loop. Rather read it on service startup
       and require a service restart when x2gobroker.conf has been changed.
     - x2gobroker/ Avoid rare cases where at the end of a load
       checking cycle a negative sleep time would have been calculated.
       (Fixes: #1315). Thanks to Walid Moghrabi for catching this.
     - HTTP broker: Add &login=<server_user> support to plain and json broker
     - SSH broker: Add --login option. This now supports X2Go Broker user and
       X2Go Server username being different accounts.
     - bin/x2gobroker: Correctly use split_host_address() function call.
     - bin/x2gobroker: Don't override already defined logger objects, define
       them properly where needed.
     - Convert one more unicode object into (Python3) string.
     - x2gobroker/tests/ Assure that tests are run without
       loadchecker usage.
     - broker-use-load-checker profile option: Also tolerate 'TRUE' and 'True'.
     - x2gobroker/ Fix failing execution of LOCAL broker agent. As
       the LOCAL broker agent is executed setuid root, we cannot
       Popen.terminate() (which is unneeded anyway) the process after its
     - Ignore SSH broker events for now. Not sure if we will ever support that.
     - Finalize API documentation.
     - Fix regression flaw in x2gobroker/web/, introduced by commit
   * debian/*:
     + Trigger Makefile's install target and install those files. Drop debhelper
       from-source-installation magic.
   * debian/{control,compat}: Bump to DH version level 9.
   * debian/{control,x2gobroker-common.install}:
     + Split out common files into non-Pythonian bin:pkg.
   * debian/*.install:
     + Add EOLs at EOF.
     + Add tmpfiles.d files into bin:pkgs.
     + Fix installation to /usr/lib/python3.x paths.
   * debian/control:
     + Drop from D (several bin:pkgs): python3-argparse, argparse is shipped
       with Python3 core.
     + Switch from libapache2-mod-wsgi to libapache2-mod-wsgi-py3.
     + Add B-D: dh-python.
     + Add B-D: python3-netaddr (for unit tests).
   * debian/x2gobroker-loadchecker.postinst:
     + Do chown/chmod on the correct file (not authservice.log, but
   * debian/python-x2gobroker-doc.doc-base:
     + Drop leading white-space in Abstract: field.
   * x2gobroker.spec:
     + Adapt to Python3 port.
     + Bump package version.
     + CentOS 6 + 7 have python34-devel, not python3-devel.
     + Enable debug_packages for openSUSE Tumbleweed (suse_version > 1500).
     + CentOS 6 + 7 have python34-setuptools, not python3-setuptools.
     + Fix removal of conf files in tmpfiles.d where needed.
     + Install tmpfiles.d configs into bin:pkgs.
     + Only install tmpfiles.d configs on systems that support/have systemd.
     + Some path fixes for the new tmpfiles.d/.
     + Make sure the build chroot has all it needs to run the PyModule's unit
     + Let's try to get unit tests working on Fedora first...
   [ Mihai Moldovan ]
   * New upstream version (
     - src/x2gobroker-{agent,ssh}.c: catch errors in setuid wrappers and add
       general return clause to make compilers happy.
     - Makefile: make sure that we actually append our custom CFLAGS and
       LDFLAGS values, even if passed in through the make command line.
     - src/x2gobroker-{agent,ssh}.c: fix compile warnings/errors.
     - src/x2gobroker-{agent,ssh}.c: fix more compile errors.
     - misc: copyright update.
     - misc: switch to HTTPS-based URLs where appropriate.
     - man/*: update date and version stamps pre-release.
     - misc: add missing coding modelines.
   * x2gobroker.spec:
     - Add %debug_package macro when debugging is to be enabled, hoping that it
       will actually generate proper debuginfo (and -source) sub packages
       owning files.
     - Whitespace only.
     - Remove obsolete EPEL 5 support.
     - Switch to HTTPS-based links.
     - Use more curly braces.
     - Pull in gcc and redhat-rpm-config.
     - Re-enable debug file generation to see which OS versions still fail.
     - %exclude does not work with curly braces, revert.
     - Remove %debug_package macro usage, breaks builds nowadays.
     - Pass down global flags in CFLAGS and LDFLAGS.
     - Fix %{__global_ldflags} usage if variable does not exist.
     - Commands don't seem to work when wrapped in curly braces (at least on
       *SuSE), so revert.


Mihai Moldovan

Attachment: signature.asc
Description: OpenPGP digital signature

x2go-announcements mailing list

Reply via email to