コード例 #1
0
ファイル: wkss_cfg.c プロジェクト: bhanug/likewise-open
DWORD
WkssSrvReadRegistry(
    PWKSS_SRV_CONFIG pConfig
    )
{
    DWORD dwError = 0;

    PLSA_CONFIG_REG pReg = NULL;

    dwError = LsaOpenConfig(
                "Services\\lsass\\Parameters\\RPCServers\\wkssvc",
                "Policy\\Services\\lsass\\Parameters\\RPCServers\\wkssvc",
                &pReg);
    BAIL_ON_LSA_ERROR(dwError);

    if (!pReg)
    {
        goto error;
    }

    dwError = LsaReadConfigString(
                pReg,
                "LpcSocketPath",
                FALSE,
                &pConfig->pszLpcSocketPath,
                NULL);
    BAIL_ON_LSA_ERROR(dwError);

    dwError = LsaReadConfigBoolean(
                pReg,
                "RegisterTcpIp",
                TRUE,
                &pConfig->bRegisterTcpIp);
    BAIL_ON_LSA_ERROR(dwError);

    LsaCloseConfig(pReg);
    pReg = NULL;

    dwError = LsaOpenConfig(
                "Services\\lsass\\Parameters\\RPCServers\\lsarpc",
                "Policy\\Services\\lsass\\Parameters\\RPCServers\\lsarpc",
                &pReg);
    BAIL_ON_LSA_ERROR(dwError);

    if (!pReg)
    {
        goto error;
    }

    dwError = LsaReadConfigString(
                pReg,
                "LpcSocketPath",
                FALSE,
                &pConfig->pszLsaLpcSocketPath,
                NULL);
    BAIL_ON_LSA_ERROR(dwError);

    LsaCloseConfig(pReg);
    pReg = NULL;

cleanup:
    return dwError;

error:
    LsaCloseConfig(pReg);
    pReg = NULL;

    goto cleanup;
}
コード例 #2
0
ファイル: rpc_server.c プロジェクト: FarazShaikh/LikewiseSMB2
static
DWORD
LsaRpcReadServer(
    PCSTR   pszServerName,
    PCSTR   pszServerKey,
    PLSA_RPC_SERVER *ppRpcSrvList
    )
{
    DWORD dwError = 0;

    PLSA_CONFIG_REG pReg = NULL;

    PLSA_RPC_SERVER pRpcSrv = NULL;

    PSTR pszPath = NULL;

    dwError = LsaOpenConfig(
                pszServerKey,
                pszServerKey,
                &pReg);
    BAIL_ON_LSA_ERROR(dwError);

    if (pReg == NULL)
    {
        goto error;
    }

    dwError = LsaReadConfigString(
                pReg,
                "Path",
                FALSE,
                &pszPath,
                NULL);
    BAIL_ON_LSA_ERROR(dwError);

    if(!LW_IS_NULL_OR_EMPTY_STR(pszPath))
    {
        dwError = LwAllocateMemory(
                    sizeof(LSA_RPC_SERVER),
                    (PVOID*)&pRpcSrv);
        BAIL_ON_LSA_ERROR(dwError);

        pRpcSrv->pszSrvLibPath = pszPath;
        pszPath = NULL;

        dwError = LwAllocateString(pszServerName, &pRpcSrv->pszName);
        BAIL_ON_LSA_ERROR(dwError);

        LsaSrvAppendRpcServerList(pRpcSrv, ppRpcSrvList);
        pRpcSrv = NULL;
    }

cleanup:

    LsaCloseConfig(pReg);
    pReg = NULL;

    return dwError;

error:
    LW_SAFE_FREE_STRING(pszPath);
    if (pRpcSrv) 
    {
        LsaSrvFreeRpcServer(pRpcSrv);
        pRpcSrv = NULL;
    }

    goto cleanup;
}
コード例 #3
0
ファイル: samr_cfg.c プロジェクト: bhanug/likewise-open
DWORD
SamrSrvReadRegistry(
    PSAMR_SRV_CONFIG pConfig
    )
{
    DWORD dwError = 0;

    PLSA_CONFIG_REG pReg = NULL;

    dwError = LsaOpenConfig(
            "Services\\lsass\\Parameters\\RPCServers\\samr",
            "Policy\\Services\\lsass\\Parameters\\RPCServers\\samr",
            &pReg);
    BAIL_ON_LSA_ERROR(dwError);

    if (!pReg)
    {
        goto error;
    }

    dwError = LsaReadConfigString(
                pReg,
                "LpcSocketPath",
                FALSE,
                &pConfig->pszLpcSocketPath,
                NULL);
    BAIL_ON_LSA_ERROR(dwError);

    dwError = LsaReadConfigString(
                pReg,
                "LoginShellTemplate",
                TRUE,
                &pConfig->pszDefaultLoginShell,
                NULL);
    BAIL_ON_LSA_ERROR(dwError);

    dwError = LsaReadConfigString(
                pReg,
                "HomeDirPrefix",
                TRUE,
                &pConfig->pszHomedirPrefix,
                NULL);
    BAIL_ON_LSA_ERROR(dwError);

    dwError = LsaReadConfigString(
                pReg,
                "HomeDirTemplate",
                TRUE,
                &pConfig->pszHomedirTemplate,
                NULL);
    BAIL_ON_LSA_ERROR(dwError);

    dwError = LsaReadConfigBoolean(
                pReg,
                "RegisterTcpIp",
                TRUE,
                &pConfig->bRegisterTcpIp);
    BAIL_ON_LSA_ERROR(dwError);

cleanup:
    LsaCloseConfig(pReg);
    pReg = NULL;

    return dwError;

error:
    goto cleanup;
}