mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
s4:librpc/rpc: pass down HTTP_AUTH_* values directly to dcerpc_pipe_open_roh_send()
They get passed to http_send_auth_request_send() unmodified. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
This commit is contained in:
parent
8d36bbe187
commit
b5854ecc98
@ -35,6 +35,7 @@
|
||||
#include "auth/credentials/credentials.h"
|
||||
#include "param/param.h"
|
||||
#include "libcli/resolve/resolve.h"
|
||||
#include "lib/http/http.h"
|
||||
|
||||
struct dcerpc_pipe_connect {
|
||||
struct dcecli_connection *conn;
|
||||
@ -431,7 +432,7 @@ struct pipe_http_state {
|
||||
uint32_t http_proxy_port;
|
||||
bool use_tls;
|
||||
bool use_proxy;
|
||||
bool use_ntlm;
|
||||
enum http_auth_method http_auth;
|
||||
struct loadparm_context *lp_ctx;
|
||||
};
|
||||
|
||||
@ -565,15 +566,15 @@ static struct composite_context* dcerpc_pipe_connect_ncacn_http_send(
|
||||
opt = dcerpc_binding_get_string_option(io->binding, "HttpAuthOption");
|
||||
if (opt) {
|
||||
if (strcasecmp(opt, "basic") == 0) {
|
||||
s->use_ntlm = false;
|
||||
s->http_auth = HTTP_AUTH_BASIC;
|
||||
} else if (strcasecmp(opt, "ntlm") == 0) {
|
||||
s->use_ntlm = true;
|
||||
s->http_auth = HTTP_AUTH_NTLM;
|
||||
} else {
|
||||
composite_error(c, NT_STATUS_INVALID_PARAMETER_MIX);
|
||||
return c;
|
||||
}
|
||||
} else {
|
||||
s->use_ntlm = true;
|
||||
s->http_auth = HTTP_AUTH_NTLM;
|
||||
}
|
||||
|
||||
subreq = dcerpc_pipe_open_roh_send(s->io.conn, s->localaddr,
|
||||
@ -582,7 +583,7 @@ static struct composite_context* dcerpc_pipe_connect_ncacn_http_send(
|
||||
s->http_proxy, s->http_proxy_port,
|
||||
s->use_tls, s->use_proxy,
|
||||
s->io.creds, io->resolve_ctx,
|
||||
s->lp_ctx, s->use_ntlm);
|
||||
s->lp_ctx, s->http_auth);
|
||||
if (composite_nomem(subreq, c)) return c;
|
||||
|
||||
tevent_req_set_callback(subreq, continue_pipe_open_ncacn_http, c);
|
||||
|
@ -89,7 +89,7 @@ struct roh_open_connection_state {
|
||||
struct roh_connection *roh;
|
||||
struct tstream_tls_params *tls_params;
|
||||
struct loadparm_context *lp_ctx;
|
||||
bool use_ntlm;
|
||||
uint8_t http_auth;
|
||||
};
|
||||
|
||||
NTSTATUS dcerpc_pipe_open_roh_recv(struct tevent_req *req,
|
||||
@ -143,7 +143,7 @@ struct tevent_req *dcerpc_pipe_open_roh_send(struct dcecli_connection *conn,
|
||||
struct cli_credentials *credentials,
|
||||
struct resolve_context *resolve_ctx,
|
||||
struct loadparm_context *lp_ctx,
|
||||
bool use_ntlm)
|
||||
uint8_t http_auth)
|
||||
{
|
||||
NTSTATUS status;
|
||||
struct tevent_req *req;
|
||||
@ -170,7 +170,7 @@ struct tevent_req *dcerpc_pipe_open_roh_send(struct dcecli_connection *conn,
|
||||
state->rpc_server_port = rpc_server_port;
|
||||
state->rpc_proxy = talloc_strdup(state, rpc_proxy);
|
||||
state->rpc_proxy_port = rpc_proxy_port;
|
||||
state->use_ntlm = use_ntlm;
|
||||
state->http_auth = http_auth;
|
||||
|
||||
state->roh = talloc_zero(state, struct roh_connection);
|
||||
state->roh->protocol_version = ROH_V2;
|
||||
@ -313,7 +313,7 @@ static void roh_connect_channel_out_done(struct tevent_req *subreq)
|
||||
state->rpc_server,
|
||||
state->rpc_server_port,
|
||||
state->rpc_proxy,
|
||||
state->use_ntlm);
|
||||
state->http_auth);
|
||||
if (tevent_req_nomem(subreq, req)) {
|
||||
return;
|
||||
}
|
||||
@ -344,7 +344,7 @@ static void roh_send_RPC_DATA_IN_done(struct tevent_req *subreq)
|
||||
state->rpc_server,
|
||||
state->rpc_server_port,
|
||||
state->rpc_proxy,
|
||||
state->use_ntlm);
|
||||
state->http_auth);
|
||||
if (tevent_req_nomem(subreq, req)) {
|
||||
return;
|
||||
}
|
||||
|
@ -227,7 +227,7 @@ struct tevent_req *roh_send_RPC_DATA_IN_send(TALLOC_CTX *mem_ctx,
|
||||
const char *rpc_server,
|
||||
uint32_t rpc_server_port,
|
||||
const char *rpc_proxy,
|
||||
bool use_ntlm)
|
||||
uint8_t http_auth)
|
||||
{
|
||||
struct tevent_req *req;
|
||||
struct tevent_req *subreq;
|
||||
@ -299,8 +299,7 @@ struct tevent_req *roh_send_RPC_DATA_IN_send(TALLOC_CTX *mem_ctx,
|
||||
state->request,
|
||||
credentials,
|
||||
lp_ctx,
|
||||
use_ntlm ? HTTP_AUTH_NTLM :
|
||||
HTTP_AUTH_BASIC);
|
||||
http_auth);
|
||||
if (tevent_req_nomem(subreq, req)) {
|
||||
return tevent_req_post(req, ev);
|
||||
}
|
||||
|
@ -227,7 +227,7 @@ struct tevent_req *roh_send_RPC_DATA_OUT_send(TALLOC_CTX *mem_ctx,
|
||||
const char *rpc_server,
|
||||
uint32_t rpc_server_port,
|
||||
const char *rpc_proxy,
|
||||
bool use_ntlm)
|
||||
uint8_t http_auth)
|
||||
{
|
||||
struct tevent_req *req;
|
||||
struct tevent_req *subreq;
|
||||
@ -299,8 +299,7 @@ struct tevent_req *roh_send_RPC_DATA_OUT_send(TALLOC_CTX *mem_ctx,
|
||||
state->request,
|
||||
credentials,
|
||||
lp_ctx,
|
||||
use_ntlm ? HTTP_AUTH_NTLM :
|
||||
HTTP_AUTH_BASIC);
|
||||
http_auth);
|
||||
if (tevent_req_nomem(subreq, req)) {
|
||||
return tevent_req_post(req, ev);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user