Do not use default value for os version

This commit is contained in:
Kevin Yue 2025-01-21 00:05:46 +08:00
parent 72a83f12d0
commit fd3ff7b0de
No known key found for this signature in database
GPG Key ID: 4D3A6EE977B15AC4

View File

@ -87,8 +87,8 @@ pub(crate) struct ConnectArgs {
#[arg(long, value_enum, default_value_t = ConnectArgs::default_os())] #[arg(long, value_enum, default_value_t = ConnectArgs::default_os())]
os: Os, os: Os,
#[arg(long, default_value_t = ConnectArgs::default_os_version())] #[arg(long, help = "If not specified, it will be computed based on the --os option")]
os_version: String, os_version: Option<String>,
#[arg(long, help = "Disable DTLS and ESP")] #[arg(long, help = "Disable DTLS and ESP")]
no_dtls: bool, no_dtls: bool,
@ -118,8 +118,12 @@ impl ConnectArgs {
} }
} }
fn default_os_version() -> String { fn os_version(&self) -> String {
match ConnectArgs::default_os() { if let Some(os_version) = self.os_version.as_deref() {
return os_version.to_string();
}
match self.os {
Os::Linux => format!("Linux {}", whoami::distro()), Os::Linux => format!("Linux {}", whoami::distro()),
Os::Windows => String::from("Microsoft Windows 11 Pro , 64-bit"), Os::Windows => String::from("Microsoft Windows 11 Pro , 64-bit"),
Os::Mac => String::from("Apple Mac OS X 13.4.0"), Os::Mac => String::from("Apple Mac OS X 13.4.0"),
@ -146,7 +150,7 @@ impl<'a> ConnectHandler<'a> {
GpParams::builder() GpParams::builder()
.user_agent(&self.args.user_agent) .user_agent(&self.args.user_agent)
.client_os(ClientOs::from(&self.args.os)) .client_os(ClientOs::from(&self.args.os))
.os_version(self.args.os_version.clone()) .os_version(self.args.os_version())
.ignore_tls_errors(self.shared_args.ignore_tls_errors) .ignore_tls_errors(self.shared_args.ignore_tls_errors)
.certificate(self.args.certificate.clone()) .certificate(self.args.certificate.clone())
.sslkey(self.args.sslkey.clone()) .sslkey(self.args.sslkey.clone())
@ -359,7 +363,7 @@ impl<'a> ConnectHandler<'a> {
.saml_request(prelogin.saml_request()) .saml_request(prelogin.saml_request())
.user_agent(&self.args.user_agent) .user_agent(&self.args.user_agent)
.os(self.args.os.as_str()) .os(self.args.os.as_str())
.os_version(Some(&self.args.os_version)) .os_version(Some(&self.args.os_version()))
.hidpi(self.args.hidpi) .hidpi(self.args.hidpi)
.fix_openssl(self.shared_args.fix_openssl) .fix_openssl(self.shared_args.fix_openssl)
.ignore_tls_errors(self.shared_args.ignore_tls_errors) .ignore_tls_errors(self.shared_args.ignore_tls_errors)