summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2011-12-12 08:46:26 +0100
committerStefan Metzmacher <metze@samba.org>2011-12-12 10:23:43 +0100
commit3d7521c8abb4080dbff9f687257d05f5f4e45a51 (patch)
treea4140ba8b9137ee9fe83befbf79a22ac38b23be2 /source3/smbd
parent08019a0973fb2ccf1ee4fa8c6523808033058456 (diff)
downloadsamba-3d7521c8abb4080dbff9f687257d05f5f4e45a51.tar.gz
samba-3d7521c8abb4080dbff9f687257d05f5f4e45a51.tar.bz2
samba-3d7521c8abb4080dbff9f687257d05f5f4e45a51.zip
s3:smbd: call sub_set_socket_ids() in smbd_process() again
This got lost in commit b2511a280aa9449123376fd3cbb495dcd1a87dee. metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Mon Dec 12 10:23:44 CET 2011 on sn-devel-104
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/process.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index 82dd51048e..073ee39577 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -2955,6 +2955,7 @@ void smbd_process(struct tevent_context *ev_ctx,
socklen_t sa_socklen;
struct tsocket_address *local_address = NULL;
struct tsocket_address *remote_address = NULL;
+ const char *locaddr = NULL;
const char *remaddr = NULL;
char *rhost;
int ret;
@@ -3013,6 +3014,19 @@ void smbd_process(struct tevent_context *ev_ctx,
sconn->local_address = local_address;
sconn->remote_address = remote_address;
+ if (tsocket_address_is_inet(local_address, "ip")) {
+ locaddr = tsocket_address_inet_addr_string(
+ sconn->local_address,
+ talloc_tos());
+ if (locaddr == NULL) {
+ DEBUG(0,("%s: tsocket_address_inet_addr_string local failed - %s\n",
+ __location__, strerror(errno)));
+ exit_server_cleanly("tsocket_address_inet_addr_string local failed.\n");
+ }
+ } else {
+ locaddr = "0.0.0.0";
+ }
+
if (tsocket_address_is_inet(remote_address, "ip")) {
remaddr = tsocket_address_inet_addr_string(
sconn->remote_address,
@@ -3051,6 +3065,10 @@ void smbd_process(struct tevent_context *ev_ctx,
}
sconn->remote_hostname = talloc_move(sconn, &rhost);
+ sub_set_socket_ids(remaddr,
+ sconn->remote_hostname,
+ locaddr);
+
if (!allow_access(lp_hostsdeny(-1), lp_hostsallow(-1),
sconn->remote_hostname,
remaddr)) {