Debian patchset.
The idea is to still allow DNS domains to be specified in 'hosts allow' and
'hosts deny' without making the admin set 'hostname lookups' in their smb.conf.
His concern is about upgrades.
This has been designed not to change the value of %M.
Andrew Bartlett
else
{
DEBUG (3, ("check_access: hostnames in host allow/deny list.\n"));
- ret = allow_access(deny_list,allow_list, get_socket_name(sock),
+ ret = allow_access(deny_list,allow_list, get_socket_name(sock,True),
get_socket_addr(sock));
}
if (ret)
{
DEBUG(2,("Allowed connection from %s (%s)\n",
- only_ip ? "" : get_socket_name(sock),
+ only_ip ? "" : get_socket_name(sock,True),
get_socket_addr(sock)));
}
else
{
DEBUG(0,("Denied connection from %s (%s)\n",
- only_ip ? "" : get_socket_name(sock),
+ only_ip ? "" : get_socket_name(sock,True),
get_socket_addr(sock)));
}
}
char *client_name(void)
{
- return get_socket_name(client_fd);
+ return get_socket_name(client_fd,False);
}
char *client_addr(void)
/*******************************************************************
return the DNS name of the remote end of a socket
******************************************************************/
-char *get_socket_name(int fd)
+char *get_socket_name(int fd, BOOL force_lookup)
{
static pstring name_buf;
static fstring addr_buf;
situations won't work because many networks don't link dhcp
with dns. To avoid the delay we avoid the lookup if
possible */
- if (!lp_hostname_lookups()) {
+ if (!lp_hostname_lookups() && (force_lookup == False)) {
return get_socket_addr(fd);
}
char *cgi_remote_host(void)
{
if (inetd_server) {
- return get_socket_name(1);
+ return get_socket_name(1,False);
}
return getenv("REMOTE_HOST");
}