rpc_server/srv_samr.c

ソースコードを見る。

関数

static BOOL api_samr_close_hnd (pipes_struct *p)
static BOOL api_samr_open_domain (pipes_struct *p)
static BOOL api_samr_get_usrdom_pwinfo (pipes_struct *p)
static BOOL api_samr_set_sec_obj (pipes_struct *p)
static BOOL api_samr_query_sec_obj (pipes_struct *p)
static BOOL api_samr_enum_dom_users (pipes_struct *p)
static BOOL api_samr_enum_dom_groups (pipes_struct *p)
static BOOL api_samr_enum_dom_aliases (pipes_struct *p)
static BOOL api_samr_query_dispinfo (pipes_struct *p)
static BOOL api_samr_query_aliasinfo (pipes_struct *p)
static BOOL api_samr_lookup_names (pipes_struct *p)
static BOOL api_samr_chgpasswd_user (pipes_struct *p)
static BOOL api_samr_lookup_rids (pipes_struct *p)
static BOOL api_samr_open_user (pipes_struct *p)
static BOOL api_samr_query_userinfo (pipes_struct *p)
static BOOL api_samr_query_usergroups (pipes_struct *p)
static BOOL api_samr_query_domain_info (pipes_struct *p)
static BOOL api_samr_create_user (pipes_struct *p)
static BOOL api_samr_connect_anon (pipes_struct *p)
static BOOL api_samr_connect (pipes_struct *p)
static BOOL api_samr_connect4 (pipes_struct *p)
static BOOL api_samr_chgpasswd_user3 (pipes_struct *p)
static BOOL api_samr_connect5 (pipes_struct *p)
static BOOL api_samr_lookup_domain (pipes_struct *p)
static BOOL api_samr_enum_domains (pipes_struct *p)
static BOOL api_samr_open_alias (pipes_struct *p)
static BOOL api_samr_set_userinfo (pipes_struct *p)
static BOOL api_samr_set_userinfo2 (pipes_struct *p)
static BOOL api_samr_query_useraliases (pipes_struct *p)
static BOOL api_samr_query_aliasmem (pipes_struct *p)
static BOOL api_samr_query_groupmem (pipes_struct *p)
static BOOL api_samr_add_aliasmem (pipes_struct *p)
static BOOL api_samr_del_aliasmem (pipes_struct *p)
static BOOL api_samr_add_groupmem (pipes_struct *p)
static BOOL api_samr_del_groupmem (pipes_struct *p)
static BOOL api_samr_delete_dom_user (pipes_struct *p)
static BOOL api_samr_delete_dom_group (pipes_struct *p)
static BOOL api_samr_delete_dom_alias (pipes_struct *p)
static BOOL api_samr_create_dom_group (pipes_struct *p)
static BOOL api_samr_create_dom_alias (pipes_struct *p)
static BOOL api_samr_query_groupinfo (pipes_struct *p)
static BOOL api_samr_set_groupinfo (pipes_struct *p)
static BOOL api_samr_set_aliasinfo (pipes_struct *p)
static BOOL api_samr_get_dom_pwinfo (pipes_struct *p)
static BOOL api_samr_open_group (pipes_struct *p)
static BOOL api_samr_remove_sid_foreign_domain (pipes_struct *p)
static BOOL api_samr_query_domain_info2 (pipes_struct *p)
static BOOL api_samr_set_dom_info (pipes_struct *p)
static BOOL api_samr_get_dispenum_index (pipes_struct *p)
void samr_get_pipe_fns (struct api_struct **fns, int *n_fns)
NTSTATUS rpc_samr_init (void)

変数

static struct api_struct api_samr_cmds []


関数

static BOOL api_samr_close_hnd ( pipes_struct p  )  [static]

srv_samr.c43 行で定義されています。

参照先 _samr_close_hnd()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_close_hnd()samr_io_r_close_hnd()r_samr_close_hnd_info::status.

00044 {
00045         SAMR_Q_CLOSE_HND q_u;
00046         SAMR_R_CLOSE_HND r_u;
00047         prs_struct *data = &p->in_data.data;
00048         prs_struct *rdata = &p->out_data.rdata;
00049 
00050         ZERO_STRUCT(q_u);
00051         ZERO_STRUCT(r_u);
00052 
00053         if(!samr_io_q_close_hnd("", &q_u, data, 0)) {
00054                 DEBUG(0,("api_samr_close_hnd: unable to unmarshall SAMR_Q_CLOSE_HND.\n"));
00055                 return False;
00056         }
00057 
00058         r_u.status = _samr_close_hnd(p, &q_u, &r_u);
00059 
00060         /* store the response in the SMB stream */
00061         if(!samr_io_r_close_hnd("", &r_u, rdata, 0)) {
00062                 DEBUG(0,("api_samr_close_hnd: unable to marshall SAMR_R_CLOSE_HND.\n"));
00063                 return False;
00064         }
00065 
00066         return True;
00067 }

static BOOL api_samr_open_domain ( pipes_struct p  )  [static]

srv_samr.c73 行で定義されています。

参照先 _samr_open_domain()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_open_domain()samr_io_r_open_domain()r_samr_open_domain_info::status.

00074 {
00075         SAMR_Q_OPEN_DOMAIN q_u;
00076         SAMR_R_OPEN_DOMAIN r_u;
00077 
00078         prs_struct *data = &p->in_data.data;
00079         prs_struct *rdata = &p->out_data.rdata;
00080 
00081         ZERO_STRUCT(q_u);
00082         ZERO_STRUCT(r_u);
00083 
00084         if(!samr_io_q_open_domain("", &q_u, data, 0)) {
00085                 DEBUG(0,("api_samr_open_domain: unable to unmarshall SAMR_Q_OPEN_DOMAIN.\n"));
00086                 return False;
00087         }
00088 
00089         r_u.status = _samr_open_domain(p, &q_u, &r_u);
00090 
00091         /* store the response in the SMB stream */
00092         if(!samr_io_r_open_domain("", &r_u, rdata, 0)) {
00093                 DEBUG(0,("api_samr_open_domain: unable to marshall SAMR_R_OPEN_DOMAIN.\n"));
00094                 return False;
00095         }
00096 
00097         return True;
00098 }

static BOOL api_samr_get_usrdom_pwinfo ( pipes_struct p  )  [static]

srv_samr.c104 行で定義されています。

参照先 _samr_get_usrdom_pwinfo()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_get_usrdom_pwinfo()samr_io_r_get_usrdom_pwinfo()r_samr_usrdom_pwinfo_info::status.

00105 {
00106         SAMR_Q_GET_USRDOM_PWINFO q_u;
00107         SAMR_R_GET_USRDOM_PWINFO r_u;
00108 
00109         prs_struct *data = &p->in_data.data;
00110         prs_struct *rdata = &p->out_data.rdata;
00111 
00112         ZERO_STRUCT(q_u);
00113         ZERO_STRUCT(r_u);
00114 
00115         if(!samr_io_q_get_usrdom_pwinfo("", &q_u, data, 0)) {
00116                 DEBUG(0,("api_samr_get_usrdom_pwinfo: unable to unmarshall SAMR_Q_GET_USRDOM_PWINFO.\n"));
00117                 return False;
00118         }
00119 
00120         r_u.status = _samr_get_usrdom_pwinfo(p, &q_u, &r_u);
00121 
00122         if(!samr_io_r_get_usrdom_pwinfo("", &r_u, rdata, 0)) {
00123                 DEBUG(0,("api_samr_get_usrdom_pwinfo: unable to marshall SAMR_R_GET_USRDOM_PWINFO.\n"));
00124                 return False;
00125         }
00126 
00127         return True;
00128 }

static BOOL api_samr_set_sec_obj ( pipes_struct p  )  [static]

srv_samr.c134 行で定義されています。

参照先 _samr_set_sec_obj()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_set_sec_obj()samr_io_r_set_sec_obj()r_samr_set_sec_obj_info::status.

00135 {
00136         SAMR_Q_SET_SEC_OBJ q_u;
00137         SAMR_R_SET_SEC_OBJ r_u;
00138         
00139         prs_struct *data  = &p->in_data.data;
00140         prs_struct *rdata = &p->out_data.rdata;
00141         
00142         ZERO_STRUCT(q_u);
00143         ZERO_STRUCT(r_u);
00144         
00145         if(!samr_io_q_set_sec_obj("", &q_u, data, 0)) {
00146                 DEBUG(0,("api_samr_set_sec_obj: unable to unmarshall SAMR_Q_SET_SEC_OBJ.\n"));
00147                 return False;
00148         }
00149 
00150         r_u.status = _samr_set_sec_obj(p, &q_u, &r_u);
00151 
00152         if(!samr_io_r_set_sec_obj("", &r_u, rdata, 0)) {
00153                 DEBUG(0,("api_samr_set_sec_obj: unable to marshall SAMR_R_SET_SEC_OBJ.\n"));
00154                 return False;
00155         }
00156         
00157         return True;
00158 }

static BOOL api_samr_query_sec_obj ( pipes_struct p  )  [static]

srv_samr.c164 行で定義されています。

参照先 _samr_query_sec_obj()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_query_sec_obj()samr_io_r_query_sec_obj()r_samr_query_sec_obj_info::status.

00165 {
00166         SAMR_Q_QUERY_SEC_OBJ q_u;
00167         SAMR_R_QUERY_SEC_OBJ r_u;
00168 
00169         prs_struct *data = &p->in_data.data;
00170         prs_struct *rdata = &p->out_data.rdata;
00171 
00172         ZERO_STRUCT(q_u);
00173         ZERO_STRUCT(r_u);
00174 
00175         if(!samr_io_q_query_sec_obj("", &q_u, data, 0)) {
00176                 DEBUG(0,("api_samr_query_sec_obj: unable to unmarshall SAMR_Q_QUERY_SEC_OBJ.\n"));
00177                 return False;
00178         }
00179 
00180         r_u.status = _samr_query_sec_obj(p, &q_u, &r_u);
00181 
00182         if(!samr_io_r_query_sec_obj("", &r_u, rdata, 0)) {
00183                 DEBUG(0,("api_samr_query_sec_obj: unable to marshall SAMR_R_QUERY_SEC_OBJ.\n"));
00184                 return False;
00185         }
00186 
00187         return True;
00188 }

static BOOL api_samr_enum_dom_users ( pipes_struct p  )  [static]

srv_samr.c194 行で定義されています。

参照先 _samr_enum_dom_users()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_enum_dom_users()samr_io_r_enum_dom_users()r_samr_enum_dom_users_info::status.

00195 {
00196         SAMR_Q_ENUM_DOM_USERS q_u;
00197         SAMR_R_ENUM_DOM_USERS r_u;
00198         prs_struct *data = &p->in_data.data;
00199         prs_struct *rdata = &p->out_data.rdata;
00200 
00201         ZERO_STRUCT(q_u);
00202         ZERO_STRUCT(r_u);
00203 
00204         /* grab the samr open */
00205         if(!samr_io_q_enum_dom_users("", &q_u, data, 0)) {
00206                 DEBUG(0,("api_samr_enum_dom_users: unable to unmarshall SAMR_Q_ENUM_DOM_USERS.\n"));
00207                 return False;
00208         }
00209 
00210         r_u.status = _samr_enum_dom_users(p, &q_u, &r_u);
00211 
00212         /* store the response in the SMB stream */
00213         if(!samr_io_r_enum_dom_users("", &r_u, rdata, 0)) {
00214                 DEBUG(0,("api_samr_enum_dom_users: unable to marshall SAMR_R_ENUM_DOM_USERS.\n"));
00215                 return False;
00216         }
00217 
00218         return True;
00219 }

static BOOL api_samr_enum_dom_groups ( pipes_struct p  )  [static]

srv_samr.c225 行で定義されています。

参照先 _samr_enum_dom_groups()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_enum_dom_groups()samr_io_r_enum_dom_groups()r_samr_enum_dom_groups_info::status.

00226 {
00227         SAMR_Q_ENUM_DOM_GROUPS q_u;
00228         SAMR_R_ENUM_DOM_GROUPS r_u;
00229         prs_struct *data = &p->in_data.data;
00230         prs_struct *rdata = &p->out_data.rdata;
00231 
00232         ZERO_STRUCT(q_u);
00233         ZERO_STRUCT(r_u);
00234 
00235         /* grab the samr open */
00236         if(!samr_io_q_enum_dom_groups("", &q_u, data, 0)) {
00237                 DEBUG(0,("api_samr_enum_dom_groups: unable to unmarshall SAMR_Q_ENUM_DOM_GROUPS.\n"));
00238                 return False;
00239         }
00240 
00241         r_u.status = _samr_enum_dom_groups(p, &q_u, &r_u);
00242 
00243         /* store the response in the SMB stream */
00244         if(!samr_io_r_enum_dom_groups("", &r_u, rdata, 0)) {
00245                 DEBUG(0,("api_samr_enum_dom_groups: unable to marshall SAMR_R_ENUM_DOM_GROUPS.\n"));
00246                 return False;
00247         }
00248 
00249         return True;
00250 }

static BOOL api_samr_enum_dom_aliases ( pipes_struct p  )  [static]

srv_samr.c256 行で定義されています。

参照先 _samr_enum_dom_aliases()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_enum_dom_aliases()samr_io_r_enum_dom_aliases()r_samr_enum_dom_aliases_info::status.

00257 {
00258         SAMR_Q_ENUM_DOM_ALIASES q_u;
00259         SAMR_R_ENUM_DOM_ALIASES r_u;
00260         prs_struct *data = &p->in_data.data;
00261         prs_struct *rdata = &p->out_data.rdata;
00262         
00263         ZERO_STRUCT(q_u);
00264         ZERO_STRUCT(r_u);
00265 
00266         /* grab the samr open */
00267         if(!samr_io_q_enum_dom_aliases("", &q_u, data, 0)) {
00268                 DEBUG(0,("api_samr_enum_dom_aliases: unable to unmarshall SAMR_Q_ENUM_DOM_ALIASES.\n"));
00269                 return False;
00270         }
00271 
00272         r_u.status = _samr_enum_dom_aliases(p, &q_u, &r_u);
00273 
00274         /* store the response in the SMB stream */
00275         if(!samr_io_r_enum_dom_aliases("", &r_u, rdata, 0)) {
00276                 DEBUG(0,("api_samr_enum_dom_aliases: unable to marshall SAMR_R_ENUM_DOM_ALIASES.\n"));
00277                 return False;
00278         }
00279 
00280         return True;
00281 }

static BOOL api_samr_query_dispinfo ( pipes_struct p  )  [static]

srv_samr.c287 行で定義されています。

参照先 _samr_query_dispinfo()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_query_dispinfo()samr_io_r_query_dispinfo()r_samr_query_dispinfo_info::status.

00288 {
00289         SAMR_Q_QUERY_DISPINFO q_u;
00290         SAMR_R_QUERY_DISPINFO r_u;
00291         prs_struct *data = &p->in_data.data;
00292         prs_struct *rdata = &p->out_data.rdata;
00293 
00294         ZERO_STRUCT(q_u);
00295         ZERO_STRUCT(r_u);
00296 
00297         if(!samr_io_q_query_dispinfo("", &q_u, data, 0)) {
00298                 DEBUG(0,("api_samr_query_dispinfo: unable to unmarshall SAMR_Q_QUERY_DISPINFO.\n"));
00299                 return False;
00300         }
00301 
00302         r_u.status = _samr_query_dispinfo(p, &q_u, &r_u);
00303 
00304         /* store the response in the SMB stream */
00305         if(!samr_io_r_query_dispinfo("", &r_u, rdata, 0)) {
00306                 DEBUG(0,("api_samr_query_dispinfo: unable to marshall SAMR_R_QUERY_DISPINFO.\n"));
00307                 return False;
00308         }
00309 
00310         return True;
00311 }

static BOOL api_samr_query_aliasinfo ( pipes_struct p  )  [static]

srv_samr.c317 行で定義されています。

参照先 _samr_query_aliasinfo()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_query_aliasinfo()samr_io_r_query_aliasinfo()SAMR_R_QUERY_ALIASINFO::status.

00318 {
00319         SAMR_Q_QUERY_ALIASINFO q_u;
00320         SAMR_R_QUERY_ALIASINFO r_u;
00321         prs_struct *data = &p->in_data.data;
00322         prs_struct *rdata = &p->out_data.rdata;
00323 
00324         ZERO_STRUCT(q_u);
00325         ZERO_STRUCT(r_u);
00326 
00327         /* grab the samr open */
00328         if(!samr_io_q_query_aliasinfo("", &q_u, data, 0)) {
00329                 DEBUG(0,("api_samr_query_aliasinfo: unable to unmarshall SAMR_Q_QUERY_ALIASINFO.\n"));
00330                 return False;
00331         }
00332 
00333         r_u.status = _samr_query_aliasinfo(p, &q_u, &r_u);
00334 
00335         /* store the response in the SMB stream */
00336         if(!samr_io_r_query_aliasinfo("", &r_u, rdata, 0)) {
00337                 DEBUG(0,("api_samr_query_aliasinfo: unable to marshall SAMR_R_QUERY_ALIASINFO.\n"));
00338                 return False;
00339         }
00340   
00341         return True;
00342 }

static BOOL api_samr_lookup_names ( pipes_struct p  )  [static]

srv_samr.c348 行で定義されています。

参照先 _samr_lookup_names()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_lookup_names()samr_io_r_lookup_names()r_samr_lookup_names_info::status.

00349 {
00350         SAMR_Q_LOOKUP_NAMES q_u;
00351         SAMR_R_LOOKUP_NAMES r_u;
00352         prs_struct *data = &p->in_data.data;
00353         prs_struct *rdata = &p->out_data.rdata;
00354 
00355         ZERO_STRUCT(q_u);
00356         ZERO_STRUCT(r_u);
00357 
00358         /* grab the samr lookup names */
00359         if(!samr_io_q_lookup_names("", &q_u, data, 0)) {
00360                 DEBUG(0,("api_samr_lookup_names: unable to unmarshall SAMR_Q_LOOKUP_NAMES.\n"));
00361                 return False;
00362         }
00363 
00364         r_u.status = _samr_lookup_names(p, &q_u, &r_u);
00365 
00366         /* store the response in the SMB stream */
00367         if(!samr_io_r_lookup_names("", &r_u, rdata, 0)) {
00368                 DEBUG(0,("api_samr_lookup_names: unable to marshall SAMR_R_LOOKUP_NAMES.\n"));
00369                 return False;
00370         }
00371 
00372         return True;
00373 }

static BOOL api_samr_chgpasswd_user ( pipes_struct p  )  [static]

srv_samr.c379 行で定義されています。

参照先 _samr_chgpasswd_user()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_chgpasswd_user()samr_io_r_chgpasswd_user()r_samr_chgpasswd_user_info::status.

00380 {
00381         SAMR_Q_CHGPASSWD_USER q_u;
00382         SAMR_R_CHGPASSWD_USER r_u;
00383         prs_struct *data = &p->in_data.data;
00384         prs_struct *rdata = &p->out_data.rdata;
00385 
00386         ZERO_STRUCT(q_u);
00387         ZERO_STRUCT(r_u);
00388 
00389         /* change password request */
00390         if (!samr_io_q_chgpasswd_user("", &q_u, data, 0)) {
00391                 DEBUG(0,("api_samr_chgpasswd_user: Failed to unmarshall SAMR_Q_CHGPASSWD_USER.\n"));
00392                 return False;
00393         }
00394 
00395         r_u.status = _samr_chgpasswd_user(p, &q_u, &r_u);
00396 
00397         /* store the response in the SMB stream */
00398         if(!samr_io_r_chgpasswd_user("", &r_u, rdata, 0)) {
00399                 DEBUG(0,("api_samr_chgpasswd_user: Failed to marshall SAMR_R_CHGPASSWD_USER.\n" ));
00400                 return False;
00401         }
00402 
00403         return True;
00404 }

static BOOL api_samr_lookup_rids ( pipes_struct p  )  [static]

srv_samr.c410 行で定義されています。

参照先 _samr_lookup_rids()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_lookup_rids()samr_io_r_lookup_rids()r_samr_lookup_rids_info::status.

00411 {
00412         SAMR_Q_LOOKUP_RIDS q_u;
00413         SAMR_R_LOOKUP_RIDS r_u;
00414         prs_struct *data = &p->in_data.data;
00415         prs_struct *rdata = &p->out_data.rdata;
00416 
00417         ZERO_STRUCT(q_u);
00418         ZERO_STRUCT(r_u);
00419 
00420         /* grab the samr lookup names */
00421         if(!samr_io_q_lookup_rids("", &q_u, data, 0)) {
00422                 DEBUG(0,("api_samr_lookup_rids: unable to unmarshall SAMR_Q_LOOKUP_RIDS.\n"));
00423                 return False;
00424         }
00425 
00426         r_u.status = _samr_lookup_rids(p, &q_u, &r_u);
00427 
00428         /* store the response in the SMB stream */
00429         if(!samr_io_r_lookup_rids("", &r_u, rdata, 0)) {
00430                 DEBUG(0,("api_samr_lookup_rids: unable to marshall SAMR_R_LOOKUP_RIDS.\n"));
00431                 return False;
00432         }
00433 
00434         return True;
00435 }

static BOOL api_samr_open_user ( pipes_struct p  )  [static]

srv_samr.c441 行で定義されています。

参照先 _samr_open_user()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_open_user()samr_io_r_open_user()r_samr_open_user_info::status.

00442 {
00443         SAMR_Q_OPEN_USER q_u;
00444         SAMR_R_OPEN_USER r_u;
00445         prs_struct *data = &p->in_data.data;
00446         prs_struct *rdata = &p->out_data.rdata;
00447 
00448         ZERO_STRUCT(q_u);
00449         ZERO_STRUCT(r_u);
00450 
00451         if(!samr_io_q_open_user("", &q_u, data, 0)) {
00452                 DEBUG(0,("api_samr_open_user: unable to unmarshall SAMR_Q_OPEN_USER.\n"));
00453                 return False;
00454         }
00455 
00456         r_u.status = _samr_open_user(p, &q_u, &r_u);
00457 
00458         /* store the response in the SMB stream */
00459         if(!samr_io_r_open_user("", &r_u, rdata, 0)) {
00460                 DEBUG(0,("api_samr_open_user: unable to marshall SAMR_R_OPEN_USER.\n"));
00461                 return False;
00462         }
00463 
00464         return True;
00465 }

static BOOL api_samr_query_userinfo ( pipes_struct p  )  [static]

srv_samr.c471 行で定義されています。

参照先 _samr_query_userinfo()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_query_userinfo()samr_io_r_query_userinfo()r_samr_query_user_info::status.

00472 {
00473         SAMR_Q_QUERY_USERINFO q_u;
00474         SAMR_R_QUERY_USERINFO r_u;
00475         prs_struct *data = &p->in_data.data;
00476         prs_struct *rdata = &p->out_data.rdata;
00477 
00478         ZERO_STRUCT(q_u);
00479         ZERO_STRUCT(r_u);
00480 
00481         if(!samr_io_q_query_userinfo("", &q_u, data, 0)){
00482                 DEBUG(0,("api_samr_query_userinfo: unable to unmarshall SAMR_Q_QUERY_USERINFO.\n"));
00483                 return False;
00484         }
00485 
00486         r_u.status = _samr_query_userinfo(p, &q_u, &r_u);
00487 
00488         /* store the response in the SMB stream */
00489         if(!samr_io_r_query_userinfo("", &r_u, rdata, 0)) {
00490                 DEBUG(0,("api_samr_query_userinfo: unable to marshall SAMR_R_QUERY_USERINFO.\n"));
00491                 return False;
00492         }
00493 
00494         return True;
00495 }

static BOOL api_samr_query_usergroups ( pipes_struct p  )  [static]

srv_samr.c501 行で定義されています。

参照先 _samr_query_usergroups()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_query_usergroups()samr_io_r_query_usergroups()r_samr_query_usergroup_info::status.

00502 {
00503         SAMR_Q_QUERY_USERGROUPS q_u;
00504         SAMR_R_QUERY_USERGROUPS r_u;
00505         prs_struct *data = &p->in_data.data;
00506         prs_struct *rdata = &p->out_data.rdata;
00507 
00508         ZERO_STRUCT(q_u);
00509         ZERO_STRUCT(r_u);
00510 
00511         if(!samr_io_q_query_usergroups("", &q_u, data, 0)) {
00512                 DEBUG(0,("api_samr_query_usergroups: unable to unmarshall SAMR_Q_QUERY_USERGROUPS.\n"));
00513                 return False;
00514         }
00515 
00516         r_u.status = _samr_query_usergroups(p, &q_u, &r_u);
00517 
00518         /* store the response in the SMB stream */
00519         if(!samr_io_r_query_usergroups("", &r_u, rdata, 0)) {
00520                 DEBUG(0,("api_samr_query_usergroups: unable to marshall SAMR_R_QUERY_USERGROUPS.\n"));
00521                 return False;
00522         }
00523 
00524         return True;
00525 }

static BOOL api_samr_query_domain_info ( pipes_struct p  )  [static]

srv_samr.c531 行で定義されています。

参照先 _samr_query_domain_info()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_query_domain_info()samr_io_r_query_domain_info()r_samr_query_domain_info::status.

00532 {
00533         SAMR_Q_QUERY_DOMAIN_INFO q_u;
00534         SAMR_R_QUERY_DOMAIN_INFO r_u;
00535         prs_struct *data = &p->in_data.data;
00536         prs_struct *rdata = &p->out_data.rdata;
00537 
00538         ZERO_STRUCT(q_u);
00539         ZERO_STRUCT(r_u);
00540 
00541         if(!samr_io_q_query_domain_info("", &q_u, data, 0)) {
00542                 DEBUG(0,("api_samr_query_domain_info: unable to unmarshall SAMR_Q_QUERY_DOMAIN_INFO.\n"));
00543                 return False;
00544         }
00545 
00546         r_u.status = _samr_query_domain_info(p, &q_u, &r_u);
00547 
00548         /* store the response in the SMB stream */
00549         if(!samr_io_r_query_domain_info("", &r_u, rdata, 0)) {
00550                 DEBUG(0,("api_samr_query_domain_info: unable to marshall SAMR_R_QUERY_DOMAIN_INFO.\n"));
00551                 return False;
00552         }
00553 
00554         return True;
00555 }

static BOOL api_samr_create_user ( pipes_struct p  )  [static]

srv_samr.c561 行で定義されています。

参照先 _samr_create_user()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_create_user()samr_io_r_create_user()r_samr_create_user_info::status.

00562 {
00563         prs_struct *data = &p->in_data.data;
00564         prs_struct *rdata = &p->out_data.rdata;
00565 
00566         SAMR_Q_CREATE_USER q_u;
00567         SAMR_R_CREATE_USER r_u;
00568 
00569         ZERO_STRUCT(q_u);
00570         ZERO_STRUCT(r_u);
00571 
00572         /* grab the samr create user */
00573         if (!samr_io_q_create_user("", &q_u, data, 0)) {
00574                 DEBUG(0,("api_samr_create_user: Unable to unmarshall SAMR_Q_CREATE_USER.\n"));
00575                 return False;
00576         }
00577 
00578         r_u.status=_samr_create_user(p, &q_u, &r_u);
00579 
00580         /* store the response in the SMB stream */
00581         if(!samr_io_r_create_user("", &r_u, rdata, 0)) {
00582                 DEBUG(0,("api_samr_create_user: Unable to marshall SAMR_R_CREATE_USER.\n"));
00583                 return False;
00584         }
00585 
00586         return True;
00587 }

static BOOL api_samr_connect_anon ( pipes_struct p  )  [static]

srv_samr.c593 行で定義されています。

参照先 _samr_connect_anon()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_connect_anon()samr_io_r_connect_anon()r_samr_connect_anon_info::status.

00594 {
00595         SAMR_Q_CONNECT_ANON q_u;
00596         SAMR_R_CONNECT_ANON r_u;
00597         prs_struct *data = &p->in_data.data;
00598         prs_struct *rdata = &p->out_data.rdata;
00599 
00600         ZERO_STRUCT(q_u);
00601         ZERO_STRUCT(r_u);
00602 
00603         /* grab the samr open policy */
00604         if(!samr_io_q_connect_anon("", &q_u, data, 0)) {
00605                 DEBUG(0,("api_samr_connect_anon: unable to unmarshall SAMR_Q_CONNECT_ANON.\n"));
00606                 return False;
00607         }
00608 
00609         r_u.status = _samr_connect_anon(p, &q_u, &r_u);
00610 
00611         /* store the response in the SMB stream */
00612         if(!samr_io_r_connect_anon("", &r_u, rdata, 0)) {
00613                 DEBUG(0,("api_samr_connect_anon: unable to marshall SAMR_R_CONNECT_ANON.\n"));
00614                 return False;
00615         }
00616 
00617         return True;
00618 }

static BOOL api_samr_connect ( pipes_struct p  )  [static]

srv_samr.c624 行で定義されています。

参照先 _samr_connect()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_connect()samr_io_r_connect()r_samr_connect_info::status.

00625 {
00626         SAMR_Q_CONNECT q_u;
00627         SAMR_R_CONNECT r_u;
00628         prs_struct *data = &p->in_data.data;
00629         prs_struct *rdata = &p->out_data.rdata;
00630 
00631         ZERO_STRUCT(q_u);
00632         ZERO_STRUCT(r_u);
00633 
00634         /* grab the samr open policy */
00635         if(!samr_io_q_connect("", &q_u, data, 0)) {
00636                 DEBUG(0,("api_samr_connect: unable to unmarshall SAMR_Q_CONNECT.\n"));
00637                 return False;
00638         }
00639 
00640         r_u.status = _samr_connect(p, &q_u, &r_u);
00641 
00642         /* store the response in the SMB stream */
00643         if(!samr_io_r_connect("", &r_u, rdata, 0)) {
00644                 DEBUG(0,("api_samr_connect: unable to marshall SAMR_R_CONNECT.\n"));
00645                 return False;
00646         }
00647 
00648         return True;
00649 }

static BOOL api_samr_connect4 ( pipes_struct p  )  [static]

srv_samr.c655 行で定義されています。

参照先 _samr_connect4()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_connect4()samr_io_r_connect4()r_samr_connect_info::status.

00656 {
00657         SAMR_Q_CONNECT4 q_u;
00658         SAMR_R_CONNECT4 r_u;
00659         prs_struct *data = &p->in_data.data;
00660         prs_struct *rdata = &p->out_data.rdata;
00661 
00662         ZERO_STRUCT(q_u);
00663         ZERO_STRUCT(r_u);
00664 
00665         /* grab the samr open policy */
00666         if(!samr_io_q_connect4("", &q_u, data, 0)) {
00667                 DEBUG(0,("api_samr_connect4: unable to unmarshall SAMR_Q_CONNECT4.\n"));
00668                 return False;
00669         }
00670 
00671         r_u.status = _samr_connect4(p, &q_u, &r_u);
00672 
00673         /* store the response in the SMB stream */
00674         if(!samr_io_r_connect4("", &r_u, rdata, 0)) {
00675                 DEBUG(0,("api_samr_connect4: unable to marshall SAMR_R_CONNECT4.\n"));
00676                 return False;
00677         }
00678 
00679         return True;
00680 }

static BOOL api_samr_chgpasswd_user3 ( pipes_struct p  )  [static]

srv_samr.c686 行で定義されています。

参照先 _samr_chgpasswd_user3()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_chgpasswd_user3()samr_io_r_chgpasswd_user3()r_samr_chgpasswd_user3::status.

00687 {
00688         SAMR_Q_CHGPASSWD_USER3 q_u;
00689         SAMR_R_CHGPASSWD_USER3 r_u;
00690         prs_struct *data = &p->in_data.data;
00691         prs_struct *rdata = &p->out_data.rdata;
00692 
00693         ZERO_STRUCT(q_u);
00694         ZERO_STRUCT(r_u);
00695 
00696         /* change password request */
00697         if (!samr_io_q_chgpasswd_user3("", &q_u, data, 0)) {
00698                 DEBUG(0,("api_samr_chgpasswd_user3: Failed to unmarshall SAMR_Q_CHGPASSWD_USER3.\n"));
00699                 return False;
00700         }
00701 
00702         r_u.status = _samr_chgpasswd_user3(p, &q_u, &r_u);
00703 
00704         /* store the response in the SMB stream */
00705         if(!samr_io_r_chgpasswd_user3("", &r_u, rdata, 0)) {
00706                 DEBUG(0,("api_samr_chgpasswd_user3: Failed to marshall SAMR_R_CHGPASSWD_USER3.\n" ));
00707                 return False;
00708         }
00709 
00710         return True;
00711 }

static BOOL api_samr_connect5 ( pipes_struct p  )  [static]

srv_samr.c717 行で定義されています。

参照先 _samr_connect5()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_connect5()samr_io_r_connect5()r_samr_connect_info5::status.

00718 {
00719         SAMR_Q_CONNECT5 q_u;
00720         SAMR_R_CONNECT5 r_u;
00721         prs_struct *data = &p->in_data.data;
00722         prs_struct *rdata = &p->out_data.rdata;
00723 
00724         ZERO_STRUCT(q_u);
00725         ZERO_STRUCT(r_u);
00726 
00727         /* grab the samr open policy */
00728         if(!samr_io_q_connect5("", &q_u, data, 0)) {
00729                 DEBUG(0,("api_samr_connect5: unable to unmarshall SAMR_Q_CONNECT5.\n"));
00730                 return False;
00731         }
00732 
00733         r_u.status = _samr_connect5(p, &q_u, &r_u);
00734 
00735         /* store the response in the SMB stream */
00736         if(!samr_io_r_connect5("", &r_u, rdata, 0)) {
00737                 DEBUG(0,("api_samr_connect5: unable to marshall SAMR_R_CONNECT5.\n"));
00738                 return False;
00739         }
00740 
00741         return True;
00742 }

static BOOL api_samr_lookup_domain ( pipes_struct p  )  [static]

srv_samr.c748 行で定義されています。

参照先 _samr_lookup_domain()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_lookup_domain()samr_io_r_lookup_domain()r_samr_lookup_domain_info::status.

00749 {
00750         SAMR_Q_LOOKUP_DOMAIN q_u;
00751         SAMR_R_LOOKUP_DOMAIN r_u;
00752         prs_struct *data = &p->in_data.data;
00753         prs_struct *rdata = &p->out_data.rdata;
00754   
00755         ZERO_STRUCT(q_u);
00756         ZERO_STRUCT(r_u);
00757 
00758         if(!samr_io_q_lookup_domain("", &q_u, data, 0)) {
00759                 DEBUG(0,("api_samr_lookup_domain: Unable to unmarshall SAMR_Q_LOOKUP_DOMAIN.\n"));
00760                 return False;
00761         }
00762 
00763         r_u.status = _samr_lookup_domain(p, &q_u, &r_u);
00764         
00765         if(!samr_io_r_lookup_domain("", &r_u, rdata, 0)){
00766                 DEBUG(0,("api_samr_lookup_domain: Unable to marshall SAMR_R_LOOKUP_DOMAIN.\n"));
00767                 return False;
00768         }
00769         
00770         return True;
00771 }

static BOOL api_samr_enum_domains ( pipes_struct p  )  [static]

srv_samr.c777 行で定義されています。

参照先 _samr_enum_domains()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_enum_domains()samr_io_r_enum_domains()r_samr_enum_domains_info::status.

00778 {
00779         SAMR_Q_ENUM_DOMAINS q_u;
00780         SAMR_R_ENUM_DOMAINS r_u;
00781         prs_struct *data = &p->in_data.data;
00782         prs_struct *rdata = &p->out_data.rdata;
00783   
00784         ZERO_STRUCT(q_u);
00785         ZERO_STRUCT(r_u);
00786 
00787         if(!samr_io_q_enum_domains("", &q_u, data, 0)) {
00788                 DEBUG(0,("api_samr_enum_domains: Unable to unmarshall SAMR_Q_ENUM_DOMAINS.\n"));
00789                 return False;
00790         }
00791 
00792         r_u.status = _samr_enum_domains(p, &q_u, &r_u);
00793 
00794         if(!samr_io_r_enum_domains("", &r_u, rdata, 0)) {
00795                 DEBUG(0,("api_samr_enum_domains: Unable to marshall SAMR_R_ENUM_DOMAINS.\n"));
00796                 return False;
00797         }
00798         
00799         return True;
00800 }

static BOOL api_samr_open_alias ( pipes_struct p  )  [static]

srv_samr.c806 行で定義されています。

参照先 _samr_open_alias()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_open_alias()samr_io_r_open_alias()r_samr_open_alias_info::status.

00807 {
00808         SAMR_Q_OPEN_ALIAS q_u;
00809         SAMR_R_OPEN_ALIAS r_u;
00810         prs_struct *data = &p->in_data.data;
00811         prs_struct *rdata = &p->out_data.rdata;
00812 
00813         ZERO_STRUCT(q_u);
00814         ZERO_STRUCT(r_u);
00815 
00816         /* grab the samr open policy */
00817         if(!samr_io_q_open_alias("", &q_u, data, 0)) {
00818                 DEBUG(0,("api_samr_open_alias: Unable to unmarshall SAMR_Q_OPEN_ALIAS.\n"));
00819                 return False;
00820         }
00821 
00822         r_u.status=_samr_open_alias(p, &q_u, &r_u);
00823 
00824         /* store the response in the SMB stream */
00825         if(!samr_io_r_open_alias("", &r_u, rdata, 0)) {
00826                 DEBUG(0,("api_samr_open_alias: Unable to marshall SAMR_R_OPEN_ALIAS.\n"));
00827                 return False;
00828         }
00829         
00830         return True;
00831 }

static BOOL api_samr_set_userinfo ( pipes_struct p  )  [static]

srv_samr.c837 行で定義されています。

参照先 _samr_set_userinfo()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_set_userinfo()samr_io_r_set_userinfo()setup_fault_pdu()r_samr_set_user_info::statusq_samr_set_user_info::switch_value.

00838 {
00839         SAMR_Q_SET_USERINFO q_u;
00840         SAMR_R_SET_USERINFO r_u;
00841         prs_struct *data = &p->in_data.data;
00842         prs_struct *rdata = &p->out_data.rdata;
00843 
00844         ZERO_STRUCT(q_u);
00845         ZERO_STRUCT(r_u);
00846 
00847         if (!samr_io_q_set_userinfo("", &q_u, data, 0)) {
00848                 DEBUG(0,("api_samr_set_userinfo: Unable to unmarshall SAMR_Q_SET_USERINFO.\n"));
00849                 /* Fix for W2K SP2 */
00850                 /* what is that status-code ? - gd */
00851                 if (q_u.switch_value == 0x1a) {
00852                         setup_fault_pdu(p, NT_STATUS(DCERPC_FAULT_INVALID_TAG));
00853                         return True;
00854                 }
00855                 return False;
00856         }
00857 
00858         r_u.status = _samr_set_userinfo(p, &q_u, &r_u);
00859 
00860         if(!samr_io_r_set_userinfo("", &r_u, rdata, 0)) {
00861                 DEBUG(0,("api_samr_set_userinfo: Unable to marshall SAMR_R_SET_USERINFO.\n"));
00862                 return False;
00863         }
00864 
00865         return True;
00866 }

static BOOL api_samr_set_userinfo2 ( pipes_struct p  )  [static]

srv_samr.c872 行で定義されています。

参照先 _samr_set_userinfo2()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_set_userinfo2()samr_io_r_set_userinfo2()r_samr_set_user_info2::status.

00873 {
00874         SAMR_Q_SET_USERINFO2 q_u;
00875         SAMR_R_SET_USERINFO2 r_u;
00876 
00877         prs_struct *data = &p->in_data.data;
00878         prs_struct *rdata = &p->out_data.rdata;
00879 
00880         ZERO_STRUCT(q_u);
00881         ZERO_STRUCT(r_u);
00882 
00883         if (!samr_io_q_set_userinfo2("", &q_u, data, 0)) {
00884                 DEBUG(0,("api_samr_set_userinfo2: Unable to unmarshall SAMR_Q_SET_USERINFO2.\n"));
00885                 return False;
00886         }
00887 
00888         r_u.status = _samr_set_userinfo2(p, &q_u, &r_u);
00889 
00890         if(!samr_io_r_set_userinfo2("", &r_u, rdata, 0)) {
00891                 DEBUG(0,("api_samr_set_userinfo2: Unable to marshall SAMR_R_SET_USERINFO2.\n"));
00892                 return False;
00893         }
00894 
00895         return True;
00896 }

static BOOL api_samr_query_useraliases ( pipes_struct p  )  [static]

srv_samr.c902 行で定義されています。

参照先 _samr_query_useraliases()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_query_useraliases()samr_io_r_query_useraliases()r_samr_query_useraliases_info::status.

00903 {
00904         SAMR_Q_QUERY_USERALIASES q_u;
00905         SAMR_R_QUERY_USERALIASES r_u;
00906 
00907         prs_struct *data = &p->in_data.data;
00908         prs_struct *rdata = &p->out_data.rdata;
00909 
00910         ZERO_STRUCT(q_u);
00911         ZERO_STRUCT(r_u);
00912 
00913         if (!samr_io_q_query_useraliases("", &q_u, data, 0)) {
00914                 DEBUG(0,("api_samr_query_useraliases:  Unable to unmarshall SAMR_Q_QUERY_USERALIASES.\n"));
00915                 return False;
00916         }
00917 
00918         r_u.status = _samr_query_useraliases(p, &q_u, &r_u);
00919 
00920         if (! samr_io_r_query_useraliases("", &r_u, rdata, 0)) {
00921                 DEBUG(0,("api_samr_query_useraliases:  Unable to nmarshall SAMR_R_QUERY_USERALIASES.\n"));
00922                 return False;
00923         }
00924 
00925         return True;
00926 }

static BOOL api_samr_query_aliasmem ( pipes_struct p  )  [static]

srv_samr.c932 行で定義されています。

参照先 _samr_query_aliasmem()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_query_aliasmem()samr_io_r_query_aliasmem()r_samr_query_aliasmem_info::status.

00933 {
00934         SAMR_Q_QUERY_ALIASMEM q_u;
00935         SAMR_R_QUERY_ALIASMEM r_u;
00936 
00937         prs_struct *data = &p->in_data.data;
00938         prs_struct *rdata = &p->out_data.rdata;
00939 
00940         ZERO_STRUCT(q_u);
00941         ZERO_STRUCT(r_u);
00942 
00943         if (!samr_io_q_query_aliasmem("", &q_u, data, 0)) {
00944                 DEBUG(0,("api_samr_query_aliasmem: unable to unmarshall SAMR_Q_QUERY_ALIASMEM.\n"));
00945                 return False;
00946         }
00947 
00948         r_u.status = _samr_query_aliasmem(p, &q_u, &r_u);
00949 
00950         if (!samr_io_r_query_aliasmem("", &r_u, rdata, 0)) {
00951                 DEBUG(0,("api_samr_query_aliasmem: unable to marshall SAMR_R_QUERY_ALIASMEM.\n"));
00952                 return False;
00953         }
00954 
00955         return True;
00956 }

static BOOL api_samr_query_groupmem ( pipes_struct p  )  [static]

srv_samr.c962 行で定義されています。

参照先 _samr_query_groupmem()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_query_groupmem()samr_io_r_query_groupmem()r_samr_query_groupmem_info::status.

00963 {
00964         SAMR_Q_QUERY_GROUPMEM q_u;
00965         SAMR_R_QUERY_GROUPMEM r_u;
00966 
00967         prs_struct *data = &p->in_data.data;
00968         prs_struct *rdata = &p->out_data.rdata;
00969 
00970         ZERO_STRUCT(q_u);
00971         ZERO_STRUCT(r_u);
00972 
00973         if (!samr_io_q_query_groupmem("", &q_u, data, 0)) {
00974                 DEBUG(0,("api_samr_query_groupmem: unable to unmarshall SAMR_Q_QUERY_GROUPMEM.\n"));
00975                 return False;
00976         }
00977 
00978         r_u.status = _samr_query_groupmem(p, &q_u, &r_u);
00979 
00980         if (!samr_io_r_query_groupmem("", &r_u, rdata, 0)) {
00981                 DEBUG(0,("api_samr_query_groupmem: unable to marshall SAMR_R_QUERY_GROUPMEM.\n"));
00982                 return False;
00983         }
00984 
00985         return True;
00986 }

static BOOL api_samr_add_aliasmem ( pipes_struct p  )  [static]

srv_samr.c992 行で定義されています。

参照先 _samr_add_aliasmem()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_add_aliasmem()samr_io_r_add_aliasmem()r_samr_add_alias_mem_info::status.

00993 {
00994         SAMR_Q_ADD_ALIASMEM q_u;
00995         SAMR_R_ADD_ALIASMEM r_u;
00996 
00997         prs_struct *data = &p->in_data.data;
00998         prs_struct *rdata = &p->out_data.rdata;
00999 
01000         ZERO_STRUCT(q_u);
01001         ZERO_STRUCT(r_u);
01002 
01003         if (!samr_io_q_add_aliasmem("", &q_u, data, 0)) {
01004                 DEBUG(0,("api_samr_add_aliasmem: unable to unmarshall SAMR_Q_ADD_ALIASMEM.\n"));
01005                 return False;
01006         }
01007 
01008         r_u.status = _samr_add_aliasmem(p, &q_u, &r_u);
01009 
01010         if (!samr_io_r_add_aliasmem("", &r_u, rdata, 0)) {
01011                 DEBUG(0,("api_samr_add_aliasmem: unable to marshall SAMR_R_ADD_ALIASMEM.\n"));
01012                 return False;
01013         }
01014 
01015         return True;
01016 }

static BOOL api_samr_del_aliasmem ( pipes_struct p  )  [static]

srv_samr.c1022 行で定義されています。

参照先 _samr_del_aliasmem()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_del_aliasmem()samr_io_r_del_aliasmem()r_samr_del_alias_mem_info::status.

01023 {
01024         SAMR_Q_DEL_ALIASMEM q_u;
01025         SAMR_R_DEL_ALIASMEM r_u;
01026 
01027         prs_struct *data = &p->in_data.data;
01028         prs_struct *rdata = &p->out_data.rdata;
01029 
01030         ZERO_STRUCT(q_u);
01031         ZERO_STRUCT(r_u);
01032 
01033         if (!samr_io_q_del_aliasmem("", &q_u, data, 0)) {
01034                 DEBUG(0,("api_samr_del_aliasmem: unable to unmarshall SAMR_Q_DEL_ALIASMEM.\n"));
01035                 return False;
01036         }
01037 
01038         r_u.status = _samr_del_aliasmem(p, &q_u, &r_u);
01039 
01040         if (!samr_io_r_del_aliasmem("", &r_u, rdata, 0)) {
01041                 DEBUG(0,("api_samr_del_aliasmem: unable to marshall SAMR_R_DEL_ALIASMEM.\n"));
01042                 return False;
01043         }
01044 
01045         return True;
01046 }

static BOOL api_samr_add_groupmem ( pipes_struct p  )  [static]

srv_samr.c1052 行で定義されています。

参照先 _samr_add_groupmem()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_add_groupmem()samr_io_r_add_groupmem()r_samr_add_group_mem_info::status.

01053 {
01054         SAMR_Q_ADD_GROUPMEM q_u;
01055         SAMR_R_ADD_GROUPMEM r_u;
01056 
01057         prs_struct *data = &p->in_data.data;
01058         prs_struct *rdata = &p->out_data.rdata;
01059 
01060         ZERO_STRUCT(q_u);
01061         ZERO_STRUCT(r_u);
01062 
01063         if (!samr_io_q_add_groupmem("", &q_u, data, 0)) {
01064                 DEBUG(0,("api_samr_add_groupmem: unable to unmarshall SAMR_Q_ADD_GROUPMEM.\n"));
01065                 return False;
01066         }
01067 
01068         r_u.status = _samr_add_groupmem(p, &q_u, &r_u);
01069 
01070         if (!samr_io_r_add_groupmem("", &r_u, rdata, 0)) {
01071                 DEBUG(0,("api_samr_add_groupmem: unable to marshall SAMR_R_ADD_GROUPMEM.\n"));
01072                 return False;
01073         }
01074 
01075         return True;
01076 }

static BOOL api_samr_del_groupmem ( pipes_struct p  )  [static]

srv_samr.c1082 行で定義されています。

参照先 _samr_del_groupmem()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_del_groupmem()samr_io_r_del_groupmem()r_samr_del_group_mem_info::status.

01083 {
01084         SAMR_Q_DEL_GROUPMEM q_u;
01085         SAMR_R_DEL_GROUPMEM r_u;
01086 
01087         prs_struct *data = &p->in_data.data;
01088         prs_struct *rdata = &p->out_data.rdata;
01089 
01090         ZERO_STRUCT(q_u);
01091         ZERO_STRUCT(r_u);
01092 
01093         if (!samr_io_q_del_groupmem("", &q_u, data, 0)) {
01094                 DEBUG(0,("api_samr_del_groupmem: unable to unmarshall SAMR_Q_DEL_GROUPMEM.\n"));
01095                 return False;
01096         }
01097 
01098         r_u.status = _samr_del_groupmem(p, &q_u, &r_u);
01099 
01100         if (!samr_io_r_del_groupmem("", &r_u, rdata, 0)) {
01101                 DEBUG(0,("api_samr_del_groupmem: unable to marshall SAMR_R_DEL_GROUPMEM.\n"));
01102                 return False;
01103         }
01104 
01105         return True;
01106 }

static BOOL api_samr_delete_dom_user ( pipes_struct p  )  [static]

srv_samr.c1112 行で定義されています。

参照先 _samr_delete_dom_user()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_delete_dom_user()samr_io_r_delete_dom_user()r_samr_delete_dom_user_info::status.

01113 {
01114         SAMR_Q_DELETE_DOM_USER q_u;
01115         SAMR_R_DELETE_DOM_USER r_u;
01116 
01117         prs_struct *data = &p->in_data.data;
01118         prs_struct *rdata = &p->out_data.rdata;
01119 
01120         ZERO_STRUCT(q_u);
01121         ZERO_STRUCT(r_u);
01122 
01123         if (!samr_io_q_delete_dom_user("", &q_u, data, 0)) {
01124                 DEBUG(0,("api_samr_delete_dom_user: unable to unmarshall SAMR_Q_DELETE_DOM_USER.\n"));
01125                 return False;
01126         }
01127 
01128         r_u.status = _samr_delete_dom_user(p, &q_u, &r_u);
01129 
01130         if (!samr_io_r_delete_dom_user("", &r_u, rdata, 0)) {
01131                 DEBUG(0,("api_samr_delete_dom_user: unable to marshall SAMR_R_DELETE_DOM_USER.\n"));
01132                 return False;
01133         }
01134 
01135         return True;
01136 }

static BOOL api_samr_delete_dom_group ( pipes_struct p  )  [static]

srv_samr.c1142 行で定義されています。

参照先 _samr_delete_dom_group()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_delete_dom_group()samr_io_r_delete_dom_group()r_samr_delete_dom_group_info::status.

01143 {
01144         SAMR_Q_DELETE_DOM_GROUP q_u;
01145         SAMR_R_DELETE_DOM_GROUP r_u;
01146 
01147         prs_struct *data = &p->in_data.data;
01148         prs_struct *rdata = &p->out_data.rdata;
01149 
01150         ZERO_STRUCT(q_u);
01151         ZERO_STRUCT(r_u);
01152 
01153         if (!samr_io_q_delete_dom_group("", &q_u, data, 0)) {
01154                 DEBUG(0,("api_samr_delete_dom_group: unable to unmarshall SAMR_Q_DELETE_DOM_GROUP.\n"));
01155                 return False;
01156         }
01157 
01158         r_u.status = _samr_delete_dom_group(p, &q_u, &r_u);
01159 
01160         if (!samr_io_r_delete_dom_group("", &r_u, rdata, 0)) {
01161                 DEBUG(0,("api_samr_delete_dom_group: unable to marshall SAMR_R_DELETE_DOM_GROUP.\n"));
01162                 return False;
01163         }
01164 
01165         return True;
01166 }

static BOOL api_samr_delete_dom_alias ( pipes_struct p  )  [static]

srv_samr.c1172 行で定義されています。

参照先 _samr_delete_dom_alias()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_delete_dom_alias()samr_io_r_delete_dom_alias()r_samr_delete_dom_alias_info::status.

01173 {
01174         SAMR_Q_DELETE_DOM_ALIAS q_u;
01175         SAMR_R_DELETE_DOM_ALIAS r_u;
01176 
01177         prs_struct *data = &p->in_data.data;
01178         prs_struct *rdata = &p->out_data.rdata;
01179 
01180         ZERO_STRUCT(q_u);
01181         ZERO_STRUCT(r_u);
01182 
01183         if (!samr_io_q_delete_dom_alias("", &q_u, data, 0)) {
01184                 DEBUG(0,("api_samr_delete_dom_alias: unable to unmarshall SAMR_Q_DELETE_DOM_ALIAS.\n"));
01185                 return False;
01186         }
01187 
01188         r_u.status = _samr_delete_dom_alias(p, &q_u, &r_u);
01189 
01190         if (!samr_io_r_delete_dom_alias("", &r_u, rdata, 0)) {
01191                 DEBUG(0,("api_samr_delete_dom_alias: unable to marshall SAMR_R_DELETE_DOM_ALIAS.\n"));
01192                 return False;
01193         }
01194 
01195         return True;
01196 }

static BOOL api_samr_create_dom_group ( pipes_struct p  )  [static]

srv_samr.c1202 行で定義されています。

参照先 _samr_create_dom_group()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_create_dom_group()samr_io_r_create_dom_group()r_samr_create_dom_group_info::status.

01203 {
01204         SAMR_Q_CREATE_DOM_GROUP q_u;
01205         SAMR_R_CREATE_DOM_GROUP r_u;
01206 
01207         prs_struct *data = &p->in_data.data;
01208         prs_struct *rdata = &p->out_data.rdata;
01209 
01210         ZERO_STRUCT(q_u);
01211         ZERO_STRUCT(r_u);
01212 
01213         if (!samr_io_q_create_dom_group("", &q_u, data, 0)) {
01214                 DEBUG(0,("api_samr_create_dom_group: unable to unmarshall SAMR_Q_CREATE_DOM_GROUP.\n"));
01215                 return False;
01216         }
01217 
01218         r_u.status = _samr_create_dom_group(p, &q_u, &r_u);
01219 
01220         if (!samr_io_r_create_dom_group("", &r_u, rdata, 0)) {
01221                 DEBUG(0,("api_samr_create_dom_group: unable to marshall SAMR_R_CREATE_DOM_GROUP.\n"));
01222                 return False;
01223         }
01224 
01225         return True;
01226 }

static BOOL api_samr_create_dom_alias ( pipes_struct p  )  [static]

srv_samr.c1232 行で定義されています。

参照先 _samr_create_dom_alias()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_create_dom_alias()samr_io_r_create_dom_alias()r_samr_create_dom_alias_info::status.

01233 {
01234         SAMR_Q_CREATE_DOM_ALIAS q_u;
01235         SAMR_R_CREATE_DOM_ALIAS r_u;
01236 
01237         prs_struct *data = &p->in_data.data;
01238         prs_struct *rdata = &p->out_data.rdata;
01239 
01240         ZERO_STRUCT(q_u);
01241         ZERO_STRUCT(r_u);
01242 
01243         if (!samr_io_q_create_dom_alias("", &q_u, data, 0)) {
01244                 DEBUG(0,("api_samr_create_dom_alias: unable to unmarshall SAMR_Q_CREATE_DOM_ALIAS.\n"));
01245                 return False;
01246         }
01247 
01248         r_u.status = _samr_create_dom_alias(p, &q_u, &r_u);
01249 
01250         if (!samr_io_r_create_dom_alias("", &r_u, rdata, 0)) {
01251                 DEBUG(0,("api_samr_create_dom_alias: unable to marshall SAMR_R_CREATE_DOM_ALIAS.\n"));
01252                 return False;
01253         }
01254 
01255         return True;
01256 }

static BOOL api_samr_query_groupinfo ( pipes_struct p  )  [static]

srv_samr.c1262 行で定義されています。

参照先 _samr_query_groupinfo()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_query_groupinfo()samr_io_r_query_groupinfo()r_samr_query_groupinfo_info::status.

01263 {
01264         SAMR_Q_QUERY_GROUPINFO q_u;
01265         SAMR_R_QUERY_GROUPINFO r_u;
01266 
01267         prs_struct *data = &p->in_data.data;
01268         prs_struct *rdata = &p->out_data.rdata;
01269 
01270         ZERO_STRUCT(q_u);
01271         ZERO_STRUCT(r_u);
01272 
01273         if (!samr_io_q_query_groupinfo("", &q_u, data, 0)) {
01274                 DEBUG(0,("api_samr_query_groupinfo: unable to unmarshall SAMR_Q_QUERY_GROUPINFO.\n"));
01275                 return False;
01276         }
01277 
01278         r_u.status = _samr_query_groupinfo(p, &q_u, &r_u);
01279 
01280         if (!samr_io_r_query_groupinfo("", &r_u, rdata, 0)) {
01281                 DEBUG(0,("api_samr_query_groupinfo: unable to marshall SAMR_R_QUERY_GROUPINFO.\n"));
01282                 return False;
01283         }
01284 
01285         return True;
01286 }

static BOOL api_samr_set_groupinfo ( pipes_struct p  )  [static]

srv_samr.c1292 行で定義されています。

参照先 _samr_set_groupinfo()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_set_groupinfo()samr_io_r_set_groupinfo()r_samr_set_group_info::status.

01293 {
01294         SAMR_Q_SET_GROUPINFO q_u;
01295         SAMR_R_SET_GROUPINFO r_u;
01296 
01297         prs_struct *data = &p->in_data.data;
01298         prs_struct *rdata = &p->out_data.rdata;
01299 
01300         ZERO_STRUCT(q_u);
01301         ZERO_STRUCT(r_u);
01302 
01303         if (!samr_io_q_set_groupinfo("", &q_u, data, 0)) {
01304                 DEBUG(0,("api_samr_set_groupinfo: unable to unmarshall SAMR_Q_SET_GROUPINFO.\n"));
01305                 return False;
01306         }
01307 
01308         r_u.status = _samr_set_groupinfo(p, &q_u, &r_u);
01309 
01310         if (!samr_io_r_set_groupinfo("", &r_u, rdata, 0)) {
01311                 DEBUG(0,("api_samr_set_groupinfo: unable to marshall SAMR_R_SET_GROUPINFO.\n"));
01312                 return False;
01313         }
01314 
01315         return True;
01316 }

static BOOL api_samr_set_aliasinfo ( pipes_struct p  )  [static]

srv_samr.c1322 行で定義されています。

参照先 _samr_set_aliasinfo()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_set_aliasinfo()samr_io_r_set_aliasinfo()SAMR_R_SET_ALIASINFO::status.

01323 {
01324         SAMR_Q_SET_ALIASINFO q_u;
01325         SAMR_R_SET_ALIASINFO r_u;
01326 
01327         prs_struct *data = &p->in_data.data;
01328         prs_struct *rdata = &p->out_data.rdata;
01329 
01330         ZERO_STRUCT(q_u);
01331         ZERO_STRUCT(r_u);
01332 
01333         if (!samr_io_q_set_aliasinfo("", &q_u, data, 0)) {
01334                 DEBUG(0,("api_samr_set_aliasinfo: unable to unmarshall SAMR_Q_SET_ALIASINFO.\n"));
01335                 return False;
01336         }
01337 
01338         r_u.status = _samr_set_aliasinfo(p, &q_u, &r_u);
01339 
01340         if (!samr_io_r_set_aliasinfo("", &r_u, rdata, 0)) {
01341                 DEBUG(0,("api_samr_set_aliasinfo: unable to marshall SAMR_R_SET_ALIASINFO.\n"));
01342                 return False;
01343         }
01344 
01345         return True;
01346 }

static BOOL api_samr_get_dom_pwinfo ( pipes_struct p  )  [static]

srv_samr.c1352 行で定義されています。

参照先 _samr_get_dom_pwinfo()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_get_dom_pwinfo()samr_io_r_get_dom_pwinfo()r_samr_get_dom_pwinfo::status.

01353 {
01354         SAMR_Q_GET_DOM_PWINFO q_u;
01355         SAMR_R_GET_DOM_PWINFO r_u;
01356 
01357         prs_struct *data = &p->in_data.data;
01358         prs_struct *rdata = &p->out_data.rdata;
01359 
01360         ZERO_STRUCT(q_u);
01361         ZERO_STRUCT(r_u);
01362 
01363         if (!samr_io_q_get_dom_pwinfo("", &q_u, data, 0)) {
01364                 DEBUG(0,("api_samr_get_dom_pwinfo: unable to unmarshall SAMR_Q_GET_DOM_PWINFO.\n"));
01365                 return False;
01366         }
01367 
01368         r_u.status = _samr_get_dom_pwinfo(p, &q_u, &r_u);
01369 
01370         if (!samr_io_r_get_dom_pwinfo("", &r_u, rdata, 0)) {
01371                 DEBUG(0,("api_samr_get_dom_pwinfo: unable to marshall SAMR_R_GET_DOM_PWINFO.\n"));
01372                 return False;
01373         }
01374 
01375         return True;
01376 }

static BOOL api_samr_open_group ( pipes_struct p  )  [static]

srv_samr.c1382 行で定義されています。

参照先 _samr_open_group()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_open_group()samr_io_r_open_group()r_samr_open_group_info::status.

01383 {
01384         SAMR_Q_OPEN_GROUP q_u;
01385         SAMR_R_OPEN_GROUP r_u;
01386 
01387         prs_struct *data = &p->in_data.data;
01388         prs_struct *rdata = &p->out_data.rdata;
01389 
01390         ZERO_STRUCT(q_u);
01391         ZERO_STRUCT(r_u);
01392 
01393         if (!samr_io_q_open_group("", &q_u, data, 0)) {
01394                 DEBUG(0,("api_samr_open_group: unable to unmarshall SAMR_Q_OPEN_GROUP.\n"));
01395                 return False;
01396         }
01397 
01398         r_u.status = _samr_open_group(p, &q_u, &r_u);
01399 
01400         if (!samr_io_r_open_group("", &r_u, rdata, 0)) {
01401                 DEBUG(0,("api_samr_open_group: unable to marshall SAMR_R_OPEN_GROUP.\n"));
01402                 return False;
01403         }
01404 
01405         return True;
01406 }

static BOOL api_samr_remove_sid_foreign_domain ( pipes_struct p  )  [static]

srv_samr.c1412 行で定義されています。

参照先 _samr_remove_sid_foreign_domain()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_remove_sid_foreign_domain()samr_io_r_remove_sid_foreign_domain()r_samr_remove_sid_foreign_domain_info::status.

01413 {
01414         SAMR_Q_REMOVE_SID_FOREIGN_DOMAIN q_u;
01415         SAMR_R_REMOVE_SID_FOREIGN_DOMAIN r_u;
01416 
01417         prs_struct *data = &p->in_data.data;
01418         prs_struct *rdata = &p->out_data.rdata;
01419 
01420         ZERO_STRUCT(q_u);
01421         ZERO_STRUCT(r_u);
01422 
01423         if (!samr_io_q_remove_sid_foreign_domain("", &q_u, data, 0)) {
01424                 DEBUG(0,("api_samr_remove_sid_foreign_domain: unable to unmarshall SAMR_Q_REMOVE_SID_FOREIGN_DOMAIN.\n"));
01425                 return False;
01426         }
01427 
01428         r_u.status = _samr_remove_sid_foreign_domain(p, &q_u, &r_u);
01429 
01430         if (!samr_io_r_remove_sid_foreign_domain("", &r_u, rdata, 0)) {
01431                 DEBUG(0,("api_samr_remove_sid_foreign_domain: unable to marshall SAMR_R_REMOVE_SID_FOREIGN_DOMAIN.\n"));
01432                 return False;
01433         }
01434 
01435         return True;
01436 }

static BOOL api_samr_query_domain_info2 ( pipes_struct p  )  [static]

srv_samr.c1442 行で定義されています。

参照先 _samr_query_domain_info2()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_query_domain_info2()samr_io_r_query_domain_info2()r_samr_query_domain_info2::status.

01443 {
01444         SAMR_Q_QUERY_DOMAIN_INFO2 q_u;
01445         SAMR_R_QUERY_DOMAIN_INFO2 r_u;
01446         prs_struct *data = &p->in_data.data;
01447         prs_struct *rdata = &p->out_data.rdata;
01448 
01449         ZERO_STRUCT(q_u);
01450         ZERO_STRUCT(r_u);
01451 
01452         if(!samr_io_q_query_domain_info2("", &q_u, data, 0)) {
01453                 DEBUG(0,("api_samr_query_domain_info2: unable to unmarshall SAMR_Q_QUERY_DOMAIN_INFO2.\n"));
01454                 return False;
01455         }
01456 
01457         r_u.status = _samr_query_domain_info2(p, &q_u, &r_u);
01458 
01459         /* store the response in the SMB stream */
01460         if(!samr_io_r_query_domain_info2("", &r_u, rdata, 0)) {
01461                 DEBUG(0,("api_samr_query_domain_info2: unable to marshall SAMR_R_QUERY_DOMAIN_INFO2.\n"));
01462                 return False;
01463         }
01464 
01465         return True;
01466 }

static BOOL api_samr_set_dom_info ( pipes_struct p  )  [static]

srv_samr.c1472 行で定義されています。

参照先 _samr_set_dom_info()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_set_domain_info()samr_io_r_set_domain_info()r_samr_set_domain_info::status.

01473 {
01474         SAMR_Q_SET_DOMAIN_INFO q_u;
01475         SAMR_R_SET_DOMAIN_INFO r_u;
01476         prs_struct *data = &p->in_data.data;
01477         prs_struct *rdata = &p->out_data.rdata;
01478 
01479         ZERO_STRUCT(q_u);
01480         ZERO_STRUCT(r_u);
01481 
01482         if(!samr_io_q_set_domain_info("", &q_u, data, 0)) {
01483                 DEBUG(0,("api_samr_set_dom_info: unable to unmarshall SAMR_Q_SET_DOMAIN_INFO.\n"));
01484                 return False;
01485         }
01486 
01487         r_u.status = _samr_set_dom_info(p, &q_u, &r_u);
01488 
01489         /* store the response in the SMB stream */
01490         if(!samr_io_r_set_domain_info("", &r_u, rdata, 0)) {
01491                 DEBUG(0,("api_samr_set_dom_info: unable to marshall SAMR_R_SET_DOMAIN_INFO.\n"));
01492                 return False;
01493         }
01494 
01495         return True;
01496 }

static BOOL api_samr_get_dispenum_index ( pipes_struct p  )  [static]

srv_samr.c1502 行で定義されています。

参照先 _samr_get_dispenum_index()_input_data::datapipes_struct::in_datapipes_struct::out_data_output_data::rdatasamr_io_q_get_dispenum_index()samr_io_r_get_dispenum_index()r_samr_get_dispenum_index::status.

01503 {
01504         SAMR_Q_GET_DISPENUM_INDEX q_u;
01505         SAMR_R_GET_DISPENUM_INDEX r_u;
01506         prs_struct *data = &p->in_data.data;
01507         prs_struct *rdata = &p->out_data.rdata;
01508 
01509         ZERO_STRUCT(q_u);
01510         ZERO_STRUCT(r_u);
01511 
01512         if(!samr_io_q_get_dispenum_index("", &q_u, data, 0)) {
01513                 DEBUG(0,("api_samr_get_dispenum_index: unable to unmarshall SAMR_Q_GET_DISPENUM_INDEX.\n"));
01514                 return False;
01515         }
01516 
01517         r_u.status = _samr_get_dispenum_index(p, &q_u, &r_u);
01518 
01519         /* store the response in the SMB stream */
01520         if(!samr_io_r_get_dispenum_index("", &r_u, rdata, 0)) {
01521                 DEBUG(0,("api_samr_get_dispenum_index: unable to marshall SAMR_R_GET_DISPENUM_INDEX.\n"));
01522                 return False;
01523         }
01524 
01525         return True;
01526 }

void samr_get_pipe_fns ( struct api_struct **  fns,
int *  n_fns 
)

srv_samr.c1594 行で定義されています。

参照先 api_samr_cmds.

参照元 get_pipe_fns().

01595 {
01596         *fns = api_samr_cmds;
01597         *n_fns = sizeof(api_samr_cmds) / sizeof(struct api_struct);
01598 }

NTSTATUS rpc_samr_init ( void   ) 

srv_samr.c1601 行で定義されています。

参照先 api_samr_cmdsrpc_pipe_register_commands().

01602 {
01603   return rpc_pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "samr", "lsass", api_samr_cmds,
01604                                     sizeof(api_samr_cmds) / sizeof(struct api_struct));
01605 }


変数

struct api_struct api_samr_cmds[] [static]

srv_samr.c1533 行で定義されています。

参照元 rpc_samr_init()samr_get_pipe_fns().


Sambaに対してSat Aug 29 21:24:19 2009に生成されました。  doxygen 1.4.7