diff options
author | Luke Leighton <lkcl@samba.org> | 1997-10-27 15:09:23 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 1997-10-27 15:09:23 +0000 |
commit | 8586dda29b79f041cac2879ecff0afa3283dfca1 (patch) | |
tree | fc937d1c8f7a6fa4b1d4fdf127e51560a3ae7ec5 /source3/include | |
parent | 71d648cdb431ecf984196a7e480208a94fcdf390 (diff) | |
download | samba-8586dda29b79f041cac2879ecff0afa3283dfca1.tar.gz samba-8586dda29b79f041cac2879ecff0afa3283dfca1.tar.bz2 samba-8586dda29b79f041cac2879ecff0afa3283dfca1.zip |
added LSA Open Policy query and response processing to smbclient
(This used to be commit 16cc27852bf54999db4b0a3665b0743d9fe0e74a)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/proto.h | 6 | ||||
-rw-r--r-- | source3/include/smb.h | 22 |
2 files changed, 28 insertions, 0 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index cdecd1ec88..6bb91e8c1f 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -373,6 +373,10 @@ struct share_ops *locking_slow_init(int ronly); /*The following definitions come from lsaparse.c */ +void make_q_open_pol(LSA_Q_OPEN_POL *r_q, char *server_name, + uint32 attributes, uint32 sec_qos, + uint16 desired_access); +char* lsa_io_q_open_pol(BOOL io, LSA_Q_OPEN_POL *r_q, char *q, char *base, int align, int depth); char* lsa_io_r_open_pol(BOOL io, LSA_R_OPEN_POL *r_p, char *q, char *base, int align, int depth); char* lsa_io_q_query(BOOL io, LSA_Q_QUERY_INFO *q_q, char *q, char *base, int align, int depth); char* lsa_io_r_query(BOOL io, LSA_R_QUERY_INFO *r_q, char *q, char *base, int align, int depth); @@ -944,6 +948,8 @@ char* smb_io_gid(BOOL io, DOM_GID *gid, char *q, char *base, int align, int dept void make_rpc_header(RPC_HDR *hdr, enum RPC_PKT_TYPE pkt_type, uint32 call_id, int data_len, uint8 opnum); char* smb_io_rpc_hdr(BOOL io, RPC_HDR *rpc, char *q, char *base, int align, int depth); +void make_obj_attr(LSA_OBJ_ATTR *attr, uint32 attributes, uint32 sec_qos); +char* smb_io_obj_attr(BOOL io, LSA_OBJ_ATTR *attr, char *q, char *base, int align, int depth); char* smb_io_pol_hnd(BOOL io, LSA_POL_HND *pol, char *q, char *base, int align, int depth); char* smb_io_dom_query_3(BOOL io, DOM_QUERY_3 *d_q, char *q, char *base, int align, int depth); char* smb_io_dom_query_5(BOOL io, DOM_QUERY_3 *d_q, char *q, char *base, int align, int depth); diff --git a/source3/include/smb.h b/source3/include/smb.h index 7019d41de0..e9734f379d 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -265,6 +265,7 @@ typedef fstring string; #define PIPE_SRVSVC "\\PIPE\\srvsvc" #define PIPE_NETLOGON "\\PIPE\\NETLOGON" #define PIPE_NTLSA "\\PIPE\\ntlsa" +#define PIPE_LSARPC "\\PIPE\\lsarpc" /* NETLOGON opcodes and data structures */ @@ -579,6 +580,27 @@ typedef struct lsa_policy_info } LSA_POL_HND; +/* OBJ_ATTR (object attributes) */ +typedef struct object_attributes_info +{ + uint32 len; /* 0x18 - length (in bytes) inc. the length field. */ + uint32 ptr_root_dir; /* 0 - root directory (pointer) */ + uint32 ptr_obj_name; /* 0 - object name (pointer) */ + uint32 attributes; /* 0 - attributes (undocumented) */ + uint32 ptr_sec_desc; /* 0 - security descriptior (pointer) */ + uint32 sec_qos; /* 0 - security quality of service */ + +} LSA_OBJ_ATTR; + +/* LSA_Q_OPEN_POL - LSA Query Open Policy */ +typedef struct lsa_q_open_pol_info +{ + UNISTR2 uni_server_name; /* server name, starting with two '\'s */ + LSA_OBJ_ATTR attr ; /* object attributes */ + + uint32 des_access; /* desired access attributes */ + +} LSA_Q_OPEN_POL; /* LSA_R_OPEN_POL - response to LSA Open Policy */ typedef struct lsa_r_open_pol_info |