Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-nbxmpp for openSUSE:Factory checked in at 2022-05-30 12:43:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-nbxmpp (Old) and /work/SRC/openSUSE:Factory/.python-nbxmpp.new.2254 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nbxmpp" Mon May 30 12:43:55 2022 rev:30 rq:979723 version:3.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-nbxmpp/python-nbxmpp.changes 2022-05-21 19:07:20.371399280 +0200 +++ /work/SRC/openSUSE:Factory/.python-nbxmpp.new.2254/python-nbxmpp.changes 2022-05-30 12:44:49.444460296 +0200 @@ -1,0 +2,7 @@ +Sat May 28 20:17:01 UTC 2022 - Alexei Sorokin <sor.ale...@meowr.ru> + +- Update to version 3.1.0: + * Client: Disconnect after stream restart in Login mode. + * Examples: Allow to connect with different modes. + +------------------------------------------------------------------- Old: ---- python-nbxmpp-nbxmpp-3.0.2.tar.bz2 New: ---- python-nbxmpp-3.1.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-nbxmpp.spec ++++++ --- /var/tmp/diff_new_pack.FGVeUB/_old 2022-05-30 12:44:49.984461015 +0200 +++ /var/tmp/diff_new_pack.FGVeUB/_new 2022-05-30 12:44:49.988461021 +0200 @@ -21,13 +21,13 @@ %define skip_python38 1 %define _name nbxmpp Name: python-nbxmpp -Version: 3.0.2 +Version: 3.1.0 Release: 0 Summary: XMPP library by Gajim team License: GPL-3.0-or-later Group: Development/Languages/Python URL: https://dev.gajim.org/gajim/python-nbxmpp -Source: %{url}/-/archive/nbxmpp-%{version}/python-nbxmpp-nbxmpp-%{version}.tar.bz2 +Source: %{url}/-/archive/%{version}/python-nbxmpp-%{version}.tar.bz2 BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-generators >= 20200714 @@ -57,7 +57,7 @@ This packages provides documentation of Nbxmpp API. %prep -%setup -q -n python-nbxmpp-nbxmpp-%{version} +%setup -q %build %python_build ++++++ python-nbxmpp-nbxmpp-3.0.2.tar.bz2 -> python-nbxmpp-3.1.0.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-nbxmpp-3.0.2/.chglog/config.yml new/python-nbxmpp-3.1.0/.chglog/config.yml --- old/python-nbxmpp-nbxmpp-3.0.2/.chglog/config.yml 2022-05-18 20:11:37.000000000 +0200 +++ new/python-nbxmpp-3.1.0/.chglog/config.yml 2022-05-28 11:27:58.000000000 +0200 @@ -8,17 +8,20 @@ filters: Type: - feat + - imprv - perf - fix commit_groups: sort_by: Custom title_order: - feat + - imprv - perf - fix title_maps: feat: New - perf: Performance Improvements + imprv: Improvements + perf: Performance fix: Bug Fixes header: pattern: "^(\\w*)\\:\\s(.*)$" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-nbxmpp-3.0.2/.ci/debian_build.py new/python-nbxmpp-3.1.0/.ci/debian_build.py --- old/python-nbxmpp-nbxmpp-3.0.2/.ci/debian_build.py 1970-01-01 01:00:00.000000000 +0100 +++ new/python-nbxmpp-3.1.0/.ci/debian_build.py 2022-05-28 11:27:58.000000000 +0200 @@ -0,0 +1,105 @@ +#!/usr/bin/env python3 + +from __future__ import annotations + +import argparse +import dataclasses +import logging +import shutil +import subprocess +from datetime import datetime +from datetime import timezone +from pathlib import Path + +LOG_FORMAT = '%(asctime)s %(levelname)s %(message)s' +logging.basicConfig(format=LOG_FORMAT, level=logging.DEBUG) +log = logging.getLogger() + +ROOT_DIR = Path(__file__).resolve().parent.parent +BUILD_DIR = ROOT_DIR / 'debian_build' + +DATE = datetime.now().strftime('%Y%m%d') +DATE_TIME = datetime.now(tz=timezone.utc).strftime('%a, %d %b %Y %T %z') + + +@dataclasses.dataclass +class ReleaseContext: + app: str + pkg_name: str + rev: str + release_name: str + release_dir: Path + tarball: Path + + @classmethod + def from_tarball(cls, path: str, prefix: str, rev: str) -> ReleaseContext: + tarball = Path(path) + app = tarball.name.split('-', maxsplit=1)[0] + pkg_name = f'{prefix}{app}-nightly' + release_name = f'{pkg_name}_{DATE}' + release_dir = BUILD_DIR / release_name + return cls(app=app, + pkg_name=pkg_name, + rev=rev, + release_name=release_name, + release_dir=release_dir, + tarball=tarball) + + +def clean_build_dir() -> None: + log.info('Cleanup build directory') + if BUILD_DIR.exists(): + shutil.rmtree(BUILD_DIR) + BUILD_DIR.mkdir() + + +def prepare_package_dir(context: ReleaseContext) -> None: + log.info('Extract tarball') + tarball = Path(shutil.copy(context.tarball, BUILD_DIR)) + tarball = tarball.rename(BUILD_DIR / f'{context.release_name}.orig.tar.gz') + shutil.unpack_archive(tarball, BUILD_DIR) + + log.info('Rename dir to: %s', context.release_name) + folder = list(BUILD_DIR.glob(f'{context.app}-?.?.?'))[0] + folder = folder.rename(context.release_dir) + + log.info('Copy debian folder into release directory') + shutil.copytree(ROOT_DIR / 'debian', context.release_dir / 'debian') + + +def prepare_changelog(context: ReleaseContext) -> None: + log.info('Prepare Changelog') + changelog = context.release_dir / 'debian' / 'changelog' + content = changelog.read_text() + content = content.replace('{DATE}', f'{DATE}-{context.rev}') + content = content.replace('{DATE_TIME}', DATE_TIME) + changelog.write_text(content) + + +def build(context: ReleaseContext) -> None: + log.info('Start package build') + subprocess.run( + [ + 'dpkg-buildpackage', + '--no-sign' + ], + cwd=context.release_dir, + check=True) + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description='Build debian package') + parser.add_argument('tarball', help='Path to tarball e.g. app.tar.gz') + parser.add_argument('rev', help='The package revision e.g. 1') + parser.add_argument('--pkgprefix', default='', required=False, + help='Prefix for the package name e.g. python3-') + args = parser.parse_args() + + context = ReleaseContext.from_tarball(args.tarball, + args.pkgprefix, + args.rev) + + clean_build_dir() + prepare_package_dir(context) + prepare_changelog(context) + build(context) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-nbxmpp-3.0.2/.gitignore new/python-nbxmpp-3.1.0/.gitignore --- old/python-nbxmpp-nbxmpp-3.0.2/.gitignore 2022-05-18 20:11:37.000000000 +0200 +++ new/python-nbxmpp-3.1.0/.gitignore 2022-05-28 11:27:58.000000000 +0200 @@ -2,6 +2,7 @@ __pycache__/ .mypy_cache/ nbxmpp.egg-info +debian_build/ dist .idea *~ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-nbxmpp-3.0.2/.gitlab-ci.yml new/python-nbxmpp-3.1.0/.gitlab-ci.yml --- old/python-nbxmpp-nbxmpp-3.0.2/.gitlab-ci.yml 2022-05-18 20:11:37.000000000 +0200 +++ new/python-nbxmpp-3.1.0/.gitlab-ci.yml 2022-05-28 11:27:58.000000000 +0200 @@ -1,11 +1,12 @@ -image: ci-gajim:master +image: nbxmpp-master:latest stages: - test - build - deploy -run-test: +test-pylint: + stage: test script: - python3 .ci/pylint-test.py @@ -18,10 +19,12 @@ reports: cobertura: coverage.xml -run-build: +build-linux: + image: nbxmpp-deb-build:latest stage: build script: - python3 setup.py sdist + - python3 .ci/debian_build.py "$(find dist/nbxmpp-*)" 1 --pkgprefix=python3- artifacts: name: "nbxmpp-$CI_COMMIT_SHA" @@ -33,6 +36,5 @@ stage: deploy rules: - if: '$CI_COMMIT_TAG' - when: manual script: - python3 .ci/deploy.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-nbxmpp-3.0.2/ChangeLog new/python-nbxmpp-3.1.0/ChangeLog --- old/python-nbxmpp-nbxmpp-3.0.2/ChangeLog 2022-05-18 20:11:37.000000000 +0200 +++ new/python-nbxmpp-3.1.0/ChangeLog 2022-05-28 11:27:58.000000000 +0200 @@ -1,3 +1,13 @@ +python-nbxmpp 3.1.0 (28 May 2022) + + New + + * Examples: Allow to connect with different modes + + Bug Fixes + + * Client: Disconnect after stream restart in Login mode + python-nbxmpp 3.0.2 (18 May 2022) Bug Fixes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-nbxmpp-3.0.2/MANIFEST.in new/python-nbxmpp-3.1.0/MANIFEST.in --- old/python-nbxmpp-nbxmpp-3.0.2/MANIFEST.in 2022-05-18 20:11:37.000000000 +0200 +++ new/python-nbxmpp-3.1.0/MANIFEST.in 2022-05-28 11:27:58.000000000 +0200 @@ -1,3 +1,3 @@ include ChangeLog COPYING README -recursive-include doc * recursive-include nbxmpp *.py +recursive-include test *.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-nbxmpp-3.0.2/debian/changelog new/python-nbxmpp-3.1.0/debian/changelog --- old/python-nbxmpp-nbxmpp-3.0.2/debian/changelog 1970-01-01 01:00:00.000000000 +0100 +++ new/python-nbxmpp-3.1.0/debian/changelog 2022-05-28 11:27:58.000000000 +0200 @@ -0,0 +1,5 @@ +python3-nbxmpp-nightly ({DATE}) unstable; urgency=low + + * https://dev.gajim.org/gajim/python-nbxmpp/-/commits/master + + -- nbxmpp CI <c...@gajim.org> {DATE_TIME} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-nbxmpp-3.0.2/debian/control new/python-nbxmpp-3.1.0/debian/control --- old/python-nbxmpp-nbxmpp-3.0.2/debian/control 1970-01-01 01:00:00.000000000 +0100 +++ new/python-nbxmpp-3.1.0/debian/control 2022-05-28 11:27:58.000000000 +0200 @@ -0,0 +1,31 @@ +Source: python3-nbxmpp-nightly +Section: python +Priority: optional +Maintainer: Gajim Maintainers <c...@gajim.org> +Build-Depends: debhelper-compat (= 13), + dh-python, + libglib2.0-0 (>= 2.60), + gir1.2-soup-2.4, + python3-all, + python3-gi, + python3-gssapi, + python3-idna, + python3-precis-i18n, + python3-setuptools, +Standards-Version: 4.1.4 +Rules-Requires-Root: no +Homepage: https://dev.gajim.org/gajim/python-nbxmpp +Vcs-Git: https://dev.gajim.org/gajim/python-nbxmpp.git +Vcs-Browser: https://dev.gajim.org/gajim/python-nbxmpp/tree/master + +Package: python3-nbxmpp-nightly +Architecture: all +Depends: ${misc:Depends}, + ${python3:Depends}, + gir1.2-soup-2.4, + python3-gi +Recommends: python3-gssapi, +Breaks: gajim (<< 1.4~) +Description: Non blocking XMPP Python library + nbxmpp is a Python library that provides a way for Python applications + to use the XMPP network. This library was initially a fork of xmpppy. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-nbxmpp-3.0.2/debian/copyright new/python-nbxmpp-3.1.0/debian/copyright --- old/python-nbxmpp-nbxmpp-3.0.2/debian/copyright 1970-01-01 01:00:00.000000000 +0100 +++ new/python-nbxmpp-3.1.0/debian/copyright 2022-05-28 11:27:58.000000000 +0200 @@ -0,0 +1,18 @@ +Upstream Authors: + - Yann Leboulanger <aste...@lagaule.org> + - Philipp H??rist <phil...@hoerist.com> + +Copyright: (c) 2022 Gajim Team + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-nbxmpp-3.0.2/debian/rules new/python-nbxmpp-3.1.0/debian/rules --- old/python-nbxmpp-nbxmpp-3.0.2/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ new/python-nbxmpp-3.1.0/debian/rules 2022-05-28 11:27:58.000000000 +0200 @@ -0,0 +1,9 @@ +#!/usr/bin/make -f + +DPKG_EXPORT_BUILDFLAGS = 1 +include /usr/share/dpkg/default.mk + +export PYBUILD_NAME=nbxmpp + +%: + dh $@ --with python3 --buildsystem=pybuild diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-nbxmpp-3.0.2/debian/source/format new/python-nbxmpp-3.1.0/debian/source/format --- old/python-nbxmpp-nbxmpp-3.0.2/debian/source/format 1970-01-01 01:00:00.000000000 +0100 +++ new/python-nbxmpp-3.1.0/debian/source/format 2022-05-28 11:27:58.000000000 +0200 @@ -0,0 +1 @@ +3.0 (quilt) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-nbxmpp-3.0.2/nbxmpp/__init__.py new/python-nbxmpp-3.1.0/nbxmpp/__init__.py --- old/python-nbxmpp-nbxmpp-3.0.2/nbxmpp/__init__.py 2022-05-18 20:11:37.000000000 +0200 +++ new/python-nbxmpp-3.1.0/nbxmpp/__init__.py 2022-05-28 11:27:58.000000000 +0200 @@ -4,4 +4,4 @@ gi.require_version('Soup', '2.4') -__version__: str = '3.0.2' +__version__: str = '3.1.0' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-nbxmpp-3.0.2/nbxmpp/client.py new/python-nbxmpp-3.1.0/nbxmpp/client.py --- old/python-nbxmpp-nbxmpp-3.0.2/nbxmpp/client.py 2022-05-18 20:11:37.000000000 +0200 +++ new/python-nbxmpp-3.1.0/nbxmpp/client.py 2022-05-28 11:27:58.000000000 +0200 @@ -645,6 +645,11 @@ # other connection methods if an error happensafterwards self._connect_successful = True + if self._stream_authenticated and self._mode.is_login_test: + self.notify('login-successful') + self.disconnect() + return + self.state = StreamState.WAIT_FOR_FEATURES elif self.state == StreamState.WAIT_FOR_FEATURES: @@ -687,14 +692,6 @@ elif self.state == StreamState.AUTH_SUCCESSFUL: self._stream_authenticated = True - if self._mode.is_login_test: - self.notify('login-successful') - # Reset parser because we will receive a new stream header - # which will otherwise lead to a parsing error - self._dispatcher.reset_parser() - self.disconnect() - return - self._start_stream() elif self.state == StreamState.AUTH_FAILED: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-nbxmpp-3.0.2/nbxmpp/examples/client.py new/python-nbxmpp-3.1.0/nbxmpp/examples/client.py --- old/python-nbxmpp-nbxmpp-3.0.2/nbxmpp/examples/client.py 2022-05-18 20:11:37.000000000 +0200 +++ new/python-nbxmpp-3.1.0/nbxmpp/examples/client.py 2022-05-28 11:27:58.000000000 +0200 @@ -16,10 +16,10 @@ from nbxmpp.client import Client from nbxmpp.structs import ProxyData from nbxmpp.structs import StanzaHandler -from nbxmpp.addresses import ServerAddress from nbxmpp.const import ConnectionType from nbxmpp.const import ConnectionProtocol from nbxmpp.const import StreamError +from nbxmpp.const import Mode consoleloghandler = logging.StreamHandler() log = logging.getLogger('nbxmpp') @@ -94,6 +94,17 @@ self._builder.proxy_password.get_text() or None) self._client.set_proxy(proxy) + if self._builder.login_mode.get_active(): + self._client.set_mode(Mode.LOGIN_TEST) + elif self._builder.client_mode.get_active(): + self._client.set_mode(Mode.CLIENT) + elif self._builder.register_mode.get_active(): + self._client.set_mode(Mode.REGISTER) + elif self._builder.anon_mode.get_active(): + self._client.set_mode(Mode.ANONYMOUS_TEST) + else: + raise ValueError('No mode selected') + self._client.set_connection_types(self._get_connection_types()) self._client.set_protocols(self._get_connection_protocols()) @@ -168,8 +179,10 @@ self._scroll_timeout = GLib.timeout_add(50, self.scroll_to_end) def _connect_clicked(self, *args): - if self._client is None: - self._create_client() + if self._client is not None: + self._client.destroy() + + self._create_client() self._client.connect() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-nbxmpp-3.0.2/nbxmpp/examples/client.ui new/python-nbxmpp-3.1.0/nbxmpp/examples/client.ui --- old/python-nbxmpp-nbxmpp-3.0.2/nbxmpp/examples/client.ui 2022-05-18 20:11:37.000000000 +0200 +++ new/python-nbxmpp-3.1.0/nbxmpp/examples/client.ui 2022-05-28 11:27:58.000000000 +0200 @@ -1,27 +1,28 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.22.1 --> +<!-- Generated with glade 3.38.2 --> <interface> <requires lib="gtk+" version="3.20"/> + <!-- n-columns=1 n-rows=3 --> <object class="GtkGrid" id="grid"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="margin_left">24</property> - <property name="margin_right">24</property> - <property name="margin_top">24</property> - <property name="margin_bottom">24</property> - <property name="row_spacing">12</property> + <property name="can-focus">False</property> + <property name="margin-start">24</property> + <property name="margin-end">24</property> + <property name="margin-top">24</property> + <property name="margin-bottom">24</property> + <property name="row-spacing">12</property> <child> <object class="GtkButtonBox"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="spacing">12</property> - <property name="layout_style">start</property> + <property name="layout-style">start</property> <child> <object class="GtkButton"> <property name="label" translatable="yes">Connect</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> <signal name="clicked" handler="_connect_clicked" swapped="no"/> <style> <class name="suggested-action"/> @@ -37,8 +38,8 @@ <object class="GtkButton"> <property name="label" translatable="yes">Disconnect</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> <signal name="clicked" handler="_disconnect_clicked" swapped="no"/> <style> <class name="destructive-action"/> @@ -54,8 +55,8 @@ <object class="GtkButton"> <property name="label" translatable="yes">Reconnect</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> <signal name="clicked" handler="_on_reconnect_clicked" swapped="no"/> </object> <packing> @@ -68,8 +69,8 @@ <object class="GtkButton" id="clear"> <property name="label" translatable="yes">Clear</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> <signal name="clicked" handler="_clear_clicked" swapped="no"/> </object> <packing> @@ -80,242 +81,244 @@ </child> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">2</property> + <property name="left-attach">0</property> + <property name="top-attach">2</property> </packing> </child> <child> + <!-- n-columns=3 n-rows=8 --> <object class="GtkGrid"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="hexpand">True</property> - <property name="row_spacing">6</property> - <property name="column_spacing">12</property> + <property name="row-spacing">6</property> + <property name="column-spacing">12</property> <child> <object class="GtkLabel"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes">XMPP-Address</property> <property name="xalign">1</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="left-attach">0</property> + <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkLabel"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes">Password</property> <property name="xalign">1</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> + <property name="left-attach">0</property> + <property name="top-attach">1</property> </packing> </child> <child> <object class="GtkEntry" id="address"> <property name="visible">True</property> - <property name="can_focus">True</property> + <property name="can-focus">True</property> <property name="valign">center</property> <property name="hexpand">True</property> </object> <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> + <property name="left-attach">1</property> + <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkEntry" id="password"> <property name="visible">True</property> - <property name="can_focus">True</property> + <property name="can-focus">True</property> <property name="valign">center</property> </object> <packing> - <property name="left_attach">1</property> - <property name="top_attach">1</property> + <property name="left-attach">1</property> + <property name="top-attach">1</property> </packing> </child> <child> <object class="GtkLabel"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes">Proxy Host or IP</property> <property name="xalign">1</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">3</property> + <property name="left-attach">0</property> + <property name="top-attach">3</property> </packing> </child> <child> <object class="GtkLabel"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes">Proxy Port</property> <property name="xalign">1</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">4</property> + <property name="left-attach">0</property> + <property name="top-attach">4</property> </packing> </child> <child> <object class="GtkLabel"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes">Proxy Password</property> <property name="xalign">1</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">6</property> + <property name="left-attach">0</property> + <property name="top-attach">6</property> </packing> </child> <child> <object class="GtkLabel"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes">Proxy Username</property> <property name="xalign">1</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">5</property> + <property name="left-attach">0</property> + <property name="top-attach">5</property> </packing> </child> <child> <object class="GtkEntry" id="proxy_ip"> <property name="visible">True</property> - <property name="can_focus">True</property> + <property name="can-focus">True</property> </object> <packing> - <property name="left_attach">1</property> - <property name="top_attach">3</property> + <property name="left-attach">1</property> + <property name="top-attach">3</property> </packing> </child> <child> <object class="GtkEntry" id="proxy_username"> <property name="visible">True</property> - <property name="can_focus">True</property> + <property name="can-focus">True</property> </object> <packing> - <property name="left_attach">1</property> - <property name="top_attach">5</property> + <property name="left-attach">1</property> + <property name="top-attach">5</property> </packing> </child> <child> <object class="GtkEntry" id="proxy_port"> <property name="visible">True</property> - <property name="can_focus">True</property> + <property name="can-focus">True</property> </object> <packing> - <property name="left_attach">1</property> - <property name="top_attach">4</property> + <property name="left-attach">1</property> + <property name="top-attach">4</property> </packing> </child> <child> <object class="GtkEntry" id="proxy_password"> <property name="visible">True</property> - <property name="can_focus">True</property> + <property name="can-focus">True</property> </object> <packing> - <property name="left_attach">1</property> - <property name="top_attach">6</property> + <property name="left-attach">1</property> + <property name="top-attach">6</property> </packing> </child> <child> <object class="GtkLabel"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes">Save</property> <property name="xalign">1</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">7</property> + <property name="left-attach">0</property> + <property name="top-attach">7</property> </packing> </child> <child> <object class="GtkButton"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="tooltip_text" translatable="yes">Save</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> + <property name="tooltip-text" translatable="yes">Save</property> <property name="halign">start</property> <signal name="clicked" handler="_on_save_clicked" swapped="no"/> <child> <object class="GtkImage"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="icon_name">document-save-symbolic</property> + <property name="can-focus">False</property> + <property name="icon-name">document-save-symbolic</property> </object> </child> </object> <packing> - <property name="left_attach">1</property> - <property name="top_attach">7</property> + <property name="left-attach">1</property> + <property name="top-attach">7</property> </packing> </child> <child> <object class="GtkFrame"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label_xalign">0</property> - <property name="shadow_type">none</property> + <property name="can-focus">False</property> + <property name="label-xalign">0</property> + <property name="shadow-type">none</property> <child> <object class="GtkAlignment"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="top_padding">12</property> - <property name="bottom_padding">12</property> - <property name="left_padding">12</property> + <property name="can-focus">False</property> + <property name="top-padding">12</property> + <property name="bottom-padding">12</property> + <property name="left-padding">12</property> <child> + <!-- n-columns=1 n-rows=3 --> <object class="GtkGrid"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <child> <object class="GtkCheckButton" id="directtls"> <property name="label" translatable="yes">DIRECT TLS</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> <property name="halign">start</property> - <property name="draw_indicator">True</property> + <property name="draw-indicator">True</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="left-attach">0</property> + <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkCheckButton" id="starttls"> <property name="label" translatable="yes">START TLS</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> <property name="halign">start</property> - <property name="draw_indicator">True</property> + <property name="draw-indicator">True</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> + <property name="left-attach">0</property> + <property name="top-attach">1</property> </packing> </child> <child> <object class="GtkCheckButton" id="plain"> <property name="label" translatable="yes">PLAIN</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> <property name="halign">start</property> - <property name="draw_indicator">True</property> + <property name="draw-indicator">True</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">2</property> + <property name="left-attach">0</property> + <property name="top-attach">2</property> </packing> </child> </object> @@ -325,60 +328,61 @@ <child type="label"> <object class="GtkLabel"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes">Connection Type</property> </object> </child> </object> <packing> - <property name="left_attach">2</property> - <property name="top_attach">0</property> + <property name="left-attach">2</property> + <property name="top-attach">0</property> <property name="height">3</property> </packing> </child> <child> <object class="GtkFrame"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label_xalign">0</property> - <property name="shadow_type">none</property> + <property name="can-focus">False</property> + <property name="label-xalign">0</property> + <property name="shadow-type">none</property> <child> <object class="GtkAlignment"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="top_padding">12</property> - <property name="bottom_padding">12</property> - <property name="left_padding">12</property> + <property name="can-focus">False</property> + <property name="top-padding">12</property> + <property name="bottom-padding">12</property> + <property name="left-padding">12</property> <child> + <!-- n-columns=1 n-rows=2 --> <object class="GtkGrid"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <child> <object class="GtkCheckButton" id="tcp"> <property name="label" translatable="yes">TCP</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> <property name="halign">start</property> - <property name="draw_indicator">True</property> + <property name="draw-indicator">True</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="left-attach">0</property> + <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkCheckButton" id="websocket"> <property name="label" translatable="yes">WEBSOCKET</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> <property name="halign">start</property> - <property name="draw_indicator">True</property> + <property name="draw-indicator">True</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> + <property name="left-attach">0</property> + <property name="top-attach">1</property> </packing> </child> </object> @@ -388,34 +392,34 @@ <child type="label"> <object class="GtkLabel"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="label" translatable="yes">Connection Protocol</property> </object> </child> </object> <packing> - <property name="left_attach">2</property> - <property name="top_attach">3</property> + <property name="left-attach">2</property> + <property name="top-attach">3</property> <property name="height">3</property> </packing> </child> <child> <object class="GtkLabel"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="halign">end</property> <property name="label" translatable="yes">Proxy Type</property> <property name="xalign">1</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">2</property> + <property name="left-attach">0</property> + <property name="top-attach">2</property> </packing> </child> <child> <object class="GtkComboBoxText" id="proxy_type"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="halign">start</property> <property name="active">0</property> <items> @@ -423,37 +427,128 @@ </items> </object> <packing> - <property name="left_attach">1</property> - <property name="top_attach">2</property> + <property name="left-attach">1</property> + <property name="top-attach">2</property> </packing> </child> <child> - <placeholder/> + <object class="GtkFrame"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="label-xalign">0</property> + <property name="shadow-type">none</property> + <child> + <object class="GtkAlignment"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="top-padding">12</property> + <property name="bottom-padding">12</property> + <property name="left-padding">12</property> + <child> + <!-- n-columns=1 n-rows=4 --> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <child> + <object class="GtkRadioButton" id="client_mode"> + <property name="label" translatable="yes">Client</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="active">True</property> + <property name="draw-indicator">True</property> + <property name="group">login_mode</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">0</property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="login_mode"> + <property name="label" translatable="yes">Login</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="active">True</property> + <property name="draw-indicator">True</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">1</property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="register_mode"> + <property name="label" translatable="yes">Register</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="active">True</property> + <property name="draw-indicator">True</property> + <property name="group">login_mode</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="anon_mode"> + <property name="label" translatable="yes">Anyonymous</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="active">True</property> + <property name="draw-indicator">True</property> + <property name="group">login_mode</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">3</property> + </packing> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="label" translatable="yes">Modes</property> + </object> + </child> + </object> + <packing> + <property name="left-attach">2</property> + <property name="top-attach">6</property> + </packing> </child> <child> <placeholder/> </child> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="left-attach">0</property> + <property name="top-attach">0</property> </packing> </child> <child> <object class="GtkScrolledWindow" id="scrolledwin"> <property name="visible">True</property> - <property name="can_focus">True</property> + <property name="can-focus">True</property> <property name="hexpand">True</property> <property name="vexpand">True</property> - <property name="shadow_type">in</property> + <property name="shadow-type">in</property> <child> <object class="GtkViewport"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <child> <object class="GtkListBox" id="xml_box"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="vexpand">True</property> </object> </child> @@ -461,8 +556,8 @@ </child> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> + <property name="left-attach">0</property> + <property name="top-attach">1</property> </packing> </child> </object> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-nbxmpp-3.0.2/nbxmpp/tcp.py new/python-nbxmpp-3.1.0/nbxmpp/tcp.py --- old/python-nbxmpp-nbxmpp-3.0.2/nbxmpp/tcp.py 2022-05-18 20:11:37.000000000 +0200 +++ new/python-nbxmpp-3.1.0/nbxmpp/tcp.py 2022-05-28 11:27:58.000000000 +0200 @@ -173,7 +173,6 @@ if self._address.type == ConnectionType.DIRECT_TLS: tls_client.set_advertised_protocols(['xmpp-client']) - tls_client.set_validation_flags(Gio.TlsCertificateFlags.VALIDATE_ALL) tls_client.connect('accept-certificate', self._check_certificate) tls_client.connect('notify::peer-certificate', self._on_certificate_set) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-nbxmpp-nbxmpp-3.0.2/setup.cfg new/python-nbxmpp-3.1.0/setup.cfg --- old/python-nbxmpp-nbxmpp-3.0.2/setup.cfg 2022-05-18 20:11:37.000000000 +0200 +++ new/python-nbxmpp-3.1.0/setup.cfg 2022-05-28 11:27:58.000000000 +0200 @@ -1,6 +1,6 @@ [metadata] name = nbxmpp -version = 3.0.2 +version = 3.1.0 description = XMPP Library author = Yann Leboulanger, Philipp Hoerist author_email = gajim-de...@gajim.org