Prevent User.Timezone field to overflow DB column capacity (#17220)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
58069ff7dc
Коммит
28df047d92
@@ -56,6 +56,7 @@ const (
|
||||
USER_NAME_MIN_LENGTH = 1
|
||||
USER_PASSWORD_MAX_LENGTH = 72
|
||||
USER_LOCALE_MAX_LENGTH = 5
|
||||
USER_TIMEZONE_MAX_RUNES = 256
|
||||
)
|
||||
|
||||
//msgp:tuple User
|
||||
@@ -312,6 +313,14 @@ func (u *User) IsValid() *AppError {
|
||||
return InvalidUserError("locale", u.Id)
|
||||
}
|
||||
|
||||
if len(u.Timezone) > 0 {
|
||||
if tzJSON, err := json.Marshal(u.Timezone); err != nil {
|
||||
return NewAppError("User.IsValid", "model.user.is_valid.marshal.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
} else if utf8.RuneCount(tzJSON) > USER_TIMEZONE_MAX_RUNES {
|
||||
return InvalidUserError("timezone_limit", u.Id)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user