2020#include "cifsproto.h"
2121#include "cifs_debug.h"
2222
23- static int resolve_name (const char * name , size_t namelen ,
24- struct sockaddr * addr , time64_t * expiry )
23+ static int resolve_name (const char * name , size_t namelen , struct sockaddr * addr )
2524{
2625 char * ip ;
2726 int rc ;
2827
2928 rc = dns_query (current -> nsproxy -> net_ns , NULL , name ,
30- namelen , NULL , & ip , expiry , false);
29+ namelen , NULL , & ip , NULL , false);
3130 if (rc < 0 ) {
3231 cifs_dbg (FYI , "%s: unable to resolve: %*.*s\n" ,
3332 __func__ , (int )namelen , (int )namelen , name );
3433 } else {
35- cifs_dbg (FYI , "%s: resolved: %*.*s to %s expiry %llu\n" ,
36- __func__ , (int )namelen , (int )namelen , name , ip ,
37- expiry ? (* expiry ) : 0 );
34+ cifs_dbg (FYI , "%s: resolved: %*.*s to %s\n" ,
35+ __func__ , (int )namelen , (int )namelen , name , ip );
3836
3937 rc = cifs_convert_address (addr , ip , strlen (ip ));
4038 kfree (ip );
@@ -50,31 +48,23 @@ static int resolve_name(const char *name, size_t namelen,
5048}
5149
5250/**
53- * dns_resolve_server_name_to_ip - Resolve UNC server name to ip address.
54- * @dom: optional DNS domain name
55- * @unc: UNC path specifying the server (with '/' as delimiter)
56- * @ip_addr: Where to return the IP address.
57- * @expiry : Where to return the expiry time for the dns record.
51+ * dns_resolve_name - Perform an upcall to resolve hostname to an ip address.
52+ * @dom: DNS domain name (or NULL)
53+ * @name: Name to look up
54+ * @namelen: Length of name
55+ * @ip_addr : Where to return the IP address
5856 *
59- * Returns zero success, -ve on error .
57+ * Returns zero on success, -ve code otherwise .
6058 */
61- int dns_resolve_server_name_to_ip (const char * dom , const char * unc ,
62- struct sockaddr * ip_addr , time64_t * expiry )
59+ int dns_resolve_name (const char * dom , const char * name ,
60+ size_t namelen , struct sockaddr * ip_addr )
6361{
64- const char * name ;
65- size_t namelen , len ;
62+ size_t len ;
6663 char * s ;
6764 int rc ;
6865
69- if (!ip_addr || !unc )
70- return - EINVAL ;
71-
72- cifs_dbg (FYI , "%s: dom=%s unc=%s\n" , __func__ , dom , unc );
73- if (strlen (unc ) < 3 )
74- return - EINVAL ;
75-
76- extract_unc_hostname (unc , & name , & namelen );
77- if (!namelen )
66+ cifs_dbg (FYI , "%s: dom=%s name=%.*s\n" , __func__ , dom , (int )namelen , name );
67+ if (!ip_addr || !name || !* name || !namelen )
7868 return - EINVAL ;
7969
8070 cifs_dbg (FYI , "%s: hostname=%.*s\n" , __func__ , (int )namelen , name );
@@ -97,10 +87,10 @@ int dns_resolve_server_name_to_ip(const char *dom, const char *unc,
9787 return - ENOMEM ;
9888
9989 scnprintf (s , len , "%.*s.%s" , (int )namelen , name , dom );
100- rc = resolve_name (s , len - 1 , ip_addr , expiry );
90+ rc = resolve_name (s , len - 1 , ip_addr );
10191 kfree (s );
10292 if (!rc )
10393 return 0 ;
10494 }
105- return resolve_name (name , namelen , ip_addr , expiry );
95+ return resolve_name (name , namelen , ip_addr );
10696}
0 commit comments