Skip to content

Commit 5ecfd94

Browse files
lundibundiaddaleax
authored andcommitted
test: update and harden http2-reset-flood
* use new maxSessionInvalidFrames to lower the needed frames * slow down requests to generate less redundant after-session-close requests PR-URL: #30534Fixes: #30505 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: David Carlier <[email protected]> Reviewed-By: James M Snell <[email protected]>
1 parent 092a3c2 commit 5ecfd94

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

‎test/parallel/test-http2-reset-flood.js‎

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const{Worker, parentPort } = require('worker_threads');
1313
// the two event loops intermixing, as we are writing in a busy loop here.
1414

1515
if(process.env.HAS_STARTED_WORKER){
16-
constserver=http2.createServer();
16+
constserver=http2.createServer({maxSessionInvalidFrames: 100});
1717
server.on('stream',(stream)=>{
1818
stream.respond({
1919
'content-type': 'text/plain',
@@ -59,19 +59,22 @@ const worker = new Worker(__filename).on('message', common.mustCall((port) =>{
5959
});
6060

6161
letgotError=false;
62+
letstreamId=1;
6263

6364
functionwriteRequests(){
64-
for(leti=1;!gotError;i+=2){
65+
for(leti=1;i<10&&!gotError;i++){
6566
h2header[3]=1;// HEADERS
6667
h2header[4]=0x5;// END_HEADERS|END_STREAM
6768
h2header.writeIntBE(1,0,3);// Length: 1
68-
h2header.writeIntBE(i,5,4);// Stream ID
69+
h2header.writeIntBE(streamId,5,4);// Stream ID
70+
streamId+=2;
6971
// 0x88 = :status: 200
7072
if(!conn.write(Buffer.concat([h2header,Buffer.from([0x88])]))){
71-
process.nextTick(writeRequests);
7273
break;
7374
}
7475
}
76+
if(!gotError)
77+
setImmediate(writeRequests);
7578
}
7679

7780
conn.once('error',common.mustCall(()=>{

0 commit comments

Comments
(0)