VirtualBox

Changeset 59133 in vbox for trunk/src/VBox/Runtime/r3/win


Ignore:
Timestamp:
Dec 15, 2015 2:25:23 PM (9 years ago)
Author:
vboxsync
Message:

IPRT/process-win.cpp: Emphasize UPN (User Principal Name) handling on Windows.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/r3/win/process-win.cpp

    r57978 r59133  
    602602 *
    603603 * @returns IPRT status code.
    604  * @param   pwszUser            User name.
     604 * @param   pwszUser            User name. A domain name can be specified (as part of a UPN, User Principal Name),
     605 *                              e.g. "[email protected]".
    605606 * @param   pwszPassword        Password.
    606  * @param   pwszDomain          Domain (not used at the moment).
    607607 * @param   phToken             Pointer to store the logon token.
    608608 */
    609 static int rtProcWinUserLogon(PRTUTF16 pwszUser, PRTUTF16 pwszPassword, PRTUTF16 pwszDomain, HANDLE *phToken)
     609static int rtProcWinUserLogon(PRTUTF16 pwszUser, PRTUTF16 pwszPassword, HANDLE *phToken)
    610610{
    611611    AssertPtrReturn(pwszUser, VERR_INVALID_POINTER);
    612612    AssertPtrReturn(pwszPassword, VERR_INVALID_POINTER);
    613     NOREF(pwszDomain); /** @todo Add domain support! */
    614613
    615614    /*
     
    621620     * is required on older windows versions (NT4, W2K, possibly XP).
    622621     */
    623     PCRTUTF16 pwszDomainToUse = g_enmWinVer < kRTWinOSType_2K ? L"" /* NT4 and older */ : NULL /* Windows 2000 and up */;
     622    PCRTUTF16 pwszDomainNone = g_enmWinVer < kRTWinOSType_2K ? L"" /* NT4 and older */ : NULL /* Windows 2000 and up */;
    624623    BOOL fRc = LogonUserW(pwszUser,
    625                           pwszDomainToUse,
     624                          /* The domain always is passed as part of the UPN (user name). */
     625                          pwszDomainNone,
    626626                          pwszPassword,
    627627                          LOGON32_LOGON_INTERACTIVE,
     
    13041304    DWORD   dwErr       = NO_ERROR;
    13051305    HANDLE  hTokenLogon = INVALID_HANDLE_VALUE;
    1306     int rc = rtProcWinUserLogon(pwszUser, pwszPassword, NULL /* Domain */, &hTokenLogon);
     1306    int rc = rtProcWinUserLogon(pwszUser, pwszPassword, &hTokenLogon);
    13071307    if (RT_SUCCESS(rc))
    13081308    {
     
    16201620        RTENV  hEnvToUse = NIL_RTENV;
    16211621        HANDLE hToken;
    1622         rc = rtProcWinUserLogon(pwszUser, pwszPassword, NULL /* Domain */, &hToken);
     1622        rc = rtProcWinUserLogon(pwszUser, pwszPassword, &hToken);
    16231623        if (RT_SUCCESS(rc))
    16241624        {
     
    20432043                                       dwCreationFlags,
    20442044                                       pwszzBlock,
    2045                                        NULL,          /* pCurrentDirectory */
     2045                                       NULL,         /* pCurrentDirectory */
    20462046                                       &StartupInfo,
    20472047                                       &ProcInfo))
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette