https://bugs.kde.org/show_bug.cgi?id=526928

yezhiqiu <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #1 from yezhiqiu <[email protected]> ---
Confirming this on:

- OS: Fedora 44 (kernel 7.2.10-200.fc44.x86_64)
- krdp 6.7.5-1.fc44, plasma-workspace 6.7.5-1.fc44 (Wayland session)
- freerdp-libs 3.32.1-1.fc44

Every NLA attempt fails identically, in BOTH authentication modes:

1) System user (PAM) mode — any login fails with:

  [com.winpr.sspi.NTLM] - [ntlm_fetch_ntlm_v2_hash]: Error: Could not find user
in SAM database
  [com.winpr.sspi] - [winpr_AcceptSecurityContext]: AcceptSecurityContext
status SEC_E_NO_CREDENTIALS [0x8009030e]
  [com.freerdp.core.transport] - [transport_accept_nla]: client authentication
failure

2) Configured-users mode (Users= set in krdpserverrc, password stored in
   KWallet, verified readable) — same "Could not find user in SAM database"
   error even when the client sends the exact configured username.

3) Decisive: starting the server with credentials passed directly on the
   command line (no config file and no keychain involved):

     krdpserver -u test -p test1234 --port 3390

   and connecting with "xfreerdp /v:127.0.0.1:3390 /u:test /p:test1234"
   fails with the exact same SAM error. No rdp-sam-* file is ever created
   in $XDG_RUNTIME_DIR, and a WLOG_LEVEL=DEBUG run shows no SAM file being
   written at all.

Disassembly of the installed libKRdp.so.6 (objdump) shows:

- KRdp::RdpConnection::initialize() does call:
      freerdp_settings_set_bool(settings, FreeRDP_RdpSecurity(1090), FALSE)
      freerdp_settings_set_bool(settings, FreeRDP_TlsSecurity(1088), TRUE)
      freerdp_settings_set_bool(settings, FreeRDP_NlaSecurity(1089), FALSE)
  i.e. krdp DOES try to disable NLA — yet the server still runs the
  CredSSP/NTLM acceptor, so this NlaSecurity=false write never takes
  effect on the settings object the nego layer actually consults.

- libKRdp.so.6 does not import freerdp_settings_set_string at all, so
  FreeRDP_NtlmSamFile(1103) is never registered anywhere in this build —
  consistent with every NTLM acceptor run finding no SAM.

Workaround (verified working): connect with NLA disabled on the client
side —
  - xfreerdp /v:host /u:user /p:pass /sec:tls
  - or on Windows, an .rdp file containing "enablecredsspsupport:i:0"
With NLA out of the way, the credentials configured in kcm_krdp are
accepted in onPostConnect() and the session streams normally (verified a
full H.264 session end to end).

So the breakage is isolated to the NLA layer with FreeRDP 3.32.1:
NlaSecurity=false set by krdp has no effect, and no SAM database is ever
registered — making both krdp authentication modes unusable with default
NLA-negotiating clients such as Windows mstsc.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to