diff options
author | Stefan Metzmacher <metze@samba.org> | 2011-12-12 08:46:26 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2011-12-12 10:23:43 +0100 |
commit | 3d7521c8abb4080dbff9f687257d05f5f4e45a51 (patch) | |
tree | a4140ba8b9137ee9fe83befbf79a22ac38b23be2 | |
parent | 08019a0973fb2ccf1ee4fa8c6523808033058456 (diff) | |
download | samba-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
-rw-r--r-- | source3/smbd/process.c | 18 |
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)) { |