add submodule rdp-rs

This commit is contained in:
Jovi Hsu 2022-10-21 07:33:35 +00:00
parent ea90cf2b63
commit dcf5532938
16 changed files with 17 additions and 13 deletions

3
.gitmodules vendored
View File

@ -1,3 +1,6 @@
[submodule "axum-websockify"] [submodule "axum-websockify"]
path = axum-websockify path = axum-websockify
url = https://github.com/HsuJv/axum-websockify.git url = https://github.com/HsuJv/axum-websockify.git
[submodule "webrdp/rdp-rs"]
path = webrdp/rdp-rs
url = git@github.com:HsuJv/rdp-rs.git

1
webrdp/rdp-rs Submodule

@ -0,0 +1 @@
Subproject commit e7a7693b46c7ba56483e464a2a2e478d08c2a9ea

View File

@ -2,7 +2,7 @@ use std::rc::Rc;
use crate::{ use crate::{
console_log, log, console_log, log,
rdp::{ImageData, ImageType, MouseEventType, Rdp}, rdp_client::{ImageData, ImageType, MouseEventType, Rdp},
}; };
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use wasm_bindgen::{Clamped, JsCast}; use wasm_bindgen::{Clamped, JsCast};

View File

@ -1,9 +1,9 @@
mod canvas; mod canvas;
mod rdp; mod rdp_client;
mod utils; mod utils;
use canvas::CanvasUtils; use canvas::CanvasUtils;
use rdp::Rdp; use rdp_client::Rdp;
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use wasm_bindgen::JsCast; use wasm_bindgen::JsCast;
use web_sys::{ErrorEvent, HtmlButtonElement, MessageEvent, WebSocket}; use web_sys::{ErrorEvent, HtmlButtonElement, MessageEvent, WebSocket};
@ -42,33 +42,33 @@ fn rdp_out_handler(ws: &WebSocket, rdp: &Rdp, canvas: &CanvasUtils) {
if let Some(out) = out { if let Some(out) = out {
for ref o in out { for ref o in out {
match o { match o {
rdp::RdpOutput::Err(err) => { rdp_client::RdpOutput::Err(err) => {
console_log!("Err {}", err); console_log!("Err {}", err);
rdp_close_handle(rdp, canvas, err); rdp_close_handle(rdp, canvas, err);
} }
rdp::RdpOutput::WsBuf(buf) => match ws.send_with_u8_array(buf) { rdp_client::RdpOutput::WsBuf(buf) => match ws.send_with_u8_array(buf) {
Ok(_) => {} Ok(_) => {}
Err(err) => { Err(err) => {
let err = format!("error sending message: {:?}", err); let err = format!("error sending message: {:?}", err);
rdp_close_handle(rdp, canvas, &err); rdp_close_handle(rdp, canvas, &err);
} }
}, },
rdp::RdpOutput::RequireSSL => match ws.send_with_str("SSL") { rdp_client::RdpOutput::RequireSSL => match ws.send_with_str("SSL") {
Ok(_) => {} Ok(_) => {}
Err(err) => { Err(err) => {
let err = format!("error launching ssl: {:?}", err); let err = format!("error launching ssl: {:?}", err);
rdp_close_handle(rdp, canvas, &err); rdp_close_handle(rdp, canvas, &err);
} }
}, },
rdp::RdpOutput::RequirePassword => { rdp_client::RdpOutput::RequirePassword => {
// let pwd = prompt("Please input the password"); // let pwd = prompt("Please input the password");
// rdp.set_credential(&pwd); // rdp.set_credential(&pwd);
// rdp_out_handler(ws, rdp, canvas); // rdp_out_handler(ws, rdp, canvas);
} }
rdp::RdpOutput::RenderImage(ri) => { rdp_client::RdpOutput::RenderImage(ri) => {
canvas.draw(ri); canvas.draw(ri);
} }
rdp::RdpOutput::SetResolution(x, y) => { rdp_client::RdpOutput::SetResolution(x, y) => {
canvas.init(*x as u32, *y as u32); canvas.init(*x as u32, *y as u32);
canvas.bind(rdp); canvas.bind(rdp);
// rdp.require_frame(0); // rdp.require_frame(0);
@ -90,7 +90,7 @@ fn rdp_out_handler(ws: &WebSocket, rdp: &Rdp, canvas: &CanvasUtils) {
// REFRESHER = Some(refersher); // REFRESHER = Some(refersher);
// } // }
} }
rdp::RdpOutput::SetClipboard(text) => { rdp_client::RdpOutput::SetClipboard(text) => {
setClipBoard(text.to_owned()); setClipBoard(text.to_owned());
// ConsoleService::log(&self.error_msg); // ConsoleService::log(&self.error_msg);
} }

View File

@ -3,7 +3,7 @@
#![allow(non_snake_case)] #![allow(non_snake_case)]
#![allow(non_upper_case_globals)] #![allow(non_upper_case_globals)]
use crate::rdp::StreamWriter; use crate::rdp_client::StreamWriter;
/* Class - bits 8 and 7 */ /* Class - bits 8 and 7 */
const BER_CLASS_UNIV: u8 = 0x00; const BER_CLASS_UNIV: u8 = 0x00;

View File

@ -2,7 +2,7 @@
use super::ntlm::*; use super::ntlm::*;
use super::{super::ber::*, to_unicode}; use super::{super::ber::*, to_unicode};
use crate::rdp::rdp_impl::{ConnectCb, FailCb, RdpInitializer, RdpInner}; use crate::rdp_client::rdp_impl::{ConnectCb, FailCb, RdpInitializer, RdpInner};
use x509_parser::prelude::*; use x509_parser::prelude::*;
enum State { enum State {

View File

@ -5,7 +5,7 @@
use super::rc4::Rc4; use super::rc4::Rc4;
use super::*; use super::*;
use crate::rdp::StreamWriter; use crate::rdp_client::StreamWriter;
use hmac::{Hmac, Mac}; use hmac::{Hmac, Mac};
#[cfg(not(test))] #[cfg(not(test))]
use js_sys::Math::random; use js_sys::Math::random;