-
Notifications
You must be signed in to change notification settings - Fork 33
Open
Description
I experienced that zsync breaks when the web server sends a quite long header. In my case it is S3 that sends an header access-control-allow-headers that is too big:
access-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, X-Amz-Date, X-Amz-User-Agent, Authorization, x-amz-acl, X-Amz-Content-Sha256, ETag, Accept, Authorization, Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Length, Content-MD5, Content-Range, Content-Type, ETag, Expires, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since, Last-Modified, Location, Origin, Range, X-Amz-Content-Sha256, X-Amz-Date, X-Amz-User-Agent, X-Requested-With, accept-ranges, amz-sdk-invocation-id, amz-sdk-request, x-amz-abort-date, x-amz-abort-rule-id, x-amz-acl, x-amz-content-sha256, x-amz-copy-source, x-amz-copy-source-if-match, x-amz-copy-source-if-modified-since, x-amz-copy-source-if-none-match, x-amz-copy-source-if-unmodified-since, x-amz-copy-source-range, x-amz-copy-source-version-id, x-amz-expiration, x-amz-metadata-directive, x-amz-mp-parts-count, x-amz-restore, x-amz-restore-output-path, x-amz-version-id, x-amz-website-redirect-location, sentry-trace
My local quickfix is to extend the header parsing buffer to 8192 bytes and it should be fine for most use-cases. I can open a Pull Request if you accept some.
Unfortunately my C++ skills are not good enough for an implementation that is independent from buffer length 😅
Metadata
Metadata
Assignees
Labels
No labels