Skip to content

Commit e60c7d4

Browse files
addresses openziti/ziti#3008 UPDB enrolls panic on older controllers (#719)
- older controllers do not parot back the result username, which can be set by administrators and the enrolling client has no idea what the value is
1 parent f8f1ecd commit e60c7d4

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

ziti/enroll/enroll.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,11 @@ func Enroll(enFlags EnrollmentFlags) (*ziti.Config, error) {
241241
enrollErr = enrollCAAuto(enFlags, cfg, caPool)
242242
case "updb":
243243
resultUsername, enrollErr = enrollUpdb(enFlags.Username, enFlags.Password, enFlags.Token, caPool)
244+
245+
//v1.5.0 and earlier controllers do not confirm the username in their response (e.g. if set by admin and an override isn't provided)
246+
if resultUsername == "" {
247+
resultUsername = enFlags.Username
248+
}
244249
default:
245250
enrollErr = errors.Errorf("enrollment method '%s' is not supported", enFlags.Token.EnrollmentMethod)
246251
}
@@ -325,7 +330,7 @@ func enrollUpdb(username, password string, token *ziti.EnrollmentClaims, caPool
325330
if resp.StatusCode == http.StatusOK {
326331
respBody, _ := io.ReadAll(resp.Body)
327332
if respContainer, err := gabs.ParseJSON(respBody); err == nil {
328-
username = respContainer.Path("data.username").Data().(string)
333+
username, _ = respContainer.Path("data.username").Data().(string)
329334
}
330335
return username, nil
331336
}

0 commit comments

Comments
 (0)