Rust implementation of the Microsoft Remote Desktop Protocol (RDP)
This report presents the forensic synthetic code analysis of Devolutions/IronRDP, a Rust project with 3,101 GitHub stars. SynthScan v2.0 examined 261,201 lines of code across 1173 source files, recording 708 pattern matches distributed across 10 syntactic categories. The overall adjusted score of 3.9 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 708 distinct pattern matches across 10 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | typos.toml | 1 | # Typos CLI configuration file | COMMENT |
| LOW | crates/ironrdp-svc/src/lib.rs | 261 | /// A type that is a Static Virtual Channel | COMMENT |
| LOW | crates/ironrdp-svc/src/lib.rs | 521 | /// A set holding static virtual channels. | COMMENT |
| LOW | crates/ironrdp-svc/src/lib.rs | 821 | /// - <https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/a8593178-80c0-4b80-876c-cb77e62cecfc> | COMMENT |
| LOW | crates/ironrdp-svc/src/lib.rs | 841 | const SHADOW_PERSISTENT = 0x0000_0080; | COMMENT |
| LOW | crates/ironrdp-server/src/gfx.rs | 21 | /// | COMMENT |
| LOW | crates/ironrdp-server/src/display.rs | 161 | pub format: PixelFormat, | COMMENT |
| LOW | crates/ironrdp-server/src/display.rs | 181 | /// # Example | COMMENT |
| LOW | crates/ironrdp-server/src/display.rs | 241 | /// See [`RdpServerDisplay`] example. | COMMENT |
| LOW | crates/ironrdp-server/src/display.rs | 261 | /// receiver: tokio::sync::mpsc::Receiver<DisplayUpdate>, | COMMENT |
| LOW | crates/ironrdp-server/src/display.rs | 281 | /// | COMMENT |
| LOW | crates/ironrdp-server/src/handler.rs | 41 | RelMove { x: i32, y: i32 }, | COMMENT |
| LOW | crates/ironrdp-server/src/handler.rs | 61 | /// other => println!("unhandled event: {:?}", other), | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 61 | u64::try_from(EPOCH.elapsed().as_millis()).unwrap_or(u64::MAX) | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 161 | /// pre-loaded credentials for NTLM challenge-response). | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 181 | /// creds: &Credentials, | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 241 | /// When `Some(max)`, each connection's acceptor adopts the desktop size the | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 381 | /// IronRDP performs the TLS accept on the stream (standard TCP+TLS). | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 401 | /// | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 421 | /// fn make_tls_acceptor() -> TlsAcceptor { | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 441 | /// .with_addr(([127, 0, 0, 1], 3389)) | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 461 | gfx_factory: Option<Box<dyn GfxServerFactory>>, | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 481 | display_suppressed: Arc<AtomicBool>, | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 501 | /// The cookie replaced by the current one, accepted until the next rotation. | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 641 | COMMENT | |
| LOW | crates/ironrdp-server/src/server.rs | 661 | /// ([`RdpServer::builder`]); this setter exists for dynamic | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 841 | /// Display backends should hold a clone of this `Arc` and skip frame | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 861 | /// the backend's polling thread and written by the per-connection | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 881 | pub fn echo_handle(&self) -> &EchoServerHandle { | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 961 | COMMENT | |
| LOW | crates/ironrdp-server/src/server.rs | 981 | /// been transport-encrypted at a lower layer that the embedder owns | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 1001 | /// TLS and uses [`TransportTls::Managed`]; this mode does not apply to it. | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 1021 | /// transport; the SPNEGO exchange itself is transport-independent | COMMENT |
| LOW | crates/ironrdp-server/src/server.rs | 1041 | /// under [`TransportTls::AlreadyDone`] is that after the negotiation reaches | COMMENT |
| LOW | crates/ironrdp-server/src/autodetect.rs | 1 | //! Server-side auto-detect (RTT measurement) per [MS-RDPBCGR 2.2.14]. | COMMENT |
| LOW | crates/ironrdp-server/src/autodetect.rs | 21 | /// Tracks outstanding RTT probes and computes round-trip statistics from | COMMENT |
| LOW | crates/ironrdp-server/src/builder.rs | 221 | /// | COMMENT |
| LOW | crates/ironrdp-server/src/builder.rs | 241 | /// | COMMENT |
| LOW | crates/ironrdp-server/src/builder.rs | 261 | /// | COMMENT |
| LOW | crates/ironrdp-server/src/builder.rs | 281 | /// `SecureSettingsExchange` (`ClientInfoPdu`) are passed to this | COMMENT |
| LOW | crates/ironrdp-server/src/builder.rs | 301 | /// [`RdpServer::autodetect_rtt_handle`]). The value stays `u32::MAX` unless | COMMENT |
| LOW | crates/ironrdp-nscodec/src/encoder.rs | 1 | //! MS-RDPNSC encoder. | COMMENT |
| LOW | crates/ironrdp-nscodec/src/encoder.rs | 21 | /// # Parameters | COMMENT |
| LOW | crates/ironrdp-nscodec/src/encoder.rs | 181 | /// | COMMENT |
| LOW | crates/ironrdp-tls/src/lib.rs | 41 | /// fingerprint rather than accepting a host blindly. | COMMENT |
| LOW | crates/ironrdp-rdpdr/src/lib.rs | 21 | pub mod pdu; | COMMENT |
| LOW | crates/ironrdp-rdpdr/src/backend/mod.rs | 21 | /// A Server Announce Request starts a new sequence. Stateful | COMMENT |
| LOW | crates/ironrdp-rdpdr/src/backend/mod.rs | 81 | Ok(Vec::new()) | COMMENT |
| LOW | crates/ironrdp-rdpdr/src/pdu/efs.rs | 621 | /// [2.2.2.3]: https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpepc/2057a02f-57d5-47db-9a32-e337ac3f5 | COMMENT |
| LOW | crates/ironrdp-rdpdr/src/pdu/efs.rs | 701 | /// | COMMENT |
| LOW | crates/ironrdp-rdpdr/src/pdu/efs.rs | 901 | /// From VersionMinor in [Server Client ID Confirm (section 2.2.2.6)], [2.2.2.3 Client Announce Reply (DR_CORE_CLIENT_AN | COMMENT |
| LOW | crates/ironrdp-rdpdr/src/pdu/efs.rs | 1121 | // needing `UseUniversalPrinterDriverFirst` or the XPS Services | COMMENT |
| LOW | crates/ironrdp-rdpdr/src/pdu/efs.rs | 1141 | /// | COMMENT |
| LOW | crates/ironrdp-rdpdr/src/pdu/efs.rs | 1161 | // PrintName UTF-16LE, NUL-terminated | COMMENT |
| LOW | crates/ironrdp-rdpdr/src/pdu/efs.rs | 1981 | COMMENT | |
| LOW | crates/ironrdp-rdpdr/src/pdu/efs.rs | 2081 | /// DesiredAccess can be interpreted as either | COMMENT |
| LOW | crates/ironrdp-rdpdr/src/pdu/efs.rs | 2101 | /// | COMMENT |
| LOW | crates/ironrdp-rdpdr/src/pdu/efs.rs | 2541 | /// The Windows object-security flags are kept as bit flags rather than an | COMMENT |
| LOW | crates/ironrdp-rdpdr/src/pdu/esc/rpce.rs | 1 | //! PDUs for [\[MS-RPCE\]: Remote Procedure Call Protocol Extensions] as required by [MS-RDPESC]. | COMMENT |
| LOW | crates/ironrdp-rdpdr/src/pdu/esc/rpce.rs | 21 | /// impl RpceEncodePdu { | COMMENT |
| 449 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | typos.toml | 2 | # ============================ | COMMENT |
| MEDIUM | …tes/ironrdp-testsuite-core/tests/str_types/multi_sz.rs | 15 | // ── new rejects embedded nulls ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tes/ironrdp-testsuite-core/tests/str_types/multi_sz.rs | 97 | // ── from_utf16le_byte_strings ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tes/ironrdp-testsuite-core/tests/str_types/multi_sz.rs | 132 | // ── from_utf16le_flat ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tes/ironrdp-testsuite-core/tests/str_types/multi_sz.rs | 196 | // ── from_wire_units_flat ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tes/ironrdp-testsuite-core/tests/str_types/multi_sz.rs | 242 | // ── from_unit_strings ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-testsuite-core/tests/str_types/fixed.rs | 92 | // ── from_utf16le_bytes ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-testsuite-core/tests/str_types/fixed.rs | 129 | // ── from_wire_units / to_wire_units / into_wire_units ──────────────────────── | COMMENT |
| MEDIUM | …tes/ironrdp-testsuite-core/tests/str_types/unframed.rs | 86 | // ── from_utf16le_bytes ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tes/ironrdp-testsuite-core/tests/str_types/unframed.rs | 96 | // ── from_wire_units / to_wire_units / into_wire_units ──────────────────────── | COMMENT |
| MEDIUM | …tes/ironrdp-testsuite-core/tests/str_types/prefixed.rs | 18 | // ── Non-BMP correctness ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tes/ironrdp-testsuite-core/tests/str_types/prefixed.rs | 48 | // ── Round-trips for all null policy variants ────────────────────────────── | COMMENT |
| MEDIUM | …tes/ironrdp-testsuite-core/tests/str_types/prefixed.rs | 80 | // ── Empty string edge cases ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tes/ironrdp-testsuite-core/tests/str_types/prefixed.rs | 101 | // ── Empty string NullCounted round-trip ────────────────────────────────── | COMMENT |
| MEDIUM | …tes/ironrdp-testsuite-core/tests/str_types/prefixed.rs | 115 | // ── NullCounted cch=0 is invalid ───────────────────────────────────────── | COMMENT |
| MEDIUM | …tes/ironrdp-testsuite-core/tests/str_types/prefixed.rs | 136 | // ── Non-zero null terminator is rejected ───────────────────────────────── | COMMENT |
| MEDIUM | …tes/ironrdp-testsuite-core/tests/str_types/prefixed.rs | 182 | // ── Rejection of odd byte counts ───────────────────────────────────────── | COMMENT |
| MEDIUM | …tes/ironrdp-testsuite-core/tests/str_types/prefixed.rs | 202 | // ── Lone surrogates: decode succeeds, to_native() fails ────────────────── | COMMENT |
| MEDIUM | …tes/ironrdp-testsuite-core/tests/str_types/prefixed.rs | 217 | // ── from_wire_units / to_wire_units / into_wire_units ──────────────────────── | COMMENT |
| MEDIUM | …tes/ironrdp-testsuite-core/tests/str_types/prefixed.rs | 261 | // ── size() matches encode() output length ──────────────────────────────── | COMMENT |
| MEDIUM | …te-core/tests/clipboard/file_contents_state_machine.rs | 53 | // ── Request tracking ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …te-core/tests/clipboard/file_contents_state_machine.rs | 152 | // ── Response validation ───────────────────────────────────────────── | COMMENT |
| MEDIUM | …te-core/tests/clipboard/file_contents_state_machine.rs | 333 | // ── Incoming request validation ───────────────────────────────────── | COMMENT |
| MEDIUM | …te-core/tests/clipboard/file_contents_state_machine.rs | 368 | // ── Unknown and duplicate streamId handling ───────────────────────── | COMMENT |
| MEDIUM | …dp-testsuite-core/tests/clipboard/path_sanitization.rs | 10 | // ── is_absolute_path ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …dp-testsuite-core/tests/clipboard/path_sanitization.rs | 94 | // ── sanitize_file_path ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …dp-testsuite-core/tests/clipboard/path_sanitization.rs | 265 | // ── is_windows_device_name ────────────────────────────────────────── | COMMENT |
| MEDIUM | …p-testsuite-core/tests/clipboard/upload_and_cleanup.rs | 42 | // ── initiate_copy behavior ────────────────────────────────────────── | COMMENT |
| MEDIUM | …p-testsuite-core/tests/clipboard/upload_and_cleanup.rs | 97 | // ── FormatList interaction with in-flight requests ────────────────── | COMMENT |
| MEDIUM | …p-testsuite-core/tests/clipboard/upload_and_cleanup.rs | 212 | // ── Stale request cleanup ─────────────────────────────────────────── | COMMENT |
| MEDIUM | …p-testsuite-core/tests/clipboard/upload_and_cleanup.rs | 318 | // ── Locked file list cleanup ──────────────────────────────────────── | COMMENT |
| MEDIUM | …p-testsuite-core/tests/clipboard/upload_and_cleanup.rs | 481 | // ── Repaste after lock expiry ────────────────────────────────────── | COMMENT |
| MEDIUM | …ironrdp-testsuite-core/tests/clipboard/test_helpers.rs | 28 | // ── Clock helper ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ironrdp-testsuite-core/tests/clipboard/test_helpers.rs | 39 | // ── TestBackend ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ironrdp-testsuite-core/tests/clipboard/test_helpers.rs | 83 | // ── LockingBackend ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ironrdp-testsuite-core/tests/clipboard/test_helpers.rs | 140 | // ── ReceivedResponse + RecordingBackend ───────────────────────────── | COMMENT |
| MEDIUM | …ironrdp-testsuite-core/tests/clipboard/test_helpers.rs | 199 | // ── TimedRecordingBackend ─────────────────────────────────────────── | COMMENT |
| MEDIUM | …ironrdp-testsuite-core/tests/clipboard/test_helpers.rs | 269 | // ── CallbackTrackingBackend ───────────────────────────────────────── | COMMENT |
| MEDIUM | …ironrdp-testsuite-core/tests/clipboard/test_helpers.rs | 352 | // ── Initialization helpers ────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-rpc/src/ipc.rs | 645 | // ── KeyFilter codec ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-rpc/src/ipc.rs | 687 | // ── PropValue / PropertyEntry / PropertyDump codec ────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-rpc/src/ipc.rs | 794 | // ── StatusInfo codec ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-rpc/src/ipc.rs | 843 | // ── Payload codec ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-rpc/src/ipc.rs | 964 | // ── Response codec ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-rpc/src/ipc.rs | 1007 | // ── Request codec ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-rpc/src/ipc.rs | 1271 | // ── NOW IPC codec ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-str/src/multi_sz.rs | 44 | // ── MultiSzSegmentError ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-str/src/multi_sz.rs | 68 | // ── MultiSzFlatError ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-str/src/multi_sz.rs | 98 | // ── Internal representation ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-str/src/multi_sz.rs | 121 | // ── MultiSzString ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-str/src/multi_sz.rs | 377 | // ── Iterators ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-str/src/multi_sz.rs | 431 | // ── TryFrom, Debug, Clone, PartialEq, Eq ────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-str/src/multi_sz.rs | 475 | // ── Encode / DecodeOwned ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-str/src/fixed.rs | 18 | // ── Error type ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-str/src/fixed.rs | 74 | // ── FixedString ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-str/src/fixed.rs | 296 | // ── Encode / DecodeOwned ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | crates/ironrdp-str/src/prefixed.rs | 398 | // ── DecodeOwned ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-str/src/prefixed.rs | 25 | // ── Sealed trait machinery ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-str/src/prefixed.rs | 31 | // ── Length prefix markers ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ironrdp-str/src/prefixed.rs | 130 | // ── Null terminator markers ─────────────────────────────────────────────────── | COMMENT |
| 42 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | crates/ironrdp-testsuite-core/tests/server/acceptor.rs | 36 | // Step 1: feed the connection request (HYBRID | HYBRID_EX, no SSL) | COMMENT |
| LOW⚡ | crates/ironrdp-testsuite-core/tests/server/acceptor.rs | 42 | // Step 2: acceptor tries to send confirm, finds no common protocol | COMMENT |
| LOW⚡ | …-core/tests/clipboard/delayed_rendering_integration.rs | 116 | // Step 1: Simulate remote sending FormatList with FileGroupDescriptorW | COMMENT |
| LOW⚡ | …-core/tests/clipboard/delayed_rendering_integration.rs | 126 | // Step 2: Process the FormatList - should store format but NOT request file list yet | COMMENT |
| LOW⚡ | …-core/tests/clipboard/delayed_rendering_integration.rs | 170 | // Step 5: Process the FormatDataResponse | COMMENT |
| LOW⚡ | …-core/tests/clipboard/delayed_rendering_integration.rs | 176 | // Step 6: Verify that backend.on_remote_file_list() was called with correct files | COMMENT |
| LOW⚡ | …-core/tests/clipboard/delayed_rendering_integration.rs | 250 | // Step 2: Verify FormatList was sent | COMMENT |
| LOW⚡ | …-core/tests/clipboard/delayed_rendering_integration.rs | 253 | // Step 3: Simulate remote sending FormatDataRequest for our file list | COMMENT |
| LOW⚡ | …-core/tests/clipboard/delayed_rendering_integration.rs | 261 | // Step 4: Verify FormatDataResponse with file list was sent | COMMENT |
| LOW | …-core/tests/clipboard/delayed_rendering_integration.rs | 141 | // Step 3: User initiates paste for FileGroupDescriptorW format | COMMENT |
| LOW | …-core/tests/clipboard/delayed_rendering_integration.rs | 152 | // Step 4: Simulate remote sending FormatDataResponse with file list | COMMENT |
| LOW | …-core/tests/clipboard/delayed_rendering_integration.rs | 236 | // Step 1: Client initiates file copy | COMMENT |
| LOW⚡ | crates/ironrdp-str/src/prefixed.rs | 402 | // Step 1: Read the raw prefix value. | COMMENT |
| LOW⚡ | crates/ironrdp-str/src/prefixed.rs | 406 | // Step 2: Convert the raw prefix to a code-unit count on the wire. | COMMENT |
| LOW⚡ | crates/ironrdp-str/src/prefixed.rs | 436 | // Step 4: Read content code units (bulk copy, convert LE bytes to u16 values). | COMMENT |
| LOW⚡ | crates/ironrdp-str/src/prefixed.rs | 444 | // Step 5: Read and validate the null terminator if the format requires one on the wire. | COMMENT |
| LOW | crates/ironrdp-str/src/prefixed.rs | 419 | // Step 3: Determine content length (code units of actual string content, excluding null). | COMMENT |
| LOW⚡ | crates/ironrdp-graphics/src/progressive.rs | 117 | // Step 1: RLGR1 decode into coefficient buffer. | COMMENT |
| LOW⚡ | crates/ironrdp-graphics/src/progressive.rs | 120 | // Step 2: LL3 differential decoding (reverse delta encoding on last subband). | COMMENT |
| LOW⚡ | crates/ironrdp-graphics/src/progressive.rs | 123 | // Step 3: Reconstruct DecDwtQ by multiplying by the progressive quantization factor. | COMMENT |
| LOW⚡ | crates/ironrdp-graphics/src/progressive.rs | 126 | // Step 4: Capture sign state for subsequent upgrade passes. | COMMENT |
| LOW⚡ | crates/ironrdp-graphics/src/progressive.rs | 334 | // Step 1: Forward DWT | COMMENT |
| LOW⚡ | crates/ironrdp-graphics/src/progressive.rs | 341 | // Step 2: Base quantization (scale by 2^(quant - 6)) | COMMENT |
| LOW⚡ | crates/ironrdp-graphics/src/progressive.rs | 344 | // Step 3: Progressive quantization (right-shift by BitPos) | COMMENT |
| LOW⚡ | crates/ironrdp-graphics/src/progressive.rs | 347 | // Step 4: LL3 delta encoding | COMMENT |
| LOW⚡ | crates/ironrdp-graphics/src/progressive.rs | 350 | // Step 5: RLGR1 entropy encode | COMMENT |
| LOW⚡ | crates/ironrdp-web/src/clipboard.rs | 1732 | // Step 1: Remote clipboard changed with text + file | COMMENT |
| LOW⚡ | crates/ironrdp-web/src/clipboard.rs | 1741 | // Step 2: Should get SendInitiatePaste for text first | COMMENT |
| LOW⚡ | crates/ironrdp-web/src/clipboard.rs | 1749 | // Step 3: Simulate FormatDataResponse for text (null-terminated UTF-16LE "hi") | COMMENT |
| LOW⚡ | crates/ironrdp-web/src/clipboard.rs | 1756 | // Step 4: After text is done, should get SendInitiatePaste for file format | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 30 | // Step 1: Connect WebSocket to gateway | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 35 | // Step 2: Get client local address from the WebSocket connection | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 40 | // Step 3: Setup ClientConnector | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 44 | // Step 4: Perform RDCleanPath handshake | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 49 | // Step 5: Mark security upgrade as done (WebSocket already has TLS) | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 52 | // Step 6: Finalize connection | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 72 | // Step 1: Generate X.224 Connection Request | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 79 | // Step 2: Create and send RDCleanPath Request | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 87 | // Step 3: Read RDCleanPath Response | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 92 | // Step 4: Determine response type and handle accordingly | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | crates/ironrdp-testsuite-core/tests/server/acceptor.rs | 36 | // Step 1: feed the connection request (HYBRID | HYBRID_EX, no SSL) | COMMENT |
| LOW⚡ | crates/ironrdp-testsuite-core/tests/server/acceptor.rs | 42 | // Step 2: acceptor tries to send confirm, finds no common protocol | COMMENT |
| LOW⚡ | …-core/tests/clipboard/delayed_rendering_integration.rs | 116 | // Step 1: Simulate remote sending FormatList with FileGroupDescriptorW | COMMENT |
| LOW⚡ | …-core/tests/clipboard/delayed_rendering_integration.rs | 126 | // Step 2: Process the FormatList - should store format but NOT request file list yet | COMMENT |
| LOW⚡ | …-core/tests/clipboard/delayed_rendering_integration.rs | 170 | // Step 5: Process the FormatDataResponse | COMMENT |
| LOW⚡ | …-core/tests/clipboard/delayed_rendering_integration.rs | 176 | // Step 6: Verify that backend.on_remote_file_list() was called with correct files | COMMENT |
| LOW⚡ | …-core/tests/clipboard/delayed_rendering_integration.rs | 250 | // Step 2: Verify FormatList was sent | COMMENT |
| LOW⚡ | …-core/tests/clipboard/delayed_rendering_integration.rs | 253 | // Step 3: Simulate remote sending FormatDataRequest for our file list | COMMENT |
| LOW⚡ | …-core/tests/clipboard/delayed_rendering_integration.rs | 261 | // Step 4: Verify FormatDataResponse with file list was sent | COMMENT |
| LOW | …-core/tests/clipboard/delayed_rendering_integration.rs | 141 | // Step 3: User initiates paste for FileGroupDescriptorW format | COMMENT |
| LOW | …-core/tests/clipboard/delayed_rendering_integration.rs | 152 | // Step 4: Simulate remote sending FormatDataResponse with file list | COMMENT |
| LOW | …-core/tests/clipboard/delayed_rendering_integration.rs | 236 | // Step 1: Client initiates file copy | COMMENT |
| LOW⚡ | crates/ironrdp-str/src/prefixed.rs | 402 | // Step 1: Read the raw prefix value. | COMMENT |
| LOW⚡ | crates/ironrdp-str/src/prefixed.rs | 406 | // Step 2: Convert the raw prefix to a code-unit count on the wire. | COMMENT |
| LOW⚡ | crates/ironrdp-str/src/prefixed.rs | 436 | // Step 4: Read content code units (bulk copy, convert LE bytes to u16 values). | COMMENT |
| LOW⚡ | crates/ironrdp-str/src/prefixed.rs | 444 | // Step 5: Read and validate the null terminator if the format requires one on the wire. | COMMENT |
| LOW | crates/ironrdp-str/src/prefixed.rs | 419 | // Step 3: Determine content length (code units of actual string content, excluding null). | COMMENT |
| LOW⚡ | crates/ironrdp-graphics/src/progressive.rs | 117 | // Step 1: RLGR1 decode into coefficient buffer. | COMMENT |
| LOW⚡ | crates/ironrdp-graphics/src/progressive.rs | 120 | // Step 2: LL3 differential decoding (reverse delta encoding on last subband). | COMMENT |
| LOW⚡ | crates/ironrdp-graphics/src/progressive.rs | 123 | // Step 3: Reconstruct DecDwtQ by multiplying by the progressive quantization factor. | COMMENT |
| LOW⚡ | crates/ironrdp-graphics/src/progressive.rs | 126 | // Step 4: Capture sign state for subsequent upgrade passes. | COMMENT |
| LOW⚡ | crates/ironrdp-graphics/src/progressive.rs | 334 | // Step 1: Forward DWT | COMMENT |
| LOW⚡ | crates/ironrdp-graphics/src/progressive.rs | 341 | // Step 2: Base quantization (scale by 2^(quant - 6)) | COMMENT |
| LOW⚡ | crates/ironrdp-graphics/src/progressive.rs | 344 | // Step 3: Progressive quantization (right-shift by BitPos) | COMMENT |
| LOW⚡ | crates/ironrdp-graphics/src/progressive.rs | 347 | // Step 4: LL3 delta encoding | COMMENT |
| LOW⚡ | crates/ironrdp-graphics/src/progressive.rs | 350 | // Step 5: RLGR1 entropy encode | COMMENT |
| LOW⚡ | crates/ironrdp-web/src/clipboard.rs | 1732 | // Step 1: Remote clipboard changed with text + file | COMMENT |
| LOW⚡ | crates/ironrdp-web/src/clipboard.rs | 1741 | // Step 2: Should get SendInitiatePaste for text first | COMMENT |
| LOW⚡ | crates/ironrdp-web/src/clipboard.rs | 1749 | // Step 3: Simulate FormatDataResponse for text (null-terminated UTF-16LE "hi") | COMMENT |
| LOW⚡ | crates/ironrdp-web/src/clipboard.rs | 1756 | // Step 4: After text is done, should get SendInitiatePaste for file format | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 30 | // Step 1: Connect WebSocket to gateway | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 35 | // Step 2: Get client local address from the WebSocket connection | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 40 | // Step 3: Setup ClientConnector | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 44 | // Step 4: Perform RDCleanPath handshake | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 49 | // Step 5: Mark security upgrade as done (WebSocket already has TLS) | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 52 | // Step 6: Finalize connection | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 72 | // Step 1: Generate X.224 Connection Request | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 79 | // Step 2: Create and send RDCleanPath Request | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 87 | // Step 3: Read RDCleanPath Response | COMMENT |
| LOW⚡ | …otnet/Devolutions.IronRdp/src/RDCleanPathConnection.cs | 92 | // Step 4: Determine response type and handle accordingly | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crates/ironrdp-rdpsnd/Cargo.toml | 25 | # integration testsuite (the lib has no inline test harness — `test = false`). | COMMENT |
| MEDIUM | crates/ironrdp-rdcleanpath/src/lib.rs | 405 | /// Helper enum to leverage Rust pattern matching feature. | COMMENT |
| MEDIUM | …-client/iron-svelte-client/static/beercss/beer.min.css | 1 | @import"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:FILL@0..1&family=Roboto:wght@300;400;500&disp | CODE |
| MEDIUM | …iron-remote-desktop-rdp/src/RdpFileTransferProvider.ts | 1518 | // Track cumulative bytes served per file for robust completion | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/pr-automation/write-state.js | 134 | async function ensureClassificationCheck(github, owner, repo, prNumber, expectedSha, check) { | CODE |
| LOW | .github/pr-automation/write-state.js | 175 | async function dispatchClassificationComplete(github, owner, repo, prNumber, expectedSha) { | CODE |
| LOW | .github/pr-automation/resolve-state.js | 107 | function resolveClassificationState({ | CODE |
| LOW | .github/actions/resilient-review-output/validate.js | 31 | function changedPathsFromRepository(repository) { | CODE |
| LOW | web-client/iron-remote-desktop-rdp/src/extensions.ts | 17 | export function fileContentsRequestCallback( | CODE |
| LOW | web-client/iron-remote-desktop-rdp/src/extensions.ts | 30 | export function fileContentsResponseCallback( | CODE |
| LOW | web-client/iron-remote-desktop-rdp/src/extensions.ts | 48 | export function formatListResponseCallback(cb: (ok: boolean) => void): Extension { | CODE |
| LOW | …nt/iron-remote-desktop-rdp/src/storage/storage.test.ts | 83 | function createMockDirectoryHandle(name: string, children?: Map<string, MockEntry>): FileSystemDirectoryHandle { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crates/ironrdp-agent/src/lib.rs | 5 | //! A CLI-driven agentic RDP client. | COMMENT |
| MEDIUM | crates/ironrdp-connector/Cargo.toml | 31 | rand = { version = "0.9", features = ["std"] } # TODO: dependency injection? | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/release-crates.yml | 10 | # Create a PR with the new versions and changelog, preparing the next release. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/ironrdp/examples/screenshot.rs | 11 | //! # Usage example | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/workflows/npm-publish.yml | 154 | # Check if this version exists on npm; exit code 0 means it does. | COMMENT |