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
Version: 0.0.4.0
Status: RELEASE
Timestamp: 1549140629
Date: Sat, 02 Feb 2019 21:50:29 +0100
Fixes these bug report(s): 1013 1234 1240 1252 1315
Changes:
x2gobroker (0.0.4.0) RELEASED; urgency=medium
.
[ Mike Gabriel ]
- New upstream version (0.0.4.0):
- Bump upstream version to 0.0.4.0.
- Port to Python 3. (Fixes: #1240).
- Drop left-over debug print() call.
- Makefile: Assure that setup.py is run under Python3.
- Improve debugging messages during authentication phase.
- x2gobroker/basicauth.py: 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/base_broker.py: Entire rewrite of
check_profile_acls() method. (Fixes: #1234).
- x2gobroker/tests/test_web_plain_base.py: 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 setup.py 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
Python3.
- 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/utils.py: Provide helper functions for pretty-formatting key
fingerprints.
- x2gobroker-keygen: Use new fingerprint formatting functions.
- x2gobroker/agent.py: Bail out if no hostaddr contained in remote_agent.
- x2gobroker/agent.py: No load-checking when remote_agent is set to
'LOCAL'.
- x2gobroker/agent.py: Better sanity checks for remote_agent and its dict
keys hostname and hostaddr.
- x2gobroker/loadchecker.py: 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/inifile_broker.py: Make sure profile['name'] has a
fallback if not given in the session profile.
- x2gobroker/brokers/inifile_broker.py: 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/uccsjson.py: 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/loadchecker.py: 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/loadchecker.py: 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
frontends.
- 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/test_broker_agent.py: Assure that tests are run without
loadchecker usage.
- broker-use-load-checker profile option: Also tolerate 'TRUE' and 'True'.
- x2gobroker/agent.py: 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
execution.
- Ignore SSH broker events for now. Not sure if we will ever support that.
- Finalize API documentation.
- Fix regression flaw in x2gobroker/web/json.py, introduced by commit
9fa371e9.
- 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
loadchecker.log).
- 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
tests.
- Let's try to get unit tests working on Fedora first...
.
[ Mihai Moldovan ]
- New upstream version (0.0.4.0):
- 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.
Regards,
Mihai Moldovan