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

Allow specifying root certs and Client Identity [for native-tls] as bytes rather than via a file #288

Merged
merged 2 commits into from
Feb 26, 2024

Conversation

rjobanp
Copy link
Contributor

@rjobanp rjobanp commented Feb 5, 2024

👋🏽 In our use-case we'd prefer not to have to generate files for providing root certs and client keys to mysql_async -- we already have those values as bytes and for security reasons don't want to expose them to the filesystem.

This PR adds a with_root_cert option to SslOpts to allow providing root CA certs directly, which are merged with any other certs specified by with_root_cert_path.
This also adds a ClientIdentity::new_from_bytes method to allow instantiating a native-tls ClientIdentity using the pkcs12 archive directly.
In both cases I avoided changing any existing APIs, but feel free to suggest an alternative design or implementation. Thanks!

@blackbeam blackbeam merged commit ecc4908 into blackbeam:master Feb 26, 2024
15 of 17 checks passed
convex-copybara bot pushed a commit to get-convex/convex-backend that referenced this pull request Jul 4, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [mysql_async](https://github.com/blackbeam/mysql_async) | workspace.dependencies | minor | `0.33.0` -> `0.34.0` |

---

### Release Notes

<details>
<summary>blackbeam/mysql_async (mysql_async)</summary>

### [`v0.34.1`](https://github.com/blackbeam/mysql_async/releases/tag/v0.34.1)

[Compare Source](https://github.com/blackbeam/mysql_async/compare/v0.34.0...v0.34.1)

#### What's Changed

-   Fix imports for non-default features by [@&#8203;blackbeam](https://github.com/blackbeam) in [blackbeam/mysql_async#299

**Full Changelog**: blackbeam/mysql_async@v0.34.0...v0.34.1

### [`v0.34.0`](https://github.com/blackbeam/mysql_async/releases/tag/v0.34.0)

[Compare Source](https://github.com/blackbeam/mysql_async/compare/v0.33.0...v0.34.0)

#### What's Changed

-   Use an explicit priority check by [@&#8203;espindola](https://github.com/espindola) in [blackbeam/mysql_async#271
-   Refactor pool creation in tests by [@&#8203;espindola](https://github.com/espindola) in [blackbeam/mysql_async#268
-   Implement Borrow<QueueId> for QueuedWaker by [@&#8203;espindola](https://github.com/espindola) in [blackbeam/mysql_async#266
-   Inline poll_new_conn_inner into only caller by [@&#8203;espindola](https://github.com/espindola) in [blackbeam/mysql_async#267
-   Make queue_id non-optional by [@&#8203;espindola](https://github.com/espindola) in [blackbeam/mysql_async#273
-   Drop unnecessary use of Pin by [@&#8203;espindola](https://github.com/espindola) in [blackbeam/mysql_async#277
-   Silence clippy warnings by [@&#8203;espindola](https://github.com/espindola) in [blackbeam/mysql_async#276
-   Always save the most recent waker by [@&#8203;espindola](https://github.com/espindola) in [blackbeam/mysql_async#272
-   Delete GetConnInner::take by [@&#8203;espindola](https://github.com/espindola) in [blackbeam/mysql_async#279
-   fix skip_domain_validation usage when using rustls by [@&#8203;alekitto](https://github.com/alekitto) in [blackbeam/mysql_async#284
-   annotate `Transaction` with `must_use` by [@&#8203;petrosagg](https://github.com/petrosagg) in [blackbeam/mysql_async#290
-   Allow specifying root certs and Client Identity as bytes rather than via a file by [@&#8203;blackbeam](https://github.com/blackbeam) in [blackbeam/mysql_async#291
-   Allow specifying root certs and Client Identity \[for native-tls] as bytes rather than via a file by [@&#8203;rjobanp](https://github.com/rjobanp) in [blackbeam/mysql_async#288
-   Allow overriding domain used for TLS hostname verification by [@&#8203;blackbeam](https://github.com/blackbeam) in [blackbeam/mysql_async#292
-   Allow overriding domain used for TLS hostname verification by [@&#8203;rjobanp](https://github.com/rjobanp) in [blackbeam/mysql_async#289
-   Use DROP USER in test by [@&#8203;grooverdan](https://github.com/grooverdan) in [blackbeam/mysql_async#295
-   proxy `mysql_common` features by [@&#8203;blackbeam](https://github.com/blackbeam) in [blackbeam/mysql_async#297

#### New Contributors

-   [@&#8203;espindola](https://github.com/espindola) made their first contribution in [blackbeam/mysql_async#271
-   [@&#8203;alekitto](https://github.com/alekitto) made their first contribution in [blackbeam/mysql_async#284
-   [@&#8203;petrosagg](https://github.com/petrosagg) made their first contribution in [blackbeam/mysql_async#290
-   [@&#8203;rjobanp](https://github.com/rjobanp) made their first contribution in [blackbeam/mysql_async#288
-   [@&#8203;grooverdan](https://github.com/grooverdan) made their first contribution in [blackbeam/mysql_async#295

**Full Changelog**: blackbeam/mysql_async@v0.33.0...v0.34.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on the first day of the month" in timezone America/Los_Angeles, 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.

---

 - [ ] 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/get-convex/convex).

GitOrigin-RevId: 6509626c78732e9f033417b4c3c47faab9a00e4b
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.

2 participants