Ejemplo n.º 1
0
static
DWORD
VmAfdVmDirClientInit(
    VOID)
{
    DWORD dwError = 0;
    CHAR pszPath[VMAFD_PATH_MAX];

    dwError = VmDirGetVmDirLogPath(pszPath, "vmafdvmdirclient.log");
    BAIL_ON_VMAFD_ERROR(dwError);

    VmDirLogInitialize( pszPath, FALSE, NULL, VMDIR_LOG_INFO, VMDIR_LOG_MASK_ALL);

error:

    return dwError;
}
Ejemplo n.º 2
0
static
int
VmDirMain(
    int argc,
    char* argv[]
    )
{
    DWORD   dwError = 0;
    CHAR    pszPath[MAX_PATH];
    PSTR   pszServerName = NULL;
    PSTR   pszUserName = NULL;
    PSTR   pszPassword = NULL;
    CHAR   pszPasswordBuf[VMDIR_MAX_PWD_LEN + 1] = {0};
    PSTR   pszErrorMessage = NULL;

#ifndef _WIN32
    setlocale(LC_ALL, "");
#endif

    dwError = VmDirGetVmDirLogPath(pszPath, "vdcleavefed.log");
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirLogInitialize( pszPath, FALSE, NULL, VMDIR_LOG_INFO, VMDIR_LOG_MASK_ALL );
    BAIL_ON_VMDIR_ERROR(dwError);

    VmDirLogSetLevel( VMDIR_LOG_VERBOSE );

    dwError = VmDirParseArgs( argc, argv, &pszServerName, &pszUserName, &pszPassword);
    if (dwError != 0)
    {
        ShowUsage();
        BAIL_ON_VMDIR_ERROR(dwError);
    }

    if (pszUserName == NULL)
    {
        //Must use administrator as userName
        ShowUsage();
        BAIL_ON_VMDIR_ERROR(dwError);
    }

    if (pszPassword == NULL)
    {
        // read password from stdin
        VmDirReadString(
            "password: "******"vdcleavefd for local server\n");
        dwError = _VdcSetReadOnlyState();
        BAIL_ON_VMDIR_ERROR(dwError);
    } else
    {
         printf("vdcleavefd offline for server %s\n", pszServerName);
    }

    dwError = VmDirLeaveFederation(pszServerName, pszUserName, pszPassword);
    BAIL_ON_VMDIR_ERROR(dwError);

    printf(" Leave federation cleanup done\n");

cleanup:

    memset(pszPasswordBuf, 0, sizeof(pszPasswordBuf));
    VMDIR_SAFE_FREE_MEMORY(pszErrorMessage);

    VmDirLogTerminate();
    return dwError;

error:
    VmDirGetErrorMessage(dwError, &pszErrorMessage);
    printf("Leave federation cleanup failed. Error[%d] - %s\n",
        dwError, ( pszErrorMessage ) ? pszErrorMessage : "");

    goto cleanup;
}
Ejemplo n.º 3
0
static
int
VmDirMain(int argc, char* argv[])
{
    DWORD       dwError = 0;
    DWORD       i       = 0;
    PSTR        pszFeatureSet  = NULL;
    PSTR        pszSrcHostName = NULL;
    PSTR        pszSrcPort     = NULL;
    PSTR        pszSrcUserName = NULL;
    PSTR        pszSrcPassword = NULL;
    PSTR        pszTgtHostName = NULL;
    PSTR        pszTgtPort     = NULL;
    BOOLEAN     bVerbose       = FALSE;
    BOOLEAN     bTwoWayRepl    = FALSE;
    PSTR        pszErrMsg      = NULL;
    CHAR        pszPasswordBuf[VMDIR_MAX_PWD_LEN + 1] = {0};

    PVMDIR_REPL_PARTNER_INFO    pReplPartnerInfo       = NULL;
    PVMDIR_REPL_PARTNER_STATUS  pReplPartnerStatus     = NULL;
    PVMDIR_SERVER_INFO          pServerInfo            = NULL;
    DWORD                       dwReplPartnerInfoCount = 0;
    DWORD                       dwReplPartnerStatusCount = 0;
    DWORD                       dwServerInfoCount      = 0;

    CHAR        pszPath[MAX_PATH];

#ifndef _WIN32
    setlocale(LC_ALL,"");
#endif

    dwError = VmDirGetVmDirLogPath(pszPath, "vdcrepadmin.log");
    BAIL_ON_VMDIR_ERROR(dwError);
    dwError = VmDirLogInitialize(pszPath, FALSE, NULL, VMDIR_LOG_INFO, VMDIR_LOG_MASK_ALL );
    BAIL_ON_VMDIR_ERROR(dwError);

    //get commandline parameters
    dwError = VmDirParseArgs(
                    argc,
                    argv,
                    &pszFeatureSet,
                    &bTwoWayRepl,
                    &pszSrcHostName,
                    &pszSrcPort,
                    &pszSrcUserName,
                    &pszSrcPassword,
                    &pszTgtHostName,
                    &pszTgtPort,
                    &bVerbose
                    );

    if (bVerbose)
    {
        VmDirSetLogLevel( "VERBOSE" );
    }

    if (dwError)
    {
        ShowUsage();
        goto cleanup;
    }

    if (pszSrcPassword == NULL)
    {
        // read passowrd from stdin
        VmDirReadString("password: "******"Vdcrepadmin failed. Error [%s] [%d]\n", VDIR_SAFE_STRING(pszErrMsg),dwError);
    goto cleanup;
}
Ejemplo n.º 4
0
int
VmDirMain(int argc, char* argv[])
    {
    DWORD   dwError              = 0;

    PSTR    pszUserName          = NULL;
    PSTR    pszPartnerHost       = NULL;
    PSTR    pszPassword          = NULL;
    PSTR    pszPasswordBuf       = NULL;

    CHAR    pszPath[MAX_PATH];
    CHAR    pszLocalHostName[VMDIR_MAX_HOSTNAME_LEN] = {0};
#ifndef _WIN32
    setlocale(LC_ALL,"");
#endif

    dwError = VmDirGetVmDirLogPath(pszPath, "vdcresetMachineActCred.log");
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirLogInitialize(pszPath, FALSE, NULL, VMDIR_LOG_INFO, VMDIR_LOG_MASK_ALL );
    BAIL_ON_VMDIR_ERROR(dwError);

    //get commandline parameters
    dwError = VmDirParseArgs(argc,
                             argv,
                             &pszUserName,
                             &pszPartnerHost,
                             &pszPassword);

    if ( dwError )
    {
        ShowUsage();
        goto cleanup;
    }

    dwError = VmDirAllocateMemory(VMDIR_MAX_PWD_LEN+1, (PVOID *)&pszPasswordBuf);
    BAIL_ON_VMDIR_ERROR(dwError);

    if ( pszPassword != NULL )
    {
        dwError = VmDirStringCpyA(pszPasswordBuf, VMDIR_MAX_PWD_LEN, pszPassword);
        BAIL_ON_VMDIR_ERROR(dwError);
    }
    else
    //no password, read password from stdin
    {
        VmDirReadString("password: "******"vdcresetMachineActCred completed.\n");

    VMDIR_LOG_INFO( VMDIR_LOG_MASK_ALL, "vdcresetMachineActCred completed.");

cleanup:
    VMDIR_SAFE_FREE_MEMORY(pszPasswordBuf);
    VmDirLogTerminate();

    return dwError;

error:
    printf("vdcresetMachineActCred failed. Error[%d]\n", dwError);
    goto cleanup;
    }
Ejemplo n.º 5
0
int
main(
   int     argc,
   char  * argv[])
{
    DWORD        dwError = 0;
    const char * logFileName = NULL;
    const char * pszBootstrapSchemaFile = NULL;
    const char * pszStateDir = VMDIR_DB_DIR VMDIR_PATH_SEP;
    BOOLEAN      bEnableSysLog = FALSE;
    BOOLEAN      bConsoleMode = FALSE;
    int          iLocalLogMask = 0;
    BOOLEAN      bVmDirInit = FALSE;
    BOOLEAN      bShutdownKDCService = FALSE;
    BOOLEAN      bWaitTimeOut = FALSE;

    dwError = VmDirSrvUpdateConfig();
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirParseArgs(
                    argc,
                    argv,
                    &pszBootstrapSchemaFile,
                    &iLocalLogMask,
                    &logFileName,
                    &bEnableSysLog,
                    &bConsoleMode);
    if(dwError != ERROR_SUCCESS)
    {
        ShowUsage( argv[0] );
        BAIL_ON_VMDIR_ERROR(dwError);
    }

    dwError = VmDirAllocateStringA(
            pszBootstrapSchemaFile,
            &gVmdirGlobals.pszBootStrapSchemaFile);
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirAllocateStringA(pszStateDir, &gVmdirGlobals.pszBDBHome);
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirLogInitialize( logFileName, bEnableSysLog, "vmdird", VMDIR_LOG_INFO, iLocalLogMask);
    BAIL_ON_VMDIR_ERROR(dwError);

    VmDirdStateSet(VMDIRD_STATE_STARTUP);
    VMDIR_LOG_INFO( VMDIR_LOG_MASK_ALL, "Lotus Vmdird: starting...");

    VmDirBlockSelectedSignals();

    dwError = VmDirSetEnvironment();
    BAIL_ON_VMDIR_ERROR(dwError);

    dwError = VmDirInit();
    BAIL_ON_VMDIR_ERROR(dwError);
    bVmDirInit = TRUE;

    VMDIR_LOG_INFO( VMDIR_LOG_MASK_ALL, "Lotus Vmkdcd: starting...");


    if (VmDirdGetTargetState() != VMDIRD_STATE_RESTORE)
    {   // Normal server startup route

        dwError = VmKdcServiceStartup();
        BAIL_ON_VMDIR_ERROR(dwError);
        bShutdownKDCService = TRUE;

        VMDIR_LOG_INFO( VMDIR_LOG_MASK_ALL, "Lotus Vmkdcd: running...");

        dwError = VmDirNotifyLikewiseServiceManager();
        BAIL_ON_VMDIR_ERROR(dwError);

        VmDirdStateSet( VmDirdGetTargetState() );
        VMDIR_LOG_INFO( VMDIR_LOG_MASK_ALL,
                        "Lotus Vmdird: running... state (%d)",
                        VmDirdState());

        // main thread waits on signals
        dwError = VmDirHandleSignals();
        BAIL_ON_VMDIR_ERROR(dwError);
    }

    VMDIR_LOG_INFO( VMDIR_LOG_MASK_ALL, "Lotus Vmdird: exiting..." );

cleanup:

    if ( bShutdownKDCService )
    {
        VmKdcServiceShutdown();
        VMDIR_LOG_INFO( VMDIR_LOG_MASK_ALL, "Lotus Vmkdcd: stop" );
    }

    if ( bVmDirInit )
    {
        VmDirdStateSet(VMDIRD_STATE_SHUTDOWN);
        VmDirShutdown(&bWaitTimeOut);
        if (bWaitTimeOut)
        {
            VMDIR_LOG_INFO( VMDIR_LOG_MASK_ALL, "Lotus Vmdird: stop" );
            goto done;
        }

        VMDIR_LOG_INFO( VMDIR_LOG_MASK_ALL, "Lotus Vmdird: stop" );
    }

    VmDirLogTerminate();

    VmDirSrvFreeConfig();

done:
    return dwError;

error:
    goto cleanup;
}