Fix up name canonicalization (needed for krb5 keytab support later).
authorJeremy Allison <jra@samba.org>
Fri, 30 Jan 2004 18:38:46 +0000 (18:38 +0000)
committerJeremy Allison <jra@samba.org>
Fri, 30 Jan 2004 18:38:46 +0000 (18:38 +0000)
Remove source_env handler (no longer used in any codepath).
Jeremy.
(This used to be commit be60768e64ae2061f220faa3943dcb0588393dbc)

source3/lib/util.c
source3/libsmb/ntlmssp.c
source3/nmbd/nmbd_processlogon.c
source3/param/loadparm.c
source3/printing/nt_printing.c
source3/rpc_server/srv_lsa_ds_nt.c
source3/rpc_server/srv_lsa_nt.c
source3/rpc_server/srv_spoolss_nt.c

index 4f4e0eb5d7b54c7c2fb43a8eddcc1dfa22db74ce..3da4e536e02fb0fb38458129b7f0b451dd8d5003 100644 (file)
@@ -932,26 +932,33 @@ BOOL get_myname(char *my_name)
 }
 
 /****************************************************************************
- Get my own name, including domain.
+ Get my own canonical name, including domain.
 ****************************************************************************/
 
-BOOL get_myfullname(char *my_name)
+BOOL get_mydnsfullname(fstring my_dnsname)
 {
-       pstring hostname;
+       static fstring dnshostname;
+       struct hostent *hp;
 
-       *hostname = 0;
+       if (!*dnshostname) {
+               /* get my host name */
+               if (gethostname(dnshostname, sizeof(dnshostname)) == -1) {
+                       *dnshostname = '\0';
+                       DEBUG(0,("gethostname failed\n"));
+                       return False;
+               } 
 
-       /* get my host name */
-       if (gethostname(hostname, sizeof(hostname)) == -1) {
-               DEBUG(0,("gethostname failed\n"));
-               return False;
-       } 
+               /* Ensure null termination. */
+               dnshostname[sizeof(dnshostname)-1] = '\0';
 
-       /* Ensure null termination. */
-       hostname[sizeof(hostname)-1] = '\0';
-
-       if (my_name)
-               fstrcpy(my_name, hostname);
+               /* Ensure we get the cannonical name. */
+               if (!(hp = sys_gethostbyname(dnshostname))) {
+                       *dnshostname = '\0';
+                       return False;
+               }
+               fstrcpy(dnshostname, hp->h_name);
+       }
+       fstrcpy(my_dnsname, dnshostname);
        return True;
 }
 
@@ -959,44 +966,19 @@ BOOL get_myfullname(char *my_name)
  Get my own domain name.
 ****************************************************************************/
 
-BOOL get_mydomname(fstring my_domname)
+BOOL get_mydnsdomname(fstring my_domname)
 {
-       pstring hostname;
+       fstring domname;
        char *p;
-       struct hostent *hp;
 
-       *hostname = 0;
-       /* get my host name */
-       if (gethostname(hostname, sizeof(hostname)) == -1) {
-               DEBUG(0,("gethostname failed\n"));
-               return False;
-       } 
-
-       /* Ensure null termination. */
-       hostname[sizeof(hostname)-1] = '\0';
-
-               
-       p = strchr_m(hostname, '.');
-
-       if (p) {
-               p++;
-               
-               if (my_domname)
-                       fstrcpy(my_domname, p);
-       }
-
-       if (!(hp = sys_gethostbyname(hostname))) {
+       *my_domname = '\0';
+       if (!get_mydnsfullname(domname)) {
                return False;
-       }
-       
-       p = strchr_m(hp->h_name, '.');
-
+       }       
+       p = strchr_m(domname, '.');
        if (p) {
                p++;
-               
-               if (my_domname)
-                       fstrcpy(my_domname, p);
-               return True;
+               fstrcpy(my_domname, p);
        }
 
        return False;
index a80b4b66b0e8b74e77a20f1bec4d77cbecda15da..60523ddf9d08034ba8e54681affcb7c7647a5a20 100644 (file)
@@ -433,12 +433,11 @@ static NTSTATUS ntlmssp_server_negotiate(struct ntlmssp_state *ntlmssp_state,
 
        /* This should be a 'netbios domain -> DNS domain' mapping */
        dnsdomname[0] = '\0';
-       get_mydomname(dnsdomname);
+       get_mydnsdomname(dnsdomname);
        strlower_m(dnsdomname);
        
        dnsname[0] = '\0';
-       get_myfullname(dnsname);
-       strlower_m(dnsname);
+       get_mydnsfullname(dnsname);
        
        /* This creates the 'blob' of names that appears at the end of the packet */
        if (chal_flags & NTLMSSP_CHAL_TARGET_INFO) 
index 6b806f2a05cb50204eb07ac424e309bcd90f06f7..13aefabd26f81e05962cb48e6b7740c84454b9c0 100644 (file)
@@ -322,7 +322,7 @@ reporting %s domain %s 0x%x ntversion=%x lm_nt token=%x lm_20 token=%x\n",
                                        char *q_orig = q;
                                        int str_offset;
 
-                                       get_mydomname(domain);
+                                       get_mydnsdomname(domain);
                                        get_myname(hostname);
        
                                        if (SVAL(uniuser, 0) == 0) {
index 4b6c51045e940580edbd85d815a7c5a4c3d3ac97..1fa3efabf8e219ebe6d1aede3302926379f2d68b 100644 (file)
@@ -556,7 +556,6 @@ static int default_server_announce;
 /* prototypes for the special type handlers */
 static BOOL handle_include(const char *pszParmValue, char **ptr);
 static BOOL handle_copy(const char *pszParmValue, char **ptr);
-static BOOL handle_source_env(const char *pszParmValue, char **ptr);
 static BOOL handle_netbios_name(const char *pszParmValue, char **ptr);
 static BOOL handle_idmap_uid(const char *pszParmValue, char **ptr);
 static BOOL handle_idmap_gid(const char *pszParmValue, char **ptr);
@@ -2803,6 +2802,8 @@ static BOOL source_env(char **lines)
        return (True);
 }
 
+#if 0
+/* Doesn't seem to be used anymore. JRA */
 /***************************************************************************
  Handle the source environment operation.
 ***************************************************************************/
@@ -2842,6 +2843,7 @@ static BOOL handle_source_env(const char *pszParmValue, char **ptr)
 
        return (result);
 }
+#endif
 
 /***************************************************************************
  Handle the include operation.
index 34274d183183424dbf85920b6b5a2038ddd316ef..8aa02b57b6208ed2b8bdcddf1237f3af00819921 100644 (file)
@@ -2537,7 +2537,7 @@ static BOOL map_nt_printer_info2_to_dsspooler(NT_PRINTER_INFO_LEVEL_2 *info2)
        map_sz_into_ctr(ctr, SPOOL_REG_PRINTERNAME, info2->sharename);
        map_sz_into_ctr(ctr, SPOOL_REG_SHORTSERVERNAME, global_myname());
 
-       get_myfullname(longname);
+       get_mydnsfullname(longname);
        map_sz_into_ctr(ctr, SPOOL_REG_SERVERNAME, longname);
 
        asprintf(&allocated_string, "\\\\%s\\%s", longname, info2->sharename);
index 97e9dc361d99c3e035fea44bc6c18c80b261290c..f6e8eed9a97e48d5c078f94d3f0e04c7fffd465e 100644 (file)
@@ -58,7 +58,7 @@ static NTSTATUS fill_dsrole_dominfo_basic(TALLOC_CTX *ctx, DSROLE_PRIMARY_DOMAIN
                        basic->flags = DSROLE_PRIMARY_DS_RUNNING|DSROLE_PRIMARY_DS_MIXED_MODE;
                        if ( secrets_fetch_domain_guid( lp_workgroup(), &basic->domain_guid ) )
                                basic->flags |= DSROLE_PRIMARY_DOMAIN_GUID_PRESENT;
-                       get_mydomname(dnsdomain);
+                       get_mydnsdomname(dnsdomain);
                        strlower_m(dnsdomain);
                        break;
                case ROLE_DOMAIN_PDC:
@@ -66,7 +66,7 @@ static NTSTATUS fill_dsrole_dominfo_basic(TALLOC_CTX *ctx, DSROLE_PRIMARY_DOMAIN
                        basic->flags = DSROLE_PRIMARY_DS_RUNNING|DSROLE_PRIMARY_DS_MIXED_MODE;
                        if ( secrets_fetch_domain_guid( lp_workgroup(), &basic->domain_guid ) )
                                basic->flags |= DSROLE_PRIMARY_DOMAIN_GUID_PRESENT;
-                       get_mydomname(dnsdomain);
+                       get_mydnsdomname(dnsdomain);
                        strlower_m(dnsdomain);
                        break;
        }
index 01a31dcfe5bb5a53a9d62d2e4600d82d53e350d4..4a3f6ddbf1e81d58f5b9c49b2a4a56ebf51643a3 100644 (file)
@@ -1250,7 +1250,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[0] = '\0';
-                               get_mydomname(dnsdomname);
+                               get_mydnsdomname(dnsdomname);
                                strlower_m(dnsdomname);
                                
                                dns_name = dnsdomname;
index ad8f5af432c466dc2748caf3bacb678adc311d7c..b5f5bffbb4be75aaa7ef5ccb1d3ee5f9b8e0b63a 100644 (file)
@@ -2431,7 +2431,7 @@ static WERROR getprinterdata_printer_server(TALLOC_CTX *ctx, fstring value, uint
        if (!StrCaseCmp(value, "DNSMachineName")) {                     
                pstring hostname;
                
-               if (!get_myfullname(hostname))
+               if (!get_mydnsfullname(hostname))
                        return WERR_BADFILE;
                *type = 0x1;                    
                *needed = 2*(strlen(hostname)+1);