use the auto-generated UUID, version and name rather than listing them
authorAndrew Tridgell <tridge@samba.org>
Tue, 18 Nov 2003 05:01:10 +0000 (05:01 +0000)
committerAndrew Tridgell <tridge@samba.org>
Tue, 18 Nov 2003 05:01:10 +0000 (05:01 +0000)
in the dcerpc core code
(This used to be commit 16ffeb7c80bfe7f1bfbfce8c98066e9ddbca7686)

19 files changed:
source4/librpc/idl/misc.idl
source4/librpc/idl/samr.idl
source4/librpc/ndr/ndr_dfs.h
source4/librpc/ndr/ndr_echo.h
source4/librpc/ndr/ndr_lsa.h
source4/librpc/ndr/ndr_misc.h
source4/librpc/ndr/ndr_samr.h
source4/librpc/ndr/ndr_spoolss.h
source4/librpc/ndr/ndr_wkssvc.h
source4/librpc/rpc/dcerpc.c
source4/librpc/rpc/dcerpc.h
source4/librpc/rpc/dcerpc_smb.c
source4/torture/rpc/dfs.c
source4/torture/rpc/echo.c
source4/torture/rpc/lsa.c
source4/torture/rpc/samr.c
source4/torture/rpc/spoolss.c
source4/torture/rpc/wkssvc.c
source4/torture/torture.c

index c170beceaeb0c4c45f8d94e98f983535a7119f92..925896fbe10a4aa157340e4070fc503a94198b8d 100644 (file)
@@ -2,10 +2,8 @@
   miscellaneous IDL structures
 */
 
-[ uuid(0-0-0-0-0),
-  version(0.0),
-  pointer_default(unique)
-] interface misc
+[] 
+interface misc
 {
 
        /* a domain SID. Note that unlike Samba3 this contains a pointer,
index e9aea5dbfe31c13b598524278415dcef84da4f5d..82794a28e1622b3bfd007d2b181579ec9d5c49a3 100644 (file)
@@ -5,7 +5,7 @@
 [ uuid(12345778-1234-abcd-ef00-0123456789ac),
   version(1.0),
   pointer_default(unique)
-] interface lsarpc
+] interface samr
 {
        /******************/
        /* Function: 0x00 */
index af46b3dabf835b0885fed288a805d58014844b9c..9a27c7040a15aa0d91e637ac3f090f1fa938de53 100644 (file)
@@ -1,5 +1,17 @@
 /* header auto-generated by pidl */
 
+#define DCERPC_NETDFS_UUID "4fc742e0-4a10-11cf-8273-00aa004ae673"
+#define DCERPC_NETDFS_VERSION 3.0
+#define DCERPC_NETDFS_NAME "netdfs"
+
+#define DCERPC_DFS_EXIST 0
+#define DCERPC_DFS_ADD 1
+#define DCERPC_DFS_REMOVE 2
+#define DCERPC_DFS_SETINFO 3
+#define DCERPC_DFS_GETINFO 4
+#define DCERPC_DFS_ENUM 5
+
+
 struct dfs_Exist {
        struct {
        } in;
@@ -192,9 +204,3 @@ struct dfs_Enum {
 
 };
 
-#define DCERPC_DFS_EXIST 0
-#define DCERPC_DFS_ADD 1
-#define DCERPC_DFS_REMOVE 2
-#define DCERPC_DFS_SETINFO 3
-#define DCERPC_DFS_GETINFO 4
-#define DCERPC_DFS_ENUM 5
index d6b6f0eb9617f9584da90cfd9862b3aec4561049..ba82a6ad67320b38f86d83bcc0fb9298173a2509 100644 (file)
@@ -1,5 +1,16 @@
 /* header auto-generated by pidl */
 
+#define DCERPC_RPCECHO_UUID "60a15ec5-4de8-11d7-a637-005056a20182"
+#define DCERPC_RPCECHO_VERSION 1.0
+#define DCERPC_RPCECHO_NAME "rpcecho"
+
+#define DCERPC_ECHO_ADDONE 0
+#define DCERPC_ECHO_ECHODATA 1
+#define DCERPC_ECHO_SINKDATA 2
+#define DCERPC_ECHO_SOURCEDATA 3
+#define DCERPC_TESTCALL 4
+
+
 struct echo_AddOne {
        struct {
                uint32 *v;
@@ -55,8 +66,3 @@ struct TestCall {
 
 };
 
-#define DCERPC_ECHO_ADDONE 0
-#define DCERPC_ECHO_ECHODATA 1
-#define DCERPC_ECHO_SINKDATA 2
-#define DCERPC_ECHO_SOURCEDATA 3
-#define DCERPC_TESTCALL 4
index 68d8d4c4738be4d8656c2c3798eb161c367ef89e..151e5b958521f82ffa84b6a1ae2703a77efb87c7 100644 (file)
@@ -1,5 +1,58 @@
 /* header auto-generated by pidl */
 
+#define DCERPC_LSARPC_UUID "12345778-1234-abcd-ef00-0123456789ab"
+#define DCERPC_LSARPC_VERSION 0.0
+#define DCERPC_LSARPC_NAME "lsarpc"
+
+#define DCERPC_LSA_CLOSE 0
+#define DCERPC_LSA_DELETE 1
+#define DCERPC_LSA_ENUMPRIVS 2
+#define DCERPC_LSA_QUERYSECOBJ 3
+#define DCERPC_LSA_SETSECOBJ 4
+#define DCERPC_LSA_CHANGEPASSWORD 5
+#define DCERPC_LSA_OPENPOLICY 6
+#define DCERPC_LSA_QUERYINFOPOLICY 7
+#define DCERPC_LSA_SETINFOPOLICY 8
+#define DCERPC_LSA_CLEARAUDITLOG 9
+#define DCERPC_LSA_CREATEACCOUNT 10
+#define DCERPC_LSA_ENUMACCOUNTS 11
+#define DCERPC_LSA_CREATETRUSTDOM 12
+#define DCERPC_LSA_ENUMTRUSTDOM 13
+#define DCERPC_LSA_LOOKUPNAMES 14
+#define DCERPC_LSA_LOOKUPSIDS 15
+#define DCERPC_CREATESECRET 16
+#define DCERPC_LSA_OPENACCOUNT 17
+#define DCERPC_LSA_ENUMPRIVSACCOUNT 18
+#define DCERPC_ADDPRIVS 19
+#define DCERPC_REMOVEPRIVS 20
+#define DCERPC_GETQUOTAS 21
+#define DCERPC_SETQUOTAS 22
+#define DCERPC_GETSYSTEMACCOUNT 23
+#define DCERPC_SETSYSTEMACCOUNT 24
+#define DCERPC_OPENTRUSTDOM 25
+#define DCERPC_QUERYTRUSTDOM 26
+#define DCERPC_SETINFOTRUSTDOM 27
+#define DCERPC_OPENSECRET 28
+#define DCERPC_SETSECRET 29
+#define DCERPC_QUERYSECRET 30
+#define DCERPC_LOOKUPPRIVVALUE 31
+#define DCERPC_LSA_LOOKUPPRIVNAME 32
+#define DCERPC_PRIV_GET_DISPNAME 33
+#define DCERPC_DELETEOBJECT 34
+#define DCERPC_ENUMACCTWITHRIGHT 35
+#define DCERPC_LSA_ENUMACCOUNTRIGHTS 36
+#define DCERPC_ADDACCTRIGHTS 37
+#define DCERPC_REMOVEACCTRIGHTS 38
+#define DCERPC_QUERYTRUSTDOMINFO 39
+#define DCERPC_SETTRUSTDOMINFO 40
+#define DCERPC_DELETETRUSTDOM 41
+#define DCERPC_STOREPRIVDATA 42
+#define DCERPC_RETRPRIVDATA 43
+#define DCERPC_LSA_OPENPOLICY2 44
+#define DCERPC_UNK_GET_CONNUSER 45
+#define DCERPC_QUERYINFO2 46
+
+
 struct lsa_Close {
        struct {
                struct policy_handle *handle;
@@ -730,50 +783,3 @@ struct QUERYINFO2 {
 
 };
 
-#define DCERPC_LSA_CLOSE 0
-#define DCERPC_LSA_DELETE 1
-#define DCERPC_LSA_ENUMPRIVS 2
-#define DCERPC_LSA_QUERYSECOBJ 3
-#define DCERPC_LSA_SETSECOBJ 4
-#define DCERPC_LSA_CHANGEPASSWORD 5
-#define DCERPC_LSA_OPENPOLICY 6
-#define DCERPC_LSA_QUERYINFOPOLICY 7
-#define DCERPC_LSA_SETINFOPOLICY 8
-#define DCERPC_LSA_CLEARAUDITLOG 9
-#define DCERPC_LSA_CREATEACCOUNT 10
-#define DCERPC_LSA_ENUMACCOUNTS 11
-#define DCERPC_LSA_CREATETRUSTDOM 12
-#define DCERPC_LSA_ENUMTRUSTDOM 13
-#define DCERPC_LSA_LOOKUPNAMES 14
-#define DCERPC_LSA_LOOKUPSIDS 15
-#define DCERPC_CREATESECRET 16
-#define DCERPC_LSA_OPENACCOUNT 17
-#define DCERPC_LSA_ENUMPRIVSACCOUNT 18
-#define DCERPC_ADDPRIVS 19
-#define DCERPC_REMOVEPRIVS 20
-#define DCERPC_GETQUOTAS 21
-#define DCERPC_SETQUOTAS 22
-#define DCERPC_GETSYSTEMACCOUNT 23
-#define DCERPC_SETSYSTEMACCOUNT 24
-#define DCERPC_OPENTRUSTDOM 25
-#define DCERPC_QUERYTRUSTDOM 26
-#define DCERPC_SETINFOTRUSTDOM 27
-#define DCERPC_OPENSECRET 28
-#define DCERPC_SETSECRET 29
-#define DCERPC_QUERYSECRET 30
-#define DCERPC_LOOKUPPRIVVALUE 31
-#define DCERPC_LSA_LOOKUPPRIVNAME 32
-#define DCERPC_PRIV_GET_DISPNAME 33
-#define DCERPC_DELETEOBJECT 34
-#define DCERPC_ENUMACCTWITHRIGHT 35
-#define DCERPC_LSA_ENUMACCOUNTRIGHTS 36
-#define DCERPC_ADDACCTRIGHTS 37
-#define DCERPC_REMOVEACCTRIGHTS 38
-#define DCERPC_QUERYTRUSTDOMINFO 39
-#define DCERPC_SETTRUSTDOMINFO 40
-#define DCERPC_DELETETRUSTDOM 41
-#define DCERPC_STOREPRIVDATA 42
-#define DCERPC_RETRPRIVDATA 43
-#define DCERPC_LSA_OPENPOLICY2 44
-#define DCERPC_UNK_GET_CONNUSER 45
-#define DCERPC_QUERYINFO2 46
index 8869b535ec9880bb26949af21be817bfd22f3692..86c898eff2eb4f8bb525263d8320e735844a7522 100644 (file)
@@ -1,5 +1,7 @@
 /* header auto-generated by pidl */
 
+
+
 struct dom_sid {
        uint8 sid_rev_num;
        uint8 num_auths;
index 28a7bc16ccd2c009aa1fbec099fc139d2291a4cd..ed32d3d9f4fc0a96dc0351bfad2364ffbb653401 100644 (file)
@@ -1,5 +1,79 @@
 /* header auto-generated by pidl */
 
+#define DCERPC_SAMR_UUID "12345778-1234-abcd-ef00-0123456789ac"
+#define DCERPC_SAMR_VERSION 1.0
+#define DCERPC_SAMR_NAME "samr"
+
+#define DCERPC_SAMR_CONNECT 0
+#define DCERPC_SAMR_CLOSE 1
+#define DCERPC_SAMR_SETSECURITY 2
+#define DCERPC_SAMR_QUERYSECURITY 3
+#define DCERPC_SAMR_SHUTDOWN 4
+#define DCERPC_SAMR_LOOKUPDOMAIN 5
+#define DCERPC_SAMR_ENUMDOMAINS 6
+#define DCERPC_SAMR_OPENDOMAIN 7
+#define DCERPC_SAMR_QUERYDOMAININFO 8
+#define DCERPC_SAMR_SET_DOMAIN_INFO 9
+#define DCERPC_SAMR_CREATE_DOM_GROUP 10
+#define DCERPC_SAMR_ENUMDOMAINGROUPS 11
+#define DCERPC_SAMR_CREATE_USER_IN_DOMAIN 12
+#define DCERPC_SAMR_ENUMDOMAINUSERS 13
+#define DCERPC_SAMR_CREATE_DOM_ALIAS 14
+#define DCERPC_SAMR_ENUMDOMAINALIASES 15
+#define DCERPC_SAMR_GET_ALIAS_MEMBERSHIP 16
+#define DCERPC_SAMR_LOOKUP_NAMES 17
+#define DCERPC_SAMR_LOOKUP_RIDS 18
+#define DCERPC_SAMR_OPENGROUP 19
+#define DCERPC_SAMR_QUERYGROUPINFO 20
+#define DCERPC_SAMR_SET_GROUPINFO 21
+#define DCERPC_SAMR_ADD_GROUPMEM 22
+#define DCERPC_SAMR_DELETE_DOM_GROUP 23
+#define DCERPC_SAMR_DEL_GROUPMEM 24
+#define DCERPC_SAMR_QUERY_GROUPMEM 25
+#define DCERPC_SAMR_SET_MEMBER_ATTRIBUTES_OF_GROUP 26
+#define DCERPC_SAMR_OPENALIAS 27
+#define DCERPC_SAMR_QUERYALIASINFO 28
+#define DCERPC_SAMR_SET_ALIASINFO 29
+#define DCERPC_SAMR_DELETE_DOM_ALIAS 30
+#define DCERPC_SAMR_ADD_ALIASMEM 31
+#define DCERPC_SAMR_DEL_ALIASMEM 32
+#define DCERPC_SAMR_GET_MEMBERS_IN_ALIAS 33
+#define DCERPC_SAMR_OPENUSER 34
+#define DCERPC_SAMR_DELETE_DOM_USER 35
+#define DCERPC_SAMR_QUERYUSERINFO 36
+#define DCERPC_SAMR_SET_USERINFO 37
+#define DCERPC_SAMR_CHANGE_PASSWORD_USER 38
+#define DCERPC_SAMR_GET_GROUPS_FOR_USER 39
+#define DCERPC_SAMR_QUERY_DISPINFO 40
+#define DCERPC_SAMR_GET_DISPLAY_ENUMERATION_INDEX 41
+#define DCERPC_SAMR_TEST_PRIVATE_FUNCTIONS_DOMAIN 42
+#define DCERPC_SAMR_TEST_PRIVATE_FUNCTIONS_USER 43
+#define DCERPC_SAMR_GET_USRDOM_PWINFO 44
+#define DCERPC_SAMR_REMOVE_MEMBER_FROM_FOREIGN_DOMAIN 45
+#define DCERPC_SAMR_QUERY_INFORMATION_DOMAIN2 46
+#define DCERPC_SAMR_QUERY_INFORMATION_USER2 47
+#define DCERPC_SAMR_QUERY_DISPINFO2 48
+#define DCERPC_SAMR_GET_DISPLAY_ENUMERATION_INDEX2 49
+#define DCERPC_SAMR_CREATE_USER2_IN_DOMAIN 50
+#define DCERPC_SAMR_QUERY_DISPINFO3 51
+#define DCERPC_SAMR_ADD_MULTIPLE_MEMBERS_TO_ALIAS 52
+#define DCERPC_SAMR_REMOVE_MULTIPLE_MEMBERS_FROM_ALIAS 53
+#define DCERPC_SAMR_OEM_CHANGE_PASSWORD_USER2 54
+#define DCERPC_SAMR_UNICODE_CHANGE_PASSWORD_USER2 55
+#define DCERPC_SAMR_GET_DOM_PWINFO 56
+#define DCERPC_SAMR_CONNECT2 57
+#define DCERPC_SAMR_SET_USERINFO2 58
+#define DCERPC_SAMR_SET_BOOT_KEY_INFORMATION 59
+#define DCERPC_SAMR_GET_BOOT_KEY_INFORMATION 60
+#define DCERPC_SAMR_CONNECT3 61
+#define DCERPC_SAMR_CONNECT4 62
+#define DCERPC_SAMR_UNICODE_CHANGE_PASSWORD_USER3 63
+#define DCERPC_SAMR_CONNECT5 64
+#define DCERPC_SAMR_RID_TO_SID 65
+#define DCERPC_SAMR_SET_DSRM_PASSWORD 66
+#define DCERPC_SAMR_VALIDATE_PASSWORD 67
+
+
 struct samr_Connect {
        struct {
                uint16 *system_name;
@@ -1076,71 +1150,3 @@ struct samr_VALIDATE_PASSWORD {
 
 };
 
-#define DCERPC_SAMR_CONNECT 0
-#define DCERPC_SAMR_CLOSE 1
-#define DCERPC_SAMR_SETSECURITY 2
-#define DCERPC_SAMR_QUERYSECURITY 3
-#define DCERPC_SAMR_SHUTDOWN 4
-#define DCERPC_SAMR_LOOKUPDOMAIN 5
-#define DCERPC_SAMR_ENUMDOMAINS 6
-#define DCERPC_SAMR_OPENDOMAIN 7
-#define DCERPC_SAMR_QUERYDOMAININFO 8
-#define DCERPC_SAMR_SET_DOMAIN_INFO 9
-#define DCERPC_SAMR_CREATE_DOM_GROUP 10
-#define DCERPC_SAMR_ENUMDOMAINGROUPS 11
-#define DCERPC_SAMR_CREATE_USER_IN_DOMAIN 12
-#define DCERPC_SAMR_ENUMDOMAINUSERS 13
-#define DCERPC_SAMR_CREATE_DOM_ALIAS 14
-#define DCERPC_SAMR_ENUMDOMAINALIASES 15
-#define DCERPC_SAMR_GET_ALIAS_MEMBERSHIP 16
-#define DCERPC_SAMR_LOOKUP_NAMES 17
-#define DCERPC_SAMR_LOOKUP_RIDS 18
-#define DCERPC_SAMR_OPENGROUP 19
-#define DCERPC_SAMR_QUERYGROUPINFO 20
-#define DCERPC_SAMR_SET_GROUPINFO 21
-#define DCERPC_SAMR_ADD_GROUPMEM 22
-#define DCERPC_SAMR_DELETE_DOM_GROUP 23
-#define DCERPC_SAMR_DEL_GROUPMEM 24
-#define DCERPC_SAMR_QUERY_GROUPMEM 25
-#define DCERPC_SAMR_SET_MEMBER_ATTRIBUTES_OF_GROUP 26
-#define DCERPC_SAMR_OPENALIAS 27
-#define DCERPC_SAMR_QUERYALIASINFO 28
-#define DCERPC_SAMR_SET_ALIASINFO 29
-#define DCERPC_SAMR_DELETE_DOM_ALIAS 30
-#define DCERPC_SAMR_ADD_ALIASMEM 31
-#define DCERPC_SAMR_DEL_ALIASMEM 32
-#define DCERPC_SAMR_GET_MEMBERS_IN_ALIAS 33
-#define DCERPC_SAMR_OPENUSER 34
-#define DCERPC_SAMR_DELETE_DOM_USER 35
-#define DCERPC_SAMR_QUERYUSERINFO 36
-#define DCERPC_SAMR_SET_USERINFO 37
-#define DCERPC_SAMR_CHANGE_PASSWORD_USER 38
-#define DCERPC_SAMR_GET_GROUPS_FOR_USER 39
-#define DCERPC_SAMR_QUERY_DISPINFO 40
-#define DCERPC_SAMR_GET_DISPLAY_ENUMERATION_INDEX 41
-#define DCERPC_SAMR_TEST_PRIVATE_FUNCTIONS_DOMAIN 42
-#define DCERPC_SAMR_TEST_PRIVATE_FUNCTIONS_USER 43
-#define DCERPC_SAMR_GET_USRDOM_PWINFO 44
-#define DCERPC_SAMR_REMOVE_MEMBER_FROM_FOREIGN_DOMAIN 45
-#define DCERPC_SAMR_QUERY_INFORMATION_DOMAIN2 46
-#define DCERPC_SAMR_QUERY_INFORMATION_USER2 47
-#define DCERPC_SAMR_QUERY_DISPINFO2 48
-#define DCERPC_SAMR_GET_DISPLAY_ENUMERATION_INDEX2 49
-#define DCERPC_SAMR_CREATE_USER2_IN_DOMAIN 50
-#define DCERPC_SAMR_QUERY_DISPINFO3 51
-#define DCERPC_SAMR_ADD_MULTIPLE_MEMBERS_TO_ALIAS 52
-#define DCERPC_SAMR_REMOVE_MULTIPLE_MEMBERS_FROM_ALIAS 53
-#define DCERPC_SAMR_OEM_CHANGE_PASSWORD_USER2 54
-#define DCERPC_SAMR_UNICODE_CHANGE_PASSWORD_USER2 55
-#define DCERPC_SAMR_GET_DOM_PWINFO 56
-#define DCERPC_SAMR_CONNECT2 57
-#define DCERPC_SAMR_SET_USERINFO2 58
-#define DCERPC_SAMR_SET_BOOT_KEY_INFORMATION 59
-#define DCERPC_SAMR_GET_BOOT_KEY_INFORMATION 60
-#define DCERPC_SAMR_CONNECT3 61
-#define DCERPC_SAMR_CONNECT4 62
-#define DCERPC_SAMR_UNICODE_CHANGE_PASSWORD_USER3 63
-#define DCERPC_SAMR_CONNECT5 64
-#define DCERPC_SAMR_RID_TO_SID 65
-#define DCERPC_SAMR_SET_DSRM_PASSWORD 66
-#define DCERPC_SAMR_VALIDATE_PASSWORD 67
index c8d97dff454bcb1ecc0520a451d05ce560433852..264ad3d4420275bc197a171a76793957c82121b9 100644 (file)
@@ -1,5 +1,107 @@
 /* header auto-generated by pidl */
 
+#define DCERPC_SPOOLSS_UUID "12345678-1234-abcd-ef00-0123456789ab"
+#define DCERPC_SPOOLSS_VERSION 1.0
+#define DCERPC_SPOOLSS_NAME "spoolss"
+
+#define DCERPC_SPOOLSS_ENUMPRINTERS 0
+#define DCERPC_SPOOLSS_OPENPRINTER 1
+#define DCERPC_SPOOLSS_02 2
+#define DCERPC_SPOOLSS_03 3
+#define DCERPC_SPOOLSS_ENUMJOBS 4
+#define DCERPC_SPOOLSS_05 5
+#define DCERPC_SPOOLSS_06 6
+#define DCERPC_SPOOLSS_07 7
+#define DCERPC_SPOOLSS_GETPRINTER 8
+#define DCERPC_SPOOLSS_09 9
+#define DCERPC_SPOOLSS_0A 10
+#define DCERPC_SPOOLSS_0B 11
+#define DCERPC_SPOOLSS_0C 12
+#define DCERPC_SPOOLSS_0D 13
+#define DCERPC_SPOOLSS_0E 14
+#define DCERPC_SPOOLSS_0F 15
+#define DCERPC_SPOOLSS_10 16
+#define DCERPC_SPOOLSS_11 17
+#define DCERPC_SPOOLSS_STARTPAGEPRINTER 18
+#define DCERPC_SPOOLSS_13 19
+#define DCERPC_SPOOLSS_ENDPAGEPRINTER 20
+#define DCERPC_SPOOLSS_15 21
+#define DCERPC_SPOOLSS_16 22
+#define DCERPC_SPOOLSS_ENDDOCPRINTER 23
+#define DCERPC_SPOOLSS_18 24
+#define DCERPC_SPOOLSS_19 25
+#define DCERPC_SPOOLSS_1A 26
+#define DCERPC_SPOOLSS_1B 27
+#define DCERPC_SPOOLSS_1C 28
+#define DCERPC_SPOOLSS_CLOSEPRINTER 29
+#define DCERPC_SPOOLSS_1E 30
+#define DCERPC_SPOOLSS_1F 31
+#define DCERPC_SPOOLSS_20 32
+#define DCERPC_SPOOLSS_21 33
+#define DCERPC_SPOOLSS_22 34
+#define DCERPC_SPOOLSS_23 35
+#define DCERPC_SPOOLSS_24 36
+#define DCERPC_SPOOLSS_25 37
+#define DCERPC_SPOOLSS_26 38
+#define DCERPC_SPOOLSS_27 39
+#define DCERPC_SPOOLSS_28 40
+#define DCERPC_SPOOLSS_29 41
+#define DCERPC_SPOOLSS_2A 42
+#define DCERPC_SPOOLSS_2B 43
+#define DCERPC_SPOOLSS_2C 44
+#define DCERPC_SPOOLSS_2D 45
+#define DCERPC_SPOOLSS_2E 46
+#define DCERPC_SPOOLSS_2F 47
+#define DCERPC_SPOOLSS_30 48
+#define DCERPC_SPOOLSS_31 49
+#define DCERPC_SPOOLSS_32 50
+#define DCERPC_SPOOLSS_33 51
+#define DCERPC_SPOOLSS_34 52
+#define DCERPC_SPOOLSS_35 53
+#define DCERPC_SPOOLSS_36 54
+#define DCERPC_SPOOLSS_37 55
+#define DCERPC_SPOOLSS_38 56
+#define DCERPC_SPOOLSS_39 57
+#define DCERPC_SPOOLSS_3A 58
+#define DCERPC_SPOOLSS_3B 59
+#define DCERPC_SPOOLSS_3C 60
+#define DCERPC_SPOOLSS_3D 61
+#define DCERPC_SPOOLSS_3E 62
+#define DCERPC_SPOOLSS_3F 63
+#define DCERPC_SPOOLSS_40 64
+#define DCERPC_SPOOLSS_41 65
+#define DCERPC_SPOOLSS_42 66
+#define DCERPC_SPOOLSS_43 67
+#define DCERPC_SPOOLSS_44 68
+#define DCERPC_SPOOLSS_OPENPRINTEREX 69
+#define DCERPC_SPOOLSS_46 70
+#define DCERPC_SPOOLSS_47 71
+#define DCERPC_SPOOLSS_ENUMPRINTERDATA 72
+#define DCERPC_SPOOLSS_49 73
+#define DCERPC_SPOOLSS_4A 74
+#define DCERPC_SPOOLSS_4B 75
+#define DCERPC_SPOOLSS_4C 76
+#define DCERPC_SPOOLSS_4D 77
+#define DCERPC_SPOOLSS_4E 78
+#define DCERPC_SPOOLSS_4F 79
+#define DCERPC_SPOOLSS_50 80
+#define DCERPC_SPOOLSS_51 81
+#define DCERPC_SPOOLSS_52 82
+#define DCERPC_SPOOLSS_53 83
+#define DCERPC_SPOOLSS_54 84
+#define DCERPC_SPOOLSS_55 85
+#define DCERPC_SPOOLSS_56 86
+#define DCERPC_SPOOLSS_57 87
+#define DCERPC_SPOOLSS_58 88
+#define DCERPC_SPOOLSS_59 89
+#define DCERPC_SPOOLSS_5A 90
+#define DCERPC_SPOOLSS_5B 91
+#define DCERPC_SPOOLSS_5C 92
+#define DCERPC_SPOOLSS_5D 93
+#define DCERPC_SPOOLSS_5E 94
+#define DCERPC_SPOOLSS_5F 95
+
+
 struct spoolss_DeviceMode {
        const char * devicename;
        uint16 specversion;
@@ -1140,99 +1242,3 @@ struct spoolss_5f {
 
 };
 
-#define DCERPC_SPOOLSS_ENUMPRINTERS 0
-#define DCERPC_SPOOLSS_OPENPRINTER 1
-#define DCERPC_SPOOLSS_02 2
-#define DCERPC_SPOOLSS_03 3
-#define DCERPC_SPOOLSS_ENUMJOBS 4
-#define DCERPC_SPOOLSS_05 5
-#define DCERPC_SPOOLSS_06 6
-#define DCERPC_SPOOLSS_07 7
-#define DCERPC_SPOOLSS_GETPRINTER 8
-#define DCERPC_SPOOLSS_09 9
-#define DCERPC_SPOOLSS_0A 10
-#define DCERPC_SPOOLSS_0B 11
-#define DCERPC_SPOOLSS_0C 12
-#define DCERPC_SPOOLSS_0D 13
-#define DCERPC_SPOOLSS_0E 14
-#define DCERPC_SPOOLSS_0F 15
-#define DCERPC_SPOOLSS_10 16
-#define DCERPC_SPOOLSS_11 17
-#define DCERPC_SPOOLSS_STARTPAGEPRINTER 18
-#define DCERPC_SPOOLSS_13 19
-#define DCERPC_SPOOLSS_ENDPAGEPRINTER 20
-#define DCERPC_SPOOLSS_15 21
-#define DCERPC_SPOOLSS_16 22
-#define DCERPC_SPOOLSS_ENDDOCPRINTER 23
-#define DCERPC_SPOOLSS_18 24
-#define DCERPC_SPOOLSS_19 25
-#define DCERPC_SPOOLSS_1A 26
-#define DCERPC_SPOOLSS_1B 27
-#define DCERPC_SPOOLSS_1C 28
-#define DCERPC_SPOOLSS_CLOSEPRINTER 29
-#define DCERPC_SPOOLSS_1E 30
-#define DCERPC_SPOOLSS_1F 31
-#define DCERPC_SPOOLSS_20 32
-#define DCERPC_SPOOLSS_21 33
-#define DCERPC_SPOOLSS_22 34
-#define DCERPC_SPOOLSS_23 35
-#define DCERPC_SPOOLSS_24 36
-#define DCERPC_SPOOLSS_25 37
-#define DCERPC_SPOOLSS_26 38
-#define DCERPC_SPOOLSS_27 39
-#define DCERPC_SPOOLSS_28 40
-#define DCERPC_SPOOLSS_29 41
-#define DCERPC_SPOOLSS_2A 42
-#define DCERPC_SPOOLSS_2B 43
-#define DCERPC_SPOOLSS_2C 44
-#define DCERPC_SPOOLSS_2D 45
-#define DCERPC_SPOOLSS_2E 46
-#define DCERPC_SPOOLSS_2F 47
-#define DCERPC_SPOOLSS_30 48
-#define DCERPC_SPOOLSS_31 49
-#define DCERPC_SPOOLSS_32 50
-#define DCERPC_SPOOLSS_33 51
-#define DCERPC_SPOOLSS_34 52
-#define DCERPC_SPOOLSS_35 53
-#define DCERPC_SPOOLSS_36 54
-#define DCERPC_SPOOLSS_37 55
-#define DCERPC_SPOOLSS_38 56
-#define DCERPC_SPOOLSS_39 57
-#define DCERPC_SPOOLSS_3A 58
-#define DCERPC_SPOOLSS_3B 59
-#define DCERPC_SPOOLSS_3C 60
-#define DCERPC_SPOOLSS_3D 61
-#define DCERPC_SPOOLSS_3E 62
-#define DCERPC_SPOOLSS_3F 63
-#define DCERPC_SPOOLSS_40 64
-#define DCERPC_SPOOLSS_41 65
-#define DCERPC_SPOOLSS_42 66
-#define DCERPC_SPOOLSS_43 67
-#define DCERPC_SPOOLSS_44 68
-#define DCERPC_SPOOLSS_OPENPRINTEREX 69
-#define DCERPC_SPOOLSS_46 70
-#define DCERPC_SPOOLSS_47 71
-#define DCERPC_SPOOLSS_ENUMPRINTERDATA 72
-#define DCERPC_SPOOLSS_49 73
-#define DCERPC_SPOOLSS_4A 74
-#define DCERPC_SPOOLSS_4B 75
-#define DCERPC_SPOOLSS_4C 76
-#define DCERPC_SPOOLSS_4D 77
-#define DCERPC_SPOOLSS_4E 78
-#define DCERPC_SPOOLSS_4F 79
-#define DCERPC_SPOOLSS_50 80
-#define DCERPC_SPOOLSS_51 81
-#define DCERPC_SPOOLSS_52 82
-#define DCERPC_SPOOLSS_53 83
-#define DCERPC_SPOOLSS_54 84
-#define DCERPC_SPOOLSS_55 85
-#define DCERPC_SPOOLSS_56 86
-#define DCERPC_SPOOLSS_57 87
-#define DCERPC_SPOOLSS_58 88
-#define DCERPC_SPOOLSS_59 89
-#define DCERPC_SPOOLSS_5A 90
-#define DCERPC_SPOOLSS_5B 91
-#define DCERPC_SPOOLSS_5C 92
-#define DCERPC_SPOOLSS_5D 93
-#define DCERPC_SPOOLSS_5E 94
-#define DCERPC_SPOOLSS_5F 95
index 2337f84e7a99f3ae1dfbfbfb944236a4aff5072e..a9ebb34533b5b2e86cc5ef2abab52182ccd6285b 100644 (file)
@@ -1,5 +1,42 @@
 /* header auto-generated by pidl */
 
+#define DCERPC_WKSSVC_UUID "6bffd098-a112-3610-9833-46c3f87e345a"
+#define DCERPC_WKSSVC_VERSION 1.0
+#define DCERPC_WKSSVC_NAME "wkssvc"
+
+#define DCERPC_WKS_QUERYINFO 0
+#define DCERPC_WKS_SETINFO 1
+#define DCERPC_WKS_NETRWKSTAUSERENUM 2
+#define DCERPC_WKS_NETRWKSTAUSERGETINFO 3
+#define DCERPC_WKS_NETRWKSTAUSERSETINFO 4
+#define DCERPC_WKS_TRANSPORTENUM 5
+#define DCERPC_WKS_NETRWKSTATRANSPORTADD 6
+#define DCERPC_WKS_NETRWKSTATRANSPORTDEL 7
+#define DCERPC_WKS_NETRUSEADD 8
+#define DCERPC_WKS_NETRUSEGETINFO 9
+#define DCERPC_WKS_NETRUSEDEL 10
+#define DCERPC_WKS_NETRUSEENUM 11
+#define DCERPC_WKS_NETRMESSAGEBUFFERSEND 12
+#define DCERPC_WKS_NETRWORKSTATIONSTATISTICSGET 13
+#define DCERPC_WKS_NETRLOGONDOMAINNAMEADD 14
+#define DCERPC_WKS_NETRLOGONDOMAINNAMEDEL 15
+#define DCERPC_WKS_NETRJOINDOMAIN 16
+#define DCERPC_WKS_NETRUNJOINDOMAIN 17
+#define DCERPC_WKS_NETRRENAMEMACHINEINDOMAIN 18
+#define DCERPC_WKS_NETRVALIDATENAME 19
+#define DCERPC_WKS_NETRGETJOININFORMATION 20
+#define DCERPC_WKS_NETRGETJOINABLEOUS 21
+#define DCERPC_WKS_NETRJOINDOMAIN2 22
+#define DCERPC_WKS_NETRUNJOINDOMAIN2 23
+#define DCERPC_WKS_NETRRENAMEMACHINEINDOMAIN2 24
+#define DCERPC_WKS_NETRVALIDATENAME2 25
+#define DCERPC_WKS_NETRGETJOINABLEOUS2 26
+#define DCERPC_WKS_NETRADDALTERNATECOMPUTERNAME 27
+#define DCERPC_WKS_NETRREMOVEALTERNATECOMPUTERNAME 28
+#define DCERPC_WKS_NETRSETPRIMARYCOMPUTERNAME 29
+#define DCERPC_WKS_NETRENUMERATECOMPUTERNAMES 30
+
+
 struct wks_Info100 {
        uint32 platform_id;
        const char *server;
@@ -375,34 +412,3 @@ struct WKS_NETRENUMERATECOMPUTERNAMES {
 
 };
 
-#define DCERPC_WKS_QUERYINFO 0
-#define DCERPC_WKS_SETINFO 1
-#define DCERPC_WKS_NETRWKSTAUSERENUM 2
-#define DCERPC_WKS_NETRWKSTAUSERGETINFO 3
-#define DCERPC_WKS_NETRWKSTAUSERSETINFO 4
-#define DCERPC_WKS_TRANSPORTENUM 5
-#define DCERPC_WKS_NETRWKSTATRANSPORTADD 6
-#define DCERPC_WKS_NETRWKSTATRANSPORTDEL 7
-#define DCERPC_WKS_NETRUSEADD 8
-#define DCERPC_WKS_NETRUSEGETINFO 9
-#define DCERPC_WKS_NETRUSEDEL 10
-#define DCERPC_WKS_NETRUSEENUM 11
-#define DCERPC_WKS_NETRMESSAGEBUFFERSEND 12
-#define DCERPC_WKS_NETRWORKSTATIONSTATISTICSGET 13
-#define DCERPC_WKS_NETRLOGONDOMAINNAMEADD 14
-#define DCERPC_WKS_NETRLOGONDOMAINNAMEDEL 15
-#define DCERPC_WKS_NETRJOINDOMAIN 16
-#define DCERPC_WKS_NETRUNJOINDOMAIN 17
-#define DCERPC_WKS_NETRRENAMEMACHINEINDOMAIN 18
-#define DCERPC_WKS_NETRVALIDATENAME 19
-#define DCERPC_WKS_NETRGETJOININFORMATION 20
-#define DCERPC_WKS_NETRGETJOINABLEOUS 21
-#define DCERPC_WKS_NETRJOINDOMAIN2 22
-#define DCERPC_WKS_NETRUNJOINDOMAIN2 23
-#define DCERPC_WKS_NETRRENAMEMACHINEINDOMAIN2 24
-#define DCERPC_WKS_NETRVALIDATENAME2 25
-#define DCERPC_WKS_NETRGETJOINABLEOUS2 26
-#define DCERPC_WKS_NETRADDALTERNATECOMPUTERNAME 27
-#define DCERPC_WKS_NETRREMOVEALTERNATECOMPUTERNAME 28
-#define DCERPC_WKS_NETRSETPRIMARYCOMPUTERNAME 29
-#define DCERPC_WKS_NETRENUMERATECOMPUTERNAMES 30
index aa8b8520f399a61275b24abf43711eb3dd993087..aeeee092ce97caf92a6a96cbd72a0b7c73d88c51 100644 (file)
@@ -560,7 +560,9 @@ NTSTATUS dcerpc_bind(struct dcerpc_pipe *p,
                return status;
        }
 
-       if (pkt.hdr.ptype != DCERPC_PKT_BIND_ACK) {
+       if (pkt.hdr.ptype != DCERPC_PKT_BIND_ACK ||
+           pkt.out.bind_ack.num_results == 0 ||
+           pkt.out.bind_ack.ctx_list[0].result != 0) {
                status = NT_STATUS_UNSUCCESSFUL;
        }
 
@@ -572,49 +574,30 @@ NTSTATUS dcerpc_bind(struct dcerpc_pipe *p,
        return status;  
 }
 
-static const struct {
-       const char *name;
-       struct dcerpc_syntax_id syntax;
-       const struct dcerpc_syntax_id transfer_syntax;
-} known_pipes[] = {
-       { "lsarpc"  , { "12345778-1234-abcd-ef00-0123456789ab", 0 }, DCERPC_TRANSFER_SYNTAX_V2 },
-       { "samr"    , { "12345778-1234-abcd-ef00-0123456789ac", 1 }, DCERPC_TRANSFER_SYNTAX_V2 },
-       { "netlogon", { "12345778-1234-abcd-ef00-01234567cffb", 1 }, DCERPC_TRANSFER_SYNTAX_V2 },
-       { "srvsvc"  , { "4b324fc8-1670-01d3-1278-5a47bf6ee188", 3 }, DCERPC_TRANSFER_SYNTAX_V2 },
-       { "wkssvc"  , { "6bffd098-a112-3610-9833-46c3f87e345a", 1 }, DCERPC_TRANSFER_SYNTAX_V2 },
-       { "winreg"  , { "338cd001-2244-31f1-aaaa-900038001003", 1 }, DCERPC_TRANSFER_SYNTAX_V2 },
-       { "spoolss" , { "12345678-1234-abcd-ef00-0123456789ab", 1 }, DCERPC_TRANSFER_SYNTAX_V2 },
-       { "netdfs"  , { "4fc742e0-4a10-11cf-8273-00aa004ae673", 3 }, DCERPC_TRANSFER_SYNTAX_V2 },
-       { "rpcecho" , { "60a15ec5-4de8-11d7-a637-005056a20182", 1 }, DCERPC_TRANSFER_SYNTAX_V2 },
-       { NULL         , }
-};
-
-
-/* Perform a bind using the given well-known pipe name */
-NTSTATUS dcerpc_bind_byname(struct dcerpc_pipe *p, const char *pipe_name)
+/* Perform a bind using the given UUID and version */
+NTSTATUS dcerpc_bind_byuuid(struct dcerpc_pipe *p, 
+                           const char *uuid, unsigned version)
 {
-       int i;
+       struct dcerpc_syntax_id syntax;
+       struct dcerpc_syntax_id transfer_syntax;
 
-       for (i=0; known_pipes[i].name; i++) {
-               if (strcasecmp(known_pipes[i].name, pipe_name) == 0)
-                       break;
-       }
-       
-       if (known_pipes[i].name == NULL) {
-               return NT_STATUS_OBJECT_NAME_NOT_FOUND;
-       }
+       syntax.uuid_str = uuid;
+       syntax.if_version = version;
 
-       return dcerpc_bind(p, &known_pipes[i].syntax, &known_pipes[i].transfer_syntax);
+       transfer_syntax.uuid_str = "8a885d04-1ceb-11c9-9fe8-08002b104860";
+       transfer_syntax.if_version = 2;
+
+       return dcerpc_bind(p, &syntax, &transfer_syntax);
 }
 
 /*
   perform a full request/response pair on a dcerpc pipe
 */
 NTSTATUS dcerpc_request(struct dcerpc_pipe *p, 
-                           uint16 opnum,
-                           TALLOC_CTX *mem_ctx,
-                           DATA_BLOB *stub_data_in,
-                           DATA_BLOB *stub_data_out)
+                       uint16 opnum,
+                       TALLOC_CTX *mem_ctx,
+                       DATA_BLOB *stub_data_in,
+                       DATA_BLOB *stub_data_out)
 {
        
        struct dcerpc_packet pkt;
index d67969e76c1d695e518b63ce16f9560ae627c91f..81cefa1678722aa729f11cc8b3522b2fafedc966 100644 (file)
@@ -130,6 +130,3 @@ struct dcerpc_packet {
        } out;
 };
 
-/* this seems to be the only transfer syntax used */
-#define DCERPC_TRANSFER_SYNTAX_V2 {"8a885d04-1ceb-11c9-9fe8-08002b104860", 2}
-
index 054120001550b959a79189e18d4fab464ea61b3b..a5570a4ea9b7dd95b7f99e9b5a179aa83f709844 100644 (file)
 /* 
    open a rpc connection to a named pipe 
 */
-NTSTATUS dcerpc_pipe_open_smb(struct dcerpc_pipe *p, const char *pipe_name)
+NTSTATUS dcerpc_pipe_open_smb(struct dcerpc_pipe *p, 
+                             const char *pipe_name,
+                             const char *pipe_uuid, 
+                             uint32 pipe_version)
 {
         NTSTATUS status;
        char *name = NULL;
@@ -73,7 +76,7 @@ NTSTATUS dcerpc_pipe_open_smb(struct dcerpc_pipe *p, const char *pipe_name)
        p->fnum = io.ntcreatex.out.fnum;
 
        /* bind to the pipe, using the pipe_name as the key */
-       status = dcerpc_bind_byname(p, pipe_name);
+       status = dcerpc_bind_byuuid(p, pipe_uuid, pipe_version);
 
        if (!NT_STATUS_IS_OK(status)) {
                union smb_close c;
index 7d851675e0648ff2604cf5ac1f7f216f885dba20..abd78a8cd0d1bb8574b54aff52efcbc7d2552d60 100644 (file)
@@ -172,7 +172,10 @@ BOOL torture_rpc_dfs(int dummy)
 
        mem_ctx = talloc_init("torture_rpc_dfs");
 
-       status = torture_rpc_connection(&p, "netdfs");
+       status = torture_rpc_connection(&p, 
+                                       DCERPC_NETDFS_NAME,
+                                       DCERPC_NETDFS_UUID,
+                                       DCERPC_NETDFS_VERSION);
        if (!NT_STATUS_IS_OK(status)) {
                return False;
        }
index 3e674a21b84068ebd3af1d935ac7632422a1a5c4..fe044fbc6ca5a3a242ced3559b6fefdce523a9fa 100644 (file)
@@ -193,7 +193,10 @@ BOOL torture_rpc_echo(int dummy)
 
        mem_ctx = talloc_init("torture_rpc_echo");
 
-       status = torture_rpc_connection(&p, "rpcecho");
+       status = torture_rpc_connection(&p, 
+                                       DCERPC_RPCECHO_NAME,
+                                       DCERPC_RPCECHO_UUID,
+                                       DCERPC_RPCECHO_VERSION);
        if (!NT_STATUS_IS_OK(status)) {
                return False;
        }
index e810ffa585d0bf32cd721d17eb3d8888bae1a02c..1e6f8be99037998117a75fbe43b3935b2dc2efd7 100644 (file)
@@ -511,7 +511,10 @@ BOOL torture_rpc_lsa(int dummy)
 
        mem_ctx = talloc_init("torture_rpc_lsa");
 
-       status = torture_rpc_connection(&p, "lsarpc");
+       status = torture_rpc_connection(&p, 
+                                       DCERPC_LSARPC_NAME, 
+                                       DCERPC_LSARPC_UUID, 
+                                       DCERPC_LSARPC_VERSION);
        if (!NT_STATUS_IS_OK(status)) {
                return False;
        }
index fb00cc56dfc56438ddc9fb9e28e736dce3d8f2fc..fddf97ef74aee677b541ad6572d902bf76886630 100644 (file)
@@ -497,7 +497,10 @@ BOOL torture_rpc_samr(int dummy)
 
        mem_ctx = talloc_init("torture_rpc_samr");
 
-       status = torture_rpc_connection(&p, "samr");
+       status = torture_rpc_connection(&p, 
+                                       DCERPC_SAMR_NAME,
+                                       DCERPC_SAMR_UUID,
+                                       DCERPC_SAMR_VERSION);
        if (!NT_STATUS_IS_OK(status)) {
                return False;
        }
index feaeae7b79f8129fa77aad9483e1e1c174bd2d06..53e25a3e14a03411291d409e6cda5ab9f3be71dd 100644 (file)
@@ -261,7 +261,10 @@ BOOL torture_rpc_spoolss(int dummy)
 
        mem_ctx = talloc_init("torture_rpc_spoolss");
 
-       status = torture_rpc_connection(&p, "spoolss");
+       status = torture_rpc_connection(&p, 
+                                       DCERPC_SPOOLSS_NAME,
+                                       DCERPC_SPOOLSS_UUID,
+                                       DCERPC_SPOOLSS_VERSION);
        if (!NT_STATUS_IS_OK(status)) {
                return False;
        }
index 9d4b38d40f87b4727416a6e11f85bfb3d2878d09..5f8a63de10aa22ba52047861f1e649eeedf910ff 100644 (file)
@@ -90,7 +90,10 @@ BOOL torture_rpc_wkssvc(int dummy)
 
        mem_ctx = talloc_init("torture_rpc_wkssvc");
 
-       status = torture_rpc_connection(&p, "wkssvc");
+       status = torture_rpc_connection(&p, 
+                                       DCERPC_WKSSVC_NAME,
+                                       DCERPC_WKSSVC_UUID,
+                                       DCERPC_WKSSVC_VERSION);
        if (!NT_STATUS_IS_OK(status)) {
                return False;
        }
index 225f1321f5600e1e4b8d0726cec58a2f0f71083d..711a0ae54e858ed4c5f705aa7bbd6f330c1ac0bd 100644 (file)
@@ -132,7 +132,10 @@ BOOL torture_close_connection(struct cli_state *c)
 }
 
 /* open a rpc connection to a named pipe */
-NTSTATUS torture_rpc_connection(struct dcerpc_pipe **p, const char *pipe_name)
+NTSTATUS torture_rpc_connection(struct dcerpc_pipe **p, 
+                               const char *pipe_name,
+                               const char *pipe_uuid, 
+                               uint32 pipe_version)
 {
         struct cli_state *cli;
         NTSTATUS status;
@@ -145,9 +148,9 @@ NTSTATUS torture_rpc_connection(struct dcerpc_pipe **p, const char *pipe_name)
                 return NT_STATUS_NO_MEMORY;
        }
  
-       status = dcerpc_pipe_open_smb(*p, pipe_name);
+       status = dcerpc_pipe_open_smb(*p, pipe_name, pipe_uuid, pipe_version);
        if (!NT_STATUS_IS_OK(status)) {
-                printf("Open of pipe %s failed with error (%s)\n",
+                printf("Open of pipe '%s' failed with error (%s)\n",
                       pipe_name, nt_errstr(status));
                 return status;
         }
@@ -2817,7 +2820,7 @@ static BOOL run_rename(int dummy)
 static BOOL run_pipe_number(int dummy)
 {
        struct cli_state *cli1;
-       const char *pipe_name = "\\SPOOLSS";
+       const char *pipe_name = "\\WKSSVC";
        int fnum;
        int num_pipes = 0;