diff --git a/crates/ironrdp-core/src/lib.rs b/crates/ironrdp-core/src/lib.rs index f1dffdd0..99237957 100644 --- a/crates/ironrdp-core/src/lib.rs +++ b/crates/ironrdp-core/src/lib.rs @@ -17,6 +17,7 @@ mod decode; mod encode; mod error; mod into_owned; +mod padding; #[cfg(feature = "alloc")] mod write_buf; @@ -28,5 +29,6 @@ pub use self::decode::*; pub use self::encode::*; pub use self::error::*; pub use self::into_owned::*; +pub use self::padding::*; #[cfg(feature = "alloc")] pub use self::write_buf::*; diff --git a/crates/ironrdp-core/src/macros.rs b/crates/ironrdp-core/src/macros.rs index 4b8e9c2c..52160839 100644 --- a/crates/ironrdp-core/src/macros.rs +++ b/crates/ironrdp-core/src/macros.rs @@ -391,3 +391,36 @@ macro_rules! cast_int { $crate::cast_int!($crate::function!(), $field, $len) }}; } + +/// Writes zeroes using as few `write_u*` calls as possible. +/// +/// This is similar to `ironrdp_core::padding::write`, but the loop is optimized out when a single +/// operation is enough. +#[macro_export] +macro_rules! write_padding { + ($dst:expr, 1) => { + $dst.write_u8(0) + }; + ($dst:expr, 2) => { + $dst.write_u16(0) + }; + ($dst:expr, 4) => { + $dst.write_u32(0) + }; + ($dst:expr, 8) => { + $dst.write_u64(0) + }; + ($dst:expr, $n:expr) => { + $crate::write_padding($dst, $n) + }; +} + +/// Moves read cursor, ignoring padding bytes. +/// +/// This is similar to `ironrdp_pdu::padding::read`, only exists for consistency with `write_padding!`. +#[macro_export] +macro_rules! read_padding { + ($src:expr, $n:expr) => { + $crate::read_padding($src, $n) + }; +} diff --git a/crates/ironrdp-pdu/src/padding.rs b/crates/ironrdp-core/src/padding.rs similarity index 83% rename from crates/ironrdp-pdu/src/padding.rs rename to crates/ironrdp-core/src/padding.rs index 8ce0d026..1c62168d 100644 --- a/crates/ironrdp-pdu/src/padding.rs +++ b/crates/ironrdp-core/src/padding.rs @@ -4,10 +4,10 @@ //! and message recipients should not assume padding has any particular //! value. -use ironrdp_core::{ReadCursor, WriteCursor}; +use crate::{ReadCursor, WriteCursor}; /// Writes zeroes using as few `write_u*` calls as possible. -pub fn write(dst: &mut WriteCursor<'_>, mut n: usize) { +pub fn write_padding(dst: &mut WriteCursor<'_>, mut n: usize) { loop { match n { 0 => break, @@ -33,6 +33,6 @@ pub fn write(dst: &mut WriteCursor<'_>, mut n: usize) { /// Moves read cursor, ignoring padding bytes. #[inline] -pub fn read(src: &mut ReadCursor<'_>, n: usize) { +pub fn read_padding(src: &mut ReadCursor<'_>, n: usize) { src.advance(n); } diff --git a/crates/ironrdp-pdu/src/gcc/core_data/client.rs b/crates/ironrdp-pdu/src/gcc/core_data/client.rs index 9b2bf8c5..90401dbb 100644 --- a/crates/ironrdp-pdu/src/gcc/core_data/client.rs +++ b/crates/ironrdp-pdu/src/gcc/core_data/client.rs @@ -1,7 +1,7 @@ use bitflags::bitflags; use ironrdp_core::{ - ensure_fixed_part_size, ensure_size, invalid_field_err, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, - WriteCursor, + ensure_fixed_part_size, ensure_size, invalid_field_err, write_padding, Decode, DecodeResult, Encode, EncodeResult, + ReadCursor, WriteCursor, }; use num_derive::{FromPrimitive, ToPrimitive}; use num_traits::{FromPrimitive, ToPrimitive}; diff --git a/crates/ironrdp-pdu/src/gcc/network_data.rs b/crates/ironrdp-pdu/src/gcc/network_data.rs index eea344a8..6f6b500e 100644 --- a/crates/ironrdp-pdu/src/gcc/network_data.rs +++ b/crates/ironrdp-pdu/src/gcc/network_data.rs @@ -3,8 +3,8 @@ use std::{io, str}; use bitflags::bitflags; use ironrdp_core::{ - cast_length, ensure_fixed_part_size, ensure_size, invalid_field_err, Decode, DecodeResult, Encode, EncodeResult, - ReadCursor, WriteCursor, + cast_length, ensure_fixed_part_size, ensure_size, invalid_field_err, read_padding, write_padding, Decode, + DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor, }; use num_integer::Integer; use thiserror::Error; @@ -157,7 +157,7 @@ impl ServerNetworkData { const FIXED_PART_SIZE: usize = SERVER_IO_CHANNEL_SIZE + SERVER_CHANNEL_COUNT_SIZE; - fn write_padding(&self) -> bool { + fn padding_needed(&self) -> bool { self.channel_ids.len().is_odd() } } @@ -178,8 +178,8 @@ impl Encode for ServerNetworkData { // (and by implication the entire Server Network Data structure) will not be a multiple of 4. // In this scenario, the Pad field MUST be present and it is used to add an additional // 2 bytes to the size of the Server Network Data structure. - if self.write_padding() { - dst.write_u16(0); // pad + if self.padding_needed() { + write_padding!(dst, 2); } Ok(()) @@ -190,7 +190,7 @@ impl Encode for ServerNetworkData { } fn size(&self) -> usize { - let padding_size = if self.write_padding() { 2 } else { 0 }; + let padding_size = if self.padding_needed() { 2 } else { 0 }; Self::FIXED_PART_SIZE + self.channel_ids.len() * SERVER_CHANNEL_SIZE + padding_size } diff --git a/crates/ironrdp-pdu/src/input/mod.rs b/crates/ironrdp-pdu/src/input/mod.rs index b4a33d0a..76382269 100644 --- a/crates/ironrdp-pdu/src/input/mod.rs +++ b/crates/ironrdp-pdu/src/input/mod.rs @@ -1,8 +1,8 @@ use std::io; use ironrdp_core::{ - ensure_fixed_part_size, ensure_size, invalid_field_err, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, - WriteCursor, + ensure_fixed_part_size, ensure_size, invalid_field_err, read_padding, write_padding, Decode, DecodeResult, Encode, + EncodeResult, ReadCursor, WriteCursor, }; use num_derive::{FromPrimitive, ToPrimitive}; use num_traits::{FromPrimitive, ToPrimitive}; diff --git a/crates/ironrdp-pdu/src/input/scan_code.rs b/crates/ironrdp-pdu/src/input/scan_code.rs index 1cd17c1c..0798866c 100644 --- a/crates/ironrdp-pdu/src/input/scan_code.rs +++ b/crates/ironrdp-pdu/src/input/scan_code.rs @@ -1,5 +1,8 @@ use bitflags::bitflags; -use ironrdp_core::{ensure_fixed_part_size, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor}; +use ironrdp_core::{ + ensure_fixed_part_size, read_padding, write_padding, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, + WriteCursor, +}; #[derive(Debug, Clone, PartialEq, Eq)] pub struct ScanCodePdu { diff --git a/crates/ironrdp-pdu/src/input/sync.rs b/crates/ironrdp-pdu/src/input/sync.rs index 648a5b90..81453937 100644 --- a/crates/ironrdp-pdu/src/input/sync.rs +++ b/crates/ironrdp-pdu/src/input/sync.rs @@ -1,5 +1,8 @@ use bitflags::bitflags; -use ironrdp_core::{ensure_fixed_part_size, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor}; +use ironrdp_core::{ + ensure_fixed_part_size, read_padding, write_padding, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, + WriteCursor, +}; #[derive(Debug, Clone, PartialEq, Eq)] pub struct SyncPdu { diff --git a/crates/ironrdp-pdu/src/input/unicode.rs b/crates/ironrdp-pdu/src/input/unicode.rs index 7998cdd4..37ce8d67 100644 --- a/crates/ironrdp-pdu/src/input/unicode.rs +++ b/crates/ironrdp-pdu/src/input/unicode.rs @@ -1,5 +1,8 @@ use bitflags::bitflags; -use ironrdp_core::{ensure_fixed_part_size, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor}; +use ironrdp_core::{ + ensure_fixed_part_size, read_padding, write_padding, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, + WriteCursor, +}; #[derive(Debug, Clone, PartialEq, Eq)] pub struct UnicodePdu { diff --git a/crates/ironrdp-pdu/src/input/unused.rs b/crates/ironrdp-pdu/src/input/unused.rs index d5e47f8b..8e3a00ff 100644 --- a/crates/ironrdp-pdu/src/input/unused.rs +++ b/crates/ironrdp-pdu/src/input/unused.rs @@ -1,4 +1,7 @@ -use ironrdp_core::{ensure_fixed_part_size, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor}; +use ironrdp_core::{ + ensure_fixed_part_size, read_padding, write_padding, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, + WriteCursor, +}; #[derive(Debug, Clone, PartialEq, Eq)] pub struct UnusedPdu; diff --git a/crates/ironrdp-pdu/src/lib.rs b/crates/ironrdp-pdu/src/lib.rs index 08204efe..72522185 100644 --- a/crates/ironrdp-pdu/src/lib.rs +++ b/crates/ironrdp-pdu/src/lib.rs @@ -21,7 +21,6 @@ pub mod geometry; pub mod input; pub mod mcs; pub mod nego; -pub mod padding; pub mod pcb; pub mod rdp; pub mod tpdu; diff --git a/crates/ironrdp-pdu/src/macros.rs b/crates/ironrdp-pdu/src/macros.rs index a91a176a..36e45f8d 100644 --- a/crates/ironrdp-pdu/src/macros.rs +++ b/crates/ironrdp-pdu/src/macros.rs @@ -118,39 +118,6 @@ macro_rules! impl_x224_pdu_borrowing { }; } -/// Writes zeroes using as few `write_u*` calls as possible. -/// -/// This is similar to `ironrdp_pdu::padding::write`, but the loop is optimized out when a single -/// operation is enough. -#[macro_export] -macro_rules! write_padding { - ($dst:expr, 1) => { - $dst.write_u8(0) - }; - ($dst:expr, 2) => { - $dst.write_u16(0) - }; - ($dst:expr, 4) => { - $dst.write_u32(0) - }; - ($dst:expr, 8) => { - $dst.write_u64(0) - }; - ($dst:expr, $n:expr) => { - $crate::padding::write($dst, $n) - }; -} - -/// Moves read cursor, ignoring padding bytes. -/// -/// This is similar to `ironrdp_pdu::padding::read`, only exists for consistency with `write_padding!`. -#[macro_export] -macro_rules! read_padding { - ($src:expr, $n:expr) => { - $crate::padding::read($src, $n) - }; -} - // FIXME: legacy macros below #[macro_export] diff --git a/crates/ironrdp-pdu/src/mcs.rs b/crates/ironrdp-pdu/src/mcs.rs index b86df630..a283686a 100644 --- a/crates/ironrdp-pdu/src/mcs.rs +++ b/crates/ironrdp-pdu/src/mcs.rs @@ -1,8 +1,8 @@ use std::borrow::Cow; use ironrdp_core::{ - cast_length, ensure_fixed_part_size, ensure_size, invalid_field_err, other_err, unexpected_message_type_err, - IntoOwned, ReadCursor, WriteCursor, + cast_length, ensure_fixed_part_size, ensure_size, invalid_field_err, other_err, read_padding, + unexpected_message_type_err, IntoOwned, ReadCursor, WriteCursor, }; use crate::gcc::{ChannelDef, ClientGccBlocks, ConferenceCreateRequest, ConferenceCreateResponse}; diff --git a/crates/ironrdp-pdu/src/pcb.rs b/crates/ironrdp-pdu/src/pcb.rs index 457196f8..687a4650 100644 --- a/crates/ironrdp-pdu/src/pcb.rs +++ b/crates/ironrdp-pdu/src/pcb.rs @@ -1,8 +1,8 @@ //! This module contains the RDP_PRECONNECTION_PDU_V1 and RDP_PRECONNECTION_PDU_V2 structures. use ironrdp_core::{ - cast_length, ensure_fixed_part_size, ensure_size, invalid_field_err, invalid_field_err_with_source, Decode, - DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor, + cast_length, ensure_fixed_part_size, ensure_size, invalid_field_err, invalid_field_err_with_source, read_padding, + write_padding, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor, }; use crate::Pdu; diff --git a/crates/ironrdp-pdu/src/rdp/capability_sets.rs b/crates/ironrdp-pdu/src/rdp/capability_sets.rs index 3772e569..e2aef9b6 100644 --- a/crates/ironrdp-pdu/src/rdp/capability_sets.rs +++ b/crates/ironrdp-pdu/src/rdp/capability_sets.rs @@ -1,8 +1,8 @@ use std::io; use ironrdp_core::{ - cast_length, decode, ensure_fixed_part_size, ensure_size, invalid_field_err, unsupported_value_err, Decode, - DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor, + cast_length, decode, ensure_fixed_part_size, ensure_size, invalid_field_err, unsupported_value_err, write_padding, + Decode, DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor, }; use num_derive::{FromPrimitive, ToPrimitive}; use num_traits::{FromPrimitive as _, ToPrimitive as _}; diff --git a/crates/ironrdp-pdu/src/rdp/capability_sets/bitmap.rs b/crates/ironrdp-pdu/src/rdp/capability_sets/bitmap.rs index 56d8c287..cd5a4f4c 100644 --- a/crates/ironrdp-pdu/src/rdp/capability_sets/bitmap.rs +++ b/crates/ironrdp-pdu/src/rdp/capability_sets/bitmap.rs @@ -3,7 +3,8 @@ mod tests; use bitflags::bitflags; use ironrdp_core::{ - ensure_fixed_part_size, invalid_field_err, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor, + ensure_fixed_part_size, invalid_field_err, read_padding, write_padding, Decode, DecodeResult, Encode, EncodeResult, + ReadCursor, WriteCursor, }; const BITMAP_LENGTH: usize = 24; diff --git a/crates/ironrdp-pdu/src/rdp/capability_sets/bitmap_cache.rs b/crates/ironrdp-pdu/src/rdp/capability_sets/bitmap_cache.rs index 35771ec6..76c53866 100644 --- a/crates/ironrdp-pdu/src/rdp/capability_sets/bitmap_cache.rs +++ b/crates/ironrdp-pdu/src/rdp/capability_sets/bitmap_cache.rs @@ -2,7 +2,10 @@ mod tests; use bitflags::bitflags; -use ironrdp_core::{ensure_fixed_part_size, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor}; +use ironrdp_core::{ + ensure_fixed_part_size, read_padding, write_padding, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, + WriteCursor, +}; pub const BITMAP_CACHE_ENTRIES_NUM: usize = 3; diff --git a/crates/ironrdp-pdu/src/rdp/capability_sets/glyph_cache.rs b/crates/ironrdp-pdu/src/rdp/capability_sets/glyph_cache.rs index 6f8866c9..0ad26a2b 100644 --- a/crates/ironrdp-pdu/src/rdp/capability_sets/glyph_cache.rs +++ b/crates/ironrdp-pdu/src/rdp/capability_sets/glyph_cache.rs @@ -2,7 +2,8 @@ mod tests; use ironrdp_core::{ - ensure_fixed_part_size, invalid_field_err, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor, + ensure_fixed_part_size, invalid_field_err, write_padding, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, + WriteCursor, }; use num_derive::{FromPrimitive, ToPrimitive}; use num_traits::{FromPrimitive, ToPrimitive}; diff --git a/crates/ironrdp-pdu/src/rdp/capability_sets/input.rs b/crates/ironrdp-pdu/src/rdp/capability_sets/input.rs index 5dc5c065..fe1cdee8 100644 --- a/crates/ironrdp-pdu/src/rdp/capability_sets/input.rs +++ b/crates/ironrdp-pdu/src/rdp/capability_sets/input.rs @@ -2,7 +2,10 @@ mod tests; use bitflags::bitflags; -use ironrdp_core::{ensure_fixed_part_size, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor}; +use ironrdp_core::{ + ensure_fixed_part_size, read_padding, write_padding, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, + WriteCursor, +}; use num_traits::{FromPrimitive, ToPrimitive}; use crate::gcc::{KeyboardType, IME_FILE_NAME_SIZE}; diff --git a/crates/ironrdp-pdu/src/rdp/capability_sets/sound.rs b/crates/ironrdp-pdu/src/rdp/capability_sets/sound.rs index e9fb6642..b4ca1e67 100644 --- a/crates/ironrdp-pdu/src/rdp/capability_sets/sound.rs +++ b/crates/ironrdp-pdu/src/rdp/capability_sets/sound.rs @@ -2,7 +2,10 @@ mod tests; use bitflags::bitflags; -use ironrdp_core::{ensure_fixed_part_size, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor}; +use ironrdp_core::{ + ensure_fixed_part_size, read_padding, write_padding, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, + WriteCursor, +}; const SOUND_LENGTH: usize = 4; diff --git a/crates/ironrdp-pdu/src/rdp/client_info.rs b/crates/ironrdp-pdu/src/rdp/client_info.rs index aeb0800c..dff21f04 100644 --- a/crates/ironrdp-pdu/src/rdp/client_info.rs +++ b/crates/ironrdp-pdu/src/rdp/client_info.rs @@ -3,8 +3,8 @@ use std::io; use bitflags::bitflags; use ironrdp_core::{ - ensure_fixed_part_size, ensure_size, invalid_field_err, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, - WriteCursor, + ensure_fixed_part_size, ensure_size, invalid_field_err, write_padding, Decode, DecodeResult, Encode, EncodeResult, + ReadCursor, WriteCursor, }; use num_derive::{FromPrimitive, ToPrimitive}; use num_traits::{FromPrimitive as _, ToPrimitive as _}; diff --git a/crates/ironrdp-pdu/src/rdp/headers.rs b/crates/ironrdp-pdu/src/rdp/headers.rs index 4cb0e1b9..0f6b9474 100644 --- a/crates/ironrdp-pdu/src/rdp/headers.rs +++ b/crates/ironrdp-pdu/src/rdp/headers.rs @@ -1,7 +1,7 @@ use bitflags::bitflags; use ironrdp_core::{ - cast_length, ensure_fixed_part_size, ensure_size, invalid_field_err, not_enough_bytes_err, other_err, Decode, - DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor, + cast_length, ensure_fixed_part_size, ensure_size, invalid_field_err, not_enough_bytes_err, other_err, read_padding, + write_padding, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor, }; use num_derive::{FromPrimitive, ToPrimitive}; use num_traits::{FromPrimitive, ToPrimitive}; diff --git a/crates/ironrdp-pdu/src/rdp/refresh_rectangle.rs b/crates/ironrdp-pdu/src/rdp/refresh_rectangle.rs index 5f9de045..611c3c78 100644 --- a/crates/ironrdp-pdu/src/rdp/refresh_rectangle.rs +++ b/crates/ironrdp-pdu/src/rdp/refresh_rectangle.rs @@ -1,6 +1,6 @@ use ironrdp_core::{ - cast_length, ensure_fixed_part_size, ensure_size, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, - WriteCursor, + cast_length, ensure_fixed_part_size, ensure_size, read_padding, write_padding, Decode, DecodeResult, Encode, + EncodeResult, ReadCursor, WriteCursor, }; use crate::geometry::InclusiveRectangle; diff --git a/crates/ironrdp-pdu/src/rdp/server_license/server_license_request/cert.rs b/crates/ironrdp-pdu/src/rdp/server_license/server_license_request/cert.rs index 86f4b5b3..b27e9eed 100644 --- a/crates/ironrdp-pdu/src/rdp/server_license/server_license_request/cert.rs +++ b/crates/ironrdp-pdu/src/rdp/server_license/server_license_request/cert.rs @@ -1,6 +1,6 @@ use ironrdp_core::{ - cast_length, ensure_fixed_part_size, ensure_size, invalid_field_err, Decode, DecodeResult, Encode, EncodeResult, - ReadCursor, WriteCursor, + cast_length, ensure_fixed_part_size, ensure_size, invalid_field_err, read_padding, write_padding, Decode, + DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor, }; use super::{BlobHeader, BlobType, KEY_EXCHANGE_ALGORITHM_RSA}; diff --git a/crates/ironrdp-pdu/src/rdp/session_info.rs b/crates/ironrdp-pdu/src/rdp/session_info.rs index fc91ae78..bb347801 100644 --- a/crates/ironrdp-pdu/src/rdp/session_info.rs +++ b/crates/ironrdp-pdu/src/rdp/session_info.rs @@ -1,8 +1,8 @@ use std::io; use ironrdp_core::{ - ensure_fixed_part_size, ensure_size, invalid_field_err, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, - WriteCursor, + ensure_fixed_part_size, ensure_size, invalid_field_err, read_padding, write_padding, Decode, DecodeResult, Encode, + EncodeResult, ReadCursor, WriteCursor, }; use num_derive::{FromPrimitive, ToPrimitive}; use num_traits::{FromPrimitive as _, ToPrimitive as _}; diff --git a/crates/ironrdp-pdu/src/rdp/session_info/logon_extended.rs b/crates/ironrdp-pdu/src/rdp/session_info/logon_extended.rs index acbc11a7..dffe5950 100644 --- a/crates/ironrdp-pdu/src/rdp/session_info/logon_extended.rs +++ b/crates/ironrdp-pdu/src/rdp/session_info/logon_extended.rs @@ -1,7 +1,7 @@ use bitflags::bitflags; use ironrdp_core::{ - cast_length, ensure_fixed_part_size, ensure_size, invalid_field_err, Decode, DecodeResult, Encode, EncodeResult, - ReadCursor, WriteCursor, + cast_length, ensure_fixed_part_size, ensure_size, invalid_field_err, read_padding, Decode, DecodeResult, Encode, + EncodeResult, ReadCursor, WriteCursor, }; use num_derive::{FromPrimitive, ToPrimitive}; use num_traits::{FromPrimitive, ToPrimitive}; diff --git a/crates/ironrdp-pdu/src/rdp/session_info/logon_info.rs b/crates/ironrdp-pdu/src/rdp/session_info/logon_info.rs index 5a5509f1..8555a5fe 100644 --- a/crates/ironrdp-pdu/src/rdp/session_info/logon_info.rs +++ b/crates/ironrdp-pdu/src/rdp/session_info/logon_info.rs @@ -1,6 +1,6 @@ use ironrdp_core::{ - cast_length, ensure_fixed_part_size, ensure_size, invalid_field_err, Decode, DecodeResult, Encode, EncodeResult, - ReadCursor, WriteCursor, + cast_length, ensure_fixed_part_size, ensure_size, invalid_field_err, read_padding, write_padding, Decode, + DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor, }; use crate::utils; diff --git a/crates/ironrdp-pdu/src/rdp/suppress_output.rs b/crates/ironrdp-pdu/src/rdp/suppress_output.rs index 42e083d1..86f54336 100644 --- a/crates/ironrdp-pdu/src/rdp/suppress_output.rs +++ b/crates/ironrdp-pdu/src/rdp/suppress_output.rs @@ -1,6 +1,6 @@ use ironrdp_core::{ - ensure_fixed_part_size, ensure_size, invalid_field_err, Decode, DecodeResult, Encode, EncodeResult, ReadCursor, - WriteCursor, + ensure_fixed_part_size, ensure_size, invalid_field_err, read_padding, write_padding, Decode, DecodeResult, Encode, + EncodeResult, ReadCursor, WriteCursor, }; use crate::geometry::InclusiveRectangle; diff --git a/crates/ironrdp-pdu/src/rdp/vc/dvc/gfx/graphics_messages/server.rs b/crates/ironrdp-pdu/src/rdp/vc/dvc/gfx/graphics_messages/server.rs index 81b2bea5..3e8e219b 100644 --- a/crates/ironrdp-pdu/src/rdp/vc/dvc/gfx/graphics_messages/server.rs +++ b/crates/ironrdp-pdu/src/rdp/vc/dvc/gfx/graphics_messages/server.rs @@ -2,8 +2,8 @@ use std::fmt; use bit_field::BitField; use ironrdp_core::{ - cast_length, decode_cursor, ensure_fixed_part_size, ensure_size, invalid_field_err, Decode, DecodeResult, Encode, - EncodeResult, ReadCursor, WriteCursor, + cast_length, decode_cursor, ensure_fixed_part_size, ensure_size, invalid_field_err, read_padding, write_padding, + Decode, DecodeResult, Encode, EncodeResult, ReadCursor, WriteCursor, }; use num_derive::{FromPrimitive, ToPrimitive}; use num_traits::{FromPrimitive, ToPrimitive}; diff --git a/crates/ironrdp-pdu/src/tpdu.rs b/crates/ironrdp-pdu/src/tpdu.rs index 37d9cfb6..f2fe040d 100644 --- a/crates/ironrdp-pdu/src/tpdu.rs +++ b/crates/ironrdp-pdu/src/tpdu.rs @@ -1,5 +1,6 @@ use ironrdp_core::{ - ensure_fixed_part_size, ensure_size, invalid_field_err, unexpected_message_type_err, ReadCursor, WriteCursor, + ensure_fixed_part_size, ensure_size, invalid_field_err, read_padding, unexpected_message_type_err, ReadCursor, + WriteCursor, }; use crate::tpkt::TpktHeader; diff --git a/crates/ironrdp-pdu/src/tpkt.rs b/crates/ironrdp-pdu/src/tpkt.rs index 10767513..95a96f47 100644 --- a/crates/ironrdp-pdu/src/tpkt.rs +++ b/crates/ironrdp-pdu/src/tpkt.rs @@ -1,4 +1,6 @@ -use ironrdp_core::{ensure_fixed_part_size, unsupported_version_err, ReadCursor, WriteCursor}; +use ironrdp_core::{ + ensure_fixed_part_size, read_padding, unsupported_version_err, write_padding, ReadCursor, WriteCursor, +}; use crate::{DecodeResult, EncodeResult};