Add initshutdown pipe commands to rpcclient. Second part of fix to bug
authorJim McDonough <jmcd@samba.org>
Fri, 24 Oct 2003 13:49:25 +0000 (13:49 +0000)
committerJim McDonough <jmcd@samba.org>
Fri, 24 Oct 2003 13:49:25 +0000 (13:49 +0000)
#534

source/Makefile.in
source/include/ntdomain.h
source/include/smb.h
source/rpc_parse/parse_rpc.c
source/rpcclient/rpcclient.c

index 8c1c65e86551399b0f68aa2f5b46dd974c7ac146..b0d9be55ec004921692822bcf89e64d4eb79b61b 100644 (file)
@@ -235,7 +235,7 @@ LIBMSRPC_OBJ = rpc_client/cli_lsarpc.o rpc_client/cli_samr.o \
               rpc_client/cli_reg.o rpc_client/cli_pipe.o \
               rpc_client/cli_spoolss.o rpc_client/cli_spoolss_notify.o  \
               rpc_client/cli_ds.o rpc_client/cli_echo.o \
-              rpc_client/cli_epmapper.o
+              rpc_client/cli_shutdown.o rpc_client/cli_epmapper.o
 
 REGOBJS_OBJ = registry/reg_objects.o
 REGISTRY_OBJ = registry/reg_frontend.o registry/reg_cachehook.o registry/reg_printing.o \
@@ -278,8 +278,8 @@ RPC_PARSE_OBJ = rpc_parse/parse_lsa.o rpc_parse/parse_net.o \
                 rpc_parse/parse_samr.o rpc_parse/parse_srv.o \
                 rpc_parse/parse_wks.o rpc_parse/parse_ds.o \
                rpc_parse/parse_spoolss.o rpc_parse/parse_dfs.o \
-               rpc_parse/parse_echo.o rpc_parse/parse_epmapper.o \
-               $(REGOBJS_OBJ)
+               rpc_parse/parse_echo.o rpc_parse/parse_shutdown.o \
+               rpc_parse/parse_epmapper.o $(REGOBJS_OBJ)
 
 
 RPC_CLIENT_OBJ = rpc_client/cli_pipe.o 
@@ -448,7 +448,8 @@ RPCCLIENT_OBJ1 = rpcclient/rpcclient.o rpcclient/cmd_lsarpc.o \
                 rpcclient/cmd_netlogon.o rpcclient/cmd_srvsvc.o \
                 rpcclient/cmd_dfs.o rpcclient/cmd_reg.o \
                 rpcclient/display_sec.o rpcclient/cmd_ds.o \
-                rpcclient/cmd_echo.o rpcclient/cmd_epmapper.o
+                rpcclient/cmd_echo.o rpcclient/cmd_shutdown.o \
+                rpcclient/cmd_epmapper.o
 
 RPCCLIENT_OBJ = $(RPCCLIENT_OBJ1) \
              $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
index 66057424cab9d488fb4c02eeb9287741c45ef7b8..5da6d86410a231c21abdacbb45bf50e0fed5df53 100644 (file)
@@ -403,5 +403,6 @@ struct acct_info
 #include "rpc_ds.h"
 #include "rpc_echo.h"
 #include "rpc_epmapper.h"
+#include "rpc_shutdown.h"
 
 #endif /* _NT_DOMAIN_H */
index 1e4c48132ac9e44802aa64e74c0b18d19ccfeae1..689e6ebe1d304877cd874b5b57a37a8c3844a819 100644 (file)
@@ -194,6 +194,7 @@ typedef smb_ucs2_t wfstring[FSTRING_LEN];
 #define PIPE_SPOOLSS  "\\PIPE\\spoolss"
 #define PIPE_NETDFS   "\\PIPE\\netdfs"
 #define PIPE_ECHO     "\\PIPE\\rpcecho"
+#define PIPE_SHUTDOWN "\\PIPE\\initshutdown"
 #define PIPE_EPM      "\\PIPE\\epmapper"
 
 #define PIPE_NETLOGON_PLAIN "\\NETLOGON"
@@ -208,8 +209,9 @@ typedef smb_ucs2_t wfstring[FSTRING_LEN];
 #define PI_SPOOLSS             7
 #define PI_NETDFS              8
 #define PI_ECHO                9
-#define PI_EPM                 10
-#define PI_MAX_PIPES           11
+#define PI_SHUTDOWN            10
+#define PI_EPM                 11
+#define PI_MAX_PIPES           12
 
 /* 64 bit time (100usec) since ????? - cifs6.txt, section 3.5, page 30 */
 typedef struct nttime_info
index f053297192d57743f87cc21d6e490ad0f0e96989..18ac37778c77e085331bf933482bafab40f1a389 100644 (file)
@@ -147,6 +147,15 @@ interface/version dce/rpc pipe identification
         }, 0x01                             \
 }
 
+#define SYNT_SHUTDOWN_V1                    \
+{                                           \
+        {                                   \
+                0x894de0c0, 0x0d55, 0x11d3, \
+                { 0xa3, 0x22, 0x00, 0xc0,   \
+                  0x4f, 0xa3, 0x21, 0xa1 }  \
+        }, 0x01                             \
+}
+
 #define SYNT_EPM_V3                         \
 {                                           \
        {                                   \
@@ -174,6 +183,7 @@ const struct pipe_id_info pipe_names [] =
        { PIPE_SPOOLSS , SYNT_SPOOLSS_V1       , PIPE_SPOOLSS  , TRANS_SYNT_V2 },
        { PIPE_NETDFS  , SYNT_NETDFS_V3        , PIPE_NETDFS   , TRANS_SYNT_V2 },
        { PIPE_ECHO    , SYNT_ECHO_V1          , PIPE_ECHO     , TRANS_SYNT_V2 },
+       { PIPE_SHUTDOWN, SYNT_SHUTDOWN_V1      , PIPE_SHUTDOWN , TRANS_SYNT_V2 },
        { PIPE_EPM     , SYNT_EPM_V3           , PIPE_EPM      , TRANS_SYNT_V2 },
        { NULL         , SYNT_NONE_V0          , NULL          , SYNT_NONE_V0  }
 };
index f60cb67cba815de54b9fd939ae5e8dc10e0fba51..0b60dea2fadef94af75f68253cc345152f021109 100644 (file)
@@ -462,6 +462,7 @@ extern struct cmd_set dfs_commands[];
 extern struct cmd_set reg_commands[];
 extern struct cmd_set ds_commands[];
 extern struct cmd_set echo_commands[];
+extern struct cmd_set shutdown_commands[];
 extern struct cmd_set epm_commands[];
 
 static struct cmd_set *rpcclient_command_list[] = {
@@ -475,6 +476,7 @@ static struct cmd_set *rpcclient_command_list[] = {
        dfs_commands,
        reg_commands,
        echo_commands,
+       shutdown_commands,
        epm_commands,
        NULL
 };