diff -uNrp samba-3.2.4.org/source/param/loadparm.c samba-3.2.4.new/source/param/loadparm.c --- samba-3.2.4.org/source/param/loadparm.c 2008-09-18 15:49:02.000000000 +0900 +++ samba-3.2.4.new/source/param/loadparm.c 2008-12-06 01:19:12.000000000 +0900 @@ -4987,7 +4987,6 @@ FN_GLOBAL_STRING(lp_remote_announce, &Gl FN_GLOBAL_STRING(lp_remote_browse_sync, &Globals.szRemoteBrowseSync) FN_GLOBAL_LIST(lp_wins_server_list, &Globals.szWINSservers) FN_GLOBAL_LIST(lp_interfaces, &Globals.szInterfaces) -FN_GLOBAL_STRING(lp_socket_address, &Globals.szSocketAddress) FN_GLOBAL_STRING(lp_nis_home_map_name, &Globals.szNISHomeMapName) static FN_GLOBAL_STRING(lp_announce_version, &Globals.szAnnounceVersion) FN_GLOBAL_LIST(lp_netbios_aliases, &Globals.szNetbiosAliases) @@ -9473,3 +9472,19 @@ int lp_min_receive_file_size(void) } return MIN(Globals.iminreceivefile, BUFFER_SIZE); } + + +/******************************************************************* + If socket address is an empty character string, it is necessary to + define it as "0.0.0.0". +********************************************************************/ + +const char *lp_socket_address(void) +{ + char *sock_addr = Globals.szSocketAddress; + + if (sock_addr[0] == '\0'){ + string_set(&Globals.szSocketAddress, "0.0.0.0"); + } + return Globals.szSocketAddress; +} diff -uNrp samba-3.2.4.org/source/smbd/server.c samba-3.2.4.new/source/smbd/server.c --- samba-3.2.4.org/source/smbd/server.c 2008-09-18 15:49:02.000000000 +0900 +++ samba-3.2.4.new/source/smbd/server.c 2008-12-06 01:20:18.000000000 +0900 @@ -465,9 +465,8 @@ static bool open_sockets_smbd(bool is_da char *sock_tok; const char *sock_ptr; - if (sock_addr[0] == '\0' || - strequal(sock_addr, "0.0.0.0") || - strequal(sock_addr, "::")) { + if (strequal(sock_addr, "0.0.0.0") || + strequal(sock_addr, "::")) { #if HAVE_IPV6 sock_addr = "::,0.0.0.0"; #else