add submodule rdp-rs
This commit is contained in:
parent
ea90cf2b63
commit
dcf5532938
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -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
1
webrdp/rdp-rs
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit e7a7693b46c7ba56483e464a2a2e478d08c2a9ea
|
@ -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};
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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;
|
@ -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 {
|
@ -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;
|
Loading…
Reference in New Issue
Block a user