fix #3328
This commit is contained in:
parent
4d827708c3
commit
706e080071
@ -799,3 +799,22 @@ pub fn decode64<T: AsRef<[u8]>>(input: T) -> Result<Vec<u8>, base64::DecodeError
|
||||
#[allow(deprecated)]
|
||||
base64::decode(input)
|
||||
}
|
||||
|
||||
pub async fn get_key(sync: bool) -> String {
|
||||
let mut key = if sync {
|
||||
Config::get_option("key")
|
||||
} else {
|
||||
let mut options = crate::ipc::get_options_async().await;
|
||||
options.remove("key").unwrap_or_default()
|
||||
};
|
||||
if key.is_empty() {
|
||||
#[cfg(windows)]
|
||||
if let Some(lic) = windows::get_license() {
|
||||
return lic.key;
|
||||
}
|
||||
}
|
||||
if key.is_empty() && !option_env!("RENDEZVOUS_SERVER").unwrap_or("").is_empty() {
|
||||
key = config::RS_PUB_KEY.to_owned();
|
||||
}
|
||||
key
|
||||
}
|
||||
|
@ -22,14 +22,6 @@ use hbb_common::{message_proto::CursorData, ResultType};
|
||||
#[cfg(not(target_os = "macos"))]
|
||||
const SERVICE_INTERVAL: u64 = 300;
|
||||
|
||||
pub fn get_license_key() -> String {
|
||||
#[cfg(windows)]
|
||||
if let Some(lic) = windows::get_license() {
|
||||
return lic.key;
|
||||
}
|
||||
Default::default()
|
||||
}
|
||||
|
||||
pub fn is_xfce() -> bool {
|
||||
#[cfg(target_os = "linux")]
|
||||
{
|
||||
|
@ -262,10 +262,7 @@ async fn create_relay_connection_(
|
||||
)
|
||||
.await?;
|
||||
let mut msg_out = RendezvousMessage::new();
|
||||
let mut licence_key = Config::get_option("key");
|
||||
if licence_key.is_empty() {
|
||||
licence_key = crate::platform::get_license_key();
|
||||
}
|
||||
let licence_key = crate::get_key(true).await;
|
||||
msg_out.set_request_relay(RequestRelay {
|
||||
licence_key,
|
||||
uuid,
|
||||
|
@ -13,7 +13,7 @@ use bytes::Bytes;
|
||||
use rdev::{Event, EventType::*};
|
||||
use uuid::Uuid;
|
||||
|
||||
use hbb_common::config::{Config, LocalConfig, PeerConfig, RS_PUB_KEY};
|
||||
use hbb_common::config::{Config, LocalConfig, PeerConfig};
|
||||
use hbb_common::rendezvous_proto::ConnType;
|
||||
use hbb_common::tokio::{self, sync::mpsc};
|
||||
use hbb_common::{allow_err, message_proto::*};
|
||||
@ -1055,15 +1055,8 @@ impl<T: InvokeUiSession> Session<T> {
|
||||
pub async fn io_loop<T: InvokeUiSession>(handler: Session<T>) {
|
||||
let (sender, mut receiver) = mpsc::unbounded_channel::<Data>();
|
||||
*handler.sender.write().unwrap() = Some(sender.clone());
|
||||
let mut options = crate::ipc::get_options_async().await;
|
||||
let mut key = options.remove("key").unwrap_or("".to_owned());
|
||||
let token = LocalConfig::get_option("access_token");
|
||||
if key.is_empty() {
|
||||
key = crate::platform::get_license_key();
|
||||
}
|
||||
if key.is_empty() && !option_env!("RENDEZVOUS_SERVER").unwrap_or("").is_empty() {
|
||||
key = RS_PUB_KEY.to_owned();
|
||||
}
|
||||
let key = crate::get_key(false).await;
|
||||
#[cfg(not(any(target_os = "android", target_os = "ios")))]
|
||||
if handler.is_port_forward() {
|
||||
if handler.is_rdp() {
|
||||
|
Loading…
Reference in New Issue
Block a user