Compare commits
No commits in common. "ee79bf1b9f0fe2bb8855b7f7e1814f6e7f307469" and "b0f9ce6cd56fb124fc34ea4903518e39b68d41ce" have entirely different histories.
ee79bf1b9f
...
b0f9ce6cd5
@ -1,37 +0,0 @@
|
|||||||
From 19a12f898b7343e16f0d08821de6aac169143752 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Marcel Hellkamp <marc@gsites.de>
|
|
||||||
Date: Tue, 27 Nov 2018 19:27:54 +0100
|
|
||||||
Subject: [PATCH] fix #1065 gevent-1.3.0 removes 'fast' wsgi implementation.
|
|
||||||
|
|
||||||
---
|
|
||||||
bottle.py | 10 ++++++----
|
|
||||||
1 file changed, 6 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/bottle.py b/bottle.py
|
|
||||||
index 3a51b38..cb46893 100644
|
|
||||||
--- a/bottle.py
|
|
||||||
+++ b/bottle.py
|
|
||||||
@@ -2904,14 +2904,16 @@ class GeventServer(ServerAdapter):
|
|
||||||
* See gevent.wsgi.WSGIServer() documentation for more options.
|
|
||||||
"""
|
|
||||||
def run(self, handler):
|
|
||||||
- from gevent import wsgi, pywsgi, local
|
|
||||||
+ from gevent import pywsgi, local
|
|
||||||
if not isinstance(threading.local(), local.local):
|
|
||||||
msg = "Bottle requires gevent.monkey.patch_all() (before import)"
|
|
||||||
raise RuntimeError(msg)
|
|
||||||
- if not self.options.pop('fast', None): wsgi = pywsgi
|
|
||||||
- self.options['log'] = None if self.quiet else 'default'
|
|
||||||
+ if self.options.pop('fast', None):
|
|
||||||
+ depr('The "fast" option has been deprecated and removed by Gevent.')
|
|
||||||
+ if self.quiet:
|
|
||||||
+ self.options['log'] = None
|
|
||||||
address = (self.host, self.port)
|
|
||||||
- server = wsgi.WSGIServer(address, handler, **self.options)
|
|
||||||
+ server = pywsgi.WSGIServer(address, handler, **self.options)
|
|
||||||
if 'BOTTLE_CHILD' in os.environ:
|
|
||||||
import signal
|
|
||||||
signal.signal(signal.SIGINT, lambda s, f: server.stop())
|
|
||||||
--
|
|
||||||
2.39.0.windows.2
|
|
||||||
|
|
||||||
@ -1,39 +0,0 @@
|
|||||||
From 0c3db605e927e6a58cefaecae3a3c6ef1e34dad5 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Marcel Hellkamp <marc@gsites.de>
|
|
||||||
Date: Sat, 1 Dec 2018 17:35:14 +0100
|
|
||||||
Subject: [PATCH] Fix #930: DeprecationWarning: Flags not at the start of the
|
|
||||||
expression
|
|
||||||
|
|
||||||
Backported from 0.13-dev
|
|
||||||
---
|
|
||||||
bottle.py | 7 ++++---
|
|
||||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/bottle.py b/bottle.py
|
|
||||||
index fd663f7..dae4f56 100644
|
|
||||||
--- a/bottle.py
|
|
||||||
+++ b/bottle.py
|
|
||||||
@@ -3420,7 +3420,7 @@ class StplParser(object):
|
|
||||||
_re_cache = {} #: Cache for compiled re patterns
|
|
||||||
# This huge pile of voodoo magic splits python code into 8 different tokens.
|
|
||||||
# 1: All kinds of python strings (trust me, it works)
|
|
||||||
- _re_tok = '((?m)[urbURB]?(?:\'\'(?!\')|""(?!")|\'{6}|"{6}' \
|
|
||||||
+ _re_tok = '([urbURB]?(?:\'\'(?!\')|""(?!")|\'{6}|"{6}' \
|
|
||||||
'|\'(?:[^\\\\\']|\\\\.)+?\'|"(?:[^\\\\"]|\\\\.)+?"' \
|
|
||||||
'|\'{3}(?:[^\\\\]|\\\\.|\\n)+?\'{3}' \
|
|
||||||
'|"{3}(?:[^\\\\]|\\\\.|\\n)+?"{3}))'
|
|
||||||
@@ -3443,8 +3443,9 @@ class StplParser(object):
|
|
||||||
# Match the start tokens of code areas in a template
|
|
||||||
_re_split = '(?m)^[ \t]*(\\\\?)((%(line_start)s)|(%(block_start)s))(%%?)'
|
|
||||||
# Match inline statements (may contain python strings)
|
|
||||||
- _re_inl = '%%(inline_start)s((?:%s|[^\'"\n]*?)+)%%(inline_end)s' % _re_inl
|
|
||||||
-
|
|
||||||
+ _re_inl = '(?m)%%(inline_start)s((?:%s|[^\'"\n]*?)+)%%(inline_end)s' % _re_inl
|
|
||||||
+ _re_tok = '(?m)' + _re_tok
|
|
||||||
+
|
|
||||||
default_syntax = '<% %> % {{ }}'
|
|
||||||
|
|
||||||
def __init__(self, source, syntax=None, encoding='utf8'):
|
|
||||||
--
|
|
||||||
2.39.0.windows.2
|
|
||||||
|
|
||||||
@ -1,27 +0,0 @@
|
|||||||
From 076f41759ceacb1a804517270392f0ef75adb07f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Marcel Hellkamp <marc@gsites.de>
|
|
||||||
Date: Thu, 13 Dec 2018 08:26:27 +0100
|
|
||||||
Subject: [PATCH] fix #1115: Some modules set __file__ as None
|
|
||||||
|
|
||||||
This is not allowed (the __file__ attribute MUST be either a string, or unset),
|
|
||||||
but seems to happen anyway and is easy to work around in bottle.
|
|
||||||
---
|
|
||||||
bottle.py | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/bottle.py b/bottle.py
|
|
||||||
index 01b581e..f254bac 100644
|
|
||||||
--- a/bottle.py
|
|
||||||
+++ b/bottle.py
|
|
||||||
@@ -3156,7 +3156,7 @@ class FileCheckerThread(threading.Thread):
|
|
||||||
files = dict()
|
|
||||||
|
|
||||||
for module in list(sys.modules.values()):
|
|
||||||
- path = getattr(module, '__file__', '')
|
|
||||||
+ path = getattr(module, '__file__', '') or ''
|
|
||||||
if path[-4:] in ('.pyo', '.pyc'): path = path[:-1]
|
|
||||||
if path and exists(path): files[path] = mtime(path)
|
|
||||||
|
|
||||||
--
|
|
||||||
2.39.0.windows.2
|
|
||||||
|
|
||||||
@ -1,27 +0,0 @@
|
|||||||
From 57a2f22e0c1d2b328c4f54bf75741d74f47f1a6b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Marcel Hellkamp <marc@gsites.de>
|
|
||||||
Date: Wed, 11 Nov 2020 19:24:29 +0100
|
|
||||||
Subject: [PATCH] Do not split query strings on `;` anymore.
|
|
||||||
|
|
||||||
Using `;` as a separator instead of `&` was allowed a long time ago,
|
|
||||||
but is now obsolete and actually invalid according to the 2014 W3C
|
|
||||||
recommendations. Even if this change is technically backwards-incompatible,
|
|
||||||
no real-world application should depend on broken behavior. If you REALLY
|
|
||||||
need this functionality, monkey-patch the _parse_qsl() function.
|
|
||||||
---
|
|
||||||
bottle.py | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/bottle.py b/bottle.py
|
|
||||||
index bcfc5e62..417b01b9 100644
|
|
||||||
--- a/bottle.py
|
|
||||||
+++ b/bottle.py
|
|
||||||
@@ -2585,7 +2585,7 @@ def parse_range_header(header, maxlen=0):
|
|
||||||
|
|
||||||
def _parse_qsl(qs):
|
|
||||||
r = []
|
|
||||||
- for pair in qs.replace(';','&').split('&'):
|
|
||||||
+ for pair in qs.split('&'):
|
|
||||||
if not pair: continue
|
|
||||||
nv = pair.split('=', 1)
|
|
||||||
if len(nv) != 2: nv.append('')
|
|
||||||
@ -1,40 +0,0 @@
|
|||||||
From e140e1b54da721a660f2eb9d58a106b7b3ff2f00 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Marcel Hellkamp <marc@gsites.de>
|
|
||||||
Date: Thu, 26 May 2022 14:49:32 +0200
|
|
||||||
Subject: [PATCH] Gracefully handle errors during early request binding.
|
|
||||||
|
|
||||||
---
|
|
||||||
bottle.py | 16 +++++++++-------
|
|
||||||
1 file changed, 9 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/bottle.py b/bottle.py
|
|
||||||
index 04ccf7da..035f99ec 100644
|
|
||||||
--- a/bottle.py
|
|
||||||
+++ b/bottle.py
|
|
||||||
@@ -848,17 +848,19 @@ def default_error_handler(self, res):
|
|
||||||
return tob(template(ERROR_PAGE_TEMPLATE, e=res))
|
|
||||||
|
|
||||||
def _handle(self, environ):
|
|
||||||
- path = environ['bottle.raw_path'] = environ['PATH_INFO']
|
|
||||||
- if py3k:
|
|
||||||
- try:
|
|
||||||
- environ['PATH_INFO'] = path.encode('latin1').decode('utf8')
|
|
||||||
- except UnicodeError:
|
|
||||||
- return HTTPError(400, 'Invalid path string. Expected UTF-8')
|
|
||||||
-
|
|
||||||
try:
|
|
||||||
+
|
|
||||||
environ['bottle.app'] = self
|
|
||||||
request.bind(environ)
|
|
||||||
response.bind()
|
|
||||||
+
|
|
||||||
+ path = environ['bottle.raw_path'] = environ['PATH_INFO']
|
|
||||||
+ if py3k:
|
|
||||||
+ try:
|
|
||||||
+ environ['PATH_INFO'] = path.encode('latin1').decode('utf8')
|
|
||||||
+ except UnicodeError:
|
|
||||||
+ return HTTPError(400, 'Invalid path string. Expected UTF-8')
|
|
||||||
+
|
|
||||||
try:
|
|
||||||
self.trigger_hook('before_request')
|
|
||||||
route, args = self.router.match(environ)
|
|
||||||
@ -1,16 +1,10 @@
|
|||||||
Name: python-bottle
|
Name: python-bottle
|
||||||
Version: 0.12.13
|
Version: 0.12.13
|
||||||
Release: 14
|
Release: 8
|
||||||
Summary: WSGI micro web-framework for Python.
|
Summary: WSGI micro web-framework for Python.
|
||||||
License: MIT
|
License: MIT
|
||||||
URL: https://github.com/bottlepy/bottle
|
URL: https://github.com/bottlepy/bottle
|
||||||
Source0: https://github.com/bottlepy/bottle/archive/%{version}/bottle-%{version}.tar.gz
|
Source0: https://github.com/bottlepy/bottle/archive/%{version}/bottle-%{version}.tar.gz
|
||||||
Patch0000: CVE-2020-28473.patch
|
|
||||||
#https://github.com/bottlepy/bottle/commit/e140e1b54da721a660f2eb9d58a106b7b3ff2f00
|
|
||||||
Patch0001: CVE-2022-31799.patch
|
|
||||||
Patch0002: 0001-fix-1065-gevent-1.3.0-removes-fast-wsgi-implementati.patch
|
|
||||||
Patch0003: 0002-Fix-930-DeprecationWarning-Flags-not-at-the-start-of.patch
|
|
||||||
Patch0004: 0003-fix-1115-Some-modules-set-__file__-as-None.patch
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
BuildRequires: python3-devel python3-setuptools
|
BuildRequires: python3-devel python3-setuptools
|
||||||
|
|
||||||
@ -29,7 +23,7 @@ It is distributed as a single file module and has no dependencies other than
|
|||||||
the Python Standard Library.
|
the Python Standard Library.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -n bottle-%{version} -p1
|
%autosetup -n bottle-%{version}
|
||||||
sed -i '/^#!/d' bottle.py
|
sed -i '/^#!/d' bottle.py
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -48,24 +42,6 @@ sed -i '/^#!/d' bottle.py
|
|||||||
%exclude %{_bindir}/bottle.py
|
%exclude %{_bindir}/bottle.py
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Tue May 28 2024 Ge Wang <wang__ge@126.com> - 0.12.13-14
|
|
||||||
- rebuild for openEuler-22.03-LTS-SP4
|
|
||||||
|
|
||||||
* Tue May 28 2024 Ge Wang <wang__ge@126.com> - 0.12.13-13
|
|
||||||
- Fix #1115: Some modules set __file__ as None
|
|
||||||
|
|
||||||
* Wed Nov 22 2023 zhangliangpengkun<zhangliangpengkun@xfusion.com> - 0.12.13-12
|
|
||||||
- Fix #930: DeprecationWarning: Flags not at the start of the expression
|
|
||||||
|
|
||||||
* Thu Nov 09 2023 zhangliangpengkun<zhangliangpengkun@xfusion.com> - 0.12.13-11
|
|
||||||
- fix #1065 gevent-1.3.0 removes 'fast' wsgi implementation.
|
|
||||||
|
|
||||||
* Tue Jun 14 2022 yaoxin <yaoxin30@h-partners.com> - 0.12.13-10
|
|
||||||
- Fix CVE-2022-31799
|
|
||||||
|
|
||||||
* Fri Feb 19 2021 zhanghua <zhanghua40@huawei.com> - 0.12.13-9
|
|
||||||
- fix CVE-2020-28473
|
|
||||||
|
|
||||||
* Wed Oct 21 2020 chengzihan <chengzihan2@huawei.com> - 0.12.13-8
|
* Wed Oct 21 2020 chengzihan <chengzihan2@huawei.com> - 0.12.13-8
|
||||||
- Modify url and remove subpackage python2-bottle
|
- Modify url and remove subpackage python2-bottle
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user