mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-12-26 04:02:12 +00:00
[chore] Upgrade golangci-lint, ignore existing int overflow warnings
There is a new lint for unchecked int casts. Integer overflows are bad, but the old code that triggers this lint seems to be perfectly fine. Instead of disabling the lint entirely for new code as well, grandfather in existing code.
This commit is contained in:
parent
95a316236e
commit
275a3f8636
|
@ -12,7 +12,7 @@ steps:
|
|||
# We use golangci-lint for linting.
|
||||
# See: https://golangci-lint.run/
|
||||
- name: lint
|
||||
image: golangci/golangci-lint:v1.57.2
|
||||
image: golangci/golangci-lint:v1.61.0
|
||||
volumes:
|
||||
- name: go-build-cache
|
||||
path: /root/.cache/go-build
|
||||
|
|
|
@ -146,7 +146,7 @@ func validateCreateEmoji(form *apimodel.EmojiCreateRequest) error {
|
|||
}
|
||||
|
||||
maxSize := config.GetMediaEmojiLocalMaxSize()
|
||||
if form.Image.Size > int64(maxSize) {
|
||||
if form.Image.Size > int64(maxSize) { //nolint:gosec
|
||||
return fmt.Errorf("emoji image too large: image is %dKB but size limit for custom emojis is %dKB", form.Image.Size/1024, maxSize/1024)
|
||||
}
|
||||
|
||||
|
|
|
@ -209,7 +209,7 @@ func validateUpdateEmoji(form *apimodel.EmojiUpdateRequest) error {
|
|||
|
||||
if hasImage {
|
||||
maxSize := config.GetMediaEmojiLocalMaxSize()
|
||||
if form.Image.Size > int64(maxSize) {
|
||||
if form.Image.Size > int64(maxSize) { //nolint:gosec
|
||||
return fmt.Errorf("emoji image too large: image is %dKB but size limit for custom emojis is %dKB", form.Image.Size/1024, maxSize/1024)
|
||||
}
|
||||
}
|
||||
|
|
2
internal/cache/domain/domain.go
vendored
2
internal/cache/domain/domain.go
vendored
|
@ -220,7 +220,7 @@ func (n *node) getChild(part string) *node {
|
|||
|
||||
for i < j {
|
||||
// avoid overflow when computing h
|
||||
h := int(uint(i+j) >> 1)
|
||||
h := int(uint(i+j) >> 1) //nolint:gosec
|
||||
// i ≤ h < j
|
||||
|
||||
if n.child[h].part < part {
|
||||
|
|
|
@ -477,7 +477,7 @@ func deriveBunDBPGOptions() (*pgx.ConnConfig, error) {
|
|||
cfg.Host = address
|
||||
}
|
||||
if port := config.GetDbPort(); port > 0 {
|
||||
cfg.Port = uint16(port)
|
||||
cfg.Port = uint16(port) //nolint:gosec
|
||||
}
|
||||
if u := config.GetDbUser(); u != "" {
|
||||
cfg.User = u
|
||||
|
|
|
@ -101,7 +101,7 @@ func() (*media.ProcessingEmoji, error) {
|
|||
|
||||
// Prepare data function to dereference remote emoji media.
|
||||
data := func(context.Context) (io.ReadCloser, error) {
|
||||
return tsport.DereferenceMedia(ctx, url, int64(maxsz))
|
||||
return tsport.DereferenceMedia(ctx, url, int64(maxsz)) //nolint:gosec
|
||||
}
|
||||
|
||||
// Create new emoji with prepared info.
|
||||
|
@ -193,7 +193,7 @@ func() (*media.ProcessingEmoji, error) {
|
|||
|
||||
// Prepare data function to dereference remote emoji media.
|
||||
data := func(context.Context) (io.ReadCloser, error) {
|
||||
return tsport.DereferenceMedia(ctx, url, int64(maxsz))
|
||||
return tsport.DereferenceMedia(ctx, url, int64(maxsz)) //nolint:gosec
|
||||
}
|
||||
|
||||
// Update emoji with prepared info.
|
||||
|
@ -259,7 +259,7 @@ func() (*media.ProcessingEmoji, error) {
|
|||
|
||||
// Prepare data function to dereference remote emoji media.
|
||||
data := func(context.Context) (io.ReadCloser, error) {
|
||||
return tsport.DereferenceMedia(ctx, url, int64(maxsz))
|
||||
return tsport.DereferenceMedia(ctx, url, int64(maxsz)) //nolint:gosec
|
||||
}
|
||||
|
||||
// Recache emoji with prepared info.
|
||||
|
|
|
@ -84,7 +84,7 @@ func() (*media.ProcessingMedia, error) {
|
|||
ctx,
|
||||
accountID,
|
||||
func(ctx context.Context) (io.ReadCloser, error) {
|
||||
return tsport.DereferenceMedia(ctx, url, int64(maxsz))
|
||||
return tsport.DereferenceMedia(ctx, url, int64(maxsz)) //nolint:gosec
|
||||
},
|
||||
info,
|
||||
)
|
||||
|
@ -175,7 +175,7 @@ func() (*media.ProcessingMedia, error) {
|
|||
return d.mediaManager.CacheMedia(
|
||||
attach,
|
||||
func(ctx context.Context) (io.ReadCloser, error) {
|
||||
return tsport.DereferenceMedia(ctx, url, int64(maxsz))
|
||||
return tsport.DereferenceMedia(ctx, url, int64(maxsz)) //nolint:gosec
|
||||
},
|
||||
), nil
|
||||
},
|
||||
|
|
|
@ -340,14 +340,14 @@ func (c *Client) do(r *Request) (rsp *http.Response, retry bool, err error) {
|
|||
|
||||
if u, _ := strconv.ParseUint(after, 10, 32); u != 0 {
|
||||
// An integer no. of backoff seconds was provided.
|
||||
r.backoff = time.Duration(u) * time.Second
|
||||
r.backoff = time.Duration(u) * time.Second //nolint:gosec
|
||||
} else if at, _ := http.ParseTime(after); !at.Before(now) {
|
||||
// An HTTP formatted future date-time was provided.
|
||||
r.backoff = at.Sub(now)
|
||||
}
|
||||
|
||||
// Don't let their provided backoff exceed our max.
|
||||
if max := baseBackoff * time.Duration(c.retries); //
|
||||
if max := baseBackoff * time.Duration(c.retries); //nolint:gosec
|
||||
r.backoff > max {
|
||||
r.backoff = max
|
||||
}
|
||||
|
|
|
@ -399,9 +399,9 @@ func (s *scanner) scan(x1, y1, x2, y2 int, dst []uint8) {
|
|||
g16 := uint16(s[1])
|
||||
b16 := uint16(s[2])
|
||||
a16 := uint16(a)
|
||||
d[0] = uint8(r16 * 0xff / a16)
|
||||
d[1] = uint8(g16 * 0xff / a16)
|
||||
d[2] = uint8(b16 * 0xff / a16)
|
||||
d[0] = uint8(r16 * 0xff / a16) //nolint:gosec
|
||||
d[1] = uint8(g16 * 0xff / a16) //nolint:gosec
|
||||
d[2] = uint8(b16 * 0xff / a16) //nolint:gosec
|
||||
d[3] = a
|
||||
}
|
||||
j += 4
|
||||
|
@ -431,9 +431,9 @@ func (s *scanner) scan(x1, y1, x2, y2 int, dst []uint8) {
|
|||
g32 := uint32(s[2])<<8 | uint32(s[3])
|
||||
b32 := uint32(s[4])<<8 | uint32(s[5])
|
||||
a32 := uint32(s[6])<<8 | uint32(s[7])
|
||||
d[0] = uint8((r32 * 0xffff / a32) >> 8)
|
||||
d[1] = uint8((g32 * 0xffff / a32) >> 8)
|
||||
d[2] = uint8((b32 * 0xffff / a32) >> 8)
|
||||
d[0] = uint8((r32 * 0xffff / a32) >> 8) //nolint:gosec
|
||||
d[1] = uint8((g32 * 0xffff / a32) >> 8) //nolint:gosec
|
||||
d[2] = uint8((b32 * 0xffff / a32) >> 8) //nolint:gosec
|
||||
}
|
||||
d[3] = a
|
||||
j += 4
|
||||
|
@ -509,30 +509,30 @@ func (s *scanner) scan(x1, y1, x2, y2 int, dst []uint8) {
|
|||
cr1 := int32(img.Cr[ic]) - 128
|
||||
|
||||
r := yy1 + 91881*cr1
|
||||
if uint32(r)&0xff000000 == 0 {
|
||||
if uint32(r)&0xff000000 == 0 { //nolint:gosec
|
||||
r >>= 16
|
||||
} else {
|
||||
r = ^(r >> 31)
|
||||
}
|
||||
|
||||
g := yy1 - 22554*cb1 - 46802*cr1
|
||||
if uint32(g)&0xff000000 == 0 {
|
||||
if uint32(g)&0xff000000 == 0 { //nolint:gosec
|
||||
g >>= 16
|
||||
} else {
|
||||
g = ^(g >> 31)
|
||||
}
|
||||
|
||||
b := yy1 + 116130*cb1
|
||||
if uint32(b)&0xff000000 == 0 {
|
||||
if uint32(b)&0xff000000 == 0 { //nolint:gosec
|
||||
b >>= 16
|
||||
} else {
|
||||
b = ^(b >> 31)
|
||||
}
|
||||
|
||||
d := dst[j : j+4 : j+4]
|
||||
d[0] = uint8(r)
|
||||
d[1] = uint8(g)
|
||||
d[2] = uint8(b)
|
||||
d[0] = uint8(r) //nolint:gosec
|
||||
d[1] = uint8(g) //nolint:gosec
|
||||
d[2] = uint8(b) //nolint:gosec
|
||||
d[3] = 0xff
|
||||
|
||||
iy++
|
||||
|
@ -569,9 +569,9 @@ func (s *scanner) scan(x1, y1, x2, y2 int, dst []uint8) {
|
|||
d := dst[j : j+4 : j+4]
|
||||
switch a16 {
|
||||
case 0xffff:
|
||||
d[0] = uint8(r16 >> 8)
|
||||
d[1] = uint8(g16 >> 8)
|
||||
d[2] = uint8(b16 >> 8)
|
||||
d[0] = uint8(r16 >> 8) //nolint:gosec
|
||||
d[1] = uint8(g16 >> 8) //nolint:gosec
|
||||
d[2] = uint8(b16 >> 8) //nolint:gosec
|
||||
d[3] = 0xff
|
||||
case 0:
|
||||
d[0] = 0
|
||||
|
@ -579,10 +579,10 @@ func (s *scanner) scan(x1, y1, x2, y2 int, dst []uint8) {
|
|||
d[2] = 0
|
||||
d[3] = 0
|
||||
default:
|
||||
d[0] = uint8(((r16 * 0xffff) / a16) >> 8)
|
||||
d[1] = uint8(((g16 * 0xffff) / a16) >> 8)
|
||||
d[2] = uint8(((b16 * 0xffff) / a16) >> 8)
|
||||
d[3] = uint8(a16 >> 8)
|
||||
d[0] = uint8(((r16 * 0xffff) / a16) >> 8) //nolint:gosec
|
||||
d[1] = uint8(((g16 * 0xffff) / a16) >> 8) //nolint:gosec
|
||||
d[2] = uint8(((b16 * 0xffff) / a16) >> 8) //nolint:gosec
|
||||
d[3] = uint8(a16 >> 8) //nolint:gosec
|
||||
}
|
||||
j += 4
|
||||
}
|
||||
|
|
|
@ -112,7 +112,7 @@ func (m *Manager) RefetchEmojis(ctx context.Context, domain string, dereferenceM
|
|||
}
|
||||
|
||||
dataFunc := func(ctx context.Context) (reader io.ReadCloser, err error) {
|
||||
return dereferenceMedia(ctx, emojiImageIRI, int64(maxsz))
|
||||
return dereferenceMedia(ctx, emojiImageIRI, int64(maxsz)) //nolint:gosec
|
||||
}
|
||||
|
||||
processingEmoji, err := m.UpdateEmoji(ctx, emoji, dataFunc, AdditionalEmojiInfo{
|
||||
|
|
|
@ -145,7 +145,7 @@ func drainToTmp(rc io.ReadCloser) (string, error) {
|
|||
// Check to see if limit was reached,
|
||||
// (produces more useful error messages).
|
||||
if lr != nil && lr.N <= 0 {
|
||||
err := fmt.Errorf("reached read limit %s", bytesize.Size(limit))
|
||||
err := fmt.Errorf("reached read limit %s", bytesize.Size(limit)) //nolint:gosec
|
||||
return path, gtserror.SetLimitReached(err)
|
||||
}
|
||||
|
||||
|
|
|
@ -123,7 +123,7 @@ func Logger(logClientIP bool) gin.HandlerFunc {
|
|||
}
|
||||
|
||||
// Generate a nicer looking bytecount
|
||||
size := bytesize.Size(c.Writer.Size())
|
||||
size := bytesize.Size(c.Writer.Size()) //nolint:gosec
|
||||
|
||||
// Finally, write log entry with status text + body size.
|
||||
l.Logf(lvl, "%s: wrote %s", statusText, size)
|
||||
|
|
|
@ -48,7 +48,7 @@ func NewRequestID() string {
|
|||
b := make([]byte, 12)
|
||||
|
||||
// Get current time in milliseconds.
|
||||
ms := uint64(time.Now().UnixMilli())
|
||||
ms := uint64(time.Now().UnixMilli()) //nolint:gosec
|
||||
|
||||
// Store binary time data in byte buffer.
|
||||
binary.LittleEndian.PutUint64(b[0:8], ms)
|
||||
|
|
|
@ -87,7 +87,7 @@ func Throttle(cpuMultiplier int, retryAfter time.Duration) gin.HandlerFunc {
|
|||
queueLimit = limit * cpuMultiplier
|
||||
tokens = make(chan token, limit)
|
||||
requestCount = atomic.Int64{}
|
||||
retryAfterStr = strconv.FormatUint(uint64(retryAfter/time.Second), 10)
|
||||
retryAfterStr = strconv.FormatUint(uint64(retryAfter/time.Second), 10) //nolint:gosec
|
||||
)
|
||||
|
||||
// prefill token channel
|
||||
|
|
|
@ -465,7 +465,7 @@ func (p *Processor) UpdateAvatar(
|
|||
maxsz := config.GetMediaLocalMaxSize()
|
||||
|
||||
// Ensure media within size bounds.
|
||||
if avatar.Size > int64(maxsz) {
|
||||
if avatar.Size > int64(maxsz) { //nolint:gosec
|
||||
text := fmt.Sprintf("media exceeds configured max size: %s", maxsz)
|
||||
return nil, gtserror.NewErrorBadRequest(errors.New(text), text)
|
||||
}
|
||||
|
@ -478,7 +478,7 @@ func (p *Processor) UpdateAvatar(
|
|||
}
|
||||
|
||||
// Wrap the multipart file reader to ensure is limited to max.
|
||||
rc, _, _ := iotools.UpdateReadCloserLimit(mpfile, int64(maxsz))
|
||||
rc, _, _ := iotools.UpdateReadCloserLimit(mpfile, int64(maxsz)) //nolint:gosec
|
||||
|
||||
// Write to instance storage.
|
||||
return p.c.StoreLocalMedia(ctx,
|
||||
|
@ -510,7 +510,7 @@ func (p *Processor) UpdateHeader(
|
|||
maxsz := config.GetMediaLocalMaxSize()
|
||||
|
||||
// Ensure media within size bounds.
|
||||
if header.Size > int64(maxsz) {
|
||||
if header.Size > int64(maxsz) { //nolint:gosec
|
||||
text := fmt.Sprintf("media exceeds configured max size: %s", maxsz)
|
||||
return nil, gtserror.NewErrorBadRequest(errors.New(text), text)
|
||||
}
|
||||
|
@ -523,7 +523,7 @@ func (p *Processor) UpdateHeader(
|
|||
}
|
||||
|
||||
// Wrap the multipart file reader to ensure is limited to max.
|
||||
rc, _, _ := iotools.UpdateReadCloserLimit(mpfile, int64(maxsz))
|
||||
rc, _, _ := iotools.UpdateReadCloserLimit(mpfile, int64(maxsz)) //nolint:gosec
|
||||
|
||||
// Write to instance storage.
|
||||
return p.c.StoreLocalMedia(ctx,
|
||||
|
|
|
@ -48,7 +48,7 @@ func (p *Processor) EmojiCreate(
|
|||
maxsz := config.GetMediaEmojiLocalMaxSize()
|
||||
|
||||
// Ensure media within size bounds.
|
||||
if form.Image.Size > int64(maxsz) {
|
||||
if form.Image.Size > int64(maxsz) { //nolint:gosec
|
||||
text := fmt.Sprintf("emoji exceeds configured max size: %s", maxsz)
|
||||
return nil, gtserror.NewErrorBadRequest(errors.New(text), text)
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ func (p *Processor) EmojiCreate(
|
|||
}
|
||||
|
||||
// Wrap the multipart file reader to ensure is limited to max.
|
||||
rc, _, _ := iotools.UpdateReadCloserLimit(mpfile, int64(maxsz))
|
||||
rc, _, _ := iotools.UpdateReadCloserLimit(mpfile, int64(maxsz)) //nolint:gosec
|
||||
data := func(context.Context) (io.ReadCloser, error) {
|
||||
return rc, nil
|
||||
}
|
||||
|
@ -303,7 +303,7 @@ func (p *Processor) emojiUpdateCopy(
|
|||
maxsz := config.GetMediaEmojiLocalMaxSize()
|
||||
|
||||
// Ensure target emoji image within size bounds.
|
||||
if bytesize.Size(target.ImageFileSize) > maxsz {
|
||||
if bytesize.Size(target.ImageFileSize) > maxsz { //nolint:gosec
|
||||
text := fmt.Sprintf("emoji exceeds configured max size: %s", maxsz)
|
||||
return nil, gtserror.NewErrorBadRequest(errors.New(text), text)
|
||||
}
|
||||
|
@ -444,7 +444,7 @@ func (p *Processor) emojiUpdateModify(
|
|||
maxsz := config.GetMediaEmojiLocalMaxSize()
|
||||
|
||||
// Ensure media within size bounds.
|
||||
if image.Size > int64(maxsz) {
|
||||
if image.Size > int64(maxsz) { //nolint:gosec
|
||||
text := fmt.Sprintf("emoji exceeds configured max size: %s", maxsz)
|
||||
return nil, gtserror.NewErrorBadRequest(errors.New(text), text)
|
||||
}
|
||||
|
@ -457,7 +457,7 @@ func (p *Processor) emojiUpdateModify(
|
|||
}
|
||||
|
||||
// Wrap the multipart file reader to ensure is limited to max.
|
||||
rc, _, _ := iotools.UpdateReadCloserLimit(mpfile, int64(maxsz))
|
||||
rc, _, _ := iotools.UpdateReadCloserLimit(mpfile, int64(maxsz)) //nolint:gosec
|
||||
data := func(context.Context) (io.ReadCloser, error) {
|
||||
return rc, nil
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ func (p *Processor) Create(ctx context.Context, account *gtsmodel.Account, form
|
|||
maxsz := config.GetMediaLocalMaxSize()
|
||||
|
||||
// Ensure media within size bounds.
|
||||
if form.File.Size > int64(maxsz) {
|
||||
if form.File.Size > int64(maxsz) { //nolint:gosec
|
||||
text := fmt.Sprintf("media exceeds configured max size: %s", maxsz)
|
||||
return nil, gtserror.NewErrorBadRequest(errors.New(text), text)
|
||||
}
|
||||
|
@ -58,7 +58,7 @@ func (p *Processor) Create(ctx context.Context, account *gtsmodel.Account, form
|
|||
}
|
||||
|
||||
// Wrap the multipart file reader to ensure is limited to max.
|
||||
rc, _, _ := iotools.UpdateReadCloserLimit(mpfile, int64(maxsz))
|
||||
rc, _, _ := iotools.UpdateReadCloserLimit(mpfile, int64(maxsz)) //nolint:gosec
|
||||
|
||||
// Create local media and write to instance storage.
|
||||
attachment, errWithCode := p.c.StoreLocalMedia(ctx,
|
||||
|
|
|
@ -53,7 +53,7 @@ func (t *transport) DereferenceMedia(ctx context.Context, iri *url.URL, maxsz in
|
|||
// Check media within size limit.
|
||||
if rsp.ContentLength > maxsz {
|
||||
_ = rsp.Body.Close() // close early.
|
||||
sz := bytesize.Size(maxsz) // nicer log format
|
||||
sz := bytesize.Size(maxsz) //nolint:gosec
|
||||
return nil, gtserror.Newf("media body exceeds max size %s", sz)
|
||||
}
|
||||
|
||||
|
|
|
@ -647,7 +647,7 @@ func (c *Converter) AttachmentToAPIAttachment(ctx context.Context, media *gtsmod
|
|||
Size: toAPISize(media.FileMeta.Original.Width, media.FileMeta.Original.Height),
|
||||
FrameRate: toAPIFrameRate(media.FileMeta.Original.Framerate),
|
||||
Duration: util.PtrOrZero(media.FileMeta.Original.Duration),
|
||||
Bitrate: int(util.PtrOrZero(media.FileMeta.Original.Bitrate)),
|
||||
Bitrate: int(util.PtrOrZero(media.FileMeta.Original.Bitrate)), //nolint:gosec
|
||||
}
|
||||
|
||||
// Copy over local file URL.
|
||||
|
@ -1529,9 +1529,9 @@ func (c *Converter) InstanceToAPIV1Instance(ctx context.Context, i *gtsmodel.Ins
|
|||
Version: config.GetSoftwareVersion(),
|
||||
Languages: config.GetInstanceLanguages().TagStrs(),
|
||||
Registrations: config.GetAccountsRegistrationOpen(),
|
||||
ApprovalRequired: true, // approval always required
|
||||
InvitesEnabled: false, // todo: not supported yet
|
||||
MaxTootChars: uint(config.GetStatusesMaxChars()),
|
||||
ApprovalRequired: true, // approval always required
|
||||
InvitesEnabled: false, // todo: not supported yet
|
||||
MaxTootChars: uint(config.GetStatusesMaxChars()), //nolint:gosec
|
||||
Rules: c.InstanceRulesToAPIRules(i.Rules),
|
||||
Terms: i.Terms,
|
||||
TermsRaw: i.TermsText,
|
||||
|
@ -1551,9 +1551,9 @@ func (c *Converter) InstanceToAPIV1Instance(ctx context.Context, i *gtsmodel.Ins
|
|||
instance.Configuration.Statuses.CharactersReservedPerURL = instanceStatusesCharactersReservedPerURL
|
||||
instance.Configuration.Statuses.SupportedMimeTypes = instanceStatusesSupportedMimeTypes
|
||||
instance.Configuration.MediaAttachments.SupportedMimeTypes = media.SupportedMIMETypes
|
||||
instance.Configuration.MediaAttachments.ImageSizeLimit = int(config.GetMediaRemoteMaxSize())
|
||||
instance.Configuration.MediaAttachments.ImageSizeLimit = int(config.GetMediaRemoteMaxSize()) //nolint:gosec
|
||||
instance.Configuration.MediaAttachments.ImageMatrixLimit = instanceMediaAttachmentsImageMatrixLimit
|
||||
instance.Configuration.MediaAttachments.VideoSizeLimit = int(config.GetMediaRemoteMaxSize())
|
||||
instance.Configuration.MediaAttachments.VideoSizeLimit = int(config.GetMediaRemoteMaxSize()) //nolint:gosec
|
||||
instance.Configuration.MediaAttachments.VideoFrameRateLimit = instanceMediaAttachmentsVideoFrameRateLimit
|
||||
instance.Configuration.MediaAttachments.VideoMatrixLimit = instanceMediaAttachmentsVideoMatrixLimit
|
||||
instance.Configuration.Polls.MaxOptions = config.GetStatusesPollMaxOptions()
|
||||
|
@ -1563,7 +1563,7 @@ func (c *Converter) InstanceToAPIV1Instance(ctx context.Context, i *gtsmodel.Ins
|
|||
instance.Configuration.Accounts.AllowCustomCSS = config.GetAccountsAllowCustomCSS()
|
||||
instance.Configuration.Accounts.MaxFeaturedTags = instanceAccountsMaxFeaturedTags
|
||||
instance.Configuration.Accounts.MaxProfileFields = instanceAccountsMaxProfileFields
|
||||
instance.Configuration.Emojis.EmojiSizeLimit = int(config.GetMediaEmojiLocalMaxSize())
|
||||
instance.Configuration.Emojis.EmojiSizeLimit = int(config.GetMediaEmojiLocalMaxSize()) //nolint:gosec
|
||||
instance.Configuration.OIDCEnabled = config.GetOIDCEnabled()
|
||||
|
||||
// URLs
|
||||
|
@ -1695,9 +1695,9 @@ func (c *Converter) InstanceToAPIV2Instance(ctx context.Context, i *gtsmodel.Ins
|
|||
instance.Configuration.Statuses.CharactersReservedPerURL = instanceStatusesCharactersReservedPerURL
|
||||
instance.Configuration.Statuses.SupportedMimeTypes = instanceStatusesSupportedMimeTypes
|
||||
instance.Configuration.MediaAttachments.SupportedMimeTypes = media.SupportedMIMETypes
|
||||
instance.Configuration.MediaAttachments.ImageSizeLimit = int(config.GetMediaRemoteMaxSize())
|
||||
instance.Configuration.MediaAttachments.ImageSizeLimit = int(config.GetMediaRemoteMaxSize()) //nolint:gosec
|
||||
instance.Configuration.MediaAttachments.ImageMatrixLimit = instanceMediaAttachmentsImageMatrixLimit
|
||||
instance.Configuration.MediaAttachments.VideoSizeLimit = int(config.GetMediaRemoteMaxSize())
|
||||
instance.Configuration.MediaAttachments.VideoSizeLimit = int(config.GetMediaRemoteMaxSize()) //nolint:gosec
|
||||
instance.Configuration.MediaAttachments.VideoFrameRateLimit = instanceMediaAttachmentsVideoFrameRateLimit
|
||||
instance.Configuration.MediaAttachments.VideoMatrixLimit = instanceMediaAttachmentsVideoMatrixLimit
|
||||
instance.Configuration.Polls.MaxOptions = config.GetStatusesPollMaxOptions()
|
||||
|
@ -1707,7 +1707,7 @@ func (c *Converter) InstanceToAPIV2Instance(ctx context.Context, i *gtsmodel.Ins
|
|||
instance.Configuration.Accounts.AllowCustomCSS = config.GetAccountsAllowCustomCSS()
|
||||
instance.Configuration.Accounts.MaxFeaturedTags = instanceAccountsMaxFeaturedTags
|
||||
instance.Configuration.Accounts.MaxProfileFields = instanceAccountsMaxProfileFields
|
||||
instance.Configuration.Emojis.EmojiSizeLimit = int(config.GetMediaEmojiLocalMaxSize())
|
||||
instance.Configuration.Emojis.EmojiSizeLimit = int(config.GetMediaEmojiLocalMaxSize()) //nolint:gosec
|
||||
instance.Configuration.OIDCEnabled = config.GetOIDCEnabled()
|
||||
|
||||
// registrations
|
||||
|
|
Loading…
Reference in a new issue