Commits on Source 27

  • Fabio Tomat's avatar
    Update Friulian translation · 6e642edf
    Fabio Tomat authored
    6e642edf
  • Ray Strode's avatar
    credentials/file: Lock down credentials.ini file · f759ebe5
    Ray Strode authored
    Right now credentials.ini is protected from prying eyes by the file modes of
    its parent directories.
    
    As an added layer of security this commit makes sure credentials.ini
    itself is also given a restrictive file mode.
    
    Closes: https://gitlab.gnome.org/GNOME/gnome-remote-desktop/-/issues/199
    f759ebe5
  • Pascal Nowack's avatar
    rdp-sam: Use g_mkstemp() instead of mkstemp() to create SAM file · 01139c19
    Pascal Nowack authored
    g_mkstemp() automatically sets CLOEXEC on the created file, so
    avoids the need to do it later explicitly with fcntl.
    
    Minor changes by Ray Strode.
    01139c19
  • Juliano de Souza Camargo's avatar
    3a60771f
  • Efstathios Iosifidis's avatar
    Update Greek translation · fa658bc8
    Efstathios Iosifidis authored
    fa658bc8
  • Guntupalli Karunakar's avatar
    Add Hindi translation · 83eff128
    Guntupalli Karunakar authored
    83eff128
  • Hugo Carvalho's avatar
    Update Portuguese translation · 5ed79324
    Hugo Carvalho authored
    5ed79324
  • Ray Strode's avatar
    daemon-system: Allow list g-r-d user for GDM · f9ee016b
    Ray Strode authored
    Previously GDM shipped d-bus policy to allow gnome-remote-desktop to
    talk to it. This caused two problems:
    
    1. Errors from the bus daemon on systems that don't have g-r-d installed
    2. Hardcoding the username "gnome-remote-desktop" when it's configurable
       on the g-r-d side
    
    This commit adds the necessary policy to the g-r-d side instead.
    f9ee016b
  • Pascal Nowack's avatar
    rdp-routing-token: Fix buffer length check when searching for CR+LF seq · 663ad631
    Pascal Nowack authored
    The routing token, that the remote desktop client submits, MUST end with
    the CR+LF sequence. When gnome-remote-desktop looks for that sequence,
    it currently assumes, that after the CR, the buffer space for the LF
    character is definitely provided.
    A malicious client, however, might not submit further bytes after the CR
    character and thus, gnome-remote-desktop would currently do a
    out-of-bounds buffer read.
    
    Fix this issue, by adjusting the buffer length check to account for the
    situation, that 2 Bytes are actually read, instead of 1.
    663ad631
  • Ray Strode's avatar
    daemon-system: Validate routing token before printing it in debug logs · da7b437a
    Ray Strode authored
    The routing token is "untrusted input" and may contain control
    characters. At the moment, if debugging is enabled, those control
    characters could end up in the journal. That isn't that big of a deal,
    since the journal already masks control characters by default, but
    still it's a little messy.
    
    This commit prevalidates the routing token before adding it to debug
    logs. It also adds a warning if the routing token is invalid and
    prints out an encoded version of it in the debug logs in that case.
    da7b437a
  • Jordi Mas's avatar
    Update Catalan translation · 4b4fd63f
    Jordi Mas authored
    4b4fd63f
  • Ray Strode's avatar
    ctl: Restrict which services can be enabled · 95a61124
    Ray Strode authored
    Right now authenticating for grdctl brings in the ability to enable
    and disable arbitrary systemd services.
    
    grdctl only uses this ability to change one service, but to protect
    against bugs becoming security holes it's not a bad idea to farm
    out the service configuration to a dedicated mechanism.
    
    This commit does just that: introduces a new, minimal
    gnome-remote-desktop-enable-service program that is hardwired to
    enable/disable gnome-remote-desktop, and only for the
    gnome-remote-desktop user.
    
    This program only works for those callers that have
    org.gnome.remotedesktop.configure-system-daemon polkit action.
    
    Closes: https://gitlab.gnome.org/GNOME/gnome-remote-desktop/-/issues/197
    95a61124
  • Pascal Nowack's avatar
    daemon: Fix small style issues · 20625b37
    Pascal Nowack authored
    20625b37
  • Pascal Nowack's avatar
    session-rdp: Make network- and intentional disconnect message more clear · 670dac85
    Pascal Nowack authored
    When the remote desktop client closes the connection,
    gnome-remote-desktop rejects a client, or a disconnect through the
    network happens, gnome-remote-desktop currently outputs a message, that
    it could no check the file descriptor of the client, which is usually
    true. However, this message also confuses users, so that they think that
    gnome-remote-desktop ran into some problem, when in reality it did not.
    
    So, make this disconnection message more clear by actually specifying,
    that the disconnect happened intentionally or by the network, instead of
    stating, that the file descriptor could not be checked.
    670dac85
  • Pascal Nowack's avatar
    session-rdp: Remove unneeded CUDA context push to socket thread · a501ac18
    Pascal Nowack authored
    Since commit [0](rdp: Adapt to layout manager), this is not necessary
    anymore.
    
    [0]: 20aacc1f
    a501ac18
  • Pascal Nowack's avatar
    hwaccel-nvidia: Simplify creation of NVENC sessions · fcbd5fc1
    Pascal Nowack authored
    Avoid large cleanup paths, when the creation of the NVENC session fails
    by making the NvEncEncodeSession struct g_autoptr compatible and use
    this autocleanup, when the actual session creation fails.
    Also use 32-bit integers for the encode-width and encode-height, since
    that is the type that is mostly used for these sizes in
    gnome-remote-desktop.
    fcbd5fc1
  • Pascal Nowack's avatar
    session-rdp: Check whether clients support the DRDYNVC SVC · 8a6df234
    Pascal Nowack authored
    gnome-remote-desktop already requires that, but does not actually check
    that capability. As a result, clients not supporting the DRDYNVC SVC
    would end up at a black screen as the graphics pipeline cannot be
    initialized.
    However, despite checking for this capability, this situation would
    unlikely ever happen, as the DRDYNVC is a direct requirement of the
    graphics pipeline, and thus not sending a Join Request for DRDYNVC would
    be an error in the remote desktop client.
    8a6df234
  • Pascal Nowack's avatar
    rdp-pipewire-stream: Create buffer pool before connecting to the stream · 21175a24
    Pascal Nowack authored
    The buffer pool is required, when the stream becomes active, so ensure
    that it is created first.
    Also remove the NULL check, it is not necessary.
    21175a24
  • Ray Strode's avatar
    utils: Don't fail with path hint of "." · 7647e8fd
    Ray Strode authored
    grd_rewrite_path_to_user_data_dir takes an optional path hint as
    an argument. If the path hint is unsuitable, it's supposed to use
    the passed in fallback path.
    
    There's edge case where an unsuitable path hint fails, instead of
    falls back: '.'.
    
    This commit makes that case properly fall back as well.
    7647e8fd
  • Ray Strode's avatar
    utils: Add new function to test an fd · 851a1c67
    Ray Strode authored
    This commit adds a function for testing the size and type of the
    passed in fd.
    
    This will be useful for adding additional tests to ImportCertificate
    in a subsequent commit.
    851a1c67
  • Ray Strode's avatar
    daemon: Fail ImportCertificate for iffy fds · 750942da
    Ray Strode authored
    ImportCertificate currently trusts the passed in
    file descriptors implicitly.
    
    This is okay from a security perspective because the daemon
    runs with less or equal privileges as the caller.
    
    Still, it makes sense to do some basic checks just for added
    resiliency.
    
    This commit makes sure the private key and certificate are
    no more than a few dozen kilobytes, and their file descriptors
    aren't coming from character devices or anything like that.
    
    Closes: https://gitlab.gnome.org/GNOME/gnome-remote-desktop/-/issues/198
    750942da
  • Balázs Úr's avatar
    Update Hungarian translation · cb6194a1
    Balázs Úr authored
    cb6194a1
  • Ray Strode's avatar
    daemon-system: Rename on_authorize_method · b495ab4e
    Ray Strode authored
    The on_authorize_method function only authorizes rdp server methods, not
    all methods. We really need to authorize handover methods, as well,
    though, and that authorization will happen in a function of its own.
    
    For clarity, this commit renames on_authorize_method to
    on_authorize_rdp_server_method.
    b495ab4e
  • Ray Strode's avatar
    daemon-system: Move get_handover_object_path_for_call up · 1a162658
    Ray Strode authored
    A future commit is going to need to call
    get_handover_object_path_for_call higher up in the code.
    
    As prep work for that, this commit moves the function definition
    (along with the defintion for its helper: get_session_id_of_sender)
    up with only minor spacing/style fixes.
    1a162658
  • Ray Strode's avatar
    daemon-system: Limit Handover access to appropriate user · 9fbaae1a
    Ray Strode authored
    Right now gnome-remote-desktop fails to validate up front that the
    caller of methods on handover objects matches the user associated with
    the session involved with the handover process.
    
    This can lead to an information leak where the system certificate
    and key are exposed to users not using remote desktop.
    
    It can also, in some circumstances, allow one user to take control
    of the RDP connection itself.
    
    This commit adds validation so only the appropriate user of a handover
    object can use it.
    
    CVE-2024-5148
    
    https://gitlab.gnome.org/GNOME/gnome-remote-desktop/-/issues/196
    9fbaae1a
  • Ray Strode's avatar
    build: Bump version to 46.2 · 2551f90a
    Ray Strode authored
    2551f90a
  • Jeremy Bícha's avatar
    New upstream version 46.2 · 8c8c28d0
    Jeremy Bícha authored
    8c8c28d0
Loading
Loading