Skip to content

Commit

Permalink
Merge branch 'rustdesk:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
zhangbo8418 authored Jan 21, 2024
2 parents 4dea0b3 + 5770aee commit b444e62
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 35 deletions.
8 changes: 8 additions & 0 deletions flutter/lib/common/widgets/dialog.dart
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,7 @@ class DialogTextField extends StatelessWidget {
final Widget? suffixIcon;
final TextEditingController controller;
final FocusNode? focusNode;
final TextInputType? keyboardType;
final List<TextInputFormatter>? inputFormatters;

static const kUsernameTitle = 'Username';
Expand All @@ -379,6 +380,7 @@ class DialogTextField extends StatelessWidget {
this.prefixIcon,
this.suffixIcon,
this.hintText,
this.keyboardType,
this.inputFormatters,
required this.title,
required this.controller})
Expand All @@ -404,6 +406,7 @@ class DialogTextField extends StatelessWidget {
focusNode: focusNode,
autofocus: true,
obscureText: obscureText,
keyboardType: keyboardType,
inputFormatters: inputFormatters,
),
),
Expand Down Expand Up @@ -456,6 +459,7 @@ class Dialog2FaField extends ValidationField {
readyCallback: readyCallback,
helperText: helperText ?? translate('2fa_tip'),
onChanged: _onChanged,
keyboardType: TextInputType.number,
inputFormatters: [
FilteringTextInputFormatter.allow(RegExp(r'[0-9]')),
],
Expand Down Expand Up @@ -528,6 +532,7 @@ class DialogEmailCodeField extends ValidationField {
readyCallback: readyCallback,
helperText: translate('verification_tip'),
onChanged: _onChanged,
keyboardType: TextInputType.visiblePassword,
);
}

Expand Down Expand Up @@ -571,6 +576,7 @@ class DialogVerificationCodeField extends StatefulWidget {
this.textLength,
this.readyCallback,
this.onChanged,
this.keyboardType,
this.inputFormatters,
}) : super(key: key);

Expand All @@ -585,6 +591,7 @@ class DialogVerificationCodeField extends StatefulWidget {
final VoidCallback? readyCallback;
final Function(StateSetter setState, SimpleWrapper<String?> errText)?
onChanged;
final TextInputType? keyboardType;
final List<TextInputFormatter>? inputFormatters;

@override
Expand Down Expand Up @@ -646,6 +653,7 @@ class _DialogVerificationCodeField extends State<DialogVerificationCodeField> {
errorText: widget.errorText ?? errorText.value,
focusNode: _focusNode,
helperText: widget.helperText,
keyboardType: widget.keyboardType,
inputFormatters: widget.inputFormatters,
);
}
Expand Down
1 change: 0 additions & 1 deletion src/client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2564,7 +2564,6 @@ pub fn handle_login_error(
interface.msgbox("re-input-password", err, "Do you want to enter again?", "");
true
} else if err == LOGIN_MSG_2FA_WRONG || err == REQUIRE_2FA {
lc.write().unwrap().password = Default::default();
interface.msgbox("input-2fa", err, "", "");
true
} else if LOGIN_ERROR_MAP.contains_key(err) {
Expand Down
12 changes: 6 additions & 6 deletions src/lang/cn.rs
Original file line number Diff line number Diff line change
Expand Up @@ -566,7 +566,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Plug out all", "拔出所有"),
("True color (4:4:4)", "真彩模式(4:4:4)"),
("Enable blocking user input", "允许阻止用户输入"),
("id_input_tip", ""),
("id_input_tip", "可以输入 ID、直连 IP,或域名和端口号(<域名>:<端口号>)。\n要访问另一台服务器上的设备,请附加服务器地址(<ID>@<服务器地址>?key=<密钥>)。比如,\n[email protected]:21117?key=5Qbwsde3unUcJBtrx9ZkvUmwFNoExHzpryHuPUdqlWM=。\n要访问公共服务器上的设备,请输入 \"<ID>@public\", 无需密钥。"),
("privacy_mode_impl_mag_tip", "模式 1"),
("privacy_mode_impl_virtual_display_tip", "模式 2"),
("Enter privacy mode", "进入隐私模式"),
Expand All @@ -581,11 +581,11 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("2FA code", "双重认证代码"),
("2fa_tip", "请输入授权 app 中的双重认证代码"),
("More", "更多"),
("enable-2fa-title", ""),
("enable-2fa-desc", ""),
("wrong-2fa-code", ""),
("enter-2fa-title", ""),
("enable-2fa-title", "启用双重认证"),
("enable-2fa-desc", "现在请设置身份验证器。您可以在手机或台式电脑上使用 Authy、Microsoft 或 Google Authenticator 等验证器。用验证器扫描二维码,然后输入显示的验证码以启用双重认证。"),
("wrong-2fa-code", "无法验证此验证码。请检查验证码和本地时间设置是否正确。"),
("enter-2fa-title", "双重认证"),
("Email verification code must be 6 characters.", "Email 验证码必须是 6 个字符。"),
("2FA code must be 6 digits.", "2FA 码必须是6位数字。"),
("2FA code must be 6 digits.", "双重认证代码必须是 6 位数字。"),
].iter().cloned().collect();
}
12 changes: 6 additions & 6 deletions src/lang/lv.rs
Original file line number Diff line number Diff line change
Expand Up @@ -581,11 +581,11 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("2FA code", "2FA kods"),
("2fa_tip", "Lūdzu, ievadiet savu 2FA kodu autentifikācijas lietotnē."),
("More", "Vairāk"),
("enable-2fa-title", ""),
("enable-2fa-desc", ""),
("wrong-2fa-code", ""),
("enter-2fa-title", ""),
("Email verification code must be 6 characters.", ""),
("2FA code must be 6 digits.", ""),
("enable-2fa-title", "Iespējot divu faktoru autentifikāciju"),
("enable-2fa-desc", "Lūdzu, iestatiet savu autentifikatoru tūlīt. Tālrunī vai darbvirsmā varat izmantot autentifikācijas lietotni, piemēram, Authy, Microsoft vai Google Authenticator.\n\nIzmantojot lietotni, skenējiet QR kodu un ievadiet lietotnē parādīto kodu, lai iespējotu divu faktoru autentifikāciju."),
("wrong-2fa-code", "Nevar pārbaudīt kodu. Pārbaudiet, vai kods un vietējā laika iestatījumi ir pareizi"),
("enter-2fa-title", "Divu faktoru autentifikācija"),
("Email verification code must be 6 characters.", "E-pasta verifikācijas kodam jābūt ar 6 rakstzīmēm."),
("2FA code must be 6 digits.", "2FA kodam ir jābūt ar 6 cipariem."),
].iter().cloned().collect();
}
12 changes: 6 additions & 6 deletions src/lang/nl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -581,11 +581,11 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("2FA code", "2FA-code"),
("2fa_tip", "Geef je 2FA-code op in de verificatie-app."),
("More", "Meer"),
("enable-2fa-title", ""),
("enable-2fa-desc", ""),
("wrong-2fa-code", ""),
("enter-2fa-title", ""),
("Email verification code must be 6 characters.", ""),
("2FA code must be 6 digits.", ""),
("enable-2fa-title", "activeer-2fa-titel"),
("enable-2fa-desc", "activeer-2fa-desc"),
("wrong-2fa-code", "foutieve-2fa-code"),
("enter-2fa-title", "geef-2fa-titel in"),
("Email verification code must be 6 characters.", "E-mailverificatiecode moet 6 tekens lang zijn."),
("2FA code must be 6 digits.", "2FA-code moet 6 cijfers lang zijn."),
].iter().cloned().collect();
}
26 changes: 13 additions & 13 deletions src/lang/ru.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Remove", "Удалить"),
("Refresh random password", "Обновить случайный пароль"),
("Set your own password", "Установить свой пароль"),
("Enable keyboard/mouse", "Включить клавиатуру/мышь"),
("Enable clipboard", "Включить буфер обмена"),
("Enable file transfer", "Включить передачу файлов"),
("Enable TCP tunneling", "Включить туннелирование TCP"),
("Enable keyboard/mouse", "Использовать клавиатуру/мышь"),
("Enable clipboard", "Использовать буфер обмена"),
("Enable file transfer", "Использовать передачу файлов"),
("Enable TCP tunneling", "Использовать туннелирование TCP"),
("IP Whitelisting", "Список разрешённых IP-адресов"),
("ID/Relay Server", "ID/Ретранслятор"),
("Import server config", "Импортировать конфигурацию сервера"),
Expand Down Expand Up @@ -188,9 +188,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Enter Remote ID", "Введите удалённый ID"),
("Enter your password", "Введите пароль"),
("Logging in...", "Вход..."),
("Enable RDP session sharing", "Включить общий доступ к сеансу RDP"),
("Enable RDP session sharing", "Использовать общий доступ к сеансу RDP"),
("Auto Login", "Автоматический вход (действителен только если вы установили \"Завершение пользовательского сеанса после завершения удалённого подключения\""),
("Enable direct IP access", "Включить прямой IP-доступ"),
("Enable direct IP access", "Использовать прямой IP-доступ"),
("Rename", "Переименовать"),
("Space", "Место"),
("Create desktop shortcut", "Создать ярлык на рабочем столе"),
Expand Down Expand Up @@ -315,7 +315,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Use permanent password", "Использовать постоянный пароль"),
("Use both passwords", "Использовать оба пароля"),
("Set permanent password", "Установить постоянный пароль"),
("Enable remote restart", "Включить удалённый перезапуск"),
("Enable remote restart", "Использовать удалённый перезапуск"),
("Restart remote device", "Перезапустить удалённое устройство"),
("Are you sure you want to restart", "Вы уверены, что хотите выполнить перезапуск?"),
("Restarting remote device", "Перезагрузка удалённого устройства"),
Expand Down Expand Up @@ -581,11 +581,11 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("2FA code", "Код 2FA"),
("2fa_tip", "Введите код двухфакторной аутентификации из приложения для аутентификации."),
("More", "Ещё"),
("enable-2fa-title", ""),
("enable-2fa-desc", ""),
("wrong-2fa-code", ""),
("enter-2fa-title", ""),
("Email verification code must be 6 characters.", ""),
("2FA code must be 6 digits.", ""),
("enable-2fa-title", "Использовать двухфакторную аутентификацию"),
("enable-2fa-desc", "Настройте приложение аутентификации. Используйте, например, Authy, Microsoft или Google Authenticator, на телефоне или компьютере.\n\nОтсканируйте QR-код с помощью приложения аутентификации и введите код, который отобразит это приложение, чтобы включить двухфакторную аутентификацию."),
("wrong-2fa-code", "Невозможно подтвердить код. Проверьте код и настройки местного времени."),
("enter-2fa-title", "Двухфакторная аутентификация"),
("Email verification code must be 6 characters.", "Код подтверждения электронной почты должен состоять из 6 символов."),
("2FA code must be 6 digits.", "Код двухфакторной аутентификации должен состоять из 6 цифр."),
].iter().cloned().collect();
}
6 changes: 3 additions & 3 deletions src/server/connection.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1625,8 +1625,8 @@ impl Connection {
#[cfg(all(target_os = "linux", feature = "linux_headless"))]
#[cfg(not(any(feature = "flatpak", feature = "appimage")))]
self.linux_headless_handle.wait_desktop_cm_ready().await;
self.try_start_cm(lr.my_id.clone(), lr.my_name.clone(), true);
self.send_logon_response().await;
self.try_start_cm(lr.my_id.clone(), lr.my_name.clone(), self.authorized);
if self.port_forward_socket.is_some() {
return false;
}
Expand Down Expand Up @@ -1666,7 +1666,7 @@ impl Connection {
#[cfg(not(any(feature = "flatpak", feature = "appimage")))]
self.linux_headless_handle.wait_desktop_cm_ready().await;
self.send_logon_response().await;
self.try_start_cm(lr.my_id, lr.my_name, true);
self.try_start_cm(lr.my_id, lr.my_name, self.authorized);
if self.port_forward_socket.is_some() {
return false;
}
Expand Down Expand Up @@ -1746,8 +1746,8 @@ impl Connection {
if let Some((_instant, uuid_old)) = uuid_old {
if uuid == uuid_old {
self.from_switch = true;
self.try_start_cm(lr.my_id.clone(), lr.my_name.clone(), true);
self.send_logon_response().await;
self.try_start_cm(lr.my_id.clone(), lr.my_name.clone(), self.authorized);
#[cfg(not(any(target_os = "android", target_os = "ios")))]
self.try_start_cm_ipc();
}
Expand Down

0 comments on commit b444e62

Please sign in to comment.