static BOOL already_perm = False;
fstring tmp_local_machine;
+ fstrcpy(tmp_local_machine,local_name);
+ trim_char(tmp_local_machine,' ',' ');
+
/*
* Windows NT/2k uses "*SMBSERVER" and XP uses "*SMBSERV"
* arrggg!!!
*/
- if (strequal(local_name, "*SMBSERVER"))
- return;
-
- if (strequal(local_name, "*SMBSERV"))
+ if ( strequal(tmp_local_machine, "*SMBSERVER") || strequal(tmp_local_machine, "*SMBSERV") ) {
+ fstrcpy( local_machine, client_socket_addr() );
return;
+ }
if (already_perm)
return;
already_perm = perm;
- fstrcpy(tmp_local_machine,local_name);
- trim_char(tmp_local_machine,' ',' ');
alpha_strcpy(local_machine,tmp_local_machine,SAFE_NETBIOS_CHARS,sizeof(local_machine)-1);
strlower_m(local_machine);
}
return(ret);
}
-/********************************************************************
- Return only the first IP address of our configured interfaces
- as a string
- *******************************************************************/
-
-const char* get_my_primary_ip (void)
-{
- static fstring ip_string;
- int n;
- struct iface_struct nics[MAX_INTERFACES];
-
- if ((n=get_interfaces(nics, MAX_INTERFACES)) <= 0)
- return NULL;
-
- fstrcpy(ip_string, inet_ntoa(nics[0].ip));
- return ip_string;
-}
-
BOOL is_myname_or_ipaddr(const char *s)
{
/* optimize for the common case */
static fstring called_name;
if (!*local_machine) {
- fstrcpy(called_name, get_my_primary_ip());
+ fstrcpy(called_name, client_socket_addr());
DEBUG(8,("get_called_name: assuming that client used IP address [%s] as called name.\n",
called_name));
return called_name;