diff --git a/lib/db/truncated.go b/lib/db/truncated.go index a1d31977d..b4dbb86da 100644 --- a/lib/db/truncated.go +++ b/lib/db/truncated.go @@ -27,12 +27,12 @@ func (o *FileInfoTruncated) UnmarshalXDRFrom(u *xdr.Unmarshaller) error { o.LocalVersion = int64(u.UnmarshalUint64()) _BlocksSize := int(u.UnmarshalUint32()) if _BlocksSize < 0 { - return xdr.ElementSizeExceeded("Blocks", _BlocksSize, 1000000) + return xdr.ElementSizeExceeded("Blocks", _BlocksSize, 10000000) } else if _BlocksSize == 0 { o.Blocks = nil } else { - if _BlocksSize > 1000000 { - return xdr.ElementSizeExceeded("Blocks", _BlocksSize, 1000000) + if _BlocksSize > 10000000 { + return xdr.ElementSizeExceeded("Blocks", _BlocksSize, 10000000) } for i := 0; i < _BlocksSize; i++ { size := int64(u.UnmarshalUint32()) diff --git a/lib/protocol/message.go b/lib/protocol/message.go index f6ef33f6d..00d72c361 100644 --- a/lib/protocol/message.go +++ b/lib/protocol/message.go @@ -27,7 +27,7 @@ type FileInfo struct { Version Vector LocalVersion int64 CachedSize int64 // noencode (cache only) - Blocks []BlockInfo // max:1000000 + Blocks []BlockInfo // max:10000000 } func (f FileInfo) String() string { diff --git a/lib/protocol/message_xdr.go b/lib/protocol/message_xdr.go index 4b4aff735..8c24dd4ed 100644 --- a/lib/protocol/message_xdr.go +++ b/lib/protocol/message_xdr.go @@ -176,7 +176,7 @@ struct FileInfo { hyper Modified; Vector Version; hyper LocalVersion; - BlockInfo Blocks<1000000>; + BlockInfo Blocks<10000000>; } */ @@ -212,8 +212,8 @@ func (o FileInfo) MarshalXDRInto(m *xdr.Marshaller) error { return err } m.MarshalUint64(uint64(o.LocalVersion)) - if l := len(o.Blocks); l > 1000000 { - return xdr.ElementSizeExceeded("Blocks", l, 1000000) + if l := len(o.Blocks); l > 10000000 { + return xdr.ElementSizeExceeded("Blocks", l, 10000000) } m.MarshalUint32(uint32(len(o.Blocks))) for i := range o.Blocks { @@ -236,12 +236,12 @@ func (o *FileInfo) UnmarshalXDRFrom(u *xdr.Unmarshaller) error { o.LocalVersion = int64(u.UnmarshalUint64()) _BlocksSize := int(u.UnmarshalUint32()) if _BlocksSize < 0 { - return xdr.ElementSizeExceeded("Blocks", _BlocksSize, 1000000) + return xdr.ElementSizeExceeded("Blocks", _BlocksSize, 10000000) } else if _BlocksSize == 0 { o.Blocks = nil } else { - if _BlocksSize > 1000000 { - return xdr.ElementSizeExceeded("Blocks", _BlocksSize, 1000000) + if _BlocksSize > 10000000 { + return xdr.ElementSizeExceeded("Blocks", _BlocksSize, 10000000) } if _BlocksSize <= len(o.Blocks) { o.Blocks = o.Blocks[:_BlocksSize] diff --git a/lib/protocol/protocol.go b/lib/protocol/protocol.go index c2412230c..37fe9570f 100644 --- a/lib/protocol/protocol.go +++ b/lib/protocol/protocol.go @@ -19,8 +19,8 @@ const ( // BlockSize is the standard ata block size (128 KiB) BlockSize = 128 << 10 - // MaxMessageLen is the largest message size allowed on the wire. (64 MiB) - MaxMessageLen = 64 << 20 + // MaxMessageLen is the largest message size allowed on the wire. (512 MiB) + MaxMessageLen = 64 << 23 ) const (