Fix case where we have no dns domain name. Return a talloc of "".
authorJeremy Allison <jra@samba.org>
Fri, 9 Nov 2007 01:58:55 +0000 (17:58 -0800)
committerJeremy Allison <jra@samba.org>
Fri, 9 Nov 2007 01:58:55 +0000 (17:58 -0800)
Jeremy.
(This used to be commit ab8934844a8ae08657769ce1787c32f14a7eb745)

source3/lib/util.c
source3/printing/nt_printing.c
source3/rpc_server/srv_lsa_nt.c

index 6e92a60238a3235d0c5e9ed6f08a7363331978aa..287d2090ffc1e3a19c68b13ad9b4355ef9a99e62 100644 (file)
@@ -1227,6 +1227,8 @@ char *get_mydnsdomname(TALLOC_CTX *ctx)
        if (p) {
                p++;
                my_domname = talloc_strdup(ctx, p);
+       } else {
+               my_domname = talloc_strdup(ctx, "");
        }
 
        return my_domname;
index 57e7d37c6e9c9df995e91076c1c36b6a09eff38a..e729c3b46d9e587be4113be8900d413f5b4b52ff 100644 (file)
@@ -2953,7 +2953,7 @@ static bool map_nt_printer_info2_to_dsspooler(NT_PRINTER_INFO_LEVEL_2 *info2)
           join the domain */
 
        dnssuffix = get_mydnsdomname(talloc_tos());
-       if (!dnssuffix) {
+       if (dnssuffix && *dnssuffix) {
                fstr_sprintf( longname, "%s.%s", global_myname(), dnssuffix );
        } else {
                fstrcpy( longname, global_myname() );
index 5c2e1b6f01304a93b00e405a9acb6cfbae6b07a2..20655082a519745388a5e3ee7f6254a81b41c289 100644 (file)
@@ -1928,7 +1928,7 @@ NTSTATUS _lsa_query_info2(pipes_struct *p, LSA_Q_QUERY_INFO2 *q_u, LSA_R_QUERY_I
 
                                /* This should be a 'netbios domain -> DNS domain' mapping */
                                dnsdomname = get_mydnsdomname(p->mem_ctx);
-                               if (!dnsdomname) {
+                               if (!dnsdomname || !*dnsdomname) {
                                        return NT_STATUS_CANT_ACCESS_DOMAIN_INFO;
                                }
                                strlower_m(dnsdomname);