From 36d22d82aa202bb199967e9512281e9a53db42c9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 21:33:14 +0200 Subject: Adding upstream version 115.7.0esr. Signed-off-by: Daniel Baumann --- testing/mochitest/pywebsocket3/README-MOZILLA | 74 +++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 testing/mochitest/pywebsocket3/README-MOZILLA (limited to 'testing/mochitest/pywebsocket3/README-MOZILLA') diff --git a/testing/mochitest/pywebsocket3/README-MOZILLA b/testing/mochitest/pywebsocket3/README-MOZILLA new file mode 100644 index 0000000000..e4d3960193 --- /dev/null +++ b/testing/mochitest/pywebsocket3/README-MOZILLA @@ -0,0 +1,74 @@ +This pywebsocket code is mostly unchanged from the source at + + https://github.com/GoogleChromeLabs/pywebsocket3 + +-------------------------------------------------------------------------------- +STEPS TO UPDATE MOZILLA TO NEWER PYWEBSOCKET VERSION +-------------------------------------------------------------------------------- +- Get new pywebsocket checkout from googlecode (into, for instance, 'src') + + git clone https://github.com/GoogleChromeLabs/pywebsocket3 pywebsocket-read-only + cp -r pywebsocket-read-only/mod_pywebsocket testing/mochitest/pywebsocket3 + +- hg add/rm appropriate files, and add/remove them from + testing/mochitest/moz.build + +- We need to apply the patch to hybi.py that makes HSTS work: (attached at end + of this README) + +- Test and make sure the code works: + + mach mochitest dom/websocket/tests + +- If this doesn't take a look at the pywebsocket server log, + $OBJDIR/_tests/testing/mochitest/websock.log + +-------------------------------------------------------------------------------- +PATCH TO hybi.py for HSTS support: + + +diff --git a/testing/mochitest/pywebsocket3/mod_pywebsocket/handshake/hybi.py b/testing/mochitest/pywebsocket3/mod_pywebsocket/handshake/hybi.py +--- a/testing/mochitest/pywebsocket3/mod_pywebsocket/handshake/hybi.py ++++ b/testing/mochitest/pywebsocket3/mod_pywebsocket/handshake/hybi.py +@@ -273,16 +273,19 @@ class Handshaker(object): + status=common.HTTP_STATUS_BAD_REQUEST) + raise VersionException('Unsupported version %r for header %s' % + (version, common.SEC_WEBSOCKET_VERSION_HEADER), + supported_versions=', '.join( + map(str, _SUPPORTED_VERSIONS))) + + def _set_protocol(self): + self._request.ws_protocol = None ++ # MOZILLA ++ self._request.sts = None ++ # /MOZILLA + + protocol_header = self._request.headers_in.get( + common.SEC_WEBSOCKET_PROTOCOL_HEADER) + + if protocol_header is None: + self._request.ws_requested_protocols = None + return + +@@ -371,16 +374,21 @@ class Handshaker(object): + format_header(common.SEC_WEBSOCKET_PROTOCOL_HEADER, + self._request.ws_protocol)) + if (self._request.ws_extensions is not None + and len(self._request.ws_extensions) != 0): + response.append( + format_header( + common.SEC_WEBSOCKET_EXTENSIONS_HEADER, + common.format_extensions(self._request.ws_extensions))) ++ # MOZILLA ++ if self._request.sts is not None: ++ response.append(format_header("Strict-Transport-Security", ++ self._request.sts)) ++ # /MOZILLA + + # Headers not specific for WebSocket + for name, value in self._request.extra_headers: + response.append(format_header(name, value)) + + response.append(u'\r\n') + + return u''.join(response) -- cgit v1.2.3