summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1997-10-27 15:09:23 +0000
committerLuke Leighton <lkcl@samba.org>1997-10-27 15:09:23 +0000
commit8586dda29b79f041cac2879ecff0afa3283dfca1 (patch)
treefc937d1c8f7a6fa4b1d4fdf127e51560a3ae7ec5 /source3/include
parent71d648cdb431ecf984196a7e480208a94fcdf390 (diff)
downloadsamba-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.h6
-rw-r--r--source3/include/smb.h22
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