r4158: Fix IDL for InitiateShutdown and AbortShutdown and run both only
authorJelmer Vernooij <jelmer@samba.org>
Sun, 12 Dec 2004 00:35:50 +0000 (00:35 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:07:20 +0000 (13:07 -0500)
when dangerous tests are enabled.
(This used to be commit a763bd838558bdd7bcab3ca7ee91c1846d7a950f)

source4/librpc/idl/winreg.idl
source4/torture/rpc/winreg.c

index c80130c9aff7a678065cb8a5b79d687ed4e6f7b5..5b7530aae36dae00195010e5ea1c58da4c95fc54 100644 (file)
        /******************/
        /* Function: 0x18 */
        WERROR winreg_InitiateSystemShutdown(
-               [in]    winreg_String hostname,
-               [in]    winreg_String message,
+               [in]    uint16 *hostname,
+               [in]    winreg_String *message,
                [in]    uint32 timeout,
-               [in]    uint16 flags,
-               [out]   uint16 status
+               [in]    uint8 force_apps,
+               [in]    uint8 reboot
        );
 
        /******************/
        /* Function: 0x19 */
        WERROR winreg_AbortSystemShutdown(
-               [in,ref]        uint16 *server
+               [in]    uint16 *server
        );
 
        /******************/
index 3ed7af0e29112561347296c4b2207b0e311f1cb8..2f9797e693a82899738daa3c60c1c0b15783a157 100644 (file)
@@ -526,10 +526,12 @@ static BOOL test_InitiateSystemShutdown(struct dcerpc_pipe *p, TALLOC_CTX *mem_c
        struct winreg_InitiateSystemShutdown r;
        NTSTATUS status;
        
-       init_winreg_String(&r.in.hostname, NULL);
-       init_winreg_String(&r.in.message, msg);
-       r.in.flags = 0;
+       r.in.hostname = NULL;
+       r.in.message = talloc_p(mem_ctx, struct winreg_String);
+       init_winreg_String(r.in.message, msg);
+       r.in.force_apps = 1;
        r.in.timeout = timeout;
+       r.in.reboot = 1;
 
        status = dcerpc_winreg_InitiateSystemShutdown(p, mem_ctx, &r);
 
@@ -706,11 +708,12 @@ BOOL torture_rpc_winreg(void)
                return False;
        }
 
-       if(!test_InitiateSystemShutdown(p, mem_ctx, "spottyfood", 30))
-               ret = False;
-
-       if(!test_AbortSystemShutdown(p, mem_ctx))
-               ret = False;
+    if (lp_parm_int(-1, "torture", "dangerous") != 1) {
+               printf("winreg_InitiateShutdown disabled - enable dangerous tests to use\n");
+       
+               ret &= test_InitiateSystemShutdown(p, mem_ctx, "spottyfood", 30);
+               ret &= test_AbortSystemShutdown(p, mem_ctx);
+       }
 
        for (i = 0; i < ARRAY_SIZE(open_fns); i++) {
                if (!test_Open(p, mem_ctx, open_fns[i]))