10613 Commits

Author SHA1 Message Date
Llama
c2f1aa1600
Change default keybind to export flow to "x" (#6305)
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2023-12-13 16:45:27 +01:00
Thanush19
ba9f74b248
add svg image preview support (#6551)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-13 09:20:03 +01:00
Maximilian Hils
0b5e310881
simplify cert loading with new cryptography APIs (#6550)
/cc @driuba - does that look good?

---------

Co-authored-by: Andrius Andrikonis <andrius.andrikonis@toughlex.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-13 07:59:17 +01:00
Emanuele Micheletti
b84a821fd8
make url filters case-insensitive (#6493)
fix #6329
2023-12-12 18:33:19 +00:00
xBZZZZ
13c976de0d
fix mitmweb splitter becoming drag and drop (#6492) 2023-12-12 18:23:32 +00:00
Maximilian Hils
9787871e6c
do not include subject key identifier in leaf certificates (#6549)
This fixes #6494: if CA and leaf share the same Subject Key Identifier,
SChannel gets confused. So we just skip the SKI for leafs, which is
still fine with OpenSSL 3.x (this was previously fixed by @mmaxim) and
RFC 5280.

Co-authored-by: Andrius Andrikonis <andrius.andrikonis@toughlex.com>
2023-12-12 19:19:29 +01:00
Maximilian Hils
0a3e016d39
fix a bug where connections would not be fully closed (#6543) 2023-12-12 18:15:19 +00:00
Zanie Blue
1fcd0335d5
Fix response content-length when reading from HAR files (#6548)
#### Description

Closes https://github.com/mitmproxy/mitmproxy/issues/6547

Responses in flows constructed from HAR files were using the
`Response.make` utility which resulted in the injection of
`content-length` headers. When a `content-length` header existed
already, this could cause failures during replay.

#### Checklist

 - [x] I have updated tests where applicable.
 - [x] I have added an entry to the CHANGELOG.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-12 17:24:29 +00:00
Maximilian Hils
bda9c4ea3a
fix: log until the very end (#6541) 2023-12-09 19:53:33 +00:00
Maximilian Hils
bb709a7aa4
tests: improve cli test performance (#6542) 2023-12-09 19:46:38 +00:00
Maximilian Hils
4e4da0795e
vendor imghdr module (#6540) 2023-12-09 22:44:08 +03:00
Fujun Lv
558b0b6642
Fix for --allow-hosts/--ignore-hosts options in WireGuard mode (#5930) (#6513) 2023-12-06 17:00:17 +07:00
rosydawn6
81fc802194
Stream large bodies warn with modify body (#6514)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2023-12-05 02:36:54 +00:00
Lucas Ficheux
ba84b6be99
make scripts in config.yml relative to config.yml (#4860)
Co-authored-by: Lucas FICHEUX <lficheux@corp.free.fr>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-04 17:45:46 +07:00
Maximilian Hils
148ebad743
add codacy badge 2023-12-04 12:40:19 +07:00
Lucas Ficheux
43bbcefd1e
Parse set header cookies properly (#5084)
#### Description

Currently when an empty cookie attribute (`Secure`, `HttpOnly` ...) is
encountered while parsing a `Set-Cookie` header it will create a
`CookieAttrs` object containing a (key, value) pair with an empty string
for the attribute value ie:

```python
CookieAttrs[('Secure', ''), ('HttpOnly', ''), ('Path', '/')]
``` 
Resulting in an updated `Set-Cookie` header for the `Response` object
with invalid values for those empty attributes ie:
```python
(b'SetCookie', b'value=XYZ; Secure=; HttpOnly=; Path=/')
``` 
My browser (Firefox 95.0.1) does not pickup these attributes so the
cookie looses them.

______

This fix replaces the empty string attribute for empty cookie attributes
by the value `None` ie:

```python
CookieAttrs[('Secure', None), ('HttpOnly', None), ('Path', '/')]
``` 

So that they can be told apart from attributes with intentional empty
string values when setting the updated header, which results in a
properly formatted header:

```python
(b'SetCookie', b'value=XYZ; Secure; HttpOnly; Path=/')
``` 

#### Checklist

 - [x] I have updated tests where applicable.
 - [x] I have added an entry to the CHANGELOG.

Co-authored-by: Lucas FICHEUX <lficheux@corp.free.fr>
2023-12-02 11:21:38 +07:00
Maximilian Hils
72679e5cf7
CHANGELOG: add a note that PR refs are added automatically (#6521) 2023-12-02 10:55:11 +07:00
Maximilian Hils
439e5264eb
CONTRIBUTING.md: temporarily remove --cov
refs #6515
2023-12-02 08:37:37 +07:00
dependabot[bot]
0f370213d1
Bump pyinstaller from 6.1.0 to 6.2.0 (#6519)
Bumps [pyinstaller](https://github.com/pyinstaller/pyinstaller) from
6.1.0 to 6.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pyinstaller/pyinstaller/releases">pyinstaller's
releases</a>.</em></p>
<blockquote>
<h2>v6.2.0</h2>
<p>Please see the <a
href="https://pyinstaller.org/en/v6.2.0/CHANGES.html#id1">v6.2.0 section
of the changelog</a> for a list of the changes since v6.1.0.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst">pyinstaller's
changelog</a>.</em></p>
<blockquote>
<h2>6.2.0 (2023-11-11)</h2>
<p>Features</p>
<pre><code>
* (macOS) At the end of analysis, verify the macOS SDK version reported
by binaries to be collected, and warn when the version is either invalid
(0.0.0) or too low (&lt; 10.9.0). Such binaries will likely cause issues
  with code-signing and hardened runtime. (:issue:`8043`)
* If the ``argcomplete`` Python module is installed, PyInstaller will
use it
enable tab completion for its CLI tools. PyInstaller CLIs can still be
used
  without this optional dependency. To install ``argcomplete`` with
PyInstaller, you can put ``pyinstaller[completion]`` in your
dependencies.
  See also `the argcomplete documentation
  &lt;https://kislyuk.github.io/argcomplete/&gt;`_. (:issue:`8008`)
<p>Bugfix</p>
<pre><code>
* (macOS) Fix the bug in binary processing and caching that would update
  the binary cache index before performing macOS-specific processing
(architecture validation, path rewriting). If, for example, architecture
  validation failed during a build, subsequent build attempts with
enabled binary cache (i.e., without the :option:`--clean` option) would
pick up the partially-processed binary file from the cache, bypassing
the
  architecture validation. NOTE: the existing binary caches need to be
purged manually (using :option:`--clean` option once) for the fix to
take
  effect! (:issue:`8068`)
* (macOS) Prevent collection of ``.DS_Store`` files, which might be
present
in build environment's package directories after user navigated them
using
  the Finder app. (:issue:`8042`)
* (Windows) Fix marshal error at the start of binary dependency
analysis,
  caused by inferred DLL search path ending up an instance of
  :class:`pathlib.Path` instead of :class:`str`. (:issue:`8081`)
* Bump the required ``packaging`` version to 22.0, which is required for
  proper handling of metadata that contains markers with ``extra``\ s.
  (:issue:`8061`)
* Fix erroneous DLL parent path preservation when
:data:`sys.base_prefix`
  itself is a symbolic link. In such case, we need to exclude both
resolved and unresolved path variant for ``sys.base_prefix``, in order
to
  prevent either from ending up in the list of directories for which DLL
  parent paths are preserved. Failing to do so, for example, caused
  ``_ctypes`` failing to load in an application build on Windows with
Python installed via ``scoop``, due to ``libffi-8.dll`` having
spuriously
preserved the parent directory path instead of being collected to
top-level
  application directory. (:issue:`8023`)
* Fix matching of pre-release versions in
  :func:`PyInstaller.utils.hooks.check_requirement` and
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;... (truncated)&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;Commits&lt;/summary&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a
href=&quot;90c9ac4231&quot;&gt;&lt;code&gt;90c9ac4&lt;/code&gt;&lt;/a&gt;
Release v6.2.0. [skip ci]&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;ae525ceffe&quot;&gt;&lt;code&gt;ae525ce&lt;/code&gt;&lt;/a&gt;
hookutils: fix pre-release matching in check_requirement /
is_module_satisfies&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;13de1077d5&quot;&gt;&lt;code&gt;13de107&lt;/code&gt;&lt;/a&gt;
building: fix marshal error during DLL search path extension&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;04db9fdaea&quot;&gt;&lt;code&gt;04db9fd&lt;/code&gt;&lt;/a&gt;
rth_utils: add is_macos_app_bundle flag&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;1e0e551ea9&quot;&gt;&lt;code&gt;1e0e551&lt;/code&gt;&lt;/a&gt;
rth_utils: remove relative import work-around&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;ecc218ceb5&quot;&gt;&lt;code&gt;ecc218c&lt;/code&gt;&lt;/a&gt;
analysis: fix module exclusion for relative imports from
submodules&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;03627c2b2b&quot;&gt;&lt;code&gt;03627c2&lt;/code&gt;&lt;/a&gt;
tests: add test for exclusion of relatively-imported modules&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;e157bb6c16&quot;&gt;&lt;code&gt;e157bb6&lt;/code&gt;&lt;/a&gt;
hooks: add a hook for our _pyi_rth_utils fake package&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;574a961917&quot;&gt;&lt;code&gt;574a961&lt;/code&gt;&lt;/a&gt;
rth_utils: move secure_mkdtemp() implementation to a
submodule&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;983bd59dc6&quot;&gt;&lt;code&gt;983bd59&lt;/code&gt;&lt;/a&gt;
rthooks: pkg_resources: normalize path using os.path.normpath&lt;/li&gt;
&lt;li&gt;Additional commits viewable in &lt;a
href=&quot;https://github.com/pyinstaller/pyinstaller/compare/v6.1.0...v6.2.0&quot;&gt;compare
view&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;

&lt;br /&gt;
</code></pre>


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyinstaller&package-manager=pip&previous-version=6.1.0&new-version=6.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-02 07:06:11 +07:00
dependabot[bot]
4fd7184bd6
Update wheel requirement from <0.42,>=0.36.2 to >=0.36.2,<0.43 (#6518)
Updates the requirements on [wheel](https://github.com/pypa/wheel) to
permit the latest version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/wheel/releases">wheel's
releases</a>.</em></p>
<blockquote>
<h2>0.42.0</h2>
<ul>
<li>Allowed removing build tag with <code>wheel tags --build
&quot;&quot;</code></li>
<li>Fixed <code>wheel pack</code> and <code>wheel tags</code> writing
updated <code>WHEEL</code> fields after a blank line, causing other
tools to ignore them</li>
<li>Fixed <code>wheel pack</code> and <code>wheel tags</code> writing
<code>WHEEL</code> with CRLF line endings or a mix of CRLF and LF</li>
<li>Fixed <code>wheel pack --build-number &quot;&quot;</code> not
removing build tag from <code>WHEEL</code> (above changes by Benjamin
Gilbert)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/wheel/blob/main/docs/news.rst">wheel's
changelog</a>.</em></p>
<blockquote>
<h1>Release Notes</h1>
<p><strong>0.42.0 (2023-11-26)</strong></p>
<ul>
<li>Allowed removing build tag with <code>wheel tags --build
&quot;&quot;</code></li>
<li>Fixed <code>wheel pack</code> and <code>wheel tags</code> writing
updated <code>WHEEL</code> fields after a
blank line, causing other tools to ignore them</li>
<li>Fixed <code>wheel pack</code> and <code>wheel tags</code> writing
<code>WHEEL</code> with CRLF line endings or
a mix of CRLF and LF</li>
<li>Fixed <code>wheel pack --build-number &quot;&quot;</code> not
removing build tag from <code>WHEEL</code>
(above changes by Benjamin Gilbert)</li>
</ul>
<p><strong>0.41.3 (2023-10-30)</strong></p>
<ul>
<li>Updated vendored <code>packaging</code> to 23.2</li>
<li>Fixed ABI tag generation for CPython 3.13a1 on Windows (PR by Sam
Gross)</li>
</ul>
<p><strong>0.41.2 (2023-08-22)</strong></p>
<ul>
<li>Fixed platform tag detection for GraalPy and 32-bit python running
on an aarch64
kernel (PR by Matthieu Darbois)</li>
<li>Fixed <code>wheel tags</code> to not list directories in
<code>RECORD</code> files
(PR by Mike Taves)</li>
<li>Fixed ABI tag generation for GraalPy (PR by Michael Simacek)</li>
</ul>
<p><strong>0.41.1 (2023-08-05)</strong></p>
<ul>
<li>Fixed naming of the <code>data_dir</code> directory in the presence
of local version segment
given via <code>egg_info.tag_build</code> (PR by Anderson
Bravalheri)</li>
<li>Fixed version specifiers in <code>Requires-Dist</code> being wrapped
in parentheses</li>
</ul>
<p><strong>0.41.0 (2023-07-22)</strong></p>
<ul>
<li>Added full support of the build tag syntax to <code>wheel
tags</code> (you can now set a build
tag like <code>123mytag</code>)</li>
<li>Fixed warning on Python 3.12 about <code>onerror</code> deprecation.
(PR by Henry Schreiner)</li>
<li>Support testing on Python 3.12 betas (PR by Ewout ter Hoeven)</li>
</ul>
<p><strong>0.40.0 (2023-03-14)</strong></p>
<ul>
<li>Added a <code>wheel tags</code> command to modify tags on an
existing wheel
(PR by Henry Schreiner)</li>
<li>Updated vendored <code>packaging</code> to 23.0</li>
<li><code>wheel unpack</code> now preserves the executable attribute of
extracted files</li>
<li>Fixed spaces in platform names not being converted to underscores
(PR by David Tucker)</li>
<li>Fixed <code>RECORD</code> files in generated wheels missing the
regular file attribute</li>
<li>Fixed <code>DeprecationWarning</code> about the use of the
deprecated <code>pkg_resources</code> API
(PR by Thomas Grainger)</li>
<li>Wheel now uses flit-core as a build backend (PR by Henry
Schreiner)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="63a09bb3d9"><code>63a09bb</code></a>
Created a new release</li>
<li><a
href="f4b8e488df"><code>f4b8e48</code></a>
Several fixes to <code>WHEEL</code> metadata handling (<a
href="https://redirect.github.com/pypa/wheel/issues/588">#588</a>)</li>
<li><a
href="11e5732831"><code>11e5732</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/pypa/wheel/issues/586">#586</a>)</li>
<li><a
href="fe6bb8268d"><code>fe6bb82</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/pypa/wheel/issues/584">#584</a>)</li>
<li><a
href="b90a4bc408"><code>b90a4bc</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/pypa/wheel/issues/581">#581</a>)</li>
<li><a
href="56de2ebd4b"><code>56de2eb</code></a>
Added a link to the GitHub repository to pyproject.toml (<a
href="https://redirect.github.com/pypa/wheel/issues/563">#563</a>)</li>
<li><a
href="a899f1c69f"><code>a899f1c</code></a>
Fixed parameter for release-notes</li>
<li><a
href="254ba4658a"><code>254ba46</code></a>
Created a new release</li>
<li><a
href="6f33736b6f"><code>6f33736</code></a>
Updated actions and added GitHub release automation</li>
<li><a
href="83b77e591e"><code>83b77e5</code></a>
Replaced <code>black</code> with <code>ruff-format</code></li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/wheel/compare/0.36.2...0.42.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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-02 07:02:54 +07:00
dependabot[bot]
97acb55832
Update pytest-xdist requirement from <3.4,>=2.1.0 to >=2.1.0,<3.6 (#6517)
Updates the requirements on
[pytest-xdist](https://github.com/pytest-dev/pytest-xdist) to permit the
latest version.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst">pytest-xdist's
changelog</a>.</em></p>
<blockquote>
<h1>pytest-xdist 3.5.0 (2023-11-21)</h1>
<h2>Features</h2>
<ul>
<li><code>[#632](https://github.com/pytest-dev/pytest-xdist/issues/632)
&lt;https://github.com/pytest-dev/pytest-xdist/issues/632&gt;</code>_:
<code>--dist=loadscope</code> now sorts scopes by number of tests to
assign largest scopes early -- in many cases this should improve overall
test session running time, as there is less chance of a large scope
being left to be processed near the end of the session, leaving other
workers idle.</li>
</ul>
<h1>pytest-xdist 3.4.0 (2023-11-11)</h1>
<h2>Features</h2>
<ul>
<li>
<p><code>[#963](https://github.com/pytest-dev/pytest-xdist/issues/963)
&lt;https://github.com/pytest-dev/pytest-xdist/issues/963&gt;</code>_:
Wait for workers to finish reporting when test run stops early.</p>
<p>This makes sure that the results of in-progress tests are displayed.
Previously these reports were being discarded, losing information about
the
test run.</p>
</li>
<li>
<p><code>[#965](https://github.com/pytest-dev/pytest-xdist/issues/965)
&lt;https://github.com/pytest-dev/pytest-xdist/issues/965&gt;</code>_:
Added support for Python 3.12.</p>
</li>
</ul>
<h1>pytest-xdist 3.3.1 (2023-05-19)</h1>
<h2>Bug Fixes</h2>
<ul>
<li>
<p><code>[#907](https://github.com/pytest-dev/pytest-xdist/issues/907)
&lt;https://github.com/pytest-dev/pytest-xdist/issues/907&gt;</code>_:
Avoid remote calls during startup as <code>execnet</code> by default
does not ensure remote affinity with the
main thread and might accidentally schedule the pytest worker into a
non-main thread, which breaks numerous frameworks,
for example <code>asyncio</code>, <code>anyio</code>,
<code>PyQt/PySide</code>, etc.</p>
<p>A more safe correction will require thread affinity in
<code>execnet</code> (<code>pytest-dev/execnet#96
&lt;https://github.com/pytest-dev/execnet/issues/96&gt;</code>__).</p>
</li>
</ul>
<h1>pytest-xdist 3.3.0 (2023-05-12)</h1>
<h2>Features</h2>
<ul>
<li><code>[#555](https://github.com/pytest-dev/pytest-xdist/issues/555)
&lt;https://github.com/pytest-dev/pytest-xdist/issues/555&gt;</code>_:
Improved progress output when collecting nodes to be less verbose.</li>
</ul>
<h1>pytest-xdist 3.2.1 (2023-03-12)</h1>
<p>Bug Fixes</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="95b309e980"><code>95b309e</code></a>
Release 3.5.0</li>
<li><a
href="3fe877bc6d"><code>3fe877b</code></a>
LoadScope scheduler: Sort scopes by number of tests to assign biggest
scopes ...</li>
<li><a
href="f36ea25cb5"><code>f36ea25</code></a>
Create GitHub release after deploy (<a
href="https://redirect.github.com/pytest-dev/pytest-xdist/issues/973">#973</a>)</li>
<li><a
href="d81f57508d"><code>d81f575</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest-xdist/issues/969">#969</a>
from pytest-dev/pre-commit-ci-update-config</li>
<li><a
href="1d2616418c"><code>1d26164</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li><a
href="5f43575b42"><code>5f43575</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest-xdist/issues/966">#966</a>
from pytest-dev/release-3.4.0</li>
<li><a
href="a6b56112f9"><code>a6b5611</code></a>
Update CHANGELOG</li>
<li><a
href="64f9388f41"><code>64f9388</code></a>
Add support for Python 3.12</li>
<li><a
href="230ba6ad10"><code>230ba6a</code></a>
Properly wait for workers when test run terminates early (<a
href="https://redirect.github.com/pytest-dev/pytest-xdist/issues/963">#963</a>)</li>
<li><a
href="93ca202b40"><code>93ca202</code></a>
fix typo index -&gt; instead</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pytest-xdist/compare/v2.1.0...v3.5.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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-02 07:02:36 +07:00
dependabot[bot]
ab82f72826
Bump the github-actions group with 1 update (#6516)
Bumps the github-actions group with 1 update:
[install-pinned/ruff](https://github.com/install-pinned/ruff).

Updates `install-pinned/ruff` from
8876fcad1732d3dc660068908bbf5cdeeaa9d264 to
0e35bc58bd73769469284df9e1f8898daeea8768
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0e35bc58bd"><code>0e35bc5</code></a>
update README.md (ruff 0.1.6)</li>
<li><a
href="a946f13f9a"><code>a946f13</code></a>
update pins (ruff 0.1.6)</li>
<li><a
href="c88e04630e"><code>c88e046</code></a>
update README.md (ruff 0.1.5)</li>
<li><a
href="de1480b2cf"><code>de1480b</code></a>
update pins (ruff 0.1.5)</li>
<li><a
href="f0a15f921e"><code>f0a15f9</code></a>
update repository from template</li>
<li><a
href="01e545204f"><code>01e5452</code></a>
update README.md (ruff 0.1.5)</li>
<li><a
href="fc3d261943"><code>fc3d261</code></a>
update pins (ruff 0.1.5)</li>
<li><a
href="d788a4d962"><code>d788a4d</code></a>
update README.md (ruff 0.1.4)</li>
<li><a
href="cd4c82bc1e"><code>cd4c82b</code></a>
update pins (ruff 0.1.4)</li>
<li>See full diff in <a
href="8876fcad17...0e35bc58bd">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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-02 07:02:17 +07:00
Nicolas Jeker
d72b92bdff
Show exception and stack trace on startup errors (#6491)
#### Description

It's hard to debug errors raised in addon scripts during startup as only
a generic message is output on the console. Using logger.format() to
format errors that occurred during startup instead of only displaying
the LogRecord.msg improves the output if an exception is present by
showing the stack trace. An additional newline was added for better
readability.

Comparison with the load_error.py test script, before:

    $ mitmproxy -s test/mitmproxy/data/addonscripts/load_error.py
    Error logged during startup: Addon error:

After:

    $ mitmproxy -s test/mitmproxy/data/addonscripts/load_error.py
    Error logged during startup:
    Addon error:
    Traceback (most recent call last):
File "test/mitmproxy/data/addonscripts/load_error.py", line 2, in load
        raise ValueError()
    ValueError

Relates to issue #5935 and PR #6020

#### Checklist

 - [ ] I have updated tests where applicable.
- I think the value of extending `test_errorcheck.py` for this behavior
is low and tightly couples the test to `logger.format()`
 - [ ] I have added an entry to the CHANGELOG.
- #6020 didn't introduce a changelog entry, so I figured this won't need
one either
2023-11-18 10:03:50 +01:00
mitmproxy release bot
504d6bd2c5 reopen main for development 2023-11-14 12:54:48 +00:00
mitmproxy release bot
18280927b4 mitmproxy 10.1.5 10.1.5 v10.1.5 2023-11-14 12:54:48 +00:00
Maximilian Hils
50012418bc
Remove stray replay-extra (#6485)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-14 12:52:16 +00:00
mitmproxy release bot
4c60300346 reopen main for development 2023-11-13 14:11:21 +00:00
mitmproxy release bot
11d758e151 mitmproxy 10.1.4 10.1.4 v10.1.4 2023-11-13 14:11:21 +00:00
Maximilian Hils
3828373e91
macOS: Use correct entitlements for binary distribution (#6480)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-13 13:52:55 +01:00
Daniel Karandikar
746537e051
Add option to return various status codes rather than killing during server replay (#6465)
#### Description

Designed to satisfy the requirements of
https://github.com/mitmproxy/mitmproxy/issues/3489

Add `server_replay_404_extra` which behaves similarly to the kill flag,
but returns 404 responses rather than killing

#### Checklist

 - [x] I have updated tests where applicable.
 - [x] I have added an entry to the CHANGELOG.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-08 11:12:44 +01:00
ReK2
0c91733df8
examples/contrib: link to security plugin 2023-11-06 22:56:24 +01:00
lain3d
667a098002
Fix case that causes corrupt har files to be written (#6459)
#### Description

* Update savehar addon to fix creating corrupt har files caused by empty
response content

#### Checklist

 - [x] I have updated tests where applicable.
 - [x] I have added an entry to the CHANGELOG.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-06 07:31:28 -08:00
Stanley Good
a43847de18
Merge pull request #6458 from pogzyb/main
Handle "path" KeyError in the savehar addon
2023-11-05 09:52:53 -08:00
autofix-ci[bot]
506c0e1013
[autofix.ci] apply automated fixes 2023-11-04 15:16:32 +00:00
pogzyb
2a571a8c09
Update CHANGELOG.md 2023-11-04 11:13:09 -04:00
pogzyb
ad4ac04d2f
Update savehar.py
Use `.get` when retrieving "path" from the `attrs` cookie dict. This avoids the occasional `KeyError`.
2023-11-04 11:07:01 -04:00
Maximilian Hils
d6986d43cd
Update release/README.md 2023-11-04 12:29:59 +01:00
mitmproxy release bot
4df31b6f9e reopen main for development 2023-11-04 11:02:01 +00:00
mitmproxy release bot
23bb301498 mitmproxy 10.1.3 v10.1.3 10.1.3 2023-11-04 11:02:01 +00:00
Maximilian Hils
e6f8f088d9
Strip double slash from websocket URL, fix #6452 (#6454)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-04 11:00:22 +00:00
Maximilian Hils
4f361e4263
Rename: osproxy -> local redirector (#6453)
refs #6332
2023-11-04 10:52:18 +00:00
mitmproxy release bot
db8a3c6ed7 reopen main for development 2023-11-03 11:57:58 +00:00
mitmproxy release bot
4c07dc8488 mitmproxy 10.1.2 10.1.2 v10.1.2 2023-11-03 11:57:58 +00:00
Maximilian Hils
3470473e4b
build macOS app bundle (#6447) 2023-11-03 11:21:55 +00:00
dependabot[bot]
3b585c155b
Update zstandard requirement from <0.22,>=0.11 to >=0.11,<0.23 (#6437)
Updates the requirements on [zstandard](https://github.com/indygreg/python-zstandard) to permit the latest version.
- [Release notes](https://github.com/indygreg/python-zstandard/releases)
- [Changelog](https://github.com/indygreg/python-zstandard/blob/main/docs/news.rst)
- [Commits](https://github.com/indygreg/python-zstandard/compare/0.11.0...0.22.0)

---
updated-dependencies:
- dependency-name: zstandard
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-02 10:52:45 +01:00
dependabot[bot]
22d52f56e2
Update ruamel-yaml requirement from <0.18,>=0.16 to >=0.16,<0.19 (#6438)
Updates the requirements on [ruamel-yaml]() to permit the latest version.

---
updated-dependencies:
- dependency-name: ruamel-yaml
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-02 10:52:35 +01:00
dependabot[bot]
0b17e5214c
Update pyopenssl requirement from <23.3,>=22.1 to >=22.1,<23.4 (#6439)
Updates the requirements on [pyopenssl](https://github.com/pyca/pyopenssl) to permit the latest version.
- [Changelog](https://github.com/pyca/pyopenssl/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/pyopenssl/compare/22.1.0...23.3.0)

---
updated-dependencies:
- dependency-name: pyopenssl
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-02 10:52:28 +01:00
dependabot[bot]
7f826ccf20
Update pytest-timeout requirement from <2.2,>=1.3.3 to >=1.3.3,<2.3 (#6440)
Updates the requirements on [pytest-timeout](https://github.com/pytest-dev/pytest-timeout) to permit the latest version.
- [Commits](https://github.com/pytest-dev/pytest-timeout/compare/1.3.3...2.2.0)

---
updated-dependencies:
- dependency-name: pytest-timeout
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-02 10:52:23 +01:00
dependabot[bot]
ac2a12e3cb
Bump pyinstaller from 6.0.0 to 6.1.0 (#6441)
Bumps [pyinstaller](https://github.com/pyinstaller/pyinstaller) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/pyinstaller/pyinstaller/releases)
- [Changelog](https://github.com/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst)
- [Commits](https://github.com/pyinstaller/pyinstaller/compare/v6.0.0...v6.1.0)

---
updated-dependencies:
- dependency-name: pyinstaller
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-02 10:52:12 +01:00
Maximilian Hils
5135a0d639
enable merge queues 2023-11-02 09:37:47 +01:00