gnu: xpra: Fix HTML server

* gnu/packages/patches/xpra-4.0.4-norequests.patch: Add file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xpra)[patches]: Apply it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Lars-Dominik Braun 2020-10-16 19:15:41 +02:00 committed by Ludovic Courtès
parent f54149062e
commit 21fdf429a7
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 42 additions and 1 deletions

View file

@ -1705,6 +1705,7 @@ dist_patch_DATA = \
%D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch \
%D%/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch \
%D%/packages/patches/xpra-4.0.1-systemd-run.patch \
%D%/packages/patches/xpra-4.0.4-norequests.patch \
%D%/packages/patches/xsane-fix-memory-leak.patch \
%D%/packages/patches/xsane-fix-pdf-floats.patch \
%D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \

View file

@ -0,0 +1,39 @@
Remove python-requests dependency, r27626 upstream.
--- a/xpra/net/websockets/common.py (revision 27625)
+++ b/xpra/net/websockets/common.py (revision 27626)
@@ -7,7 +7,6 @@
import uuid
from hashlib import sha1
from base64 import b64encode
-from requests.structures import CaseInsensitiveDict
from xpra.os_util import strtobytes, bytestostr, monotonic_time
from xpra.log import Logger
@@ -77,7 +76,7 @@
for line in lines:
parts = line.split(b": ", 1)
if len(parts)==2:
- headers[parts[0]] = parts[1]
+ headers[parts[0].lower()] = parts[1]
return headers
def verify_response_headers(headers, key):
@@ -84,14 +83,13 @@
log("verify_response_headers(%s)", headers)
if not headers:
raise Exception("no http headers found in response")
- headers = CaseInsensitiveDict(headers)
- upgrade = headers.get(b"Upgrade", b"")
+ upgrade = headers.get(b"upgrade", b"")
if upgrade!=b"websocket":
raise Exception("invalid http upgrade: '%s'" % upgrade)
- protocol = headers.get(b"Sec-WebSocket-Protocol", b"")
+ protocol = headers.get(b"sec-websocket-protocol", b"")
if protocol!=b"binary":
raise Exception("invalid websocket protocol: '%s'" % protocol)
- accept_key = headers.get(b"Sec-WebSocket-Accept", b"")
+ accept_key = headers.get(b"sec-websocket-accept", b"")
if not accept_key:
raise Exception("websocket accept key is missing")
expected_key = make_websocket_accept_hash(key)

View file

@ -6312,7 +6312,8 @@ (define-public xpra
version ".tar.xz"))
(sha256
(base32 "10alqdfmgml9ixdi1nyd9xlw8a5q0j8m2sv4g9p83pd6z1a0rpv2"))
(patches (search-patches "xpra-4.0.1-systemd-run.patch"))))
(patches (search-patches "xpra-4.0.1-systemd-run.patch"
"xpra-4.0.4-norequests.patch"))))
(build-system python-build-system)
;; see also http://xpra.org/trac/wiki/Dependencies
(inputs `(