mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 10:18:54 +00:00
Bumps the npm_and_yarn group in /scripts/tests/browser with 2 updates: [ws](https://github.com/websockets/ws) and [puppeteer](https://github.com/puppeteer/puppeteer). Updates `ws` from 8.17.0 to 8.17.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/websockets/ws/releases">ws's releases</a>.</em></p> <blockquote> <h2>8.17.1</h2> <h1>Bug fixes</h1> <ul> <li>Fixed a DoS vulnerability (<a href="https://redirect.github.com/websockets/ws/issues/2231">#2231</a>).</li> </ul> <p>A request with a number of headers exceeding the[<code>server.maxHeadersCount</code>][] threshold could be used to crash a ws server.</p> <pre lang="js"><code>const http = require('http'); const WebSocket = require('ws'); <p>const wss = new WebSocket.Server({ port: 0 }, function () { const chars = "!#$%&'*+-.0123456789abcdefghijklmnopqrstuvwxyz^_`|~".split(''); const headers = {}; let count = 0;</p> <p>for (let i = 0; i < chars.length; i++) { if (count === 2000) break;</p> <pre><code>for (let j = 0; j &lt; chars.length; j++) { const key = chars[i] + chars[j]; headers[key] = 'x'; if (++count === 2000) break; } </code></pre> <p>}</p> <p>headers.Connection = 'Upgrade'; headers.Upgrade = 'websocket'; headers['Sec-WebSocket-Key'] = 'dGhlIHNhbXBsZSBub25jZQ=='; headers['Sec-WebSocket-Version'] = '13';</p> <p>const request = http.request({ headers: headers, host: '127.0.0.1', port: wss.address().port });</p> <p>request.end(); }); </code></pre></p> <p>The vulnerability was reported by <a href="https://github.com/rrlapointe">Ryan LaPointe</a> in <a href="https://redirect.github.com/websockets/ws/issues/2230">websockets/ws#2230</a>.</p> <p>In vulnerable versions of ws, the issue can be mitigated in the following ways:</p> <ol> <li>Reduce the maximum allowed length of the request headers using the [<code>--max-http-header-size=size</code>][] and/or the [<code>maxHeaderSize</code>][] options so that no more headers than the <code>server.maxHeadersCount</code> limit can be sent.</li> </ol> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="3c56601092"><code>3c56601</code></a> [dist] 8.17.1</li> <li><a href="e55e5106f1"><code>e55e510</code></a> [security] Fix crash when the Upgrade header cannot be read (<a href="https://redirect.github.com/websockets/ws/issues/2231">#2231</a>)</li> <li><a href="6a00029edd"><code>6a00029</code></a> [test] Increase code coverage</li> <li><a href="ddfe4a804d"><code>ddfe4a8</code></a> [perf] Reduce the amount of <code>crypto.randomFillSync()</code> calls</li> <li>See full diff in <a href="https://github.com/websockets/ws/compare/8.17.0...8.17.1">compare view</a></li> </ul> </details> <br /> Updates `puppeteer` from 22.10.1 to 22.12.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/puppeteer/puppeteer/releases">puppeteer's releases</a>.</em></p> <blockquote> <h2>puppeteer-core: v22.12.0</h2> <h2><a href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v22.11.2...puppeteer-core-v22.12.0">22.12.0</a> (2024-06-21)</h2> <h3>Features</h3> <ul> <li>support AbortSignal in page.waitForRequest/Response/NetworkIdle/Frame (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/12621">#12621</a>) (<a href="54ecea7db5">54ecea7</a>)</li> <li><strong>webdriver:</strong> support for <code>PageEvent.Popup</code> (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/12612">#12612</a>) (<a href="293926b61a">293926b</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>performance:</strong> clear targets on browser context close (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/12609">#12609</a>) (<a href="660975824a">6609758</a>)</li> <li>roll to Chrome 126.0.6478.62 (r1300313) (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/12615">#12615</a>) (<a href="80dd1316a0">80dd131</a>)</li> <li>roll to Chrome 126.0.6478.63 (r1300313) (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/12632">#12632</a>) (<a href="20ed8fcb14">20ed8fc</a>)</li> </ul> <h2>puppeteer: v22.12.0</h2> <h2><a href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v22.11.2...puppeteer-v22.12.0">22.12.0</a> (2024-06-21)</h2> <h3>Miscellaneous Chores</h3> <ul> <li><strong>puppeteer:</strong> Synchronize puppeteer versions</li> </ul> <h3>Dependencies</h3> <ul> <li>The following workspace dependencies were updated <ul> <li>dependencies <ul> <li>puppeteer-core bumped from 22.11.2 to 22.12.0</li> </ul> </li> </ul> </li> </ul> <h2>puppeteer-core: v22.11.2</h2> <h2><a href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v22.11.1...puppeteer-core-v22.11.2">22.11.2</a> (2024-06-18)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>deps:</strong> bump ws to 8.17.1 (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/12605">#12605</a>) (<a href="49bcb2537e">49bcb25</a>)</li> </ul> <h2>puppeteer: v22.11.2</h2> <h2><a href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v22.11.1...puppeteer-v22.11.2">22.11.2</a> (2024-06-18)</h2> <h3>Miscellaneous Chores</h3> <ul> <li><strong>puppeteer:</strong> Synchronize puppeteer versions</li> </ul> <h3>Dependencies</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="6937a76f0a"><code>6937a76</code></a> chore: release main (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/12610">#12610</a>)</li> <li><a href="20ed8fcb14"><code>20ed8fc</code></a> fix: roll to Chrome 126.0.6478.63 (r1300313) (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/12632">#12632</a>)</li> <li><a href="e8b29e6742"><code>e8b29e6</code></a> chore(main): release ng-schematics 0.6.1 (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/12623">#12623</a>)</li> <li><a href="26d59cfccc"><code>26d59cf</code></a> docs: document pierce/ (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/12630">#12630</a>)</li> <li><a href="8edf120b75"><code>8edf120</code></a> docs: fix whitespace in docs (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/12629">#12629</a>)</li> <li><a href="34fe0d0309"><code>34fe0d0</code></a> ci: fix canary ci (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/12628">#12628</a>)</li> <li><a href="c70c0780d4"><code>c70c078</code></a> docs: update locator docs (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/12603">#12603</a>)</li> <li><a href="fdf40e90d5"><code>fdf40e9</code></a> chore(deps): Bump the all group across 1 directory with 3 updates (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/12600">#12600</a>)</li> <li><a href="96022e0468"><code>96022e0</code></a> build(deps): update ng-schematics (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/12624">#12624</a>)</li> <li><a href="54ecea7db5"><code>54ecea7</code></a> feat: support AbortSignal in page.waitForRequest/Response/NetworkIdle/Frame (...</li> <li>Additional commits viewable in <a href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v22.10.1...puppeteer-v22.12.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/firezone/firezone/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
Firezone shell scripts
This directory contains various shell scripts used for development, testing, and deployment of the Firezone product.
Developer Setup
We lint shell scripts in CI. To get your PR to pass, you'll want to ensure your local development environment is set up to lint shell scripts:
- Install
shfmt:brew install shfmton macOS- Install shfmt from https://github.com/mvdan/sh/releases for other platforms
- Install
shellcheck:brew install shellcheckon macOSsudo apt-get install shellcheckon Ubuntu
Then just lint and format your shell scripts before you commit:
shfmt -i 4 **/*.sh
shellcheck --severity=warning **/*.sh
You can achieve this more easily by using pre-commit. See
CONTRIBUTING.
Editor setup
- Vim (here's an example using ALE)
- VSCode
Scripting tips
- Use
#!/usr/bin/env bashalong withset -euox pipefailin general for dev and test scripts. - In Docker images and other minimal envs, stick to
#!/bin/shand simplyset -eu.