Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch trust-dns to an off-by-default optional feature #437

Merged
merged 1 commit into from
Jan 12, 2019

Conversation

seanmonstar
Copy link
Owner

Due several issues being found, this switches the default DNS resolver back to the threadpool of getaddrinfo. Instead, people can opt-in to use the Trust DNS resolver by enabling the trust-dns feature.

Closes #436 #435

cc #427 #431

@kud1ing
Copy link

kud1ing commented Jan 12, 2019

This fixes my problems, indeed. Thank you.

Byron added a commit to GitoxideLabs/gitoxide that referenced this pull request Oct 25, 2023
It's reported to have issues under certain condition, please see
seanmonstar/reqwest#437 for more.

The `blocking-http-transport-reqwest-rust-tls-trust-dns` feature was added
to provide the same feature-set as before for those who want `trust-dns`.
github-merge-queue bot referenced this pull request in knope-dev/knope Dec 8, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [gix](https://github.com/Byron/gitoxide) | dependencies | minor |
`0.55.2` -> `0.56.0` |

---

### Release Notes

<details>
<summary>Byron/gitoxide (gix)</summary>

###
[`v0.56.0`](https://github.com/Byron/gitoxide/releases/tag/gix-v0.56.0):
gix v0.56.0

[Compare
Source](https://github.com/Byron/gitoxide/compare/gix-v0.55.2...gix-v0.56.0)

##### New Features

- add `gitoxide.core.externalCommandStderr` to allow enabling `stderr`
to the enclosing terminal.
Previously, this was enabled by default, now it can additionally be
disabled by
    the caller.
- use `gitoxide.credentials.helperStderr` key to control how stderr is
handled with helpers.
That way users can configure each repository instance according to their
needs,
    with which includes disabling the `stderr` of credential helpers.
-   `revision::Spec::path_and_mode()`
    Provide additional information about revspecs for use with
    worktree filters.
-   add key for `diff.external`.
    That way it's conceivable that applications correctly run either
    a configured external diff tool, or one that is configured on a
    per diff-driver basis, while being allowed to fall back to
    a built-in implementation as needed.
- add the`diff::resource_cache()` low-level utility for rapid in-memory
diffing of combinations of resources.
We also add the
`object::tree::diff::Platform::for_each_to_obtain_tree_with_cache()` to
pass a resource-cache
    for re-use between multiple invocation for significant savings.
-   Add config value gitoxide.http.sslNoVerify
This value can by overriden by GIT_SSL_NO_VERIFY env variable. We use
    the value to override http.sslVerify when specifying ssl_verify in
    transport Options.
- In gix read http.sslVerify config value and pass it to gix-transport.
- add `gitoxide.core.refsNamespace` key and respect the `GIT_NAMESPACE`
environment variable.
    It's also provided as context value.
-   make `verbose-object-parsing-errors` available in `gix`.
    That way, it's easy to create programs that are geared towards
    debugging repositories and finding invalid objects with detailed
    errors.
- add the `gitoxide.credentials.terminalPrompt` key to represent the
GIT_TERMINAL_PROMPT
That way, it's easy to control the usage of terminals without using and
environment.
- Add `http-client-curl-rustls` (CLI) and
`blocking-http-transport-curl-rustls` (lib) features to avoid openssl.
That way, we should be able to avoid crashes on certain CI
configurations.
- add `Head::try_into_peeled_object()` and
`Head::peel_to_object_in_place()`
    This makes it easier to peel to a specific object type, after
all tags have been followed, without having to assume an intermediate
    commit.

##### Bug Fixes

-   assure the correct repository is used for checkouts after clone.
If this is not the case, it's possible for filters to run in the context
of
potential parent repositories, which then can have all kinds of issues.

    In case of `git-lfs`, for instance, it would try to download objects
    from the wrong repository.
-   Allow multiple packs to be received one after another.
Previously it would be difficult to perform another fetch operation on
the
same connection as the final flush packet after a pack wouldn't be
consumed.

This has now been mitigated by consuming it in the one place where
knoweldge
    about this specialty exists.
-   don't use `trust-dns` by default when using request.
It's reported to have issues under certain condition, please
[https://github.com/seanmonstar/reqwest/pull/437](https://github.com/seanmonstar/reqwest/pull/437)pull/437
for more.

The `blocking-http-transport-reqwest-rust-tls-trust-dns` feature was
added
to provide the same feature-set as before for those who want
`trust-dns`.
-   V1 negotiation won't hang anymore
    The logic previously tried to estimate when a pack can be expected,
    and when a NAK is the end of a block, or the beginning of a pack.

This can be known because a pack (with our settings) needs two things:

    -   the server thinks it's ready

<!---->

-   a `done` sent by the client

##### New Features (BREAKING)

- `object::blob::diff::Platform` now performs all necessary conversions.
Previously it would just offer the git-ODB version of a blob for
diffing,
while it will now make it possible to apply all necessary conversion
steps
    for you.

    This also moves `Event::diff()` to `Change::diff()`, adds
    `Repository::diff_resource_cache()` and refactors nearly everything
    about the `objects::blob::diff::Platform`.
-   generalize rename-tracking engine for later use with status.
Previously the rename tracking engine was integrated with tree-diffs,
    but already operates in a stand-alone fashion.
Now it's officially generalized which allows it to be tested separately
and used when tracking renames for diffs between index and tree, index
    and index, and index and worktree.
-   make it possible to trace incoming and outgoing packetlines.
    Due to the way this is (and has to be) setup, unfortunately one
    has to integrate that with two crates, instead of just one.

    This changes touches multiple crates, most of which receive a single
    boolean as last argument to indicate whether the tracing should
    happen in the first place.
-   improve `head()` peeling API
Previously it was partially untested and it was hard to obtain an object
of choice.

    Further breaking changes:

    -   rename `Head::peeled()` to `into_peeled_id()`

<!---->

-   rename `Head::into_fully_peeled_id()` to `try_peel_into_id()`
- rename `Head::peel_to_id_in_place()` to
`Head::try_peel_to_id_in_place()`

##### Bug Fixes (BREAKING)

-   rename `GITOXIDE_*` environment variables to `GIX_#`
-   Remove unsafe transmute of should_interrupt
    Adds a lifetime to the ExtendedBufRead trait to specify how long the
    callback provided must live.

##### Commit Statistics

- 68 commits contributed to the release over the course of 53 calendar
days.
-   54 days passed between releases.
- 23 commits were understood as
[conventional](https://www.conventionalcommits.org).
- 6 unique issues were worked on:
[#&#8203;1061](https://github.com/Byron/gitoxide/issues/1061),
[#&#8203;1076](https://github.com/Byron/gitoxide/issues/1076),
[#&#8203;1090](https://github.com/Byron/gitoxide/issues/1090),
[#&#8203;1125](https://github.com/Byron/gitoxide/issues/1125),
[#&#8203;1129](https://github.com/Byron/gitoxide/issues/1129),
[#&#8203;972](https://github.com/Byron/gitoxide/issues/972)

##### Thanks Clippy

[Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to
make code idiomatic.

##### Commit Details

<csr-read-only-do-not-edit/>

<details><summary>view details</summary>

-   **[#&#8203;1061](https://github.com/Byron/gitoxide/issues/1061)**
- V1 negotiation won't hang anymore
([`6295dec`](https://github.com/Byron/gitoxide/commit/6295dec))
-   **[#&#8203;1076](https://github.com/Byron/gitoxide/issues/1076)**
- Don't use `trust-dns` by default when using request.
([`8d9296f`](https://github.com/Byron/gitoxide/commit/8d9296f))
-   **[#&#8203;1090](https://github.com/Byron/gitoxide/issues/1090)**
- Add the `gitoxide.credentials.terminalPrompt` key to represent the
GIT_TERMINAL_PROMPT
([`e95bb9f`](https://github.com/Byron/gitoxide/commit/e95bb9f))
-   **[#&#8203;1125](https://github.com/Byron/gitoxide/issues/1125)**
- Fix; `SnapshotMut::set_value()` now sets values for keys in
subsections as well.
([`d8452a0`](https://github.com/Byron/gitoxide/commit/d8452a0))
-   **[#&#8203;1129](https://github.com/Byron/gitoxide/issues/1129)**
- Assure the correct repository is used for checkouts after clone.
([`0b3eb14`](https://github.com/Byron/gitoxide/commit/0b3eb14))
-   **[#&#8203;972](https://github.com/Byron/gitoxide/issues/972)**
- Allow multiple packs to be received one after another.
([`3ff1827`](https://github.com/Byron/gitoxide/commit/3ff1827))
-   **Uncategorized**
- Release gix-worktree-state v0.5.0, gix v0.56.0, gix-fsck v0.1.0,
gitoxide-core v0.34.0, gitoxide v0.32.0
([`c8568b9`](https://github.com/Byron/gitoxide/commit/c8568b9))
- Release gix-worktree v0.28.0, gix-diff v0.38.0, gix-discover v0.27.0,
gix-macros v0.1.1, gix-mailmap v0.20.1, gix-negotiate v0.10.0, gix-pack
v0.45.0, gix-odb v0.55.0, gix-pathspec v0.4.1, gix-packetline v0.17.0,
gix-transport v0.39.0, gix-protocol v0.42.0, gix-revision v0.24.0,
gix-refspec v0.20.0, gix-status v0.3.0, gix-submodule v0.6.0,
gix-worktree-state v0.5.0, gix v0.56.0, gix-fsck v0.1.0, gitoxide-core
v0.34.0, gitoxide v0.32.0
([`d3fd11e`](https://github.com/Byron/gitoxide/commit/d3fd11e))
- Release gix-date v0.8.1, gix-hash v0.13.2, gix-trace v0.1.4,
gix-features v0.36.1, gix-actor v0.28.1, gix-validate v0.8.1, gix-object
v0.39.0, gix-path v0.10.1, gix-glob v0.14.1, gix-quote v0.4.8,
gix-attributes v0.20.1, gix-command v0.3.0, gix-packetline-blocking
v0.17.0, gix-utils v0.1.6, gix-filter v0.7.0, gix-fs v0.8.1, gix-chunk
v0.4.5, gix-commitgraph v0.22.1, gix-hashtable v0.4.1, gix-revwalk
v0.10.0, gix-traverse v0.35.0, gix-worktree-stream v0.7.0, gix-archive
v0.7.0, gix-config-value v0.14.1, gix-tempfile v11.0.1, gix-lock
v11.0.1, gix-ref v0.39.0, gix-sec v0.10.1, gix-config v0.32.0,
gix-prompt v0.8.0, gix-url v0.25.2, gix-credentials v0.22.0, gix-ignore
v0.9.1, gix-bitmap v0.2.8, gix-index v0.27.0, gix-worktree v0.28.0,
gix-diff v0.38.0, gix-discover v0.27.0, gix-macros v0.1.1, gix-mailmap
v0.20.1, gix-negotiate v0.10.0, gix-pack v0.45.0, gix-odb v0.55.0,
gix-pathspec v0.4.1, gix-packetline v0.17.0, gix-transport v0.39.0,
gix-protocol v0.42.0, gix-revision v0.24.0, gix-refspec v0.20.0,
gix-status v0.3.0, gix-submodule v0.6.0, gix-worktree-state v0.5.0, gix
v0.56.0, gix-fsck v0.1.0, gitoxide-core v0.34.0, gitoxide v0.32.0,
safety bump 27 crates
([`55d386a`](https://github.com/Byron/gitoxide/commit/55d386a))
- Prepare changelogs prior to release
([`d3dcbe5`](https://github.com/Byron/gitoxide/commit/d3dcbe5))
- Merge branch 'adjustments-for-cargo'
([`8156340`](https://github.com/Byron/gitoxide/commit/8156340))
- Add `gitoxide.core.externalCommandStderr` to allow enabling `stderr`
to the enclosing terminal.
([`2762724`](https://github.com/Byron/gitoxide/commit/2762724))
- Use `gitoxide.credentials.helperStderr` key to control how stderr is
handled with helpers.
([`6cf73a4`](https://github.com/Byron/gitoxide/commit/6cf73a4))
- Rename `GITOXIDE_*` environment variables to `GIX_#`
([`2189cee`](https://github.com/Byron/gitoxide/commit/2189cee))
- Merge branch 'gix-status'
([`5fdc9df`](https://github.com/Byron/gitoxide/commit/5fdc9df))
- Merge branch 'remove-unsafe'
([`d2ba97c`](https://github.com/Byron/gitoxide/commit/d2ba97c))
- Remove unsafe transmute of should_interrupt
([`88f8b34`](https://github.com/Byron/gitoxide/commit/88f8b34))
- `revision::Spec::path_and_mode()`
([`77686db`](https://github.com/Byron/gitoxide/commit/77686db))
- J fmt
([`51c7abc`](https://github.com/Byron/gitoxide/commit/51c7abc))
- Merge branch 'gix-status'
([`dfb3f18`](https://github.com/Byron/gitoxide/commit/dfb3f18))
- Adapt to changes in `gix-diff`
([`1706e23`](https://github.com/Byron/gitoxide/commit/1706e23))
- `object::blob::diff::Platform` now performs all necessary conversions.
([`4743212`](https://github.com/Byron/gitoxide/commit/4743212))
- Add key for `diff.external`.
([`6f4bbc3`](https://github.com/Byron/gitoxide/commit/6f4bbc3))
- Add the`diff::resource_cache()` low-level utility for rapid in-memory
diffing of combinations of resources.
([`4aea9b0`](https://github.com/Byron/gitoxide/commit/4aea9b0))
- Merge branch 'support_ssl_verify'
([`5ce9784`](https://github.com/Byron/gitoxide/commit/5ce9784))
- Refactor
([`ead00e9`](https://github.com/Byron/gitoxide/commit/ead00e9))
- Add config value gitoxide.http.sslNoVerify
([`dd575cd`](https://github.com/Byron/gitoxide/commit/dd575cd))
- In gix read http.sslVerify config value and pass it to gix-transport.
([`c6e83cf`](https://github.com/Byron/gitoxide/commit/c6e83cf))
- Merge pull request
[#&#8203;1140](https://github.com/Byron/gitoxide/issues/1140) from
bittrance/fix-pr1127
([`698caaa`](https://github.com/Byron/gitoxide/commit/698caaa))
- Connect new gitoxide.credentials subsection into section tree.
([`8b8704f`](https://github.com/Byron/gitoxide/commit/8b8704f))
- Adapt to changes in `gix-filter`
([`1763862`](https://github.com/Byron/gitoxide/commit/1763862))
- Merge branch 'improve-filters'
([`f09ea13`](https://github.com/Byron/gitoxide/commit/f09ea13))
- Add `gitoxide.core.refsNamespace` key and respect the `GIT_NAMESPACE`
environment variable.
([`8434aab`](https://github.com/Byron/gitoxide/commit/8434aab))
- Merge branch 'check-cfg'
([`5a0d93e`](https://github.com/Byron/gitoxide/commit/5a0d93e))
- Replace all docsrs config by the document-features feature
([`bb3224c`](https://github.com/Byron/gitoxide/commit/bb3224c))
- Merge branch 'sh-on-windows'
([`2b80d84`](https://github.com/Byron/gitoxide/commit/2b80d84))
- Remove special handling in favor of allowing shell-avoidance.
([`a0cc80d`](https://github.com/Byron/gitoxide/commit/a0cc80d))
- Merge branch 'fix-1103'
([`d75159c`](https://github.com/Byron/gitoxide/commit/d75159c))
- Adapt to changes in `gix-credentials`
([`c712850`](https://github.com/Byron/gitoxide/commit/c712850))
- Merge branch 'gix-status'
([`c87f2cc`](https://github.com/Byron/gitoxide/commit/c87f2cc))
- Generalize rename-tracking engine for later use with status.
([`089c4dc`](https://github.com/Byron/gitoxide/commit/089c4dc))
- Merge branch 'error'
([`c372321`](https://github.com/Byron/gitoxide/commit/c372321))
- Make `verbose-object-parsing-errors` available in `gix`.
([`0ed0a89`](https://github.com/Byron/gitoxide/commit/0ed0a89))
- Merge branch 'fix-1096'
([`ff99a18`](https://github.com/Byron/gitoxide/commit/ff99a18))
- Adapt to changes in `gix-object`
([`203d69c`](https://github.com/Byron/gitoxide/commit/203d69c))
- Merge branch 'caio/main'
([`7227410`](https://github.com/Byron/gitoxide/commit/7227410))
- Count removed bytes correctly
([`267b13d`](https://github.com/Byron/gitoxide/commit/267b13d))
- Merge branch 'gix-object-find'
([`c8bd660`](https://github.com/Byron/gitoxide/commit/c8bd660))
- Thanks clippy
([`82b01c2`](https://github.com/Byron/gitoxide/commit/82b01c2))
- Adapt to changes related to usage of `gix-object::Find` trait where
necessary
([`5761a4d`](https://github.com/Byron/gitoxide/commit/5761a4d))
- Adapt to changes in `gix_object` and `gix_odb`.
([`24e319e`](https://github.com/Byron/gitoxide/commit/24e319e))
- Merge branch 'BloopAI/main'
([`c197cbf`](https://github.com/Byron/gitoxide/commit/c197cbf))
- Add feature to allow using rustls without trust-dns
([`ea8cd0e`](https://github.com/Byron/gitoxide/commit/ea8cd0e))
- Merge branch 'size-optimization'
([`c0e72fb`](https://github.com/Byron/gitoxide/commit/c0e72fb))
- Remove CHANGELOG.md from all packages
([`b65a80b`](https://github.com/Byron/gitoxide/commit/b65a80b))
- Merge branch 'fix-v1-negotiation'
([`eb23338`](https://github.com/Byron/gitoxide/commit/eb23338))
- Merge branch 'trace-packetlines'
([`e7de4c7`](https://github.com/Byron/gitoxide/commit/e7de4c7))
- Make it possible to trace incoming and outgoing packetlines.
([`c3edef1`](https://github.com/Byron/gitoxide/commit/c3edef1))
- Merge branch 'discover-split-worktree'
([`16170d9`](https://github.com/Byron/gitoxide/commit/16170d9))
- Improve the error message around incorrect worktree paths
([`dd57957`](https://github.com/Byron/gitoxide/commit/dd57957))
- Allow to open split worktree repositories
([`20f962e`](https://github.com/Byron/gitoxide/commit/20f962e))
- Merge branch 'fuzz'
([`c5a7e66`](https://github.com/Byron/gitoxide/commit/c5a7e66))
- Add `http-client-curl-rustls` (CLI) and
`blocking-http-transport-curl-rustls` (lib) features to avoid openssl.
([`f34f46a`](https://github.com/Byron/gitoxide/commit/f34f46a))
- Make it easier to see what's happening during negotiation with
`tracing enabled`
([`4e48558`](https://github.com/Byron/gitoxide/commit/4e48558))
- Release gix-url v0.25.1
([`47a1241`](https://github.com/Byron/gitoxide/commit/47a1241))
- Merge branch 'head-conversions'
([`c2cf20c`](https://github.com/Byron/gitoxide/commit/c2cf20c))
- Add `Head::try_into_peeled_object()` and
`Head::peel_to_object_in_place()`
([`117357e`](https://github.com/Byron/gitoxide/commit/117357e))
- Improve `head()` peeling API
([`4e6a4e6`](https://github.com/Byron/gitoxide/commit/4e6a4e6))

</details>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/knope-dev/knope).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44Ny4yIiwidXBkYXRlZEluVmVyIjoiMzcuODcuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Disable trust-dns on Mac too
2 participants