Restore 3.0 behaviour with empty /etc/hosts
authorVolker Lendecke <vl@samba.org>
Fri, 29 Feb 2008 21:38:10 +0000 (22:38 +0100)
committerVolker Lendecke <vl@samba.org>
Fri, 29 Feb 2008 21:39:45 +0000 (22:39 +0100)
Jeremy, in 3.0 we allowed get_mydnsdomname and get_mydnsfullname to fail
without filling in anything useful. Worked fine. Without this patch and a empty
/etc/hosts and no DNS configured, session setup would return
NT_STATUS_BAD_NETWORK_NAME. This is confusing at best, BAD_NETWORK_NAME afaik
is only ever returned from tcon normally.

This restores the 3.0 behaviour.

Comments?

Volker

source/libsmb/ntlmssp.c

index 8355669d9fe3750f6bf28107869934366e00a50d..7082ea7e4e782d392748e350ee31141cf247f706 100644 (file)
@@ -566,13 +566,16 @@ static NTSTATUS ntlmssp_server_negotiate(struct ntlmssp_state *ntlmssp_state,
        /* This should be a 'netbios domain -> DNS domain' mapping */
        dnsdomname = get_mydnsdomname(ntlmssp_state->mem_ctx);
        if (!dnsdomname) {
-               return NT_STATUS_BAD_NETWORK_NAME;
+               dnsdomname = talloc_strdup(ntlmssp_state->mem_ctx, "");
+       }
+       if (!dnsdomname) {
+               return NT_STATUS_NO_MEMORY;
        }
        strlower_m(dnsdomname);
 
        dnsname = get_mydnsfullname();
        if (!dnsname) {
-               return NT_STATUS_INVALID_COMPUTER_NAME;
+               dnsname = "";
        }
 
        /* This creates the 'blob' of names that appears at the end of the packet */