diff options
Diffstat (limited to 'python-streql.spec')
-rw-r--r-- | python-streql.spec | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/python-streql.spec b/python-streql.spec new file mode 100644 index 0000000..357a969 --- /dev/null +++ b/python-streql.spec @@ -0,0 +1,108 @@ +%global _empty_manifest_terminate_build 0 +Name: python-streql +Version: 3.0.2 +Release: 1 +Summary: Constant-time string comparison +License: Apache +URL: https://github.com/PeterScott/streql +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/9a/a4/b3e7012e4f98d8063327273af748249caf36d8b190ab55840a7ceea97bd4/streql-3.0.2.tar.gz +BuildArch: noarch + + +%description +Sometimes you need to test strings for equality with an algorithm whose timing depends +only on the length of the strings, and not on the contents of the strings themselves. If +one of those strings is of constant width -- an +`HMAC <http://en.wikipedia.org/wiki/HMAC>`_, for example -- then it becomes a constant-time +operation. This can be used to prevent some `timing side-channel +attacks <http://en.wikipedia.org/wiki/Timing_attack>`_, such as `the critical vulnerability +found in KeyCzar back in 2009 <http://codahale.com/a-lesson-in-timing-attacks/>`_. +This module offers a single function, ``equals(x, y)``, which takes two strings ``x`` and +``y`` and returns ``True`` if they are equal, and ``False`` if they are not. The time +this function takes does not depend on what specific bytes are in these strings. Unicode +strings are encoded as UTF-8 before being compared; it is recommended that you only use +this on byte strings (``str`` in Python 2, ``bytes`` in Python 3). +This works with Python 2 and 3, and PyPy. The license is Apache 2.0. + +%package -n python3-streql +Summary: Constant-time string comparison +Provides: python-streql +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-streql +Sometimes you need to test strings for equality with an algorithm whose timing depends +only on the length of the strings, and not on the contents of the strings themselves. If +one of those strings is of constant width -- an +`HMAC <http://en.wikipedia.org/wiki/HMAC>`_, for example -- then it becomes a constant-time +operation. This can be used to prevent some `timing side-channel +attacks <http://en.wikipedia.org/wiki/Timing_attack>`_, such as `the critical vulnerability +found in KeyCzar back in 2009 <http://codahale.com/a-lesson-in-timing-attacks/>`_. +This module offers a single function, ``equals(x, y)``, which takes two strings ``x`` and +``y`` and returns ``True`` if they are equal, and ``False`` if they are not. The time +this function takes does not depend on what specific bytes are in these strings. Unicode +strings are encoded as UTF-8 before being compared; it is recommended that you only use +this on byte strings (``str`` in Python 2, ``bytes`` in Python 3). +This works with Python 2 and 3, and PyPy. The license is Apache 2.0. + +%package help +Summary: Development documents and examples for streql +Provides: python3-streql-doc +%description help +Sometimes you need to test strings for equality with an algorithm whose timing depends +only on the length of the strings, and not on the contents of the strings themselves. If +one of those strings is of constant width -- an +`HMAC <http://en.wikipedia.org/wiki/HMAC>`_, for example -- then it becomes a constant-time +operation. This can be used to prevent some `timing side-channel +attacks <http://en.wikipedia.org/wiki/Timing_attack>`_, such as `the critical vulnerability +found in KeyCzar back in 2009 <http://codahale.com/a-lesson-in-timing-attacks/>`_. +This module offers a single function, ``equals(x, y)``, which takes two strings ``x`` and +``y`` and returns ``True`` if they are equal, and ``False`` if they are not. The time +this function takes does not depend on what specific bytes are in these strings. Unicode +strings are encoded as UTF-8 before being compared; it is recommended that you only use +this on byte strings (``str`` in Python 2, ``bytes`` in Python 3). +This works with Python 2 and 3, and PyPy. The license is Apache 2.0. + +%prep +%autosetup -n streql-3.0.2 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-streql -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 3.0.2-1 +- Package Spec generated |