Skip to content

Commit 994ffbc

Browse files
committed
add Secret<T> to pub fns in ops::registry and corresponding commands
1 parent 79b0216 commit 994ffbc

File tree

6 files changed

+25
-19
lines changed

6 files changed

+25
-19
lines changed

src/bin/cargo/commands/login.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use crate::command_prelude::*;
22

33
use cargo::ops;
4+
use cargo::util::auth::Secret;
45

56
pub fn cli() -> Command {
67
subcommand("login")
@@ -36,7 +37,7 @@ pub fn cli() -> Command {
3637
pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
3738
ops::registry_login(
3839
config,
39-
args.get_one("token").map(String::as_str),
40+
args.get_one("token").map(String::as_str).map(Secret::from),
4041
args.get_one("registry").map(String::as_str),
4142
args.flag("generate-keypair"),
4243
args.flag("secret-key"),

src/bin/cargo/commands/owner.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use crate::command_prelude::*;
22

33
use cargo::ops::{self, OwnersOptions};
4+
use cargo::util::auth::Secret;
45

56
pub fn cli() -> Command {
67
subcommand("owner")
@@ -34,7 +35,7 @@ pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
3435
let registry = args.registry(config)?;
3536
let opts = OwnersOptions {
3637
krate: args.get_one::<String>("crate").cloned(),
37-
token: args.get_one::<String>("token").cloned(),
38+
token: args.get_one::<String>("token").cloned().map(Secret::from),
3839
index: args.get_one::<String>("index").cloned(),
3940
to_add: args
4041
.get_many::<String>("add")

src/bin/cargo/commands/publish.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use crate::command_prelude::*;
22

33
use cargo::ops::{self, PublishOpts};
4+
use cargo::util::auth::Secret;
45

56
pub fn cli() -> Command {
67
subcommand("publish")
@@ -36,7 +37,9 @@ pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
3637
&ws,
3738
&PublishOpts {
3839
config,
39-
token: args.get_one::<String>("token").map(|s| s.to_string()),
40+
token: args
41+
.get_one::<String>("token")
42+
.map(|s| Secret::from(s.to_string())),
4043
index,
4144
verify: !args.flag("no-verify"),
4245
allow_dirty: args.flag("allow-dirty"),

src/bin/cargo/commands/yank.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use crate::command_prelude::*;
22

33
use cargo::ops;
4+
use cargo::util::auth::Secret;
45

56
pub fn cli() -> Command {
67
subcommand("yank")
@@ -37,7 +38,7 @@ pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
3738
config,
3839
krate.map(|s| s.to_string()),
3940
version.map(|s| s.to_string()),
40-
args.get_one::<String>("token").cloned(),
41+
args.get_one::<String>("token").cloned().map(Secret::from),
4142
args.get_one::<String>("index").cloned(),
4243
args.flag("undo"),
4344
registry,

src/cargo/ops/registry.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ impl RegistryCredentialConfig {
9696

9797
pub struct PublishOpts<'cfg> {
9898
pub config: &'cfg Config,
99-
pub token: Option<String>,
99+
pub token: Option<Secret<String>>,
100100
pub index: Option<String>,
101101
pub verify: bool,
102102
pub allow_dirty: bool,
@@ -174,7 +174,7 @@ pub fn publish(ws: &Workspace<'_>, opts: &PublishOpts<'_>) -> CargoResult<()> {
174174

175175
let (mut registry, reg_ids) = registry(
176176
opts.config,
177-
opts.token.as_deref().map(Secret::from),
177+
opts.token.as_ref().map(Secret::as_deref),
178178
opts.index.as_deref(),
179179
publish_registry.as_deref(),
180180
true,
@@ -786,7 +786,7 @@ fn http_proxy_exists(config: &Config) -> CargoResult<bool> {
786786

787787
pub fn registry_login(
788788
config: &Config,
789-
token: Option<&str>,
789+
token: Option<Secret<&str>>,
790790
reg: Option<&str>,
791791
generate_keypair: bool,
792792
secret_key_required: bool,
@@ -939,7 +939,7 @@ pub fn registry_logout(config: &Config, reg: Option<&str>) -> CargoResult<()> {
939939

940940
pub struct OwnersOptions {
941941
pub krate: Option<String>,
942-
pub token: Option<String>,
942+
pub token: Option<Secret<String>>,
943943
pub index: Option<String>,
944944
pub to_add: Option<Vec<String>>,
945945
pub to_remove: Option<Vec<String>>,
@@ -961,7 +961,7 @@ pub fn modify_owners(config: &Config, opts: &OwnersOptions) -> CargoResult<()> {
961961

962962
let (mut registry, _) = registry(
963963
config,
964-
opts.token.as_deref().map(Secret::from),
964+
opts.token.as_ref().map(Secret::as_deref),
965965
opts.index.as_deref(),
966966
opts.registry.as_deref(),
967967
true,
@@ -1020,7 +1020,7 @@ pub fn yank(
10201020
config: &Config,
10211021
krate: Option<String>,
10221022
version: Option<String>,
1023-
token: Option<String>,
1023+
token: Option<Secret<String>>,
10241024
index: Option<String>,
10251025
undo: bool,
10261026
reg: Option<String>,
@@ -1052,7 +1052,7 @@ pub fn yank(
10521052

10531053
let (mut registry, _) = registry(
10541054
config,
1055-
token.as_deref().map(Secret::from),
1055+
token.as_ref().map(Secret::as_deref),
10561056
index.as_deref(),
10571057
reg.as_deref(),
10581058
true,

src/cargo/util/auth.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,9 @@ pub fn registry_credential_config(
140140
return registry_credential_config_inner(
141141
true,
142142
None,
143-
token,
143+
token.map(Secret::from),
144144
credential_process,
145-
secret_key,
145+
secret_key.map(Secret::from),
146146
secret_key_subject,
147147
config,
148148
);
@@ -231,9 +231,9 @@ pub fn registry_credential_config(
231231
registry_credential_config_inner(
232232
false,
233233
name.as_deref(),
234-
token,
234+
token.map(Secret::from),
235235
credential_process,
236-
secret_key,
236+
secret_key.map(Secret::from),
237237
secret_key_subject,
238238
config,
239239
)
@@ -242,9 +242,9 @@ pub fn registry_credential_config(
242242
fn registry_credential_config_inner(
243243
is_crates_io: bool,
244244
name: Option<&str>,
245-
token: Option<String>,
245+
token: Option<Secret<String>>,
246246
credential_process: Option<config::PathAndArgs>,
247-
secret_key: Option<String>,
247+
secret_key: Option<Secret<String>>,
248248
secret_key_subject: Option<String>,
249249
config: &Config,
250250
) -> CargoResult<RegistryCredentialConfig> {
@@ -281,13 +281,13 @@ fn registry_credential_config_inner(
281281
registry
282282
));
283283
}
284-
(Some(token), _, _, _) => RegistryCredentialConfig::Token(Secret::from(token)),
284+
(Some(token), _, _, _) => RegistryCredentialConfig::Token(token),
285285
(_, Some(process), _, _) => RegistryCredentialConfig::Process((
286286
process.path.resolve_program(config),
287287
process.args,
288288
)),
289289
(None, None, Some(key), subject) => {
290-
RegistryCredentialConfig::AsymmetricKey((Secret::from(key), subject))
290+
RegistryCredentialConfig::AsymmetricKey((key, subject))
291291
}
292292
(None, None, None, _) => {
293293
if !is_crates_io {

0 commit comments

Comments
 (0)