From 57589e3b67c4fbe6412478bef9a46cdf5b1df795 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sat, 25 Mar 2006 11:39:09 +0000 Subject: r14714: On DCE/RPC, we need the name of the remote server used on the socket, for Kerberos. It must be the full name contacted, not the 'called name' we might want to use for \\server things, so add another function. Andrew Bartlett (This used to be commit 6d57d1dbb76e7d1ca2fd4f1a6c0bacfa7a189e2b) --- source4/librpc/rpc/dcerpc_smb2.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'source4/librpc/rpc/dcerpc_smb2.c') diff --git a/source4/librpc/rpc/dcerpc_smb2.c b/source4/librpc/rpc/dcerpc_smb2.c index 01fd783e6f..84ece71e4c 100644 --- a/source4/librpc/rpc/dcerpc_smb2.c +++ b/source4/librpc/rpc/dcerpc_smb2.c @@ -331,6 +331,16 @@ static const char *smb2_peer_name(struct dcerpc_connection *c) return smb->server_name; } +/* + return remote name we make the actual connection (good for kerberos) +*/ +static const char *smb2_target_hostname(struct dcerpc_connection *c) +{ + struct smb2_private *smb = talloc_get_type(c->transport.private, + struct smb2_private); + return smb->tree->session->transport->socket->hostname; +} + /* fetch the user session key */ @@ -432,6 +442,7 @@ static void pipe_open_recv(struct smb2_request *req) c->transport.private = NULL; c->transport.shutdown_pipe = smb2_shutdown_pipe; c->transport.peer_name = smb2_peer_name; + c->transport.target_hostname = smb2_target_hostname; c->transport.send_request = smb2_send_request; c->transport.send_read = send_read_request; -- cgit