Skip to content

Commit 80518da

Browse files
authored
Merge pull request #457 from andyzhangx/guest-login
feat: support guest login option
2 parents f5f87ee + 0850f66 commit 80518da

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

pkg/smb/nodeserver.go

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -160,21 +160,34 @@ func (d *Driver) NodeStageVolume(ctx context.Context, req *csi.NodeStageVolumeRe
160160
}
161161
}
162162

163+
requireUsernamePwdOption := true
164+
for _, v := range mountFlags {
165+
if v == "guest" {
166+
// in guest login, username and password options are not needed
167+
requireUsernamePwdOption = false
168+
break
169+
}
170+
}
171+
163172
var mountOptions, sensitiveMountOptions []string
164173
if runtime.GOOS == "windows" {
165174
if domain == "" {
166175
domain = defaultDomainName
167176
}
168-
if !strings.Contains(username, "\\") {
169-
username = fmt.Sprintf("%s\\%s", domain, username)
177+
if requireUsernamePwdOption {
178+
if !strings.Contains(username, "\\") {
179+
username = fmt.Sprintf("%s\\%s", domain, username)
180+
}
181+
mountOptions = []string{username}
182+
sensitiveMountOptions = []string{password}
170183
}
171-
mountOptions = []string{username}
172-
sensitiveMountOptions = []string{password}
173184
} else {
174185
if err := os.MkdirAll(targetPath, 0750); err != nil {
175186
return nil, status.Error(codes.Internal, fmt.Sprintf("MkdirAll %s failed with error: %v", targetPath, err))
176187
}
177-
sensitiveMountOptions = []string{fmt.Sprintf("%s=%s,%s=%s", usernameField, username, passwordField, password)}
188+
if requireUsernamePwdOption {
189+
sensitiveMountOptions = []string{fmt.Sprintf("%s=%s,%s=%s", usernameField, username, passwordField, password)}
190+
}
178191
mountOptions = mountFlags
179192
if !gidPresent && volumeMountGroup != "" {
180193
mountOptions = append(mountOptions, fmt.Sprintf("gid=%s", volumeMountGroup))

0 commit comments

Comments
 (0)