summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2000-12-13 12:13:22 +0000
committerTim Potter <tpot@samba.org>2000-12-13 12:13:22 +0000
commit6de135b0b2a9face6d1f5c1300c1a1ff4b68e251 (patch)
tree4fd9adcbfd2c71092eb7f33a1e4eb05afd338253 /source3
parente43671cd57dff9a92d5a196e89a552712a30abee (diff)
downloadsamba-6de135b0b2a9face6d1f5c1300c1a1ff4b68e251.tar.gz
samba-6de135b0b2a9face6d1f5c1300c1a1ff4b68e251.tar.bz2
samba-6de135b0b2a9face6d1f5c1300c1a1ff4b68e251.zip
make proto
Updates for dynamic sized lookup names/sids (This used to be commit 34743c157632b1784bd15e3ca97380b1f9754e46)
Diffstat (limited to 'source3')
-rw-r--r--source3/include/proto.h39
-rw-r--r--source3/include/rpc_client_proto.h13
-rw-r--r--source3/include/rpc_lsa.h4
3 files changed, 37 insertions, 19 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 1622d336e0..1801164981 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -651,6 +651,21 @@ struct in_addr wins_srv_ip( void );
void wins_srv_died( struct in_addr boothill_ip );
unsigned long wins_srv_count( void );
+/*The following definitions come from libsmb/cli_lsarpc.c */
+
+struct cli_state *cli_lsa_initialise(struct cli_state *cli, char *system_name,
+ struct ntuser_creds *creds);
+void cli_lsa_shutdown(struct cli_state *cli);
+uint32 cli_lsa_open_policy(struct cli_state *cli, BOOL sec_qos,
+ uint32 des_access, POLICY_HND *hnd);
+uint32 cli_lsa_close(struct cli_state *cli, POLICY_HND *hnd);
+uint32 cli_lsa_lookup_sids(struct cli_state *cli, POLICY_HND *hnd,
+ int num_sids, DOM_SID *sids, char ***names,
+ uint32 **types, int *num_names);
+uint32 cli_lsa_lookup_names(struct cli_state *cli, POLICY_HND *hnd,
+ int num_names, char **names, DOM_SID **sids,
+ uint32 **types, int *num_sids);
+
/*The following definitions come from libsmb/cliconnect.c */
BOOL cli_session_setup(struct cli_state *cli,
@@ -1924,17 +1939,18 @@ BOOL cli_nt_logoff(struct cli_state *cli, NET_ID_INFO_CTR *ctr);
BOOL do_lsa_open_policy(struct cli_state *cli,
char *system_name, POLICY_HND *hnd,
BOOL sec_qos);
-BOOL do_lsa_lookup_sids(struct cli_state *cli,
- POLICY_HND *hnd,
- int num_sids,
- DOM_SID **sids,
- char ***names,
- int *num_names);
BOOL do_lsa_query_info_pol(struct cli_state *cli,
POLICY_HND *hnd, uint16 info_class,
fstring domain_name, DOM_SID *domain_sid);
BOOL do_lsa_close(struct cli_state *cli, POLICY_HND *hnd);
BOOL cli_lsa_get_domain_sid(struct cli_state *cli, char *server);
+uint32 lsa_open_policy(const char *system_name, POLICY_HND *hnd,
+ BOOL sec_qos, uint32 des_access);
+uint32 lsa_close(POLICY_HND *hnd);
+uint32 lsa_lookup_sids(POLICY_HND *hnd, int num_sids, DOM_SID *sids,
+ char ***names, uint32 **types, int *num_names);
+uint32 lsa_lookup_names(POLICY_HND *hnd, int num_names, char **names,
+ DOM_SID **sids, uint32 **types, int *num_sids);
/*The following definitions come from rpc_client/cli_netlogon.c */
@@ -2287,16 +2303,17 @@ void init_r_enum_trust_dom(LSA_R_ENUM_TRUST_DOM *r_e,
BOOL lsa_io_r_enum_trust_dom(char *desc, LSA_R_ENUM_TRUST_DOM *r_e, prs_struct *ps, int depth);
BOOL lsa_io_r_query(char *desc, LSA_R_QUERY_INFO *r_q, prs_struct *ps, int depth);
void init_lsa_sid_enum(TALLOC_CTX *mem_ctx, LSA_SID_ENUM *sen,
- int num_entries, DOM_SID **sids);
+ int num_entries, DOM_SID *sids);
void init_q_lookup_sids(TALLOC_CTX *mem_ctx, LSA_Q_LOOKUP_SIDS *q_l,
- POLICY_HND *hnd, int num_sids, DOM_SID **sids,
+ POLICY_HND *hnd, int num_sids, DOM_SID *sids,
uint16 level);
BOOL lsa_io_q_lookup_sids(char *desc, LSA_Q_LOOKUP_SIDS *q_s, prs_struct *ps, int depth);
BOOL lsa_io_r_lookup_sids(char *desc, LSA_R_LOOKUP_SIDS *r_s, prs_struct *ps, int depth);
-void init_q_lookup_names(LSA_Q_LOOKUP_NAMES *q_l, POLICY_HND *hnd,
- int num_names, char **names);
+void init_q_lookup_names(TALLOC_CTX *mem_ctx, LSA_Q_LOOKUP_NAMES *q_l,
+ POLICY_HND *hnd, int num_names, char **names);
BOOL lsa_io_q_lookup_names(char *desc, LSA_Q_LOOKUP_NAMES *q_r, prs_struct *ps, int depth);
-BOOL lsa_io_r_lookup_names(char *desc, LSA_R_LOOKUP_NAMES *r_r, prs_struct *ps, int depth);
+BOOL lsa_io_r_lookup_names(TALLOC_CTX *mem_ctx, char *desc,
+ LSA_R_LOOKUP_NAMES *r_r, prs_struct *ps, int depth);
void init_lsa_q_close(LSA_Q_CLOSE *q_c, POLICY_HND *hnd);
BOOL lsa_io_q_close(char *desc, LSA_Q_CLOSE *q_c, prs_struct *ps, int depth);
BOOL lsa_io_r_close(char *desc, LSA_R_CLOSE *r_c, prs_struct *ps, int depth);
diff --git a/source3/include/rpc_client_proto.h b/source3/include/rpc_client_proto.h
index 6a66c9d417..3b94c37d59 100644
--- a/source3/include/rpc_client_proto.h
+++ b/source3/include/rpc_client_proto.h
@@ -50,17 +50,18 @@ BOOL cli_nt_logoff(struct cli_state *cli, NET_ID_INFO_CTR *ctr);
BOOL do_lsa_open_policy(struct cli_state *cli,
char *system_name, POLICY_HND *hnd,
BOOL sec_qos);
-BOOL do_lsa_lookup_sids(struct cli_state *cli,
- POLICY_HND *hnd,
- int num_sids,
- DOM_SID **sids,
- char ***names,
- int *num_names);
BOOL do_lsa_query_info_pol(struct cli_state *cli,
POLICY_HND *hnd, uint16 info_class,
fstring domain_name, DOM_SID *domain_sid);
BOOL do_lsa_close(struct cli_state *cli, POLICY_HND *hnd);
BOOL cli_lsa_get_domain_sid(struct cli_state *cli, char *server);
+uint32 lsa_open_policy(const char *system_name, POLICY_HND *hnd,
+ BOOL sec_qos, uint32 des_access);
+uint32 lsa_close(POLICY_HND *hnd);
+uint32 lsa_lookup_sids(POLICY_HND *hnd, int num_sids, DOM_SID *sids,
+ char ***names, uint32 **types, int *num_names);
+uint32 lsa_lookup_names(POLICY_HND *hnd, int num_names, char **names,
+ DOM_SID **sids, uint32 **types, int *num_sids);
/*The following definitions come from rpc_client/cli_netlogon.c */
diff --git a/source3/include/rpc_lsa.h b/source3/include/rpc_lsa.h
index adeb6d5ad4..53bb605cac 100644
--- a/source3/include/rpc_lsa.h
+++ b/source3/include/rpc_lsa.h
@@ -314,8 +314,8 @@ typedef struct lsa_q_lookup_names
POLICY_HND pol; /* policy handle */
uint32 num_entries;
uint32 num_entries2;
- UNIHDR hdr_name[MAX_LOOKUP_SIDS]; /* name buffer pointers */
- UNISTR2 uni_name[MAX_LOOKUP_SIDS]; /* names to be looked up */
+ UNIHDR *hdr_name; /* name buffer pointers */
+ UNISTR2 *uni_name; /* names to be looked up */
uint32 num_trans_entries;
uint32 ptr_trans_sids; /* undocumented domain SID buffer pointer */