diff options
-rw-r--r-- | source4/nbt_server/wins/winswack.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source4/nbt_server/wins/winswack.c b/source4/nbt_server/wins/winswack.c index 793c0a3d8f..40a4d7d76a 100644 --- a/source4/nbt_server/wins/winswack.c +++ b/source4/nbt_server/wins/winswack.c @@ -81,6 +81,11 @@ static void wins_wack_allow(struct wack_state *state) rec->expire_time); if (rec->addresses == NULL) goto failed; + /* if we have more than one address, this becomes implicit a MHOMED record */ + if (winsdb_addr_list_length(rec->addresses) > 1) { + rec->type = WREPL_TYPE_MHOMED; + } + winsdb_modify(state->winssrv->wins_db, rec, WINSDB_FLAG_ALLOC_VERSION | WINSDB_FLAG_TAKE_OWNERSHIP); DEBUG(4,("WINS: accepted registration of %s with address %s\n", |