Merge pull request #33504 from overleaf/bg-upgrade-yauzl

Upgrade yauzl library in web to version 3.3.0

GitOrigin-RevId: 82b4158db7a432f4257bd48402840f07801c6d07
This commit is contained in:
Brian Gough
2026-05-08 10:35:56 +01:00
committed by Copybot
parent 11d35bd065
commit 3940f8c2a7
6 changed files with 34 additions and 6 deletions

View File

@@ -138,7 +138,7 @@ function _extractZipFiles(source, destination) {
destFile,
})
zipfile.close() // bail out, stop reading file entries
done(err)
done(new InvalidZipFileError().withCause(err))
} else {
entryFileCount++
zipfile.readEntry() // continue to the next file

View File

@@ -191,7 +191,7 @@
"xml-crypto": "^2.1.6",
"xml2js": "^0.6.2",
"xregexp": "^4.3.0",
"yauzl": "^2.10.0",
"yauzl": "^3.3.0",
"zod": "^4.0.17",
"zod-validation-error": "^4.0.1"
},

View File

@@ -250,6 +250,24 @@ describe('ProjectStructureChanges', function () {
})
})
describe('uploading a project containing a filename that is too long', function () {
let res
beforeEach(async function () {
const { response } = await uploadExampleProject(
owner,
'test_project_with_too_long_filename.zip',
{ allowBadStatus: true }
)
res = response
})
it('should fail with 422 error', function () {
expect(res.statusCode).to.equal(422)
})
})
describe('deleting folders', function () {
beforeEach(async function () {
const { projectId } = await createExampleProject(owner)

View File

@@ -374,7 +374,7 @@ describe('ArchiveManager', function () {
it('should reject with an error', function (ctx) {
expect(ctx.error)
.to.be.instanceOf(Error)
.and.have.property('message', 'Something went wrong')
.and.have.property('message', 'invalid_zip_file')
})
it('should close the zipfile', function (ctx) {
@@ -411,7 +411,7 @@ describe('ArchiveManager', function () {
it('should reject with an error', function (ctx) {
expect(ctx.error)
.to.be.instanceOf(Error)
.and.have.property('message', 'Something went wrong')
.and.have.property('message', 'invalid_zip_file')
})
it('should close the zipfile', function (ctx) {
@@ -449,7 +449,7 @@ describe('ArchiveManager', function () {
it('should reject with an error', function (ctx) {
expect(ctx.error)
.to.be.instanceOf(Error)
.and.have.property('message', 'Something went wrong')
.and.have.property('message', 'invalid_zip_file')
})
it('should destroy the readstream', function (ctx) {
ctx.readStream.destroy.called.should.equal(true)

View File

@@ -7570,7 +7570,7 @@ __metadata:
xml-crypto: "npm:^2.1.6"
xml2js: "npm:^0.6.2"
xregexp: "npm:^4.3.0"
yauzl: "npm:^2.10.0"
yauzl: "npm:^3.3.0"
yup: "npm:^0.32.11"
zod: "npm:^4.0.17"
zod-validation-error: "npm:^4.0.1"
@@ -34926,6 +34926,16 @@ __metadata:
languageName: node
linkType: hard
"yauzl@npm:^3.3.0":
version: 3.3.0
resolution: "yauzl@npm:3.3.0"
dependencies:
buffer-crc32: "npm:~0.2.3"
pend: "npm:~1.2.0"
checksum: 10c0/935e32054171104bdf8a4091180f61b5698d8b90ee64552bb643c2176f815d4215d0764e3f41e0d9a1e4525b37602bf145ec5fd39dd014f0be7290851ce3acce
languageName: node
linkType: hard
"yn@npm:^3.1.1":
version: 3.1.1
resolution: "yn@npm:3.1.1"