forked from pool/python-paramiko
- Update to 3.5.0:
* [Feature] #982: (via #2444, which was a rebase of #2157) Add support for AES-GCM encryption ciphers (128 and 256 bit variants). Thanks to Alex Gaynor for the report (& for cryptography review), Shen Cheng for the original PR, and Chris Mason for the updated PR; plus as usual to everyone who tested the patches and reported their results! This functionality has been tested in client mode against OpenSSH 9.0, 9.2, and 9.6, as well as against a number of proprietary appliance SSH servers. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-paramiko?expand=0&rev=125
This commit is contained in:
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.osc
|
||||
BIN
paramiko-3.4.0.tar.gz
LFS
Normal file
BIN
paramiko-3.4.0.tar.gz
LFS
Normal file
Binary file not shown.
BIN
paramiko-3.4.1.tar.gz
LFS
Normal file
BIN
paramiko-3.4.1.tar.gz
LFS
Normal file
Binary file not shown.
3
paramiko-3.5.0.tar.gz
Normal file
3
paramiko-3.5.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ad11e540da4f55cedda52931f1a3f812a8238a7af7f62a60de538cd80bb28124
|
||||
size 1704305
|
||||
13
paramiko-test_extend_timeout.patch
Normal file
13
paramiko-test_extend_timeout.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
Index: paramiko-2.5.0/tests/test_buffered_pipe.py
|
||||
===================================================================
|
||||
--- paramiko-2.5.0.orig/tests/test_buffered_pipe.py
|
||||
+++ paramiko-2.5.0/tests/test_buffered_pipe.py
|
||||
@@ -68,7 +68,7 @@ class BufferedPipeTest(unittest.TestCase
|
||||
self.assertTrue(False)
|
||||
except PipeTimeout:
|
||||
pass
|
||||
- self.assertEqual(b"b", p.read(1, 1.0))
|
||||
+ self.assertEqual(b"b", p.read(1, 3.0))
|
||||
self.assertEqual(b"", p.read(1))
|
||||
|
||||
def test_close_while_reading(self):
|
||||
1006
python-paramiko.changes
Normal file
1006
python-paramiko.changes
Normal file
File diff suppressed because it is too large
Load Diff
101
python-paramiko.spec
Normal file
101
python-paramiko.spec
Normal file
@@ -0,0 +1,101 @@
|
||||
#
|
||||
# spec file for package python-paramiko
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
%define skip_python313 1
|
||||
|
||||
%{?sle15_python_module_pythons}
|
||||
Name: python-paramiko
|
||||
Version: 3.5.0
|
||||
Release: 0
|
||||
Summary: SSH2 protocol library
|
||||
License: LGPL-2.1-or-later
|
||||
URL: https://www.paramiko.org/
|
||||
Source0: https://files.pythonhosted.org/packages/source/p/paramiko/paramiko-%{version}.tar.gz
|
||||
Patch0: paramiko-test_extend_timeout.patch
|
||||
# PATCH-FIX-OPENSUSE remove-icecream-dep.patch to do not depend on python-icecream and unvendor lexicon
|
||||
Patch1: remove-icecream-dep.patch
|
||||
BuildRequires: %{python_module PyNaCl >= 1.0.1}
|
||||
BuildRequires: %{python_module Sphinx}
|
||||
BuildRequires: %{python_module bcrypt >= 3.2}
|
||||
BuildRequires: %{python_module cryptography >= 3.3}
|
||||
BuildRequires: %{python_module gssapi}
|
||||
BuildRequires: %{python_module invocations}
|
||||
BuildRequires: %{python_module invoke >= 2.0}
|
||||
BuildRequires: %{python_module lexicon}
|
||||
BuildRequires: %{python_module pyasn1}
|
||||
BuildRequires: %{python_module pytest-relaxed}
|
||||
BuildRequires: %{python_module pytest-xdist}
|
||||
BuildRequires: %{python_module pytest}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
Recommends: python-gssapi
|
||||
Recommends: python-invoke
|
||||
Recommends: python-pyasn1 >= 0.1.7
|
||||
Requires: python-PyNaCl >= 1.5
|
||||
Requires: python-bcrypt >= 3.2
|
||||
Requires: python-cryptography >= 3.3
|
||||
BuildArch: noarch
|
||||
%python_subpackages
|
||||
|
||||
%description
|
||||
This is a library for making SSH2 connections (client or server).
|
||||
Emphasis is on using SSH2 as an alternative to SSL for making secure
|
||||
connections between python scripts. All major ciphers and hash methods
|
||||
are supported. SFTP client and server mode are both supported too.
|
||||
|
||||
%package -n python-paramiko-doc
|
||||
Summary: Documentation for %{name}
|
||||
Provides: %{python_module paramiko-doc = %{version}}
|
||||
|
||||
%description -n python-paramiko-doc
|
||||
This is a library for making SSH2 connections (client or server).
|
||||
Emphasis is on using SSH2 as an alternative to SSL for making secure
|
||||
connections between python scripts. All major ciphers and hash methods
|
||||
are supported. SFTP client and server mode are both supported too.
|
||||
|
||||
This package contains the documentation.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n paramiko-%{version}
|
||||
# Fix non-executable script rpmlint issue:
|
||||
find demos -name "*.py" -exec sed -i "/#\!\/usr\/bin\/.*/d" {} \; -exec chmod -x {} \;
|
||||
|
||||
%build
|
||||
%python_build
|
||||
|
||||
%install
|
||||
%python_install
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
|
||||
%check
|
||||
export LANG=en_US.UTF-8
|
||||
# Do not test k5shell to avoid dependency
|
||||
donttest="k5shell"
|
||||
%pytest tests/test_*.py -k "not $donttest"
|
||||
|
||||
%files %{python_files}
|
||||
%license LICENSE
|
||||
%doc README.rst
|
||||
%{python_sitelib}/paramiko
|
||||
%{python_sitelib}/paramiko-%{version}*-info
|
||||
|
||||
%files -n python-paramiko-doc
|
||||
%license LICENSE
|
||||
%doc demos/
|
||||
|
||||
%changelog
|
||||
27
remove-icecream-dep.patch
Normal file
27
remove-icecream-dep.patch
Normal file
@@ -0,0 +1,27 @@
|
||||
Index: paramiko-3.3.1/tests/conftest.py
|
||||
===================================================================
|
||||
--- paramiko-3.3.1.orig/tests/conftest.py
|
||||
+++ paramiko-3.3.1/tests/conftest.py
|
||||
@@ -4,7 +4,7 @@ import shutil
|
||||
import threading
|
||||
from pathlib import Path
|
||||
|
||||
-from invoke.vendor.lexicon import Lexicon
|
||||
+from lexicon import Lexicon
|
||||
|
||||
import pytest
|
||||
from paramiko import (
|
||||
@@ -22,13 +22,6 @@ from ._loop import LoopSocket
|
||||
from ._stub_sftp import StubServer, StubSFTPServer
|
||||
from ._util import _support
|
||||
|
||||
-from icecream import ic, install as install_ic
|
||||
-
|
||||
-
|
||||
-# Better print() for debugging - use ic()!
|
||||
-install_ic()
|
||||
-ic.configureOutput(includeContext=True)
|
||||
-
|
||||
|
||||
# Perform logging by default; pytest will capture and thus hide it normally,
|
||||
# presenting it on error/failure. (But also allow turning it off when doing
|
||||
23
support-pytest-8.patch
Normal file
23
support-pytest-8.patch
Normal file
@@ -0,0 +1,23 @@
|
||||
From d71046151d9904df467ff72709585cde39cdd4ca Mon Sep 17 00:00:00 2001
|
||||
From: Alex Gaynor <alex.gaynor@gmail.com>
|
||||
Date: Sat, 27 Jan 2024 17:04:18 -0500
|
||||
Subject: [PATCH] Use pytest's setup_method -- in pytest 8 the nose method
|
||||
setup is deprecated
|
||||
|
||||
---
|
||||
tests/test_config.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/test_config.py b/tests/test_config.py
|
||||
index 2e49aa3de..1e623e0ad 100644
|
||||
--- a/tests/test_config.py
|
||||
+++ b/tests/test_config.py
|
||||
@@ -53,7 +53,7 @@ def load_config(name):
|
||||
|
||||
|
||||
class TestSSHConfig:
|
||||
- def setup(self):
|
||||
+ def setup_method(self):
|
||||
self.config = load_config("robey")
|
||||
|
||||
def test_init(self):
|
||||
19
use-64-bit-maxsize-everywhere.patch
Normal file
19
use-64-bit-maxsize-everywhere.patch
Normal file
@@ -0,0 +1,19 @@
|
||||
Index: paramiko-3.4.0/tests/test_transport.py
|
||||
===================================================================
|
||||
--- paramiko-3.4.0.orig/tests/test_transport.py
|
||||
+++ paramiko-3.4.0/tests/test_transport.py
|
||||
@@ -1423,12 +1423,12 @@ class TestStrictKex:
|
||||
setattr(
|
||||
self.packetizer,
|
||||
"_Packetizer__sequence_number_in",
|
||||
- sys.maxsize,
|
||||
+ 2**63-1,
|
||||
)
|
||||
setattr(
|
||||
self.packetizer,
|
||||
"_Packetizer__sequence_number_out",
|
||||
- sys.maxsize,
|
||||
+ 2**63-1,
|
||||
)
|
||||
|
||||
with raises(
|
||||
Reference in New Issue
Block a user