Skip to content

Commit 489d152

Browse files
Paulo Alcantarasmfrench
authored andcommitted
smb: client: parse DNS domain name from domain= option
If the user specified a DNS domain name in domain= mount option, then use it instead of parsing it in NTLMSSP CHALLENGE_MESSAGE message. Signed-off-by: Paulo Alcantara (Red Hat) <[email protected]> Signed-off-by: Steve French <[email protected]>
1 parent ad46faf commit 489d152

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

fs/smb/client/connect.c

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2279,12 +2279,13 @@ cifs_set_cifscreds(struct smb3_fs_context *ctx __attribute__((unused)),
22792279
struct cifs_ses *
22802280
cifs_get_smb_ses(struct TCP_Server_Info *server, struct smb3_fs_context *ctx)
22812281
{
2282-
int rc = 0;
2283-
int retries = 0;
2284-
unsigned int xid;
2285-
struct cifs_ses *ses;
2286-
struct sockaddr_in *addr = (struct sockaddr_in *)&server->dstaddr;
22872282
struct sockaddr_in6 *addr6 = (struct sockaddr_in6 *)&server->dstaddr;
2283+
struct sockaddr_in *addr = (struct sockaddr_in *)&server->dstaddr;
2284+
struct cifs_ses *ses;
2285+
unsigned int xid;
2286+
int retries = 0;
2287+
size_t len;
2288+
int rc = 0;
22882289

22892290
xid = get_xid();
22902291

@@ -2374,6 +2375,14 @@ cifs_get_smb_ses(struct TCP_Server_Info *server, struct smb3_fs_context *ctx)
23742375
ses->domainName = kstrdup(ctx->domainname, GFP_KERNEL);
23752376
if (!ses->domainName)
23762377
goto get_ses_fail;
2378+
2379+
len = strnlen(ctx->domainname, CIFS_MAX_DOMAINNAME_LEN);
2380+
if (!cifs_netbios_name(ctx->domainname, len)) {
2381+
ses->dns_dom = kstrndup(ctx->domainname,
2382+
len, GFP_KERNEL);
2383+
if (!ses->dns_dom)
2384+
goto get_ses_fail;
2385+
}
23772386
}
23782387

23792388
strscpy(ses->workstation_name, ctx->workstation_name, sizeof(ses->workstation_name));

0 commit comments

Comments
 (0)