~ubuntu-branches/ubuntu/raring/openvpn/raring-proposed

« back to all changes in this revision

Viewing changes to service-win32/service.patch

  • Committer: Bazaar Package Importer
  • Author(s): Alberto Gonzalez Iniesta
  • Date: 2006-04-05 12:17:26 UTC
  • mto: (1.3.3 upstream) (10.1.1 lenny)
  • mto: This revision was merged to the branch mainline in revision 6.
  • Revision ID: james.westby@ubuntu.com-20060405121726-btck979dumiwfrte
Tags: upstream-2.0.6
ImportĀ upstreamĀ versionĀ 2.0.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
--- service.c.orig      Sat Jan 15 17:39:20 2005
2
 
+++ service.c   Sun Feb 20 11:28:30 2005
 
1
--- service.c.orig      Mon Jan 30 10:24:07 2006
 
2
+++ service.c   Mon Jan 30 10:26:22 2006
3
3
@@ -16,6 +16,7 @@
4
4
   service_main(DWORD dwArgc, LPTSTR *lpszArgv);
5
5
   CmdInstallService();
29
29
 {
30
30
    SERVICE_TABLE_ENTRY dispatchTable[] =
31
31
    {
32
 
@@ -77,12 +79,16 @@
 
32
@@ -77,11 +79,15 @@
33
33
    {
34
34
       if ( _stricmp( "install", argv[1]+1 ) == 0 )
35
35
       {
40
40
       {
41
41
-         CmdRemoveService();
42
42
+         return CmdRemoveService();
43
 
       }
 
43
+      }
44
44
+         else if ( _stricmp( "start", argv[1]+1 ) == 0)
45
45
+         {
46
46
+                 return CmdStartService();
47
 
+         }
 
47
       }
48
48
       else if ( _stricmp( "debug", argv[1]+1 ) == 0 )
49
49
       {
50
 
          bDebug = TRUE;
51
50
@@ -92,7 +98,7 @@
52
51
       {
53
52
          goto dispatch;
98
97
 
99
98
    if ( !bDebug )
100
99
    {
101
 
-      dwErr = GetLastError();
102
100
+     if (flags & MSG_FLAGS_SYS_CODE)
103
 
+       dwErr = GetLastError();
 
101
       dwErr = GetLastError();
104
102
+     else
105
103
+       dwErr = 0;
106
104
 
163
161
    }
164
162
 
165
163
    schSCManager = OpenSCManager(
166
 
@@ -366,19 +384,19 @@
167
 
    if ( schSCManager )
168
 
    {
169
 
       schService = CreateService(
170
 
-                                schSCManager,               // SCManager database
171
 
-                                TEXT(SZSERVICENAME),        // name of service
172
 
-                                TEXT(SZSERVICEDISPLAYNAME), // name to display
173
 
-                                SERVICE_QUERY_STATUS,         // desired access
174
 
-                                SERVICE_WIN32_OWN_PROCESS,  // service type
 
164
@@ -371,7 +389,7 @@
 
165
                                 TEXT(SZSERVICEDISPLAYNAME), // name to display
 
166
                                 SERVICE_QUERY_STATUS,         // desired access
 
167
                                 SERVICE_WIN32_OWN_PROCESS,  // service type
175
168
-                                SERVICE_DEMAND_START,       // start type
176
 
-                                SERVICE_ERROR_NORMAL,       // error control type
177
 
-                                szPath,                     // service's binary
178
 
-                                NULL,                       // no load ordering group
179
 
-                                NULL,                       // no tag identifier
180
 
-                                TEXT(SZDEPENDENCIES),       // dependencies
181
 
-                                NULL,                       // LocalSystem account
182
 
-                                NULL);                      // no password
183
 
+                                schSCManager,                // SCManager database
184
 
+                                TEXT(SZSERVICENAME),         // name of service
185
 
+                                TEXT(SZSERVICEDISPLAYNAME),  // name to display
186
 
+                                SERVICE_QUERY_STATUS,        // desired access
187
 
+                                SERVICE_WIN32_OWN_PROCESS,   // service type
188
169
+                               SERVICE_DEMAND_START,        // start type -- alternative: SERVICE_AUTO_START
189
 
+                                SERVICE_ERROR_NORMAL,        // error control type
190
 
+                                szPath,                      // service's binary
191
 
+                                NULL,                        // no load ordering group
192
 
+                                NULL,                        // no tag identifier
193
 
+                                TEXT(SZDEPENDENCIES),        // dependencies
194
 
+                                NULL,                        // LocalSystem account
195
 
+                                NULL);                       // no password
196
 
 
197
 
       if ( schService )
198
 
       {
199
 
@@ -388,15 +406,78 @@
 
170
                                 SERVICE_ERROR_NORMAL,       // error control type
 
171
                                 szPath,                     // service's binary
 
172
                                 NULL,                       // no load ordering group
 
173
@@ -388,16 +406,79 @@
200
174
       else
201
175
       {
202
176
          _tprintf(TEXT("CreateService failed - %s\n"), GetLastErrorText(szErr, 256));
206
180
       CloseServiceHandle(schSCManager);
207
181
    }
208
182
    else
209
 
-      _tprintf(TEXT("OpenSCManager failed - %s\n"), GetLastErrorText(szErr,256));
210
183
+     {
211
 
+       _tprintf(TEXT("OpenSCManager failed - %s\n"), GetLastErrorText(szErr,256));
 
184
       _tprintf(TEXT("OpenSCManager failed - %s\n"), GetLastErrorText(szErr,256));
212
185
+       ret = 1;
213
186
+     }
214
187
+   return ret;
233
206
+
234
207
+  SC_HANDLE schSCManager;
235
208
+  SC_HANDLE schService;
236
 
+
 
209
 
237
210
 
238
211
+    // Open a handle to the SC Manager database. 
239
212
+    schSCManager = OpenSCManager( 
248
221
+
249
222
+    schService = OpenService( 
250
223
+        schSCManager,          // SCM database 
251
 
+        "MeetrixService",     // service name
 
224
+        SZSERVICENAME,         // service name
252
225
+        SERVICE_ALL_ACCESS); 
253
226
254
227
+    if (schService == NULL) {
273
246
+    CloseServiceHandle(schSCManager);
274
247
+    return ret;
275
248
+}
276
 
 
 
249
+
277
250
 //
278
251
 //  FUNCTION: CmdRemoveService()
 
252
 //
279
253
@@ -407,15 +488,17 @@
280
254
 //    none
281
255
 //
300
274
             if ( ssStatus.dwCurrentState == SERVICE_STOPPED )
301
275
                _tprintf(TEXT("\n%s stopped.\n"), TEXT(SZSERVICEDISPLAYNAME) );
302
276
             else
303
 
-               _tprintf(TEXT("\n%s failed to stop.\n"), TEXT(SZSERVICEDISPLAYNAME) );
304
277
+             {
305
 
+               _tprintf(TEXT("\n%s failed to stop.\n"), TEXT(SZSERVICEDISPLAYNAME) );
 
278
                _tprintf(TEXT("\n%s failed to stop.\n"), TEXT(SZSERVICEDISPLAYNAME) );
306
279
+               ret = 1;
307
280
+             }
308
281
 
312
285
          if ( DeleteService(schService) )
313
286
             _tprintf(TEXT("%s removed.\n"), TEXT(SZSERVICEDISPLAYNAME) );
314
287
          else
315
 
-            _tprintf(TEXT("DeleteService failed - %s\n"), GetLastErrorText(szErr,256));
316
288
+          {
317
 
+            _tprintf(TEXT("DeleteService failed - %s\n"), GetLastErrorText(szErr,256));
 
289
             _tprintf(TEXT("DeleteService failed - %s\n"), GetLastErrorText(szErr,256));
318
290
+            ret = 1;
319
291
+          }
320
292
 
322
294
          CloseServiceHandle(schService);
323
295
       }
324
296
       else
325
 
-         _tprintf(TEXT("OpenService failed - %s\n"), GetLastErrorText(szErr,256));
326
297
+       {
327
 
+         _tprintf(TEXT("OpenService failed - %s\n"), GetLastErrorText(szErr,256));
 
298
          _tprintf(TEXT("OpenService failed - %s\n"), GetLastErrorText(szErr,256));
328
299
+         ret = 1;
329
300
+       }
330
301
 
331
302
       CloseServiceHandle(schSCManager);
332
303
    }
333
304
    else
334
 
-      _tprintf(TEXT("OpenSCManager failed - %s\n"), GetLastErrorText(szErr,256));
335
305
+     {
336
 
+       _tprintf(TEXT("OpenSCManager failed - %s\n"), GetLastErrorText(szErr,256));
 
306
       _tprintf(TEXT("OpenSCManager failed - %s\n"), GetLastErrorText(szErr,256));
337
307
+       ret = 1;
338
308
+     }
339
309
+   return ret;
349
319
    }
350
320
 
351
321
    if ( lpszTemp )
352
 
--- service.h.orig      Sat Jan 15 17:39:20 2005
353
 
+++ service.h   Mon Feb  7 17:24:04 2005
 
322
--- service.h.orig      Mon Jan 30 10:24:07 2006
 
323
+++ service.h   Mon Jan 30 10:24:07 2006
354
324
@@ -62,13 +62,13 @@
355
325
 //// todo: change to desired strings
356
326
 ////