@@ -600,17 +600,6 @@ xrdp_sec_process_logon_info(struct xrdp_sec *self, struct stream *s)
600600 return 1 ;
601601 }
602602 }
603- else if (self -> rdp_layer -> client_info .enable_token_login
604- && len_user > 0
605- && len_password == 0
606- && (sep = g_strchr (self -> rdp_layer -> client_info .username , '\x1f' )) != NULL )
607- {
608- LOG (LOG_LEVEL_DEBUG , "Client supplied a Logon token. Overwriting password with logon token." );
609- g_strncpy (self -> rdp_layer -> client_info .password , sep + 1 ,
610- sizeof (self -> rdp_layer -> client_info .password ) - 1 );
611- self -> rdp_layer -> client_info .username [sep - self -> rdp_layer -> client_info .username ] = '\0' ;
612- self -> rdp_layer -> client_info .rdp_autologin = 1 ;
613- }
614603 else
615604 {
616605 // Skip the password
@@ -620,6 +609,17 @@ xrdp_sec_process_logon_info(struct xrdp_sec *self, struct stream *s)
620609 }
621610 in_uint8s (s , len_password + 2 );
622611 }
612+ if (self -> rdp_layer -> client_info .enable_token_login
613+ && len_user > 0
614+ && len_password == 0
615+ && (sep = g_strchr (self -> rdp_layer -> client_info .username , '\x1f' )) != NULL )
616+ {
617+ LOG (LOG_LEVEL_DEBUG , "Client supplied a Logon token. Overwriting password with logon token." );
618+ g_strncpy (self -> rdp_layer -> client_info .password , sep + 1 ,
619+ sizeof (self -> rdp_layer -> client_info .password ) - 1 );
620+ self -> rdp_layer -> client_info .username [sep - self -> rdp_layer -> client_info .username ] = '\0' ;
621+ self -> rdp_layer -> client_info .rdp_autologin = 1 ;
622+ }
623623 if (self -> rdp_layer -> client_info .domain_user_separator [0 ] != '\0'
624624 && self -> rdp_layer -> client_info .domain [0 ] != '\0' )
625625 {
0 commit comments