diff options
| author | Nathan Kinder <nkinder@redhat.com> | 2006-08-28 18:17:26 +0000 |
|---|---|---|
| committer | Nathan Kinder <nkinder@redhat.com> | 2006-08-28 18:17:26 +0000 |
| commit | 9cc92a20535293b4fd9be90e626d5daccc5d923e (patch) | |
| tree | f74baed88b15d6d1206fa4b24c5821516b2b2346 /ldap/synctools/passwordsync/passsync/service.cpp | |
| parent | 2f59fa4c73e006af32a402dac503635188a017b4 (diff) | |
| download | ds-9cc92a20535293b4fd9be90e626d5daccc5d923e.tar.gz ds-9cc92a20535293b4fd9be90e626d5daccc5d923e.tar.xz ds-9cc92a20535293b4fd9be90e626d5daccc5d923e.zip | |
204355 - Remove winsync code from ldapserver tree
Diffstat (limited to 'ldap/synctools/passwordsync/passsync/service.cpp')
| -rw-r--r-- | ldap/synctools/passwordsync/passsync/service.cpp | 332 |
1 files changed, 0 insertions, 332 deletions
diff --git a/ldap/synctools/passwordsync/passsync/service.cpp b/ldap/synctools/passwordsync/passsync/service.cpp deleted file mode 100644 index 18efd898..00000000 --- a/ldap/synctools/passwordsync/passsync/service.cpp +++ /dev/null @@ -1,332 +0,0 @@ -/* --- BEGIN COPYRIGHT BLOCK --- - * This Program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License as published by the Free Software - * Foundation; version 2 of the License. - * - * This Program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with - * this Program; if not, write to the Free Software Foundation, Inc., 59 Temple - * Place, Suite 330, Boston, MA 02111-1307 USA. - * - * In addition, as a special exception, Red Hat, Inc. gives You the additional - * right to link the code of this Program with code not covered under the GNU - * General Public License ("Non-GPL Code") and to distribute linked combinations - * including the two, subject to the limitations in this paragraph. Non-GPL Code - * permitted under this exception must only link to the code of this Program - * through those well defined interfaces identified in the file named EXCEPTION - * found in the source code files (the "Approved Interfaces"). The files of - * Non-GPL Code may instantiate templates or use macros or inline functions from - * the Approved Interfaces without causing the resulting work to be covered by - * the GNU General Public License. Only Red Hat, Inc. may make changes or - * additions to the list of Approved Interfaces. You must obey the GNU General - * Public License in all respects for all of the Program code and other code used - * in conjunction with the Program except the Non-GPL Code covered by this - * exception. If you modify this file, you may extend this exception to your - * version of the file, but you are not obligated to do so. If you do not wish to - * provide this exception without modification, you must delete this exception - * statement from your version and license this file solely under the GPL without - * exception. - * - * - * Copyright (C) 2005 Red Hat, Inc. - * All rights reserved. - * --- END COPYRIGHT BLOCK --- */ - -// Created: 2-8-2005 -// Author(s): Scott Bridges - -#include <windows.h> -#include <iostream> -#include "syncserv.h" -#include "dssynchmsg.h" -// syncserv.h -// ntservice.h (modified) -// ntservice.cpp (modified) -// sysplat -// uniutil -// dssynchmsg - -// Copied: 2-10-2005 -// From: ntsynch.cpp -//#include "sysplat.h" - -//#include "NTSynch.h" -//#include "ldapconn.h" -//#include "dsperson.h" -#include "synchcmds.h" -#include "dssynch.h" - -#ifdef _DEBUG -void doDebug( PassSyncService *pSynch ); -#endif // _DEBUG - -//#include <nspr.h> - -///////////////////////////////////////////////////////////////// -static void usage() -{ - printf( "DS Synchronization Service version %s\n", - SYNCH_VERSION ); - printf( " -%c NUMBER NT polling interval (minutes)\n", - SYNCH_CMD_NT_POLL_INTERVAL ); -// printf( " -%c NUMBER DS polling interval (minutes)\n", -// SYNCH_CMD_DS_POLL_INTERVAL ); -// printf( " -%c CALENDAR NT update schedule\n", -// SYNCH_CMD_NT_CALENDAR ); -// printf( " -%c CALENDAR DS update schedule\n", -// SYNCH_CMD_DS_CALENDAR ); - printf( " -%c NUMBER NT synchronization start time (minutes)\n", - SYNCH_CMD_NT_CALENDAR ); -// printf( " -%c NUMBER DS synchronization start time (minutes)\n", -// SYNCH_CMD_DS_CALENDAR ); - printf( " -%c NAME DS distinguished name\n", - SYNCH_CMD_ADMIN_DN ); - printf( " -%c USERS_BASE DS users base\n", - SYNCH_CMD_DIRECTORY_USERS_BASE ); - printf( " -%c GROUPS_BASE DS groups base\n", - SYNCH_CMD_DIRECTORY_GROUPS_BASE ); - printf( " -%c HOST DS host\n", - SYNCH_CMD_DS_HOST ); - printf( " -%c NUMBER DS port\n", - SYNCH_CMD_DS_PORT ); - printf( " -%c PASSWORD DS password\n", - SYNCH_CMD_ADMIN_PASSWORD ); - printf( " -%c NUMBER Command port\n", - SYNCH_CMD_NT_PORT ); - printf( " -v Display this message\n", - SYNCH_CMD_NT_POLL_INTERVAL ); - printf( " -i Install the service\n" ); - printf( " -u Uninstall the service\n" ); - printf( " -%c Synchronize all NT users to DS now\n", - SYNCH_CMD_SYNCH_FROM_NT ); -// printf( " -%c Synchronize DS users to NT now\n", -// SYNCH_CMD_SYNCH_FROM_DS ); - printf( " -%c Resynchronize changes to NT users now\n", - SYNCH_CMD_SYNCH_CHANGES ); - printf( " -%c Load settings from Registry\n", - SYNCH_CMD_RELOAD_SETTINGS ); -// printf( "Options -t and -k are contradictory, as are -m and -y\n" ); -} - -#define OPT_NONE 0 -#define OPT_START 1 -#define OPT_APP 2 -#define OPT_TERMINATE 3 -#define OPT_START_DIRECT 4 - -///////////////////////////////////////////////////////////////// -static int checkOptions( PassSyncService *pSynch, int& argc, char *argv[] ) -{ - int result = OPT_START; // Default is to start the service - - // Check first for uninstall, since we shouldn't do anything else if set - int i; - for( i = 1; i < argc; i++ ) - { - if ( !strncmp( argv[i], "-u", 2 ) ) - { - // Uninstall - if ( !pSynch->IsInstalled() ) - wprintf( L"%s is not installed\n", pSynch->m_szServiceName ); - else - { - // Try and remove the copy that's installed - if ( pSynch->Uninstall() ) - wprintf( L"%s removed\n", pSynch->m_szServiceName ); - else - wprintf( L"Could not remove %s. Error %d\n", - pSynch->m_szServiceName, GetLastError() ); -// pSynch->ClearRegistry(); - } - // Terminate after completion - result = OPT_TERMINATE; - argc = 1; - return result; - } - } - - // Check command-line arguments - for( i = 1; i < argc; ) - { - if ( '-' != argv[i][0] ) - { - i++; - continue; - } - char opt = argv[i][1]; - BOOL bLocal = FALSE; - - // Usage - if ( 'v' == opt ) - { - result = OPT_NONE; - usage(); - bLocal = TRUE; - } - // Secret option to start as app, not service - else if ( 'a' == opt ) - { - result = OPT_APP; - bLocal = TRUE; - } - // Start service - else if ( 'x' == opt ) - { - result = OPT_START_DIRECT; - bLocal = TRUE; - } -/* - // Command port - else if ( 'c' == opt ) - { - result = OPT_NONE; - if ( i < (argc-1) ) - { - i++; - pSynch->SetCommandPort( atoi( argv[i] ) ); - bLocal = TRUE; - } - } -*/ - // Install - else if ( 'i' == opt ) - { - result = OPT_NONE; - if ( pSynch->IsInstalled() ) - printf( "%S is already installed\n", pSynch->m_szServiceName ); - else - { - // Try and install the copy that's running - if ( pSynch->Install() ) - { - printf( "%S installed\n", pSynch->m_szServiceName ); - } - else - { - printf( "%S failed to install. Error %d\n", - pSynch->m_szServiceName, GetLastError() ); - } - } - bLocal = TRUE; - } - // Synchronize from NT to DS - // Terminate after completion - else if ( 'n' == opt ) - { - result = OPT_NONE; - } - // Synchronize from DS to NT - // Terminate after completion - else if ( 's' == opt ) - { - result = OPT_NONE; - } - // Synchronize both ways - // Terminate after completion - else if ( 'r' == opt ) - { - result = OPT_NONE; - } - if ( bLocal ) - { - for( int j = i; j < (argc-1); j++ ) - { - argv[j] = argv[j+1]; - } - argc--; - } - else - { - i++; - if ( i >= argc ) - break; - } - } - return result; -} - -static int initialize( PassSyncService *pSynch, int argc, char *argv[] ) -{ - // Check command-line arguments - for( int i = 1; i < argc; i++ ) - { - if ( '-' != argv[i][0] ) - continue; - char opt = argv[i][1]; - -// pSynch->argToSynch( opt, argv[i] ); - - if ( i >= argc ) - break; - } - if ( argc > 1 ) - { - // Save settings to Registry -// pSynch->SaveConfig(); - } - - return 0; -} - -///////////////////////////////////////////////////////////////// - -int -main( int argc, char *argv[] ) -{ - // Global single instance - PassSyncService theSynch("Password Synchronization Service"); - - // Process special install/uninstall switches; this does install/uninstall - // It returns non-zero to actually start the service - int nStart = checkOptions( &theSynch, argc, argv ); - - // Set up configuration - if ( OPT_TERMINATE != nStart ) - initialize( &theSynch, argc, argv ); - - // Started by Service Control Manager - if ( OPT_START == nStart ) - { - // Start the service; doesn't return until the service is started - BOOL bStarted = theSynch.StartService(); - if ( !bStarted ) - { - printf( "Service could not be started\n" ); - return(1); - } - return 0; - } -#if 0 - // Started from command line - else if ( OPT_START_DIRECT == nStart ) - { - // This may fail, but the rest still succeeds - BOOL bStarted = theSynch.StartService(); - bStarted = theSynch.StartServiceDirect(); - if ( !bStarted ) - { - printf( "Service could not be started\n" ); - return(1); - } - return 0; - } -#endif - // Secret debugging option - run as app instead of as service - else if ( OPT_APP == nStart ) - { - if ( theSynch.OnInit() ) - theSynch.Run(); - } - - exit(theSynch.m_Status.dwWin32ExitCode); - - - ////////// That's it - the rest is debugging stuff ////// -#ifdef _DEBUG - doDebug( &theSynch ); -#endif - return 0; -} |
