Example #1
0
DWORD
VmwDeployGetHostname(
    PSTR* ppszHostname
    )
{
    DWORD dwError = 0;
    CHAR  szHostname[HOST_NAME_MAX + 1] = "";
    PSTR  pszHostname = NULL;

    if (gethostname(szHostname, sizeof(szHostname)-1) < 0)
    {
        dwError = LwErrnoToWin32Error(errno);
        BAIL_ON_DEPLOY_ERROR(dwError);
    }

    dwError = VmwDeployAllocateStringA(szHostname, &pszHostname);
    BAIL_ON_DEPLOY_ERROR(dwError);

    *ppszHostname = pszHostname;

cleanup:

    return dwError;

error:

    *ppszHostname = NULL;

    goto cleanup;
}
Example #2
0
static
DWORD
VmwDeployGetVmDirConfigPath(
    PSTR* ppszPath
    )
{
    DWORD dwError = 0;
    PSTR  pszPath = NULL;

    dwError = VmwDeployAllocateStringA(
                    VMDIR_CONFIG_PATH,
                    &pszPath);
    BAIL_ON_DEPLOY_ERROR(dwError);

    *ppszPath = pszPath;

cleanup:

    return dwError;

error:

    *ppszPath = NULL;

    goto cleanup;
}
Example #3
0
DWORD
VmwDeployGetPartnerSiteName(
    PCSTR pszServer,
    PSTR* ppszSite
    )
{
    DWORD dwError = 0;
    PSTR  pszVmDirSite = NULL;
    PSTR  pszSite = NULL;

    if (IsNullOrEmptyString(pszServer))
    {
        dwError = ERROR_INVALID_PARAMETER;
        BAIL_ON_DEPLOY_ERROR(dwError);
    }

    dwError = VmDirGetPartnerSiteName(pszServer, &pszVmDirSite);
    BAIL_ON_DEPLOY_ERROR(dwError);

    dwError = VmwDeployAllocateStringA(pszVmDirSite, &pszSite);
    BAIL_ON_DEPLOY_ERROR(dwError);

    *ppszSite = pszSite;

cleanup:

    if (pszVmDirSite)
    {
        VmDirFreeMemory(pszVmDirSite);
    }

    return dwError;

error:

    if (ppszSite)
    {
        *ppszSite = NULL;
    }

    goto cleanup;
}
Example #4
0
static
DWORD
VmwDeployBuildParams(
    PCSTR pszDomain,
    PCSTR pszUsername,
    PCSTR pszPassword,
    PCSTR pszPartner,
    PCSTR pszSite,
    PCSTR pszSubjectAltName,
    PCSTR pszParentDomain,
    PCSTR pszParentDC,
    PCSTR pszParentUserName,
    PCSTR pszParentPassword,
    PVMW_IC_SETUP_PARAMS* ppSetupParams
    )
{
    DWORD dwError = 0;
    PVMW_IC_SETUP_PARAMS pSetupParams = NULL;
    PSTR pszPassword1 = NULL;
    PSTR pszHostname = NULL;

    dwError = VmwDeployAllocateMemory(
                    sizeof(*pSetupParams),
                    (VOID*)&pSetupParams);
    BAIL_ON_DEPLOY_ERROR(dwError);

    if (IsNullOrEmptyString(pszPartner))
    {
        pSetupParams->dir_svc_mode = VMW_DIR_SVC_MODE_STANDALONE;
    }
    else
    {
        pSetupParams->dir_svc_mode = VMW_DIR_SVC_MODE_PARTNER;

        dwError = VmwDeployAllocateStringA(
                        pszPartner,
                        &pSetupParams->pszServer);
        BAIL_ON_DEPLOY_ERROR(dwError);
    }

    dwError = VmwDeployGetHostname(&pszHostname);
    BAIL_ON_DEPLOY_ERROR(dwError);

    if (IsNullOrEmptyString(pszDomain))
    {
        pszDomain = VMW_DEFAULT_DOMAIN_NAME;
    }

    if (!strchr(pszHostname, '.'))
    {
        dwError = VmwDeployAllocateStringPrintf(
                        &pSetupParams->pszHostname,
                        "%s.%s",
                        pszHostname,
                        pszDomain);
        BAIL_ON_DEPLOY_ERROR(dwError);
    }
    else
    {
        dwError = VmwDeployAllocateStringA(
                        pszHostname,
                        &pSetupParams->pszHostname);
        BAIL_ON_DEPLOY_ERROR(dwError);
    }

    if (!pszUsername)
    {
        pszUsername = VMW_ADMIN_NAME;
    }

    if (IsNullOrEmptyString(pszPassword))
    {
        dwError = VmwDeployReadPassword(
                        pszUsername,
                        pszDomain,
                        &pszPassword1);
        BAIL_ON_DEPLOY_ERROR(dwError);

        pszPassword = pszPassword1;
    }

    if (!IsNullOrEmptyString(pszSubjectAltName))
    {
        dwError = VmwDeployAllocateStringA(
                        pszSubjectAltName,
                        &pSetupParams->pszSubjectAltName);
        BAIL_ON_DEPLOY_ERROR(dwError);
    }

    dwError = VmwDeployAllocateStringA(pszDomain, &pSetupParams->pszDomainName);
    BAIL_ON_DEPLOY_ERROR(dwError);

    dwError = VmwDeployAllocateStringA(pszUsername, &pSetupParams->pszUsername);
    BAIL_ON_DEPLOY_ERROR(dwError);

    dwError = VmwDeployAllocateStringA(pszPassword, &pSetupParams->pszPassword);
    BAIL_ON_DEPLOY_ERROR(dwError);

    if (pszSite)
    {
        dwError = VmwDeployAllocateStringA(pszSite, &pSetupParams->pszSite);
        BAIL_ON_DEPLOY_ERROR(dwError);
    }

    if (pszParentDomain)
    {
        dwError = VmwDeployAllocateStringA(pszParentDomain, &pSetupParams->pszParentDomainName);
        BAIL_ON_DEPLOY_ERROR(dwError);
    }

    if (pszParentDC)
    {
        dwError = VmwDeployAllocateStringA(pszParentDC, &pSetupParams->pszParentDC);
        BAIL_ON_DEPLOY_ERROR(dwError);
    }

    if (pszParentUserName)
    {
        dwError = VmwDeployAllocateStringA(pszParentUserName, &pSetupParams->pszParentUserName);
        BAIL_ON_DEPLOY_ERROR(dwError);
    }

    if (pszParentPassword)
    {
        dwError = VmwDeployAllocateStringA(pszParentPassword, &pSetupParams->pszParentPassword);
        BAIL_ON_DEPLOY_ERROR(dwError);
    }

    *ppSetupParams = pSetupParams;

cleanup:

    if (pszPassword1)
    {
        VmwDeployFreeMemory(pszPassword1);
    }
    if (pszHostname)
    {
        VmwDeployFreeMemory(pszHostname);
    }

    return dwError;

error:

    *ppSetupParams = NULL;

    if (pSetupParams)
    {
        VmwDeployFreeSetupParams(pSetupParams);
    }

    goto cleanup;
}
Example #5
0
static
DWORD
VmwDeployBuildParams(
    PCSTR pszUsername,
    PCSTR pszPassword,
    PCSTR pszSite,
    PVMW_IC_SETUP_PARAMS* ppSetupParams
    )
{
    DWORD dwError = 0;
    PVMW_IC_SETUP_PARAMS pSetupParams = NULL;
    PSTR pszPassword1 = NULL;

    dwError = VmwDeployAllocateMemory(
                    sizeof(*pSetupParams),
                    (VOID*)&pSetupParams);
    BAIL_ON_DEPLOY_ERROR(dwError);

    if (IsNullOrEmptyString(pszUsername))
    {
        pszUsername = VMW_ADMIN_NAME;
    }

    if (IsNullOrEmptyString(pszPassword))
    {
        dwError = VmwDeployReadPassword(
                        pszUsername,
                        NULL,
                        &pszPassword1);
        BAIL_ON_DEPLOY_ERROR(dwError);

        pszPassword = pszPassword1;
    }

    dwError = VmwDeployAllocateStringA(pszUsername, &pSetupParams->pszUsername);
    BAIL_ON_DEPLOY_ERROR(dwError);

    dwError = VmwDeployAllocateStringA(pszPassword, &pSetupParams->pszPassword);
    BAIL_ON_DEPLOY_ERROR(dwError);

    if (!IsNullOrEmptyString(pszSite))
    {
        dwError = VmwDeployAllocateStringA(pszSite, &pSetupParams->pszSite);
        BAIL_ON_DEPLOY_ERROR(dwError);
    }
    else
    {
        pSetupParams->pszSite = NULL;
    }

    *ppSetupParams = pSetupParams;

cleanup:

    if (pszPassword1)
    {
        VmwDeployFreeMemory(pszPassword1);
    }

    return dwError;

error:

    *ppSetupParams = NULL;

    if (pSetupParams)
    {
        VmwDeployFreeSetupParams(pSetupParams);
    }

    goto cleanup;
}