summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/smbd/session.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/source3/smbd/session.c b/source3/smbd/session.c
index c8f77aaa61..6f9d62edfd 100644
--- a/source3/smbd/session.c
+++ b/source3/smbd/session.c
@@ -77,12 +77,14 @@ BOOL session_claim(user_struct *vuser)
return False;
}
- /* Don't resolve the hostname in smbd as we can pause for a long
- time while waiting for DNS timeouts to occur. The correct
- place to do this is in the code that displays the session
- information. */
+ /* If 'hostname lookup' == yes, then do the DNS lookup. This is
+ needed becouse utmp and PAM both expect DNS names */
- hostname = client_addr();
+ if (lp_hostname_lookups()) {
+ hostname = client_name();
+ } else {
+ hostname = client_addr();
+ }
fstrcpy(sessionid.username, vuser->user.unix_name);
fstrcpy(sessionid.hostname, hostname);