Import rpm: 5f944eba9d9ac4db71edc33d64af6f08e1aea7ad
This commit is contained in:
commit
8662f9559f
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
SOURCES/python-yubico-1.3.2.tar.gz
|
||||||
66
0001-literal-comparison.patch
Normal file
66
0001-literal-comparison.patch
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
From b4a53389c3e6ad41c836aa82998149f427fe1ad8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Tibor=20Dudl=C3=A1k?= <tdudlak@redhat.com>
|
||||||
|
Date: Tue, 10 Sep 2019 19:12:19 +0200
|
||||||
|
Subject: [PATCH] Do not use comparision with "is" for literals
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
There is a warning with python 3.8 at fedora rawhide about
|
||||||
|
comparision with "is" while running ipa-server install.
|
||||||
|
See: https://bugs.python.org/issue34850
|
||||||
|
|
||||||
|
Signed-off-by: Tibor Dudlák <tdudlak@redhat.com>
|
||||||
|
---
|
||||||
|
yubico/yubikey_config.py | 4 ++--
|
||||||
|
yubico/yubikey_usb_hid.py | 6 +++---
|
||||||
|
2 files changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/yubico/yubikey_config.py b/yubico/yubikey_config.py
|
||||||
|
index b5a30c4..caeed02 100644
|
||||||
|
--- a/yubico/yubikey_config.py
|
||||||
|
+++ b/yubico/yubikey_config.py
|
||||||
|
@@ -475,12 +475,12 @@ def to_frame(self, slot=1):
|
||||||
|
"""
|
||||||
|
data = self.to_string()
|
||||||
|
payload = data.ljust(64, yubico_util.chr_byte(0x0))
|
||||||
|
- if slot is 1:
|
||||||
|
+ if slot == 1:
|
||||||
|
if self._update_config:
|
||||||
|
command = SLOT.UPDATE1
|
||||||
|
else:
|
||||||
|
command = SLOT.CONFIG
|
||||||
|
- elif slot is 2:
|
||||||
|
+ elif slot == 2:
|
||||||
|
if self._update_config:
|
||||||
|
command = SLOT.UPDATE2
|
||||||
|
else:
|
||||||
|
diff --git a/yubico/yubikey_usb_hid.py b/yubico/yubikey_usb_hid.py
|
||||||
|
index c07dcaa..b87ff3c 100644
|
||||||
|
--- a/yubico/yubikey_usb_hid.py
|
||||||
|
+++ b/yubico/yubikey_usb_hid.py
|
||||||
|
@@ -285,13 +285,13 @@ def _waitfor(self, mode, mask, may_block, timeout=2):
|
||||||
|
seconds_left = min(20, seconds_left)
|
||||||
|
wait_num = (seconds_left * 2) - 1 + 6
|
||||||
|
|
||||||
|
- if mode is 'nand':
|
||||||
|
+ if mode == 'nand':
|
||||||
|
if not flags & mask == mask:
|
||||||
|
finished = True
|
||||||
|
else:
|
||||||
|
self._debug("Status %s (0x%x) has not cleared bits %s (0x%x)\n"
|
||||||
|
% (bin(flags), flags, bin(mask), mask))
|
||||||
|
- elif mode is 'and':
|
||||||
|
+ elif mode == 'and':
|
||||||
|
if flags & mask == mask:
|
||||||
|
finished = True
|
||||||
|
else:
|
||||||
|
@@ -303,7 +303,7 @@ def _waitfor(self, mode, mask, may_block, timeout=2):
|
||||||
|
if not finished:
|
||||||
|
wait_num -= 1
|
||||||
|
if wait_num == 0:
|
||||||
|
- if mode is 'nand':
|
||||||
|
+ if mode == 'nand':
|
||||||
|
reason = 'Timed out waiting for YubiKey to clear status 0x%x' % mask
|
||||||
|
else:
|
||||||
|
reason = 'Timed out waiting for YubiKey to set status 0x%x' % mask
|
||||||
7
gating.yaml
Normal file
7
gating.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# recipients: abokovoy, frenaud, kaleem, ftrivino, cheimes
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-9
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
||||||
22
python-yubico-py3.patch
Normal file
22
python-yubico-py3.patch
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
From 7e6e424ed579c53a0767ba71eb47345ae1e472ca Mon Sep 17 00:00:00 2001
|
||||||
|
From: minus <github@mnus.de>
|
||||||
|
Date: Sat, 12 Mar 2016 12:18:44 +0100
|
||||||
|
Subject: [PATCH] fixed Python 3 compatibility for Yubikey 4
|
||||||
|
|
||||||
|
---
|
||||||
|
yubico/yubikey_4_usb_hid.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/yubico/yubikey_4_usb_hid.py b/yubico/yubikey_4_usb_hid.py
|
||||||
|
index 31c6f5d..b44bb90 100644
|
||||||
|
--- a/yubico/yubikey_4_usb_hid.py
|
||||||
|
+++ b/yubico/yubikey_4_usb_hid.py
|
||||||
|
@@ -104,7 +104,7 @@ def _read_capabilities(self):
|
||||||
|
frame = yubikey_frame.YubiKeyFrame(command=SLOT.YK4_CAPABILITIES)
|
||||||
|
self._device._write(frame)
|
||||||
|
response = self._device._read_response()
|
||||||
|
- r_len = ord(response[0])
|
||||||
|
+ r_len = yubico_util.ord_byte(response[0])
|
||||||
|
|
||||||
|
# 1 byte length, 2 byte CRC.
|
||||||
|
if not yubico_util.validate_crc16(response[:r_len+3]):
|
||||||
157
python-yubico.spec
Normal file
157
python-yubico.spec
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
%{!?_licensedir:%global license %%doc}
|
||||||
|
|
||||||
|
%global srcname yubico
|
||||||
|
|
||||||
|
%if 0%{?rhel} > 7
|
||||||
|
# Disable python2 build by default
|
||||||
|
%bcond_with python2
|
||||||
|
%else
|
||||||
|
%bcond_without python2
|
||||||
|
%endif
|
||||||
|
|
||||||
|
Name: python-%{srcname}
|
||||||
|
Version: 1.3.2
|
||||||
|
Release: 9%{?dist}
|
||||||
|
Summary: Pure-python library for interacting with Yubikeys
|
||||||
|
|
||||||
|
License: BSD
|
||||||
|
URL: https://github.com/Yubico/%{name}
|
||||||
|
Source0: https://github.com/Yubico/%{name}/archive/%{name}-%{version}.tar.gz
|
||||||
|
Patch0: python-yubico-py3.patch
|
||||||
|
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%if %{with python2}
|
||||||
|
BuildRequires: python2-devel
|
||||||
|
BuildRequires: python2-setuptools
|
||||||
|
BuildRequires: python2-nose
|
||||||
|
BuildRequires: python2-pyusb
|
||||||
|
%endif # with python2
|
||||||
|
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: python3-setuptools
|
||||||
|
BuildRequires: python3-nose
|
||||||
|
BuildRequires: python3-pyusb
|
||||||
|
|
||||||
|
%description
|
||||||
|
Pure-python library for interacting with Yubikeys
|
||||||
|
|
||||||
|
%if %{with python2}
|
||||||
|
%package -n python2-%{srcname}
|
||||||
|
Summary: Pure-python library for interacting with Yubikeys
|
||||||
|
Requires: pyusb
|
||||||
|
Obsoletes: python-yubico < %{version}-%{release}
|
||||||
|
|
||||||
|
%{?python_provide:%python_provide python2-%{srcname}}
|
||||||
|
|
||||||
|
%description -n python2-%{srcname}
|
||||||
|
Pure-python library for interacting with Yubikeys. For Python 2.
|
||||||
|
%endif # with python2
|
||||||
|
|
||||||
|
%package -n python3-%{srcname}
|
||||||
|
Summary: Pure-python library for interacting with Yubikeys
|
||||||
|
Requires: python3-pyusb
|
||||||
|
|
||||||
|
%{?python_provide:%python_provide python3-%{srcname}}
|
||||||
|
|
||||||
|
%description -n python3-%{srcname}
|
||||||
|
Pure-python library for interacting with Yubikeys. For Python 3.
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -n %{name}-%{name}-%{version} -p1
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
%if %{with python2}
|
||||||
|
%py2_build
|
||||||
|
%endif # with python2
|
||||||
|
%py3_build
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
%if %{with python2}
|
||||||
|
%py2_install
|
||||||
|
%endif # with python2
|
||||||
|
%py3_install
|
||||||
|
|
||||||
|
|
||||||
|
%check
|
||||||
|
%if %{with python2}
|
||||||
|
nosetests-%{python2_version} -e test_challenge_response -e test_serial -e test_status
|
||||||
|
%endif # with python2
|
||||||
|
nosetests-%{python3_version} -e test_challenge_response -e test_serial -e test_status
|
||||||
|
|
||||||
|
%if %{with python2}
|
||||||
|
%files -n python2-%{srcname}
|
||||||
|
%license COPYING
|
||||||
|
%doc NEWS README
|
||||||
|
%{python2_sitelib}/*
|
||||||
|
%endif # with python2
|
||||||
|
|
||||||
|
%files -n python3-%{srcname}
|
||||||
|
%license COPYING
|
||||||
|
%doc NEWS README
|
||||||
|
%{python3_sitelib}/*
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Tue Jun 19 2018 Charalampos Stratakis <cstratak@redhat.com> - 1.3.2-9
|
||||||
|
- Conditionalize the python2 subpackage
|
||||||
|
|
||||||
|
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.2-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Aug 24 2017 Nathaniel McCallum <npmccallum@redhat.com> - 1.3.2-7
|
||||||
|
- Backport an upstream python3 fix (#1484862)
|
||||||
|
|
||||||
|
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.2-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.2-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 1.3.2-4
|
||||||
|
- Rebuild for Python 3.6
|
||||||
|
|
||||||
|
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.2-3
|
||||||
|
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
||||||
|
|
||||||
|
* Wed May 11 2016 Nathaniel McCallum <npmccallum@redhat.com> - 1.3.2-2
|
||||||
|
- Add missing provide for python-yubico
|
||||||
|
- Add missing obsoletes for python-yubico
|
||||||
|
|
||||||
|
* Tue May 10 2016 Nathaniel McCallum <npmccallum@redhat.com> - 1.3.2-1
|
||||||
|
- Cleanup obsolete conditions (like RHEL 6)
|
||||||
|
- Update to v1.3.2
|
||||||
|
|
||||||
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.3-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jan 11 2016 Will Thompson <will@willthompson.co.uk> - 1.2.3-5
|
||||||
|
- Add python3-pyusb dependency to python3 subpackage (#1278210)
|
||||||
|
|
||||||
|
* Mon Jan 11 2016 Ville Skyttä <ville.skytta@iki.fi>
|
||||||
|
- Ship COPYING as %%license where applicable
|
||||||
|
|
||||||
|
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.3-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
|
||||||
|
|
||||||
|
* Mon Jul 20 2015 Miro Hrončok <mhroncok@redhat.com> - 1.2.3-3
|
||||||
|
- Add Python 3 subpackage (#1244237)
|
||||||
|
|
||||||
|
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.3-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Mar 23 2015 Nathaniel McCallum <npmccallum@redhat.com> - 1.2.3-1
|
||||||
|
- Upstream 1.2.3
|
||||||
|
- Require pyusb during building when running tests
|
||||||
|
|
||||||
|
* Mon Jun 23 2014 Nathaniel McCallum <npmccallum@redhat.com> - 1.2.1-3
|
||||||
|
- Enable build on EL6.
|
||||||
|
|
||||||
|
* Sat Jun 21 2014 Nathaniel McCallum <npmccallum@redhat.com> - 1.2.1-2
|
||||||
|
- Run upstream tests during build.
|
||||||
|
|
||||||
|
* Thu Jun 19 2014 Nathaniel McCallum <npmccallum@redhat.com> - 1.2.1-1
|
||||||
|
- Initial release.
|
||||||
1
sources
Normal file
1
sources
Normal file
@ -0,0 +1 @@
|
|||||||
|
SHA1 (python-yubico-1.3.2.tar.gz) = ce26775893e3d25c33e226b376d92dfe1ae114d6
|
||||||
8
tests/sanity.sh
Normal file
8
tests/sanity.sh
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
|
||||||
|
dnf install -y python3-yubico
|
||||||
|
|
||||||
|
exec ${DIR}/test_ipa_yubikey.py
|
||||||
28
tests/test_ipa_yubikey.py
Executable file
28
tests/test_ipa_yubikey.py
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
"""Simple test for APIs used by IPA's otptoken plugin
|
||||||
|
"""
|
||||||
|
import logging
|
||||||
|
|
||||||
|
import yubico
|
||||||
|
import usb.core
|
||||||
|
|
||||||
|
logging.basicConfig(level=logging.INFO)
|
||||||
|
log = logging.getLogger()
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
try:
|
||||||
|
yk = yubico.find_yubikey()
|
||||||
|
except usb.core.USBError as e:
|
||||||
|
log.info(e)
|
||||||
|
except yubico.yubikey.YubiKeyError as e:
|
||||||
|
log.info(e)
|
||||||
|
else:
|
||||||
|
assert yk.version_num()
|
||||||
|
log.info(yk.status())
|
||||||
|
log.info(yk.status().valid_configs())
|
||||||
|
log.info("PASS")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
13
tests/tests.yml
Normal file
13
tests/tests.yml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
---
|
||||||
|
- hosts: localhost
|
||||||
|
tags:
|
||||||
|
- classic
|
||||||
|
roles:
|
||||||
|
- role: standard-test-source
|
||||||
|
- role: standard-test-basic
|
||||||
|
required_packages:
|
||||||
|
- python3-yubico
|
||||||
|
tests:
|
||||||
|
- test_ipa_yubikey:
|
||||||
|
dir: "tests"
|
||||||
|
run: ./test_ipa_yubikey.py
|
||||||
Loading…
Reference in New Issue
Block a user