diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /testing/mochitest/pywebsocket3/README-MOZILLA | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/mochitest/pywebsocket3/README-MOZILLA')
-rw-r--r-- | testing/mochitest/pywebsocket3/README-MOZILLA | 74 |
1 files changed, 74 insertions, 0 deletions
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) |