mirror of
https://github.com/zed-industries/zed.git
synced 2024-11-08 07:35:01 +03:00
Upgrade base64
to v0.22 (#15304)
This PR upgrades the `base64` dependency to v0.22. Supersedes #15300. Release Notes: - N/A
This commit is contained in:
parent
03ebbcbef6
commit
e423f03ba6
12
Cargo.lock
generated
12
Cargo.lock
generated
@ -1484,12 +1484,6 @@ version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce"
|
||||
|
||||
[[package]]
|
||||
name = "base64"
|
||||
version = "0.13.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
|
||||
|
||||
[[package]]
|
||||
name = "base64"
|
||||
version = "0.21.7"
|
||||
@ -2454,7 +2448,7 @@ dependencies = [
|
||||
"aws-sdk-s3",
|
||||
"axum",
|
||||
"axum-extra",
|
||||
"base64 0.13.1",
|
||||
"base64 0.22.0",
|
||||
"call",
|
||||
"channel",
|
||||
"chrono",
|
||||
@ -8708,7 +8702,7 @@ dependencies = [
|
||||
"alacritty_terminal 0.23.0",
|
||||
"anyhow",
|
||||
"async-dispatcher",
|
||||
"base64 0.13.1",
|
||||
"base64 0.22.0",
|
||||
"client",
|
||||
"collections",
|
||||
"command_palette_hooks",
|
||||
@ -8932,7 +8926,7 @@ version = "0.1.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-tungstenite",
|
||||
"base64 0.13.1",
|
||||
"base64 0.22.0",
|
||||
"chrono",
|
||||
"collections",
|
||||
"env_logger",
|
||||
|
@ -316,7 +316,7 @@ async-trait = "0.1"
|
||||
async-tungstenite = "0.23"
|
||||
async-watch = "0.3.1"
|
||||
async_zip = { version = "0.0.17", features = ["deflate", "deflate64"] }
|
||||
base64 = "0.13"
|
||||
base64 = "0.22"
|
||||
bitflags = "2.6.0"
|
||||
blade-graphics = { git = "https://github.com/zed-industries/blade", rev = "7e497c534d5d4a30c18d9eb182cf39eaf0aaa25e" }
|
||||
blade-macros = { git = "https://github.com/zed-industries/blade", rev = "7e497c534d5d4a30c18d9eb182cf39eaf0aaa25e" }
|
||||
|
@ -9,6 +9,7 @@ use axum::{
|
||||
middleware::Next,
|
||||
response::IntoResponse,
|
||||
};
|
||||
use base64::prelude::*;
|
||||
use prometheus::{exponential_buckets, register_histogram, Histogram};
|
||||
pub use rpc::auth::random_token;
|
||||
use scrypt::{
|
||||
@ -155,10 +156,7 @@ pub async fn create_access_token(
|
||||
/// protection.
|
||||
pub fn hash_access_token(token: &str) -> String {
|
||||
let digest = sha2::Sha256::digest(token);
|
||||
format!(
|
||||
"$sha256${}",
|
||||
base64::encode_config(digest, base64::URL_SAFE)
|
||||
)
|
||||
format!("$sha256${}", BASE64_URL_SAFE.encode(digest))
|
||||
}
|
||||
|
||||
/// Encrypts the given access token with the given public key to avoid leaking it on the way
|
||||
|
@ -3,6 +3,7 @@ use std::time::Duration;
|
||||
|
||||
use crate::stdio::TerminalOutput;
|
||||
use anyhow::Result;
|
||||
use base64::prelude::*;
|
||||
use gpui::{
|
||||
img, percentage, Animation, AnimationExt, AnyElement, FontWeight, ImageData, Render, TextRun,
|
||||
Transformation, View,
|
||||
@ -63,7 +64,7 @@ impl ImageView {
|
||||
}
|
||||
|
||||
fn from(base64_encoded_data: &str) -> Result<Self> {
|
||||
let bytes = base64::decode(base64_encoded_data)?;
|
||||
let bytes = BASE64_STANDARD.decode(base64_encoded_data)?;
|
||||
|
||||
let format = image::guess_format(&bytes)?;
|
||||
let mut data = image::load_from_memory_with_format(&bytes, format)?.into_rgba8();
|
||||
|
@ -1,4 +1,5 @@
|
||||
use anyhow::{Context, Result};
|
||||
use base64::prelude::*;
|
||||
use rand::{thread_rng, Rng as _};
|
||||
use rsa::pkcs1::{DecodeRsaPublicKey, EncodeRsaPublicKey};
|
||||
use rsa::traits::PaddingScheme;
|
||||
@ -44,7 +45,7 @@ pub fn random_token() -> String {
|
||||
for byte in token_bytes.iter_mut() {
|
||||
*byte = rng.gen();
|
||||
}
|
||||
base64::encode_config(token_bytes, base64::URL_SAFE)
|
||||
BASE64_URL_SAFE.encode(token_bytes)
|
||||
}
|
||||
|
||||
impl PublicKey {
|
||||
@ -58,7 +59,7 @@ impl PublicKey {
|
||||
EncryptionFormat::V1 => self.0.encrypt(&mut rng, oaep_sha256_padding(), bytes),
|
||||
}
|
||||
.context("failed to encrypt string with public key")?;
|
||||
let encrypted_string = base64::encode_config(&encrypted_bytes, base64::URL_SAFE);
|
||||
let encrypted_string = BASE64_URL_SAFE.encode(&encrypted_bytes);
|
||||
Ok(encrypted_string)
|
||||
}
|
||||
}
|
||||
@ -66,7 +67,8 @@ impl PublicKey {
|
||||
impl PrivateKey {
|
||||
/// Decrypt a base64-encoded string that was encrypted by the corresponding public key.
|
||||
pub fn decrypt_string(&self, encrypted_string: &str) -> Result<String> {
|
||||
let encrypted_bytes = base64::decode_config(encrypted_string, base64::URL_SAFE)
|
||||
let encrypted_bytes = BASE64_URL_SAFE
|
||||
.decode(encrypted_string)
|
||||
.context("failed to base64-decode encrypted string")?;
|
||||
let bytes = self
|
||||
.0
|
||||
@ -89,7 +91,7 @@ impl TryFrom<PublicKey> for String {
|
||||
.0
|
||||
.to_pkcs1_der()
|
||||
.context("failed to serialize public key")?;
|
||||
let string = base64::encode_config(&bytes, base64::URL_SAFE);
|
||||
let string = BASE64_URL_SAFE.encode(&bytes);
|
||||
Ok(string)
|
||||
}
|
||||
}
|
||||
@ -97,7 +99,8 @@ impl TryFrom<PublicKey> for String {
|
||||
impl TryFrom<String> for PublicKey {
|
||||
type Error = anyhow::Error;
|
||||
fn try_from(value: String) -> Result<Self> {
|
||||
let bytes = base64::decode_config(&value, base64::URL_SAFE)
|
||||
let bytes = BASE64_URL_SAFE
|
||||
.decode(&value)
|
||||
.context("failed to base64-decode public key string")?;
|
||||
let key = Self(RsaPublicKey::from_pkcs1_der(&bytes).context("failed to parse public key")?);
|
||||
Ok(key)
|
||||
|
Loading…
Reference in New Issue
Block a user