From unknown Fri Apr 17 13:30:44 2026
MIME-Version: 1.0
X-Mailer: MIME-tools 5.502 (Entity 5.502)
X-Loop: owner@bugs.x2go.org
From: owner@bugs.x2go.org (X2Go Bug Tracking System)
Subject: Bug#469 closed by X2Go Release Manager <git-admin@x2go.org> (X2Go
 issue (in src:x2gobroker) has been marked as closed)
Message-ID: <handler.469.c.143480228829613.notifdone@bugs.x2go.org>
References: <20150620121016.F03555DA94@ymir.das-netzwerkteam.de>
X-X2go-PR-Keywords: pending
X-X2go-PR-Message: they-closed 469
X-X2go-PR-Package: x2gobroker
X-X2go-PR-Source: x2gobroker
Date: Sat, 20 Jun 2015 12:15:49 +0000
Content-Type: multipart/mixed; boundary="----------=_1434802549-13841-0"

This is a multi-part message in MIME format...

------------=_1434802549-13841-0
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=utf-8

This is an automatic notification regarding your Bug report
which was filed against the x2gobroker package:

#469: Move pre and post scripts to common code and add scripts in select se=
ssion

It has been closed by X2Go Release Manager <git-admin@x2go.org>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact X2Go Release Manager <=
git-admin@x2go.org> by
replying to this email.


--=20
X2Go Bug Tracking System
Contact owner@bugs.x2go.org with problems

------------=_1434802549-13841-0
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at control) by bugs.x2go.org; 20 Jun 2015 12:11:28 +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=-1.9 required=5.0 tests=BAYES_00,NO_RELAYS,
	URIBL_BLOCKED autolearn=ham version=3.3.2
Received: by ymir.das-netzwerkteam.de (Postfix, from userid 1005)
	id F03555DA94; Sat, 20 Jun 2015 14:10:16 +0200 (CEST)
From: X2Go Release Manager <git-admin@x2go.org>
To: 469-submitter@bugs.x2go.org
Cc: control@bugs.x2go.org, 469@bugs.x2go.org
Subject: X2Go issue (in src:x2gobroker) has been marked as closed
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
Message-Id: <20150620121016.F03555DA94@ymir.das-netzwerkteam.de>
Date: Sat, 20 Jun 2015 14:10:16 +0200 (CEST)

close #469
thanks

Hello,

we are very hopeful that X2Go issue #469 reported by you
has been resolved in the new release (0.0.3.0) of the
X2Go source project »src:x2gobroker«.

You can view the complete changelog entry of src:x2gobroker (0.0.3.0)
below, and you can use the following link to view all the code changes
between this and the last release of src:x2gobroker.

    http://code.x2go.org/gitweb?p=x2gobroker.git;a=commitdiff;h=30c316e66f4173d0e3577fe85817e73f822a479e;hp=81e28ea24b269fb24559d70c462b846cf2f56edd

If you feel that the issue has not been resolved satisfyingly, feel
free to reopen this bug report or submit a follow-up report with
further observations described based on the new released version
of src:x2gobroker.

Thanks a lot for contributing to X2Go!!!

light+love
X2Go Git Admin (on behalf of the sender of this mail)

---
X2Go Component: src:x2gobroker
Version: 0.0.3.0-0x2go1
Status: RELEASE
Date: Sat, 20 Jun 2015 13:58:49 +0200
Fixes: 153 217 275 306 360 379 380 447 449 450 469 470 484 491 493 494 544 545 553 562 665 666 685 686 692 706 716 784 834 835 836
Changes: 
 x2gobroker (0.0.3.0-0x2go1) RELEASED; urgency=low
 .
   [ Mike Gabriel ]
   * New upstream version (0.0.3.0):
     - Add SSH support to X2Go Session Broker. (Fixes: #153).
     - Move x2gobroker executable to /usr/bin.
     - Update x2gobroker man page.
     - SSH broker: Only allow context change to another user for the
       magic user (default: x2gobroker).
     - Fix logrotate script: x2gobroker-wsgi. (Fixes: #275).
     - Get the cookie based extra-authentication working for SSH mode.
     - Get the cookie based extra-authentication working for HTTP mode.
     - Fix output of HTTP based connectivity test.
     - Do not let the broker crash if an agent is not reachable. Capture
       X2GoBrokerAgentExceptions when pinging the remote agent. (Fixes: #306).
     - When calling the agent's suspend_session function, make sure to pass
       on the remote_agent dictionary.
     - Provide empty directory /etc/x2go/broker/ssl.
     - Re-order x2gobroker main file. Move logging further to the back to
       allow taking command-line options into account.
     - Modify default x2gobroker-sessionprofiles.conf and provide something
       that will work with every default setup.
     - New broker session profile parameter: broker-agent-query-mode. Define
       agent query methods per session profile.
     - Rename base broker's use_session_autologin to get_session_autologin.
     - Fix Python2'isms in three exceptions. Thanks to Mathias Ewald for
       spotting.
     - Make test_suite callable via setup.py.
     - Provide a test function that checks if the basic broker agent setup
       (SSH private/public key pair) is available. If not, no SSH broker
       usage will be attempted.
     - Let a portscan preceed the SSH ping command. This notably
       reduces timeout duration if the host running the queried broker agent
       is down).
     - Catch RequestHandler errors and write them to the error log channel.
     - Raised verbosity level to INFO for session broker utilities.
     - Add sanity checks to x2gobroker-pubkeyauthorizer.
     - Report stderr results to the broker log channel (broker.log). This
       allows debugging of X2Go Session Broker Agent via the X2Go Session
       Broker logging instance. (Fixes: #217).
     - Fix the ping task in x2gobroker-agent.pl, process it without checking the
       given username.
     - Fix remote agent detection in case of some agents being down.
     - Add utils function: matching_hostnames(): test hostname lists for
       matching hostnames (with/without domain name).
     - Add fuzzy tolerance when comparing host name lists as found in session
       profile configuration and as reported by broker agent.
     - In x2gobroker.conf: describe the manifold ways of providing a second
       authorized_keys file location in SSH server daemon. Thanks to Stefan
       Heitmüller for pointing out more recent SSH server's configuration
       style.
     - WSGI implementation: keep SCRIPT_NAME in environ, as removing it causes
       AssertionErrors whenever we trigger a tornado.web.HTTPError.
     - Add password prompt to x2gobroker-testauth. Password prompt is used
       if the --password option is not used.
     - New authentication mechanism: none. Always authenticate a user, even if
       password is not provided or wrong.
     - Ship python2.6 asyncore patch (Debian squeeze python2.6 version) in
       python-x2gobroker's docs folder.
     - Show correct environment variables in log file prelude when WSGI is used.
     - Fix check-credentials = false for UCCS web frontend.
     - Add a start page (,,It works'').
     - Use IP addresses in apache2 config rather than hostnames.
     - Add new helper tool: x2gobroker-daemon-debug.
     - Add man page for x2gobroker-daemon-debug.
     - WebUI "plain": throw explainative log errors for every 404 http error.
     - Fix man pages (layout issues on x2gobroker-authservice man page).
     - Adapt man page installation to moval of x2gobroker(-testauth) from
       an sbin to a bin directory (executable for any user).
     - Make the inifile broker backend the default backend. (Fixes: #360).
     - Support daemonizing of the http broker.
     - Default to http broker mode when daemonizing the broker.
     - Support daemonizing of the authservice.
     - Detect RUNDIR in x2gobroker-authservice and use it for the default
       location of the authservice socket file.
     - Detect RUNDIR in x2gobroker Python module and use it for the default
       location of the authservice socket file.
     - Let x2gobroker-authservice take care of tidying up its own socket file.
     - Provide PAM config file for Debian and RHEL separately (as they differ).
     - Makefile: Clean up x2gobroker-agent binary.
     - Be more precise in Debian et al. init scripts when checking if the service
       is already running.
     - Add JSON WebUI backend for X2Go Session Broker.
     - JSON WebUI backend renders data of content type "text/json".
     - Provide configuration alternative to having /etc/defaults/* scripts parsed
       in by init scripts. Make X2Go Session Broker ready for being run via
       systemd.
     - Provide symlink x2gobroker-daemon.
     - Provide systemd service files for x2gobroker-daemon and
       x2gobroker-authservice. (Fixes: #379, #380).
     - Add --drop-privileges feature so that x2gobroker-daemon can drop root
       privileges when started via systemd. Only drop privileges if
       x2gobroker(-daemon) is run as uidNumber 0.
     - Implement dynamic authid for JSON WebUI frontend. Add a generic metadata
       top level to the JSON output tree.
     - Store cookies in /var/lib/x2gobroker (path is more appropriate than
       previously suggested path /var/log/x2gobroker).
     - Handle selectsessions calls with a non-existent profile ID gracefully.
     - Session profiles with marker user=BROKER_USER will now auto-fill-in the
       broker username into the session profile's 'user' option.
     - Provide tool: x2gobroker-testagent.
     - Allow for broker clients to send in public SSH keys that the client may
       use for authentication to X2Go Servers.
     - broker agent: avoid one option system() calls in Perl. (Fixes: #784).
     - For user context changes: set the HOME dir of the new user correctly.
     - Reduce Paramiko/SSH verbosity (logging.ERROR) when connecting to remote
       broker agents.
     - Support adding remote broker agent's host keys via the
       x2gobroker-testagent tool.
     - If we received an SSH public key from a broker client, mark it as
       ACCEPTED after we deployed it, so that the client knows that it can
       its corresponding private key.
     - Fix https brokerage in x2gobroker-daemon-debug.
     - Load X2GOBROKER_DAEMON_USER's known_hosts key file before doing
       remote agent calls.
     - Fully rewrite agent.py.
     - Fix broker crashes when no session status is available for certain
       session profiles.
     - JSON webUI: run pre and post auth scripts also via this backend.
     - x2gobroker-daemon: become wrapper script, enable --mode HTTP by default.
       Provide some intelligence when run as daemon (killing children processes
       on reception of a SIGTERM, SIGINT, SIGQUIT, EXIT signal).
     - Rename sections for broker backends in x2gobroker.conf
     - Make config object of x2gobroker.conf available in authentication
       mechanism backends.
     - Fix SSH based broker client.
     - Fix several failing tests, adapt tests to current code base.
     - Introduce new global parameter for x2gobroker.conf: my-cookie-file. Allow
       storing the initial authentication cookie/ID in a read-protected file.
     - Explicitly set detach_process to True when calling daemon.DaemonContext().
       Otherwise the daemons start but don't return to the cmdline prompt.
       (Fixes: #484).
     - Change agent API: all functions return a tuple where the first element
       denotes if the underlying agent call has been successful.
     - Correctly detect $HOME of the user that runs x2gobroker (including setuid
       calls via x2gobroker-ssh).
     - Enforce SSH agent query mode (instead of LOCAL mode) for SSH brokerage (as
       LOCAL query mode won't work due to a permission koan that has not yet been
       solved).
     - Fix interpretation of SSH_CLIENT env variable.
     - Make x2gobroker-agent usable/installable on non-X2Go server machines.
       (Fixes: #493).
     - Provide autologin support for session profiles that have an SSH proxy host
       configured. (Fixes: #494).
     - Fix IPv6 binding of the X2Go Session Broker daemon. If no bind port
       is given via the cmdline, obtain it from other means (via
       x2gobroker.defaults).
     - Rename LICENSE file to COPYING.
     - X2Go Broker Agent: Test if queried username exists on the system before
       performing the query.
     - Make sure bind_address and bind_port are correctly detected from
       /etc/default/x2gobroker-daemon and /etc/x2go/broker/defaults.cfg.
     - Move split_host_address() code into x2gobroker.utils.
     - Report to log what the broker agent replied to us.
     - Provide support for load-balancing to hosts that are all reachable
       over the same IP address, but different TCP/IP ports (e.g. docker
       instances or hosts behind a reverse NATed IPv4 gateway). This ended
       up in a rewrite of the complete selection_session() method of the
       base broker code.
     - Use physical host address and port (if provided) for contacting
       remote broker agent via SSH.
     - Update README and TODO.
     - Update copyright holders. Copyright is held only by people who actually
       contributed to the current code base.
     - logrotate configs: Rotated logs via "su x2gobroker adm".
     - Use hostname as hard-coded in server_list (from session profile
       configuration),
       don't try to strip off the domain name.
     - Consolidate x2gobroker.utils.split_host_address() with a test and rewrite
       completely.
     - Make sure that without configuration files, the HTTP broker listens to
       port 8080.
     - Provide legacy support for deprecated x2gobroker.conf global parameter
       'check-credentials'.
     - Configure broker / authservice environment via .service files.
     - Load defaults.conf via authservices and for logger configuration, as well.
     - x2gobroker-authservice: Make sure socket file directory is created
       before trying to create the socket file itself.
     - Don't load defaults.conf twice. Only load it when initializing the
       loggers.
     - Provide a special PAM configuration file for SUSE systems
       (identical to the PAM configuration file for Debian).
     - defaults.conf: Mention X2GOBROKER_DEBUG not only in the global section,
       but also in the [daemon] and [authservice] section.
     - x2gobroker-testauth: Don't use hard-coded default backend. Obtain
       X2GOBROKER_DEFAULT_BACKEND from x2gobroker.defaults instead.
     - x2gobroker-testauth: Improve help text of --backend option. Display
       the current backend default.
     - x2gobroker-authservice: Restructure logging. Enable log messages
       for authentication requests.
     - Get several issues around select_session fixed via tests in the
       broker's backend base.py.
     - Add tests for broker agent queries.
     - Fix setting the remote agent's SSH port if the host option
       is of style "<hostname> (<ip-address>:<port>)".
     - During select_session: Re-add subdomain (if possible) to the hostname to
       make sure we can detect the host's <ip-address>:<port> further down in
       the code.
     - Properly set (/var)/run/x2gobroker directory permissions when started
       via systemd.
     - Fix privilege check for the broker daemon's log directory.
     - Enable basic/random load-balancing for UCCS broker frontend. Make UCCS
       frontend aware of host session profile options of the form
       "host=<fqdn> (<ipaddr>:<port>).
     - Do a portscan on the remote's SSH port before querying a remote agent
       via SSH.
     - Don't return X2Go Servers that are actually down, currently. The X2Go
       Servers get probed via a short portscan on the remote's SSH port. If
       that portscan fails, another remote X2Go Server is chosen from the
       list of available server (if any). This portscanning functionality
       can be switched off via "default-portscan-x2goservers" in x2gobroker.conf
       or via "broker-portscan-x2goservers" per session profile. (Fixes:
       #692).
     - When load-balancing, switch to chosen server as remote broker agent before
       deploying SSH keys.
     - Allow resuming sessions from servers even if one offline server has
       left bogus in the session DB (plus unit tests).
     - Fix remote agent detection if one ore more X2Go Servers are offline and
       hostname does not match host address (plus unit test).
     - Allow remote agent calls via hostname or host address when using the
       format "<hostname> (<hostaddr>)" in the session profile. This can be
       useful if the <hostname> is a valid address on the local network
       (broker <-> <server> communication), but the host address is valid for
       clients (client <-> server communication).
     - Don't check for running/suspended session if the session profile will
       request a shadowing session.
     - Disabled broker agent calls and load-balancing for session profiles that
       will request shadowing sessions.
     - Mention "usebrokerpass" session profile option in
       x2gobroker-sessionprofiles.conf.
     - Provide desktop sharing (shadow session) example in
       x2gobroker-sessionprofiles.conf.
     - Makefile: Add installation rules for x2gobroker-loadchecker.
     - x2gobroker.1: Since systemd there are not only init scripts. Rephrasing
       man page.
     - New feature: x2gobroker-loadchecker daemon. (Fixes: #686).
     - x2gobroker-agent.pl: Use var name server_usage instead of server_load.
       Reflects better what that var denotes.
     - agent.py: Completion of several __doc__ strings (missing @return:,
       @rtype: fields).
     - X2GoBroker.check_for_sessions(): Fix check for shadow / non-shadow
       sessions.
     - x2gobroker.1: Mention x2gobroker-ssh in its man page, differentiate
       between the different modes (http/ssh) of the x2gobroker application.
     - Pre-release pyflakes cleanup.
     - agent.py: Capture login failures in checkload() function.
     - agent.py: Allow providing a custom logger instance in all functions.
     - LoadChecker.loadchecker(): Use load checker daemon's logger instance
       for logging actions taken place in agent.py.
     - agent.py: Make agent query mode LOCAL behave similar to agent query mode
       SSH if things go wrong.
     - agent.py: Set result to None, if SSH connection to broker agent fails.
     - Calculate our own MemAvailable value in x2gobroker-agent.pl. Only
       kernels newer than v3.14 offer the MemAvailable: field in /proc/meminfo.
     - x2gobroker-agent.pl: Fix regexp for detecting number of CPUs and CPU
       frequency.
     - x2gobroker-agent.pl: Fall-back CPU detection for virtualized systems (e.g.
       QEMU hosts).
     - LoadChecker.loadchecker(): Report about query failures, as well, in query
       cycle summary.
     - LoadCheckerServiceHandler(): Add line breaks in per-profile output.
       Return nothing if the load checker service is unreachable.
     - agent.py: Let get_servers() return a dictionary with hostnames as keys
       and number of sessions as values.
     - Fix X2GoBroker.use_load_checker(): Obtain broker-* option via
       X2GoBroker.get_profile_broker(), not via X2GoBroker.get_profile().
     - Various improvements / fixes for session selection via the load checker
       daemon.
     - Adapt tests to new load checker service feature.
     - Only check for 'load_factors' key in remote_agent dict, if agent query
       mode is SSH.
     - Fix detection of running x2gobroker-daemon process in Debian's SystemV
       init script.
     - Set default log level to "WARNING", not "DEBUG".
     - defaults/x2gobroker-logchecker.default: Fix copy+paste errors.
     - doc/README.x2goclient+broker.getting-started: Mention how to launch
        PyHoca-GUI in broker mode.
     - etc/broker/defaults.conf: Fix copy+paste errors.
     - etc/x2gobroker-wsgi.*.conf: Make host ACLs Apache2.4 compliant.
     - logrotate/x2gobroker-loadchecker: The loadchecker.log file needs to be
       owned by user x2gobroker.
     - rpm/x2gobroker-*.init: Fix copy+paste errors.
     - man pages: Update date.
     - If non-load-balanced session profiles reference a non-reachable host,
       hand-back the system's hostname to X2Go Client / Python X2Go.
     - Add security notice / disclaimer to x2gbroker.1 man page as suggested
       by Stefan Baur. (Fixes: #666).
     - Provide x2gobroker system user public keys to broker agents with SSH
       options--strongly restricting the key usage--now. Modify x2gobroker-
       pubkeyauthorizer in a way that it replaces non-option keys with the
       newly provided optionized/restricted pubkeys. (Fixes: #685).
     - etc/x2gobroker.conf: Switch over to using dynamic auth cookies by default.
     - X2GoBroker.get_agent_query_mode(): Immediately return overridden query
       mode. Avoid logging of the configured query mode. Write the overridden
       query mode to the logger instance instead.
     - Don't enforce agent query mode "SSH" for x2gobroker-ssh anymore.
     - If a single-host is unreachable, return the host address, not the hostname
       and let X2Go Client release itself, that the host is unreachable.
     - x2gobroker-loadchecker: Don't freeze if load information for a complete
       load-balanced server farm is unavailable.
     - x2gobroker-pubkeyauthorizer: Handle replacement of SSH pubkeys with wrong/
       old SSH options.
     - x2gobroker-agent.pl: Add %U (uidNumber) and %G (primary gidNumber) as
       further possible substitutions for deriving the full path of the
       authorized_keys file where X2Go Broker Agent's deploys public SSH user
       keys to. (Fixes: #665).
     - agent.py: Use os.fork() instead of threading.Thread() to handle
       delayed executions of broker agent tasks. This assures that SSH pub keys
       are removed via the delauthkey broker agent task, if the SSH broker
       is used. (Fixes: #491).
     - Add run-optional-script support to SSH broker.
     - x2gobroker-ssh: When agent query mode is set to LOCAL, Execute
       x2gobroker-agent via sudo as group "X2GOBROKER_DAEMON_GROUP". (Fixes:
       #835).
     - When the x2gobroker-agent command call is shipped via
       $SSH_ORIGINAL_COMMAND environment var, make sure to strip-off
       "sh -c" from the command's beginning.
     - x2gobroker-agent.pl: Fix detection of X2Go's library path (x2gopath lib).
     - Implement "not-set" value for X2Go Client parameters. If a parameter
       is set to "not-set", the parameter won't be handed over to X2Go Client.
       (Fixes: #834, #836).
     - agent.py: Fix missing "task" parameter for task "ping" against a local
       broker agent.
     - Fix task ping when tested via the x2gobroker-testagent script.
     - Transliterate commands in session profiles to uppercase when checking if
       the command is supposed to launch a desktop session.
   * debian/control:
     + Provide separate bin:package for SSH brokerage: x2gobroker-ssh.
     + Replace LDAP support with session brokerage support in LONG_DESCRIPTION.
     + Fix SYNOPSIS texts.
     + Recommend apache2 and libapache2-mod-wsgi for x2gobroker-wsgi.
     + Fix position of XS-Python-Version: field.
     + Rework LONG_DESCRIPTION of bin:package x2gobroker-agent. Imporve line
       breaks, so that we now have lines that are close to 80 chars long.
     + Make x2gobroker-daemon a symlink and recognize HTTP mode by the
       executable's name.
     + Bump Standards: to 3.9.6. No changes needed.
     + Add to D (python-x2gobroker): python-urllib3.
   * debian/copyright:
     + Update file to match current status quo of upstream source files.
   * debian/x2gobroker-agent.dirs:
     + Provide empty log file directory.
   * debian/x2gobroker-wsgi postinst/postrm:
     + Make bin:package x2gobroker-wsgi compliant Debian's packaging style of
       Apache2.4 / Apache2.2.
     + On package purgal: Disable Apache2 config first and then attempt the
       removal of the x2gobroker user/group.
     + Pass $@ to our apacheconf_configure, apacheconf_remove functions to not
       break apache2-maintscript-helper.
   * debian/x2gobroker-ssh.postinst:
     + Assure proper file permissions, owner and group settings for
       x2gobroker-ssh.
   * debian/x2gobroker-ssh.prerm:
     + Drop dpkg-statoverride of /usr/bin/x2gobroker-ssh before package
       removal.
   * debian/*.postinst:
     + Assure that the log directory always exists (no matter what combination
       of packages got installed).
   * debian/python-x2gobroker.install:
     + Install defaults.conf into bin:package python-x2gobroker.
   * debian/source/format:
     + Switch to format 1.0.
   * rpm/*.init:
     + Provide initscripts that are likely to work on RHEL plus derivatives.
   * x2gobroker.spec:
     + Provide x2gobroker.spec file for building RPM packages. Inspired by
       the packaging work in OpenSuSE.
     + Split out python-x2gobroker sub-package.
     + Install Apache2 config symlinks to /etc/httpd (not /etc/apache2).
     + Make sure x2gobroker-agent wrapper gets installed into x2gobroker-agent
       sub-package.
     + Builds for EPEL-7 also have to systemd aware.
     + Provide separate bin:package for SSH brokerage: x2gobroker-ssh.
     + Adapt to building on openSUSE/SLES.
     + Rework Description: of bin:package x2gobroker-agent. Imporve line
       breaks, so that we now have lines that are close to 80 chars long.
     + Add x2gobroker-rpmlintrc file.
     + Don't package x2gobroker-daemon.1 nor x2gobroker-ssh.1 man pages
       twice.
     + On SUSE, we have /etc/apache2, not /etc/httpd.
     + On SUSE, we have to provide our own python-pampy package (and depend on
       that). In Fedora and RHEL, the same (upstream) software is named
       python-pam. (Fixes: #562).
     + For distro versions with systemd, provide /etc/x2go/broker/defaults.conf.
       For SysV distro versions, use /etc/defaults/* and source them via the
       init scripts.
     + No adm group on non-Debian systems by default. Using root instead on RPM
       based systems.
     + For Fedora 22 and beyond explicitly call python2 in all shebangs.
     + Add to BR: sudo (to have /etc/sudoers.d owned by some package).
 .
   [ Josh Lukens ]
   * New upstream version (0.0.3.0):
     - Add support for dynamic cookie based auth after initial password auth.
       (Fixes: #447).
     - Add support to run pre and post authentication scripts. (Fixes: #449).
     - Add auth mechanism https_get. (Fixes: #450).
     - Change pre and post scripts to use common codebase across frontends.
       (Fixes: #469).
     - Add ability to have script run in select session after server is
       selected.
     - Add basic support for pulling https_get authmech config from
       configuration file. (Fixes: #470).
     - Fix typos and host/port mixups in the remote_sshproxy logic. (Fixes:
       #544).
     - Make sure find_busy_servers in agent.py returns a tuple (recent API
       change) to not break profiles with multiple servers. (Fixes: #545).
     - On session resumption take profile's host list into account. Don't resume
       sessions the profile has not been configured for. (Fixes: #553).
 .
   [ Jason Alavaliant ]
   * New upstream version (0.0.3.0):
     - Handle spaces in broker login passwords when authservice is used. (Fixes:
       #706).
     - Don't strip off spaces from password strings. (Fixes: #716).
 .
   [ Mihai Moldovan ]
   * x2gobroker.spec:
     + Change all python-pampy references to python-pam on non-SUSE systems.
     + Fix %build scriptlet: add missing "done" in while; do; done shell script
       part.
     + Don't do a weird escape slash dance in sed's replace command. Simply use
       another separator.
   * debian/rules:
     + Try to call common-binary-indep from common-binary-arch.


------------=_1434802549-13841-0
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at submit) by bugs.x2go.org; 2 Apr 2014 13:25:29 +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,RCVD_IN_DNSWL_BLOCKED
	autolearn=ham version=3.3.2
Received: from felt.botch.com (felt.botch.com [207.145.43.98])
	by ymir (Postfix) with ESMTP id 594F05DB16
	for <submit@bugs.x2go.org>; Wed,  2 Apr 2014 15:25:28 +0200 (CEST)
Received: from [127.0.0.1] (unknown [192.168.254.1])
	(Authenticated sender: jlukens)
	by felt.botch.com (Postfix) with ESMTP id B44A31AC0C5
	for <submit@bugs.x2go.org>; Wed,  2 Apr 2014 09:25:26 -0400 (EDT)
Date: Wed, 2 Apr 2014 09:25:25 -0400
From: Josh Lukens <jlukens@botch.com>
To: submit@bugs.x2go.org
Message-ID: <D488C226B1F3410B97748D4D071540B7@botch.com>
Subject: Move pre and post scripts to common code and add scripts in
 select session
X-Mailer: sparrow 1.6.4 (build 1178)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="533c0fc5_39386575_29a9"

--533c0fc5_39386575_29a9
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Package: x2gobroker 
Version: 0.0.3.0
Severity: wishlist

Move pre and post scripts to common code and add scripts in select session. 


--533c0fc5_39386575_29a9
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="x2gobroker-469.patch"

ZGlmZiAtLWdpdCBhL2RlYmlhbi9jaGFuZ2Vsb2cgYi9kZWJpYW4vY2hhbmdlbG9nCmluZGV4IDE1
OTg4ZjAuLjUxOWNmMGEgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9jaGFuZ2Vsb2cKKysrIGIvZGViaWFu
L2NoYW5nZWxvZwpAQCAtMTQ5LDYgKzE0OSw4IEBAIHgyZ29icm9rZXIgKDAuMC4zLjAtMHgyZ28x
KSBVTlJFTEVBU0VEOyB1cmdlbmN5PWxvdwogICAgICAgKEZpeGVzOiAjNDQ3KS4KICAgICAtIEFk
ZCBzdXBwb3J0IHRvIHJ1biBwcmUgYW5kIHBvc3QgYXV0aGVudGljYXRpb24gc2NyaXB0cy4gKEZp
eGVzOiAjNDQ5KS4KICAgICAtIEFkZCBhdXRoIG1lY2hhbmlzbSBodHRwc19nZXQuIChGaXhlczog
IzQ1MCkuCisgICAgLSBDaGFuZ2UgcHJlIGFuZCBwb3N0IHNjcmlwdHMgdG8gdXNlIGNvbW1vbiBj
b2RlYmFzZSBhY3Jvc3MgZnJvbnRlbmRzIChGaXhlczogIzQ2OSkKKyAgICAtIEFkZCBhYmlsaXR5
IHRvIGhhdmUgc2NyaXB0IHJ1biBpbiBzZWxlY3Qgc2Vzc2lvbiBhZnRlciBzZXJ2ZXIgaXMgc2Vs
ZWN0ZWQgCiAKICAtLSBNaWtlIEdhYnJpZWwgPG1pa2UuZ2FicmllbEBkYXMtbmV0endlcmt0ZWFt
LmRlPiAgRnJpLCAwNyBKdW4gMjAxMyAyMzoyNTozMCArMDIwMAogCmRpZmYgLS1naXQgYS9ldGMv
eDJnb2Jyb2tlci5jb25mIGIvZXRjL3gyZ29icm9rZXIuY29uZgppbmRleCAxMGRmMGM0Li43MWNi
NjlhIDEwMDY0NAotLS0gYS9ldGMveDJnb2Jyb2tlci5jb25mCisrKyBiL2V0Yy94MmdvYnJva2Vy
LmNvbmYKQEAgLTUwLDEwICs1MCwxNCBAQAogCiAjIFByZSBhbmQgUG9zdCBhdXRoZW50aWNhdGlv
biBzY3JpcHRzIGdpdmUgeW91IHRoZSBvcHRpb24gdG8gcnVuIG91dHNpZGUgc2NyaXB0cwogIyBv
ciBhZGp1c3QgdGhlIHZhbHVlcyBvZiB2YXJpYWJsZXMgZm9yIHVzZXJzIGxvZ2dpbmcgaW4uICBQ
cmUgc2NyaXB0cyBydW4ganVzdAotIyBiZWZvcmUgdXNlciBhdXRoZW50aWNhdGlvbiBhbmQgUG9z
dCBzY3JpcHRzIHJ1biBqdXN0IGFmdGVyLiAgU2V0IHRvIGxpc3Qgb2YKLSMgc2NyaXB0cywgY29t
bWEgc2VwZXJhdGVkLCB3aXRoIG5vIHNwYWNlcyBiZXR3ZWVuLgorIyBiZWZvcmUgdXNlciBhdXRo
ZW50aWNhdGlvbiBhbmQgUG9zdCBzY3JpcHRzIHJ1biBqdXN0IGFmdGVyIGV2ZW4gaWYgYXV0aGVu
dGljYXRpb24gZmFpbHMuCisjIFNlbGVjdCBTZXNzaW9uIHNjcmlwdHMgcnVuIGFmdGVyIGxvYWQg
YmFsbmNpbmcgcmlnaHQgYmVmb3JlIHRoZSBjaG9zZW4gc2VydmVyIGlzIHNlbnQKKyMgdG8gdGhl
IGNsaWVudC4KKyMKKyMgU2V0IHRvIGxpc3Qgb2Ygc2NyaXB0cywgY29tbWEgc2VwZXJhdGVkLCB3
aXRoIG5vIHNwYWNlcyBiZXR3ZWVuLgogI3ByZV9hdXRoX3NjcmlwdHMgPQogI3Bvc3RfYXV0aF9z
Y3JpcHRzID0KKyNzZWxlY3Rfc2Vzc2lvbl9zY3JpcHRzID0KIAogIyBFdmVyeSBzZXJ2ZXItY2xp
ZW50IGNvbW11bmljYXRpb24gKGJldHdlZW4gWDJHbyBDbGllbnQgYW5kIGJyb2tlcikgaGFzIHRv
IGJlCiAjIGFjY29tcGFuaWVkIGJ5IHRoaXMgaW5pdGlhbCBhdXRoZW50aWNhdGlvbiBjb29raWUg
aWYgcmVxdWlyZS1jb29raWUgaXMgc2V0IGFib3ZlLgpkaWZmIC0tZ2l0IGEveDJnb2Jyb2tlci9i
cm9rZXJzL2Jhc2VfYnJva2VyLnB5IGIveDJnb2Jyb2tlci9icm9rZXJzL2Jhc2VfYnJva2VyLnB5
CmluZGV4IDJiMWNkZjQuLjU1NGMyNzAgMTAwNjQ0Ci0tLSBhL3gyZ29icm9rZXIvYnJva2Vycy9i
YXNlX2Jyb2tlci5weQorKysgYi94MmdvYnJva2VyL2Jyb2tlcnMvYmFzZV9icm9rZXIucHkKQEAg
LTExNDIsMyArMTE0MiwyNyBAQCBjbGFzcyBYMkdvQnJva2VyKG9iamVjdCk6CiAKICAgICAgICAg
IiIiCiAgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgZGVmIHJ1bl9vcHRpb25hbF9zY3JpcHQo
c2VsZiwgc2NyaXB0X3R5cGUsIHVzZXJuYW1lLCBwYXNzd29yZCwgdGFzaywgcHJvZmlsZV9pZCwg
aXAsIGNvb2tpZSwgYXV0aGVkPU5vbmUsIHNlcnZlcj1Ob25lKToKKyAgICAgICAgIiIiXAorICAg
ICAgICBSdW4gYWxsIG9wdGlvbmFsIHNjcmlwdHMgb2YgdHlwZSBzY3JpcHRfdHlwZS4gIENhbGxl
ZCB3aXRoIDMgZGlmZmVyZW50IHNjcmlwdCB0eXBlczoKKyAgICAgICAgICBwcmVfYXV0aF9zY3Jp
cHRzIC0gYmVmb3JlIGF1dGhlbnRpY2F0aW9uIGhhcHBlbnMKKyAgICAgICAgICBwb3N0X2F1dGhf
c2NyaXB0cyAtIGFmdGVyIGF1dGhlbnRpY2F0aW9uIGJ1dCBiZWZvcmUgYW55dGhpbmcgZWxzZSBv
Y2N1cnMKKyAgICAgICAgICBzZWxlY3Rfc2Vzc2lvbl9zY3JpcHRzIC0gYWZ0ZXIgbG9hZCBiYWxh
bmNpbmcgYmVmb3JlIGEgc3BlY2lmaWMgc2VydmVyIGlzIHNlbnQgdG8gdGhlIGNsaWVudAorCisg
ICAgICAgIFRoZXNlIHNjcmlwdHMgYWxsb3cgZm9yIGJvdGggYWRkaW9uYWwgYWN0aW9ucyB0byBi
ZSBwZXJmb3JtZWQgYXMgd2VsbCBhcyB0aGUgbWFuZ2xpbmcgb2YgYW55IHJlbGV2YW50IGZpZWxk
cy4KKyAgICAgICAgCisgICAgICAgICIiIgorCisgICAgICAgIGlmIGxlbihnbG9iYWxfY29uZmln
W3NjcmlwdF90eXBlXSkgIT0gMDoKKyAgICAgICAgICAgIGZvciBzY3JpcHQgaW4gZ2xvYmFsX2Nv
bmZpZ1tzY3JpcHRfdHlwZV06CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAg
ICAgICBteV9zY3JpcHQ9Tm9uZQorICAgICAgICAgICAgICAgICAgICBleGVjKCJpbXBvcnQgeDJn
b2Jyb2tlci5vcHRpb25hbF9zY3JpcHRzLntzY3JpcHR9X3NjcmlwdCIuZm9ybWF0KHNjcmlwdD1z
Y3JpcHQpKQorICAgICAgICAgICAgICAgICAgICBleGVjKCJteV9zY3JpcHQgPSB4MmdvYnJva2Vy
Lm9wdGlvbmFsX3NjcmlwdHMue3NjcmlwdH1fc2NyaXB0LlgyR29Ccm9rZXJPcHRpb25hbFNjcmlw
dCgpIi5mb3JtYXQoc2NyaXB0PXNjcmlwdCkpCisgICAgICAgICAgICAgICAgICAgIGxvZ2dlcl9i
cm9rZXIuZGVidWcgKCdDYWxsaW5nIHtzY3JpcHRfdHlwZX0ge3NjcmlwdH0gd2l0aCB1c2VybmFt
ZToge3VzZXJuYW1lfSwgcGFzc3dvcmQ6IHtwYXNzd29yZH0sIHRhc2s6IHt0YXNrfSwgcHJvZmls
ZV9pZDoge3Byb2ZpbGVfaWR9LCBpcDoge2lwfSwgY29va2llOiB7Y29va2llfSwgYXV0aGVkOiB7
YXV0aGVkfSwgc2VydmVyOiB7c2VydmVyfScuZm9ybWF0KHNjcmlwdF90eXBlPXNjcmlwdF90eXBl
LHNjcmlwdD1zY3JpcHQsdXNlcm5hbWU9dXNlcm5hbWUsIHBhc3N3b3JkPSdYWFhYWCcsIHRhc2s9
dGFzaywgcHJvZmlsZV9pZD1wcm9maWxlX2lkLCBpcD1pcCwgY29va2llPWNvb2tpZSwgYXV0aGVk
PWF1dGhlZCwgc2VydmVyPXNlcnZlcikpCisgICAgICAgICAgICAgICAgICAgIHVzZXJuYW1lLCBw
YXNzd29yZCwgdGFzaywgcHJvZmlsZV9pZCwgaXAsIGNvb2tpZSwgYXV0aGVkLCBzZXJ2ZXIgPSBt
eV9zY3JpcHQucnVuX21lKHVzZXJuYW1lPXVzZXJuYW1lLCBwYXNzd29yZD1wYXNzd29yZCwgdGFz
az10YXNrLCBwcm9maWxlX2lkPXByb2ZpbGVfaWQsIGlwPWlwLCBjb29raWU9Y29va2llLCBhdXRo
ZWQ9YXV0aGVkLCBzZXJ2ZXI9c2VydmVyKQorICAgICAgICAgICAgICAgICAgICBsb2dnZXJfYnJv
a2VyLmRlYnVnICgnRmluaXNoZWQge3NjcmlwdF90eXBlfSB7c2NyaXB0fSB3aXRoIHVzZXJuYW1l
OiB7dXNlcm5hbWV9LCBwYXNzd29yZDoge3Bhc3N3b3JkfSwgdGFzazoge3Rhc2t9LCBwcm9maWxl
X2lkOiB7cHJvZmlsZV9pZH0sIGlwOiB7aXB9LCBjb29raWU6IHtjb29raWV9LCBhdXRoZWQ6IHth
dXRoZWR9LCBzZXJ2ZXI6IHtzZXJ2ZXJ9Jy5mb3JtYXQoc2NyaXB0X3R5cGU9c2NyaXB0X3R5cGUs
c2NyaXB0PXNjcmlwdCx1c2VybmFtZT11c2VybmFtZSwgcGFzc3dvcmQ9J1hYWFhYJywgdGFzaz10
YXNrLCBwcm9maWxlX2lkPXByb2ZpbGVfaWQsIGlwPWlwLCBjb29raWU9Y29va2llLCBhdXRoZWQ9
YXV0aGVkLCBzZXJ2ZXI9c2VydmVyKSkKKyAgICAgICAgICAgICAgICBleGNlcHQgSW1wb3J0RXJy
b3I6CisgICAgICAgICAgICAgICAgICAgIGxvZ2dlcl9lcnJvci5lcnJvcignTm8gc3VjaCBvcHRp
b25hbCBzY3JpcHQgXCd7c2NyaXB0fVwnJy5mb3JtYXQoc2NyaXB0PXNjcmlwdCkpCisgICAgICAg
IHJldHVybiB1c2VybmFtZSwgcGFzc3dvcmQsIHRhc2ssIHByb2ZpbGVfaWQsIGlwLCBjb29raWUs
IGF1dGhlZCwgc2VydmVyCmRpZmYgLS1naXQgYS94MmdvYnJva2VyL2RlZmF1bHRzLnB5IGIveDJn
b2Jyb2tlci9kZWZhdWx0cy5weQppbmRleCAwY2RjMzIzLi41YWU5Y2NiIDEwMDY0NAotLS0gYS94
MmdvYnJva2VyL2RlZmF1bHRzLnB5CisrKyBiL3gyZ29icm9rZXIvZGVmYXVsdHMucHkKQEAgLTE4
OCw2ICsxODgsNyBAQCBYMkdPQlJPS0VSX0NPTkZJR19ERUZBVUxUUyA9IHsKICAgICAgICAgdSd2
ZXJpZnktaXAnOiBUcnVlLAogICAgICAgICB1J3ByZV9hdXRoX3NjcmlwdHMnOiBbXSwKICAgICAg
ICAgdSdwb3N0X2F1dGhfc2NyaXB0cyc6IFtdLAorICAgICAgICB1J3NlbGVjdF9zZXNzaW9uX3Nj
cmlwdHMnOiBbXSwKICAgICAgICAgdSdteS1jb29raWUnOiB1dWlkLnV1aWQ0KCksCiAgICAgICAg
IHUnZW5hYmxlLXBsYWluLW91dHB1dCc6IFRydWUsCiAgICAgICAgIHUnZW5hYmxlLWpzb24tb3V0
cHV0JzogVHJ1ZSwKZGlmZiAtLWdpdCBhL3gyZ29icm9rZXIvb3B0aW9uYWxfc2NyaXB0cy9iYXNl
X3NjcmlwdC5weSBiL3gyZ29icm9rZXIvb3B0aW9uYWxfc2NyaXB0cy9iYXNlX3NjcmlwdC5weQpp
bmRleCBlMjg0MzYyLi5kZDllNWUyIDEwMDc1NQotLS0gYS94MmdvYnJva2VyL29wdGlvbmFsX3Nj
cmlwdHMvYmFzZV9zY3JpcHQucHkKKysrIGIveDJnb2Jyb2tlci9vcHRpb25hbF9zY3JpcHRzL2Jh
c2Vfc2NyaXB0LnB5CkBAIC0yMCw1ICsyMCw1IEBACiAKIGNsYXNzIFgyR29Ccm9rZXJPcHRpb25h
bFNjcmlwdChvYmplY3QpOgogCi0gICAgZGVmIHJ1bl9tZShzZWxmLCB1c2VybmFtZSwgcGFzc3dv
cmQsIHRhc2ssIHByb2ZpbGVfaWQsIGlwLCBjb29raWUpOgotICAgICAgICByZXR1cm4gdXNlcm5h
bWUsIHBhc3N3b3JkLCB0YXNrLCBwcm9maWxlX2lkLCBpcCwgY29va2llCisgICAgZGVmIHJ1bl9t
ZShzZWxmLCB1c2VybmFtZSwgcGFzc3dvcmQsIHRhc2ssIHByb2ZpbGVfaWQsIGlwLCBjb29raWUs
IGF1dGhlZCwgc2VydmVyKToKKyAgICAgICAgcmV0dXJuIHVzZXJuYW1lLCBwYXNzd29yZCwgdGFz
aywgcHJvZmlsZV9pZCwgaXAsIGNvb2tpZSwgYXV0aGVkLCBzZXJ2ZXIKZGlmZiAtLWdpdCBhL3gy
Z29icm9rZXIvd2ViL2pzb24ucHkgYi94MmdvYnJva2VyL3dlYi9qc29uLnB5Cm9sZCBtb2RlIDEw
MDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggMDhjYjk3My4uYjg4Y2E1ZAotLS0gYS94MmdvYnJv
a2VyL3dlYi9qc29uLnB5CisrKyBiL3gyZ29icm9rZXIvd2ViL2pzb24ucHkKQEAgLTEyNSwyMSAr
MTI1LDEzIEBAIGNsYXNzIFgyR29Ccm9rZXJXZWIoX1JlcXVlc3RIYW5kbGVyKToKICAgICAgICAg
ICAgICd0YXNrJzogdGFzaywKICAgICAgICAgfQogCi0gICAgICAgIGlmIGxlbihnbG9iYWxfY29u
ZmlnWydwcmVfYXV0aF9zY3JpcHRzJ10pICE9IDA6Ci0gICAgICAgICAgICBmb3Igc2NyaXB0IGlu
IGdsb2JhbF9jb25maWdbJ3ByZV9hdXRoX3NjcmlwdHMnXToKLSAgICAgICAgICAgICAgICB0cnk6
Ci0gICAgICAgICAgICAgICAgICAgIHBvc3RfYXV0aF9zY3JpcHQ9Tm9uZQotICAgICAgICAgICAg
ICAgICAgICBleGVjKCJpbXBvcnQgeDJnb2Jyb2tlci5vcHRpb25hbF9zY3JpcHRzLntzY3JpcHR9
X3NjcmlwdCIuZm9ybWF0KHNjcmlwdD1zY3JpcHQpKQotICAgICAgICAgICAgICAgICAgICBleGVj
KCJwcmVfYXV0aF9zY3JpcHQgPSB4MmdvYnJva2VyLm9wdGlvbmFsX3NjcmlwdHMue3NjcmlwdH1f
c2NyaXB0LlgyR29Ccm9rZXJPcHRpb25hbFNjcmlwdCgpIi5mb3JtYXQoc2NyaXB0PXNjcmlwdCkp
Ci0gICAgICAgICAgICAgICAgICAgIGxvZ2dlcl9icm9rZXIuZGVidWcgKCdDYWxsaW5nIHByZS1h
dXRoIHNjcmlwdCB7c2NyaXB0fSB3aXRoIHVzZXJuYW1lOiB7dXNlcm5hbWV9LCBwYXNzd29yZDog
e3Bhc3N3b3JkfSwgdGFzazoge3Rhc2t9LCBwcm9maWxlX2lkOiB7cHJvZmlsZV9pZH0sIGlwOiB7
aXB9LCBjb29raWU6IHtjb29raWV9Jy5mb3JtYXQoc2NyaXB0PXNjcmlwdCx1c2VybmFtZT11c2Vy
bmFtZSwgcGFzc3dvcmQ9J1hYWFhYJywgdGFzaz10YXNrLCBwcm9maWxlX2lkPXByb2ZpbGVfaWQs
IGlwPWlwLCBjb29raWU9Y29va2llKSkKLSAgICAgICAgICAgICAgICAgICAgdXNlcm5hbWUsIHBh
c3N3b3JkLCB0YXNrLCBwcm9maWxlX2lkLCBpcCwgY29va2llID0gcHJlX2F1dGhfc2NyaXB0LnJ1
bl9tZSh1c2VybmFtZT11c2VybmFtZSwgcGFzc3dvcmQ9cGFzc3dvcmQsIHRhc2s9dGFzaywgcHJv
ZmlsZV9pZD1wcm9maWxlX2lkLCBpcD1pcCwgY29va2llPWNvb2tpZSkKLSAgICAgICAgICAgICAg
ICAgICAgbG9nZ2VyX2Jyb2tlci5kZWJ1ZyAoJ1ByZS1hdXRoIHNjcmlwdCB7c2NyaXB0fSBmaW5p
c2hlZCB3aXRoIHVzZXJuYW1lOiB7dXNlcm5hbWV9LCBwYXNzd29yZDoge3Bhc3N3b3JkfSwgdGFz
azoge3Rhc2t9LCBwcm9maWxlX2lkOiB7cHJvZmlsZV9pZH0sIGlwOiB7aXB9LCBjb29raWU6IHtj
b29raWV9Jy5mb3JtYXQoc2NyaXB0PXNjcmlwdCx1c2VybmFtZT11c2VybmFtZSwgcGFzc3dvcmQ9
J1hYWFhYJywgdGFzaz10YXNrLCBwcm9maWxlX2lkPXByb2ZpbGVfaWQsIGlwPWlwLCBjb29raWU9
Y29va2llKSkKLSAgICAgICAgICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgICAgICAg
ICAgICAgICAgIGxvZ2dlcl9lcnJvci5lcnJvcignTm8gc3VjaCBvcHRpb25hbCBzY3JpcHQgXCd7
c2NyaXB0fVwnJy5mb3JtYXQoc2NyaXB0PXNjcmlwdCkpCisgICAgICAgIHVzZXJuYW1lLCBwYXNz
d29yZCwgdGFzaywgcHJvZmlsZV9pZCwgaXAsIGNvb2tpZSwgYXV0aGVkLCBzZXJ2ZXIgPSBicm9r
ZXJfYmFja2VuZC5ydW5fb3B0aW9uYWxfc2NyaXB0KHNjcmlwdF90eXBlPSdwcmVfYXV0aF9zY3Jp
cHRzJywgdXNlcm5hbWU9dXNlcm5hbWUsIHBhc3N3b3JkPXBhc3N3b3JkLCB0YXNrPXRhc2ssIHBy
b2ZpbGVfaWQ9cHJvZmlsZV9pZCwgaXA9aXAsIGNvb2tpZT1jb29raWUpCiAKICAgICAgICAgbG9n
Z2VyX2Jyb2tlci5kZWJ1ZyAoJ3VzZXJuYW1lOiB7dXNlcm5hbWV9LCBwYXNzd29yZDoge3Bhc3N3
b3JkfSwgdGFzazoge3Rhc2t9LCBwcm9maWxlX2lkOiB7cHJvZmlsZV9pZH0sIGNvb2tpZToge2Nv
b2tpZX0nLmZvcm1hdCh1c2VybmFtZT11c2VybmFtZSwgcGFzc3dvcmQ9J1hYWFhYJywgdGFzaz10
YXNrLCBwcm9maWxlX2lkPXByb2ZpbGVfaWQsIGNvb2tpZT1jb29raWUpKQogICAgICAgICBhY2Nl
c3MsIG5leHRfY29va2llID0gYnJva2VyX2JhY2tlbmQuY2hlY2tfYWNjZXNzKHVzZXJuYW1lPXVz
ZXJuYW1lLCBwYXNzd29yZD1wYXNzd29yZCwgaXA9aXAsIGNvb2tpZT1jb29raWUpCiAKKyAgICAg
ICAgdXNlcm5hbWUsIHBhc3N3b3JkLCB0YXNrLCBwcm9maWxlX2lkLCBpcCwgY29va2llLCBhdXRo
ZWQsIHNlcnZlciA9IGJyb2tlcl9iYWNrZW5kLnJ1bl9vcHRpb25hbF9zY3JpcHQoc2NyaXB0X3R5
cGU9J3Bvc3RfYXV0aF9zY3JpcHRzJywgdXNlcm5hbWU9dXNlcm5hbWUsIHBhc3N3b3JkPXBhc3N3
b3JkLCB0YXNrPXRhc2ssIHByb2ZpbGVfaWQ9cHJvZmlsZV9pZCwgaXA9aXAsIGNvb2tpZT1jb29r
aWUsIGF1dGhlZD1hY2Nlc3MpCisKICAgICAgICAgaWYgYWNjZXNzOgogCiAgICAgICAgICAgICBp
ZiBsZW4oZ2xvYmFsX2NvbmZpZ1sncG9zdF9hdXRoX3NjcmlwdHMnXSkgIT0gMDoKQEAgLTE5OSw3
ICsxOTEsOCBAQCBjbGFzcyBYMkdvQnJva2VyV2ViKF9SZXF1ZXN0SGFuZGxlcik6CiAKICAgICAg
ICAgICAgICAgICAgICAgcHJvZmlsZV9pbmZvID0gYnJva2VyX2JhY2tlbmQuc2VsZWN0X3Nlc3Np
b24ocHJvZmlsZV9pZD1wcm9maWxlX2lkLCB1c2VybmFtZT11c2VybmFtZSwgcHVia2V5PXB1Ymtl
eSkKICAgICAgICAgICAgICAgICAgICAgaWYgcHJvZmlsZV9pbmZvLmhhc19rZXkoJ3NlcnZlcicp
OgotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRfc2Vzc2lvblsnc2VydmVyJ10gPSAi
e3NlcnZlcn0iLmZvcm1hdChzZXJ2ZXI9cHJvZmlsZV9pbmZvWydzZXJ2ZXInXSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHVzZXJuYW1lLCBwYXNzd29yZCwgdGFzaywgcHJvZmlsZV9pZCwgaXAs
IGNvb2tpZSwgYXV0aGVkLCBzZXJ2ZXIgPSBicm9rZXJfYmFja2VuZC5ydW5fb3B0aW9uYWxfc2Ny
aXB0KHNjcmlwdF90eXBlPSdzZWxlY3Rfc2Vzc2lvbl9zY3JpcHRzJywgdXNlcm5hbWU9dXNlcm5h
bWUsIHBhc3N3b3JkPXBhc3N3b3JkLCB0YXNrPXRhc2ssIHByb2ZpbGVfaWQ9cHJvZmlsZV9pZCwg
aXA9aXAsIGNvb2tpZT1jb29raWUsIGF1dGhlZD1hY2Nlc3MsIHNlcnZlcj1wcm9maWxlX2luZm9b
J3NlcnZlciddKQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRfc2Vzc2lvblsnc2Vy
dmVyJ10gPSAie3NlcnZlcn0iLmZvcm1hdChzZXJ2ZXI9c2VydmVyKQogICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgcHJvZmlsZV9pbmZvLmhhc19rZXkoJ3BvcnQnKToKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxlY3RlZF9zZXNzaW9uWydwb3J0J10gPSAie3BvcnR9Ii5mb3JtYXQo
cG9ydD1wcm9maWxlX2luZm9bJ3BvcnQnXSkKICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6
CmRpZmYgLS1naXQgYS94MmdvYnJva2VyL3dlYi9wbGFpbi5weSBiL3gyZ29icm9rZXIvd2ViL3Bs
YWluLnB5Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggMTUwODE4Yi4uNTU3
MTYwYgotLS0gYS94MmdvYnJva2VyL3dlYi9wbGFpbi5weQorKysgYi94MmdvYnJva2VyL3dlYi9w
bGFpbi5weQpAQCAtMTE0LDM1ICsxMTQsMTYgQEAgY2xhc3MgWDJHb0Jyb2tlcldlYihfUmVxdWVz
dEhhbmRsZXIpOgogICAgICAgICBuZXdfcGFzc3dvcmQgPSBzZWxmLmdldF9hcmd1bWVudCgnbmV3
cGFzcycsIGRlZmF1bHQ9JycpCiAKICAgICAgICAgb3V0cHV0ID0gJycKLQotICAgICAgICBpZiBs
ZW4oZ2xvYmFsX2NvbmZpZ1sncHJlX2F1dGhfc2NyaXB0cyddKSAhPSAwOgotICAgICAgICAgICAg
Zm9yIHNjcmlwdCBpbiBnbG9iYWxfY29uZmlnWydwcmVfYXV0aF9zY3JpcHRzJ106Ci0gICAgICAg
ICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBwb3N0X2F1dGhfc2NyaXB0PU5vbmUK
LSAgICAgICAgICAgICAgICAgICAgZXhlYygiaW1wb3J0IHgyZ29icm9rZXIub3B0aW9uYWxfc2Ny
aXB0cy57c2NyaXB0fV9zY3JpcHQiLmZvcm1hdChzY3JpcHQ9c2NyaXB0KSkKLSAgICAgICAgICAg
ICAgICAgICAgZXhlYygicHJlX2F1dGhfc2NyaXB0ID0geDJnb2Jyb2tlci5vcHRpb25hbF9zY3Jp
cHRzLntzY3JpcHR9X3NjcmlwdC5YMkdvQnJva2VyT3B0aW9uYWxTY3JpcHQoKSIuZm9ybWF0KHNj
cmlwdD1zY3JpcHQpKQotICAgICAgICAgICAgICAgICAgICBsb2dnZXJfYnJva2VyLmRlYnVnICgn
Q2FsbGluZyBwcmUtYXV0aCBzY3JpcHQge3NjcmlwdH0gd2l0aCB1c2VybmFtZToge3VzZXJuYW1l
fSwgcGFzc3dvcmQ6IHtwYXNzd29yZH0sIHRhc2s6IHt0YXNrfSwgcHJvZmlsZV9pZDoge3Byb2Zp
bGVfaWR9LCBpcDoge2lwfSwgY29va2llOiB7Y29va2llfScuZm9ybWF0KHNjcmlwdD1zY3JpcHQs
dXNlcm5hbWU9dXNlcm5hbWUsIHBhc3N3b3JkPSdYWFhYWCcsIHRhc2s9dGFzaywgcHJvZmlsZV9p
ZD1wcm9maWxlX2lkLCBpcD1pcCwgY29va2llPWNvb2tpZSkpCi0gICAgICAgICAgICAgICAgICAg
IHVzZXJuYW1lLCBwYXNzd29yZCwgdGFzaywgcHJvZmlsZV9pZCwgaXAsIGNvb2tpZSA9IHByZV9h
dXRoX3NjcmlwdC5ydW5fbWUodXNlcm5hbWU9dXNlcm5hbWUsIHBhc3N3b3JkPXBhc3N3b3JkLCB0
YXNrPXRhc2ssIHByb2ZpbGVfaWQ9cHJvZmlsZV9pZCwgaXA9aXAsIGNvb2tpZT1jb29raWUpCi0g
ICAgICAgICAgICAgICAgICAgIGxvZ2dlcl9icm9rZXIuZGVidWcgKCdQcmUtYXV0aCBzY3JpcHQg
e3NjcmlwdH0gZmluaXNoZWQgd2l0aCB1c2VybmFtZToge3VzZXJuYW1lfSwgcGFzc3dvcmQ6IHtw
YXNzd29yZH0sIHRhc2s6IHt0YXNrfSwgcHJvZmlsZV9pZDoge3Byb2ZpbGVfaWR9LCBpcDoge2lw
fSwgY29va2llOiB7Y29va2llfScuZm9ybWF0KHNjcmlwdD1zY3JpcHQsdXNlcm5hbWU9dXNlcm5h
bWUsIHBhc3N3b3JkPSdYWFhYWCcsIHRhc2s9dGFzaywgcHJvZmlsZV9pZD1wcm9maWxlX2lkLCBp
cD1pcCwgY29va2llPWNvb2tpZSkpCi0gICAgICAgICAgICAgICAgZXhjZXB0IEltcG9ydEVycm9y
OgotICAgICAgICAgICAgICAgICAgICBsb2dnZXJfZXJyb3IuZXJyb3IoJ05vIHN1Y2ggb3B0aW9u
YWwgc2NyaXB0IFwne3NjcmlwdH1cJycuZm9ybWF0KHNjcmlwdD1zY3JpcHQpKQorICAgICAgICAK
KyAgICAgICAgdXNlcm5hbWUsIHBhc3N3b3JkLCB0YXNrLCBwcm9maWxlX2lkLCBpcCwgY29va2ll
LCBhdXRoZWQsIHNlcnZlciA9IGJyb2tlcl9iYWNrZW5kLnJ1bl9vcHRpb25hbF9zY3JpcHQoc2Ny
aXB0X3R5cGU9J3ByZV9hdXRoX3NjcmlwdHMnLCB1c2VybmFtZT11c2VybmFtZSwgcGFzc3dvcmQ9
cGFzc3dvcmQsIHRhc2s9dGFzaywgcHJvZmlsZV9pZD1wcm9maWxlX2lkLCBpcD1pcCwgY29va2ll
PWNvb2tpZSkKIAogICAgICAgICBsb2dnZXJfYnJva2VyLmRlYnVnICgndXNlcm5hbWU6IHt1c2Vy
bmFtZX0sIHBhc3N3b3JkOiB7cGFzc3dvcmR9LCB0YXNrOiB7dGFza30sIHByb2ZpbGVfaWQ6IHtw
cm9maWxlX2lkfSwgY29va2llOiB7Y29va2llfScuZm9ybWF0KHVzZXJuYW1lPXVzZXJuYW1lLCBw
YXNzd29yZD0nWFhYWFgnLCB0YXNrPXRhc2ssIHByb2ZpbGVfaWQ9cHJvZmlsZV9pZCwgY29va2ll
PWNvb2tpZSkpCiAgICAgICAgIGFjY2VzcywgbmV4dF9jb29raWUgPSBicm9rZXJfYmFja2VuZC5j
aGVja19hY2Nlc3ModXNlcm5hbWU9dXNlcm5hbWUsIHBhc3N3b3JkPXBhc3N3b3JkLCBpcD1pcCwg
Y29va2llPWNvb2tpZSkKIAotICAgICAgICBpZiBhY2Nlc3M6Ci0gICAgICAgICAgICBpZiBsZW4o
Z2xvYmFsX2NvbmZpZ1sncG9zdF9hdXRoX3NjcmlwdHMnXSkgIT0gMDoKLSAgICAgICAgICAgICAg
ICBmb3Igc2NyaXB0IGluIGdsb2JhbF9jb25maWdbJ3Bvc3RfYXV0aF9zY3JpcHRzJ106Ci0gICAg
ICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc3RfYXV0aF9z
Y3JpcHQ9Tm9uZQotICAgICAgICAgICAgICAgICAgICAgICAgZXhlYygiaW1wb3J0IHgyZ29icm9r
ZXIub3B0aW9uYWxfc2NyaXB0cy57c2NyaXB0fV9zY3JpcHQiLmZvcm1hdChzY3JpcHQ9c2NyaXB0
KSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGV4ZWMoInBvc3RfYXV0aF9zY3JpcHQgPSB4Mmdv
YnJva2VyLm9wdGlvbmFsX3NjcmlwdHMue3NjcmlwdH1fc2NyaXB0LlgyR29Ccm9rZXJPcHRpb25h
bFNjcmlwdCgpIi5mb3JtYXQoc2NyaXB0PXNjcmlwdCkpCi0gICAgICAgICAgICAgICAgICAgICAg
ICBsb2dnZXJfYnJva2VyLmRlYnVnICgnQ2FsbGluZyBwb3N0LWF1dGggc2NyaXB0IHtzY3JpcHR9
IHdpdGggdXNlcm5hbWU6IHt1c2VybmFtZX0sIHBhc3N3b3JkOiB7cGFzc3dvcmR9LCB0YXNrOiB7
dGFza30sIHByb2ZpbGVfaWQ6IHtwcm9maWxlX2lkfSwgaXA6IHtpcH0sIGNvb2tpZToge2Nvb2tp
ZX0nLmZvcm1hdChzY3JpcHQ9c2NyaXB0LHVzZXJuYW1lPXVzZXJuYW1lLCBwYXNzd29yZD0nWFhY
WFgnLCB0YXNrPXRhc2ssIHByb2ZpbGVfaWQ9cHJvZmlsZV9pZCwgaXA9aXAsIGNvb2tpZT1jb29r
aWUpKQotICAgICAgICAgICAgICAgICAgICAgICAgdXNlcm5hbWUsIHBhc3N3b3JkLCB0YXNrLCBw
cm9maWxlX2lkLCBpcCwgY29va2llID0gcG9zdF9hdXRoX3NjcmlwdC5ydW5fbWUodXNlcm5hbWU9
dXNlcm5hbWUsIHBhc3N3b3JkPXBhc3N3b3JkLCB0YXNrPXRhc2ssIHByb2ZpbGVfaWQ9cHJvZmls
ZV9pZCwgaXA9aXAsIGNvb2tpZT1jb29raWUpCi0gICAgICAgICAgICAgICAgICAgICAgICBsb2dn
ZXJfYnJva2VyLmRlYnVnICgnUG9zdC1hdXRoIHNjcmlwdCB7c2NyaXB0fSBmaW5pc2hlZCB3aXRo
IHVzZXJuYW1lOiB7dXNlcm5hbWV9LCBwYXNzd29yZDoge3Bhc3N3b3JkfSwgdGFzazoge3Rhc2t9
LCBwcm9maWxlX2lkOiB7cHJvZmlsZV9pZH0sIGlwOiB7aXB9LCBjb29raWU6IHtjb29raWV9Jy5m
b3JtYXQoc2NyaXB0PXNjcmlwdCx1c2VybmFtZT11c2VybmFtZSwgcGFzc3dvcmQ9J1hYWFhYJywg
dGFzaz10YXNrLCBwcm9maWxlX2lkPXByb2ZpbGVfaWQsIGlwPWlwLCBjb29raWU9Y29va2llKSkK
LSAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgotICAgICAgICAgICAgICAg
ICAgICAgICAgbG9nZ2VyX2Vycm9yLmVycm9yKCdObyBzdWNoIG9wdGlvbmFsIHNjcmlwdCBcJ3tz
Y3JpcHR9XCcnLmZvcm1hdChzY3JpcHQ9c2NyaXB0KSkKKyAgICAgICAgdXNlcm5hbWUsIHBhc3N3
b3JkLCB0YXNrLCBwcm9maWxlX2lkLCBpcCwgY29va2llLCBhdXRoZWQsIHNlcnZlciA9IGJyb2tl
cl9iYWNrZW5kLnJ1bl9vcHRpb25hbF9zY3JpcHQoc2NyaXB0X3R5cGU9J3Bvc3RfYXV0aF9zY3Jp
cHRzJywgdXNlcm5hbWU9dXNlcm5hbWUsIHBhc3N3b3JkPXBhc3N3b3JkLCB0YXNrPXRhc2ssIHBy
b2ZpbGVfaWQ9cHJvZmlsZV9pZCwgaXA9aXAsIGNvb2tpZT1jb29raWUsIGF1dGhlZD1hY2Nlc3Mp
CiAKKyAgICAgICAgaWYgYWNjZXNzOgorICAgICAgICAgICAgCiAgICAgICAgICAgICAjIyMKICAg
ICAgICAgICAgICMjIyBDT05GSVJNIFNVQ0NFU1NGVUwgQVVUSEVOVElDQVRJT04gRklSU1QKICAg
ICAgICAgICAgICMjIwpAQCAtMTkyLDkgKzE3MywxMSBAQCBjbGFzcyBYMkdvQnJva2VyV2ViKF9S
ZXF1ZXN0SGFuZGxlcik6CiAgICAgICAgICAgICAgICAgaWYgcHJvZmlsZV9pZDoKIAogICAgICAg
ICAgICAgICAgICAgICBwcm9maWxlX2luZm8gPSBicm9rZXJfYmFja2VuZC5zZWxlY3Rfc2Vzc2lv
bihwcm9maWxlX2lkPXByb2ZpbGVfaWQsIHVzZXJuYW1lPXVzZXJuYW1lLCBwdWJrZXk9cHVia2V5
KQorCiAgICAgICAgICAgICAgICAgICAgIGlmIHByb2ZpbGVfaW5mby5oYXNfa2V5KCdzZXJ2ZXIn
KToKKyAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJuYW1lLCBwYXNzd29yZCwgdGFzaywgcHJv
ZmlsZV9pZCwgaXAsIGNvb2tpZSwgYXV0aGVkLCBzZXJ2ZXIgPSBicm9rZXJfYmFja2VuZC5ydW5f
b3B0aW9uYWxfc2NyaXB0KHNjcmlwdF90eXBlPSdzZWxlY3Rfc2Vzc2lvbl9zY3JpcHRzJywgdXNl
cm5hbWU9dXNlcm5hbWUsIHBhc3N3b3JkPXBhc3N3b3JkLCB0YXNrPXRhc2ssIHByb2ZpbGVfaWQ9
cHJvZmlsZV9pZCwgaXA9aXAsIGNvb2tpZT1jb29raWUsIGF1dGhlZD1hY2Nlc3MsIHNlcnZlcj1w
cm9maWxlX2luZm9bJ3NlcnZlciddKQogICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0ICs9
ICJTRVJWRVI6IgotICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0ICs9IHByb2ZpbGVfaW5m
b1snc2VydmVyJ10KKyAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCArPSBzZXJ2ZXIKICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIHByb2ZpbGVfaW5mby5oYXNfa2V5KCdwb3J0Jyk6CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICI6e3BvcnR9Ii5mb3JtYXQocG9y
dD1wcm9maWxlX2luZm9bJ3BvcnQnXSkKICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCAr
PSAiXG4iCg==

--533c0fc5_39386575_29a9--

------------=_1434802549-13841-0--
