Skip to content

v2023.2.2

Compare
Choose a tag to compare
@devolutionsbot devolutionsbot released this 27 Jun 19:56
· 519 commits to master since this release

Features

Improvements

  • dgw: durations in seconds in ngrok config (#485)

    Previously, a Duration was deserialized from a string
    using the humantime_serde crate. With this patch, the duration
    is specified in seconds using an integer.

    In other words, this code:

    #[serde(default, skip_serializing_if = "Option::is_none", with = "humantime_serde")]
    pub heartbeat_interval: Option<Duration>,

    Is changed into this:

    #[serde(skip_serializing_if = "Option::is_none")]
    pub heartbeat_interval: Option<u64>,
  • dgw: make Ngrok listeners appear in configuration diagnostic (#485)

Bug Fixes

  • dgw: truncated payload after PCB reading (#483) (875967f15b) (DGW-97)

    Too many bytes are consumed when PCB string is missing the
    null-terminator.

    Indeed, until now the number of bytes to consume was found by computing
    the size of the previously decoded PCB when re-encoded.
    IronRDP will always encode PCB string with a null-terminator (just like
    mstcs client). This is generally correct, but will cause payload
    truncation when the received PCB string did not originally contain
    the null-terminator.

    This patch is changing this. The "cursor API" is used instead, and
    cursor position after reading the PCB can be used to find the number of
    bytes actually read (even if re-encoding the PDU would give a different
    result).

Continuous Integration

Build