Skip to content

Commit cf9a7ca

Browse files
committed
Fix pin and secret arguments requirements
1 parent b27c878 commit cf9a7ca

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/args.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -137,23 +137,23 @@ pub fn get_matches() -> ArgMatches {
137137
.long("issuer")
138138
.help("OTP Code issuer")
139139
.num_args(1)
140-
.required_unless_present_any(["label", "algorithm", "digits", "counter"]),
140+
.required_unless_present_any(["label", "algorithm", "digits", "counter", "pin", "change-secret"]),
141141
)
142142
.arg(
143143
Arg::new("label")
144144
.short('l')
145145
.long("label")
146146
.help("OTP Code label")
147147
.num_args(1)
148-
.required_unless_present_any(["issuer", "algorithm", "digits", "counter"]),
148+
.required_unless_present_any(["issuer", "algorithm", "digits", "counter", "pin", "change-secret"]),
149149
)
150150
.arg(
151151
Arg::new("algorithm")
152152
.short('a')
153153
.long("algorithm")
154154
.help("OTP Code algorithm")
155155
.num_args(1)
156-
.required_unless_present_any(["label", "issuer", "digits", "counter"])
156+
.required_unless_present_any(["label", "issuer", "digits", "counter", "pin", "change-secret"])
157157
.value_parser(["SHA1", "SHA256", "SHA512"]),
158158
)
159159
.arg(
@@ -163,7 +163,7 @@ pub fn get_matches() -> ArgMatches {
163163
.help("OTP Code digits")
164164
.num_args(1)
165165
.value_parser(value_parser!(u64))
166-
.required_unless_present_any(["label", "algorithm", "issuer", "counter"]),
166+
.required_unless_present_any(["label", "algorithm", "issuer", "counter", "pin", "change-secret"]),
167167
)
168168
.arg(
169169
Arg::new("period")
@@ -172,7 +172,7 @@ pub fn get_matches() -> ArgMatches {
172172
.help("OTP Code period")
173173
.num_args(1)
174174
.value_parser(value_parser!(u64))
175-
.required_unless_present_any(["label", "algorithm", "issuer", "counter"]),
175+
.required_unless_present_any(["label", "algorithm", "issuer", "counter", "pin", "change-secret"]),
176176
)
177177
.arg(
178178
Arg::new("counter")
@@ -181,21 +181,23 @@ pub fn get_matches() -> ArgMatches {
181181
.help("HOTP code counter (only for HOTP codes)")
182182
.num_args(1)
183183
.value_parser(value_parser!(u64))
184-
.required_unless_present_any(["label", "algorithm", "issuer", "digits"]),
184+
.required_unless_present_any(["label", "algorithm", "issuer", "digits", "pin", "change-secret"]),
185185
)
186186
.arg(
187187
Arg::new("pin")
188188
.short('p')
189189
.long("pin")
190190
.help("Code pin (for Yandex and MOTP)")
191191
.num_args(1)
192+
.required_unless_present_any(["label", "algorithm", "issuer", "digits", "counter", "change-secret"]),
192193
)
193194
.arg(
194195
Arg::new("change-secret")
195196
.short('k')
196197
.long("change-secret")
197198
.help("Change the OTP code secret")
198-
.action(ArgAction::SetTrue),
199+
.action(ArgAction::SetTrue)
200+
.required_unless_present_any(["label", "algorithm", "issuer", "digits", "counter", "pin"]),
199201
),
200202
)
201203
.subcommand(

0 commit comments

Comments
 (0)