関数 | |
static BOOL | api_net_req_chal (pipes_struct *p) |
static BOOL | api_net_auth (pipes_struct *p) |
static BOOL | api_net_auth_2 (pipes_struct *p) |
static BOOL | api_net_srv_pwset (pipes_struct *p) |
static BOOL | api_net_sam_logoff (pipes_struct *p) |
static BOOL | api_net_sam_logon (pipes_struct *p) |
static BOOL | api_net_trust_dom_list (pipes_struct *p) |
static BOOL | api_net_logon_ctrl2 (pipes_struct *p) |
static BOOL | api_net_logon_ctrl (pipes_struct *p) |
static BOOL | api_net_sam_logon_ex (pipes_struct *p) |
static BOOL | api_ds_enum_dom_trusts (pipes_struct *p) |
void | netlog_get_pipe_fns (struct api_struct **fns, int *n_fns) |
NTSTATUS | rpc_net_init (void) |
変数 | |
static struct api_struct | api_net_cmds [] |
static BOOL api_net_req_chal | ( | pipes_struct * | p | ) | [static] |
srv_netlog.c の 36 行で定義されています。
参照先 _net_req_chal()・_input_data::data・pipes_struct::in_data・net_io_q_req_chal()・net_io_r_req_chal()・pipes_struct::out_data・_output_data::rdata・net_r_req_chal_info::status.
00037 { 00038 NET_Q_REQ_CHAL q_u; 00039 NET_R_REQ_CHAL r_u; 00040 prs_struct *data = &p->in_data.data; 00041 prs_struct *rdata = &p->out_data.rdata; 00042 00043 ZERO_STRUCT(q_u); 00044 ZERO_STRUCT(r_u); 00045 00046 /* grab the challenge... */ 00047 if(!net_io_q_req_chal("", &q_u, data, 0)) { 00048 DEBUG(0,("api_net_req_chal: Failed to unmarshall NET_Q_REQ_CHAL.\n")); 00049 return False; 00050 } 00051 00052 r_u.status = _net_req_chal(p, &q_u, &r_u); 00053 00054 /* store the response in the SMB stream */ 00055 if(!net_io_r_req_chal("", &r_u, rdata, 0)) { 00056 DEBUG(0,("api_net_req_chal: Failed to marshall NET_R_REQ_CHAL.\n")); 00057 return False; 00058 } 00059 00060 return True; 00061 }
static BOOL api_net_auth | ( | pipes_struct * | p | ) | [static] |
srv_netlog.c の 67 行で定義されています。
参照先 _net_auth()・_input_data::data・pipes_struct::in_data・net_io_q_auth()・net_io_r_auth()・pipes_struct::out_data・_output_data::rdata・net_r_auth_info::status.
00068 { 00069 NET_Q_AUTH q_u; 00070 NET_R_AUTH r_u; 00071 prs_struct *data = &p->in_data.data; 00072 prs_struct *rdata = &p->out_data.rdata; 00073 00074 ZERO_STRUCT(q_u); 00075 ZERO_STRUCT(r_u); 00076 00077 /* grab the challenge... */ 00078 if(!net_io_q_auth("", &q_u, data, 0)) { 00079 DEBUG(0,("api_net_auth: Failed to unmarshall NET_Q_AUTH.\n")); 00080 return False; 00081 } 00082 00083 r_u.status = _net_auth(p, &q_u, &r_u); 00084 00085 /* store the response in the SMB stream */ 00086 if(!net_io_r_auth("", &r_u, rdata, 0)) { 00087 DEBUG(0,("api_net_auth: Failed to marshall NET_R_AUTH.\n")); 00088 return False; 00089 } 00090 00091 return True; 00092 }
static BOOL api_net_auth_2 | ( | pipes_struct * | p | ) | [static] |
srv_netlog.c の 98 行で定義されています。
参照先 _net_auth_2()・_input_data::data・pipes_struct::in_data・net_io_q_auth_2()・net_io_r_auth_2()・pipes_struct::out_data・_output_data::rdata・net_r_auth2_info::status.
00099 { 00100 NET_Q_AUTH_2 q_u; 00101 NET_R_AUTH_2 r_u; 00102 prs_struct *data = &p->in_data.data; 00103 prs_struct *rdata = &p->out_data.rdata; 00104 00105 ZERO_STRUCT(q_u); 00106 ZERO_STRUCT(r_u); 00107 00108 /* grab the challenge... */ 00109 if(!net_io_q_auth_2("", &q_u, data, 0)) { 00110 DEBUG(0,("api_net_auth_2: Failed to unmarshall NET_Q_AUTH_2.\n")); 00111 return False; 00112 } 00113 00114 r_u.status = _net_auth_2(p, &q_u, &r_u); 00115 00116 /* store the response in the SMB stream */ 00117 if(!net_io_r_auth_2("", &r_u, rdata, 0)) { 00118 DEBUG(0,("api_net_auth_2: Failed to marshall NET_R_AUTH_2.\n")); 00119 return False; 00120 } 00121 00122 return True; 00123 }
static BOOL api_net_srv_pwset | ( | pipes_struct * | p | ) | [static] |
srv_netlog.c の 129 行で定義されています。
参照先 _net_srv_pwset()・_input_data::data・pipes_struct::in_data・net_io_q_srv_pwset()・net_io_r_srv_pwset()・pipes_struct::out_data・_output_data::rdata・net_r_srv_pwset_info::status.
00130 { 00131 NET_Q_SRV_PWSET q_u; 00132 NET_R_SRV_PWSET r_u; 00133 prs_struct *data = &p->in_data.data; 00134 prs_struct *rdata = &p->out_data.rdata; 00135 00136 ZERO_STRUCT(q_u); 00137 ZERO_STRUCT(r_u); 00138 00139 /* grab the challenge and encrypted password ... */ 00140 if(!net_io_q_srv_pwset("", &q_u, data, 0)) { 00141 DEBUG(0,("api_net_srv_pwset: Failed to unmarshall NET_Q_SRV_PWSET.\n")); 00142 return False; 00143 } 00144 00145 r_u.status = _net_srv_pwset(p, &q_u, &r_u); 00146 00147 /* store the response in the SMB stream */ 00148 if(!net_io_r_srv_pwset("", &r_u, rdata, 0)) { 00149 DEBUG(0,("api_net_srv_pwset: Failed to marshall NET_R_SRV_PWSET.\n")); 00150 return False; 00151 } 00152 00153 return True; 00154 }
static BOOL api_net_sam_logoff | ( | pipes_struct * | p | ) | [static] |
srv_netlog.c の 160 行で定義されています。
参照先 _net_sam_logoff()・_input_data::data・pipes_struct::in_data・net_io_q_sam_logoff()・net_io_r_sam_logoff()・pipes_struct::out_data・_output_data::rdata・net_r_sam_logoff_info::status.
00161 { 00162 NET_Q_SAM_LOGOFF q_u; 00163 NET_R_SAM_LOGOFF r_u; 00164 prs_struct *data = &p->in_data.data; 00165 prs_struct *rdata = &p->out_data.rdata; 00166 00167 ZERO_STRUCT(q_u); 00168 ZERO_STRUCT(r_u); 00169 00170 if(!net_io_q_sam_logoff("", &q_u, data, 0)) { 00171 DEBUG(0,("api_net_sam_logoff: Failed to unmarshall NET_Q_SAM_LOGOFF.\n")); 00172 return False; 00173 } 00174 00175 r_u.status = _net_sam_logoff(p, &q_u, &r_u); 00176 00177 /* store the response in the SMB stream */ 00178 if(!net_io_r_sam_logoff("", &r_u, rdata, 0)) { 00179 DEBUG(0,("api_net_sam_logoff: Failed to marshall NET_R_SAM_LOGOFF.\n")); 00180 return False; 00181 } 00182 00183 return True; 00184 }
static BOOL api_net_sam_logon | ( | pipes_struct * | p | ) | [static] |
srv_netlog.c の 190 行で定義されています。
参照先 _net_sam_logon()・_input_data::data・pipes_struct::in_data・net_io_q_sam_logon()・net_io_r_sam_logon()・pipes_struct::out_data・_output_data::rdata・net_r_sam_logon_info::status.
00191 { 00192 NET_Q_SAM_LOGON q_u; 00193 NET_R_SAM_LOGON r_u; 00194 prs_struct *data = &p->in_data.data; 00195 prs_struct *rdata = &p->out_data.rdata; 00196 00197 ZERO_STRUCT(q_u); 00198 ZERO_STRUCT(r_u); 00199 00200 if(!net_io_q_sam_logon("", &q_u, data, 0)) { 00201 DEBUG(0, ("api_net_sam_logon: Failed to unmarshall NET_Q_SAM_LOGON.\n")); 00202 return False; 00203 } 00204 00205 r_u.status = _net_sam_logon(p, &q_u, &r_u); 00206 00207 /* store the response in the SMB stream */ 00208 if(!net_io_r_sam_logon("", &r_u, rdata, 0)) { 00209 DEBUG(0,("api_net_sam_logon: Failed to marshall NET_R_SAM_LOGON.\n")); 00210 return False; 00211 } 00212 00213 return True; 00214 }
static BOOL api_net_trust_dom_list | ( | pipes_struct * | p | ) | [static] |
srv_netlog.c の 220 行で定義されています。
参照先 _net_trust_dom_list()・_input_data::data・pipes_struct::in_data・net_io_q_trust_dom()・net_io_r_trust_dom()・pipes_struct::out_data・_output_data::rdata・net_r_trust_dom_info::status.
00221 { 00222 NET_Q_TRUST_DOM_LIST q_u; 00223 NET_R_TRUST_DOM_LIST r_u; 00224 prs_struct *data = &p->in_data.data; 00225 prs_struct *rdata = &p->out_data.rdata; 00226 00227 ZERO_STRUCT(q_u); 00228 ZERO_STRUCT(r_u); 00229 00230 /* grab the lsa trusted domain list query... */ 00231 if(!net_io_q_trust_dom("", &q_u, data, 0)) { 00232 DEBUG(0,("api_net_trust_dom_list: Failed to unmarshall NET_Q_TRUST_DOM_LIST.\n")); 00233 return False; 00234 } 00235 00236 /* construct reply. */ 00237 r_u.status = _net_trust_dom_list(p, &q_u, &r_u); 00238 00239 /* store the response in the SMB stream */ 00240 if(!net_io_r_trust_dom("", &r_u, rdata, 0)) { 00241 DEBUG(0,("net_reply_trust_dom_list: Failed to marshall NET_R_TRUST_DOM_LIST.\n")); 00242 return False; 00243 } 00244 00245 return True; 00246 }
static BOOL api_net_logon_ctrl2 | ( | pipes_struct * | p | ) | [static] |
srv_netlog.c の 252 行で定義されています。
参照先 _net_logon_ctrl2()・_input_data::data・pipes_struct::in_data・net_io_q_logon_ctrl2()・net_io_r_logon_ctrl2()・pipes_struct::out_data・_output_data::rdata・net_r_logon_ctrl2_info::status.
00253 { 00254 NET_Q_LOGON_CTRL2 q_u; 00255 NET_R_LOGON_CTRL2 r_u; 00256 prs_struct *data = &p->in_data.data; 00257 prs_struct *rdata = &p->out_data.rdata; 00258 00259 ZERO_STRUCT(q_u); 00260 ZERO_STRUCT(r_u); 00261 00262 00263 /* grab the lsa netlogon ctrl2 query... */ 00264 if(!net_io_q_logon_ctrl2("", &q_u, data, 0)) { 00265 DEBUG(0,("api_net_logon_ctrl2: Failed to unmarshall NET_Q_LOGON_CTRL2.\n")); 00266 return False; 00267 } 00268 00269 r_u.status = _net_logon_ctrl2(p, &q_u, &r_u); 00270 00271 if(!net_io_r_logon_ctrl2("", &r_u, rdata, 0)) { 00272 DEBUG(0,("net_reply_logon_ctrl2: Failed to marshall NET_R_LOGON_CTRL2.\n")); 00273 return False; 00274 } 00275 00276 return True; 00277 }
static BOOL api_net_logon_ctrl | ( | pipes_struct * | p | ) | [static] |
srv_netlog.c の 283 行で定義されています。
参照先 _net_logon_ctrl()・_input_data::data・pipes_struct::in_data・net_io_q_logon_ctrl()・net_io_r_logon_ctrl()・pipes_struct::out_data・_output_data::rdata・net_r_logon_ctrl_info::status.
00284 { 00285 NET_Q_LOGON_CTRL q_u; 00286 NET_R_LOGON_CTRL r_u; 00287 prs_struct *data = &p->in_data.data; 00288 prs_struct *rdata = &p->out_data.rdata; 00289 00290 ZERO_STRUCT(q_u); 00291 ZERO_STRUCT(r_u); 00292 00293 /* grab the lsa netlogon ctrl query... */ 00294 if(!net_io_q_logon_ctrl("", &q_u, data, 0)) { 00295 DEBUG(0,("api_net_logon_ctrl: Failed to unmarshall NET_Q_LOGON_CTRL.\n")); 00296 return False; 00297 } 00298 00299 r_u.status = _net_logon_ctrl(p, &q_u, &r_u); 00300 00301 if(!net_io_r_logon_ctrl("", &r_u, rdata, 0)) { 00302 DEBUG(0,("net_reply_logon_ctrl2: Failed to marshall NET_R_LOGON_CTRL.\n")); 00303 return False; 00304 } 00305 00306 return True; 00307 }
static BOOL api_net_sam_logon_ex | ( | pipes_struct * | p | ) | [static] |
srv_netlog.c の 313 行で定義されています。
参照先 _net_sam_logon_ex()・_input_data::data・pipes_struct::in_data・net_io_q_sam_logon_ex()・net_io_r_sam_logon_ex()・pipes_struct::out_data・_output_data::rdata・net_r_sam_logon_info_ex::status.
00314 { 00315 NET_Q_SAM_LOGON_EX q_u; 00316 NET_R_SAM_LOGON_EX r_u; 00317 prs_struct *data = &p->in_data.data; 00318 prs_struct *rdata = &p->out_data.rdata; 00319 00320 ZERO_STRUCT(q_u); 00321 ZERO_STRUCT(r_u); 00322 00323 if(!net_io_q_sam_logon_ex("", &q_u, data, 0)) { 00324 DEBUG(0, ("api_net_sam_logon_ex: Failed to unmarshall NET_Q_SAM_LOGON_EX.\n")); 00325 return False; 00326 } 00327 00328 r_u.status = _net_sam_logon_ex(p, &q_u, &r_u); 00329 00330 /* store the response in the SMB stream */ 00331 if(!net_io_r_sam_logon_ex("", &r_u, rdata, 0)) { 00332 DEBUG(0,("api_net_sam_logon_ex: Failed to marshall NET_R_SAM_LOGON_EX.\n")); 00333 return False; 00334 } 00335 00336 return True; 00337 }
static BOOL api_ds_enum_dom_trusts | ( | pipes_struct * | p | ) | [static] |
srv_netlog.c の 345 行で定義されています。
参照先 _ds_enum_dom_trusts()・_input_data::data・ds_io_q_enum_domain_trusts()・ds_io_r_enum_domain_trusts()・pipes_struct::in_data・pipes_struct::out_data・_output_data::rdata・DS_R_ENUM_DOM_TRUSTS::status.
00346 { 00347 DS_Q_ENUM_DOM_TRUSTS q_u; 00348 DS_R_ENUM_DOM_TRUSTS r_u; 00349 00350 prs_struct *data = &p->in_data.data; 00351 prs_struct *rdata = &p->out_data.rdata; 00352 00353 ZERO_STRUCT(q_u); 00354 ZERO_STRUCT(r_u); 00355 00356 DEBUG(6,("api_ds_enum_dom_trusts\n")); 00357 00358 if ( !ds_io_q_enum_domain_trusts("", data, 0, &q_u) ) { 00359 DEBUG(0,("api_ds_enum_domain_trusts: Failed to unmarshall DS_Q_ENUM_DOM_TRUSTS.\n")); 00360 return False; 00361 } 00362 00363 r_u.status = _ds_enum_dom_trusts(p, &q_u, &r_u); 00364 00365 if ( !ds_io_r_enum_domain_trusts("", rdata, 0, &r_u) ) { 00366 DEBUG(0,("api_ds_enum_domain_trusts: Failed to marshall DS_R_ENUM_DOM_TRUSTS.\n")); 00367 return False; 00368 } 00369 00370 DEBUG(6,("api_ds_enum_dom_trusts\n")); 00371 00372 return True; 00373 }
void netlog_get_pipe_fns | ( | struct api_struct ** | fns, | |
int * | n_fns | |||
) |
srv_netlog.c の 396 行で定義されています。
参照先 api_net_cmds.
参照元 get_pipe_fns().
00397 { 00398 *fns = api_net_cmds; 00399 *n_fns = sizeof(api_net_cmds) / sizeof(struct api_struct); 00400 }
NTSTATUS rpc_net_init | ( | void | ) |
srv_netlog.c の 402 行で定義されています。
参照先 api_net_cmds・rpc_pipe_register_commands().
00403 { 00404 return rpc_pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "NETLOGON", "lsass", api_net_cmds, 00405 sizeof(api_net_cmds) / sizeof(struct api_struct)); 00406 }
struct api_struct api_net_cmds[] [static] |
初期値:
{ { "NET_REQCHAL" , NET_REQCHAL , api_net_req_chal }, { "NET_AUTH" , NET_AUTH , api_net_auth }, { "NET_AUTH2" , NET_AUTH2 , api_net_auth_2 }, { "NET_SRVPWSET" , NET_SRVPWSET , api_net_srv_pwset }, { "NET_SAMLOGON" , NET_SAMLOGON , api_net_sam_logon }, { "NET_SAMLOGOFF" , NET_SAMLOGOFF , api_net_sam_logoff }, { "NET_LOGON_CTRL2" , NET_LOGON_CTRL2 , api_net_logon_ctrl2 }, { "NET_TRUST_DOM_LIST", NET_TRUST_DOM_LIST, api_net_trust_dom_list }, { "NET_LOGON_CTRL" , NET_LOGON_CTRL , api_net_logon_ctrl }, { "NET_SAMLOGON_EX" , NET_SAMLOGON_EX , api_net_sam_logon_ex }, #if 0 { "DS_ENUM_DOM_TRUSTS", DS_ENUM_DOM_TRUSTS, api_ds_enum_dom_trusts } #endif }
srv_netlog.c の 379 行で定義されています。