mirror of https://github.com/telemt/telemt.git
reject unknown init options before setup
This commit is contained in:
parent
57fc79b346
commit
3b907146d1
11
src/cli.rs
11
src/cli.rs
|
|
@ -7,11 +7,17 @@ use std::process::Command;
|
||||||
|
|
||||||
/// Options for the init command
|
/// Options for the init command
|
||||||
pub struct InitOptions {
|
pub struct InitOptions {
|
||||||
|
/// Listen port for the generated proxy configuration.
|
||||||
pub port: u16,
|
pub port: u16,
|
||||||
|
/// TLS masking domain written into the generated configuration.
|
||||||
pub domain: String,
|
pub domain: String,
|
||||||
|
/// Optional user-provided MTProxy secret in hex form.
|
||||||
pub secret: Option<String>,
|
pub secret: Option<String>,
|
||||||
|
/// Username inserted into the generated access configuration.
|
||||||
pub username: String,
|
pub username: String,
|
||||||
|
/// Destination directory for the generated config file.
|
||||||
pub config_dir: PathBuf,
|
pub config_dir: PathBuf,
|
||||||
|
/// Skips starting the systemd service after installation.
|
||||||
pub no_start: bool,
|
pub no_start: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -41,6 +47,7 @@ pub fn parse_init_args(args: &[String]) -> Option<InitOptions> {
|
||||||
|
|
||||||
while i < args.len() {
|
while i < args.len() {
|
||||||
match args[i].as_str() {
|
match args[i].as_str() {
|
||||||
|
"--init" => {}
|
||||||
"--port" => {
|
"--port" => {
|
||||||
i += 1;
|
i += 1;
|
||||||
if i < args.len() {
|
if i < args.len() {
|
||||||
|
|
@ -74,6 +81,10 @@ pub fn parse_init_args(args: &[String]) -> Option<InitOptions> {
|
||||||
"--no-start" => {
|
"--no-start" => {
|
||||||
opts.no_start = true;
|
opts.no_start = true;
|
||||||
}
|
}
|
||||||
|
other if other.starts_with('-') => {
|
||||||
|
eprintln!("[error] Unknown option for --init: {}", other);
|
||||||
|
std::process::exit(1);
|
||||||
|
}
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
i += 1;
|
i += 1;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue