@@ -377,61 +377,6 @@ void quic_conn_closed_err_count_inc(struct quic_conn *qc, struct quic_frame *frm
377377 TRACE_LEAVE (QUIC_EV_CONN_CLOSE , qc );
378378}
379379
380- /* Cancel a request on connection <qc> for stream id <id>. This is useful when
381- * the client opens a new stream but the MUX has already been released. A
382- * STOP_SENDING + RESET_STREAM frames are prepared for emission.
383- *
384- * TODO this function is closely related to H3. Its place should be in H3 layer
385- * instead of quic-conn but this requires an architecture adjustment.
386- *
387- * Returns 1 on success else 0.
388- */
389- int qc_h3_request_reject (struct quic_conn * qc , uint64_t id )
390- {
391- int ret = 0 ;
392- struct quic_frame * ss , * rs ;
393- struct quic_enc_level * qel = qc -> ael ;
394- const uint64_t app_error_code = H3_ERR_REQUEST_REJECTED ;
395-
396- TRACE_ENTER (QUIC_EV_CONN_PRSHPKT , qc );
397-
398- /* Do not emit rejection for unknown unidirectional stream as it is
399- * forbidden to close some of them (H3 control stream and QPACK
400- * encoder/decoder streams).
401- */
402- if (quic_stream_is_uni (id )) {
403- ret = 1 ;
404- goto out ;
405- }
406-
407- ss = qc_frm_alloc (QUIC_FT_STOP_SENDING );
408- if (!ss ) {
409- TRACE_ERROR ("failed to allocate quic_frame" , QUIC_EV_CONN_PRSHPKT , qc );
410- goto out ;
411- }
412-
413- ss -> stop_sending .id = id ;
414- ss -> stop_sending .app_error_code = app_error_code ;
415-
416- rs = qc_frm_alloc (QUIC_FT_RESET_STREAM );
417- if (!rs ) {
418- TRACE_ERROR ("failed to allocate quic_frame" , QUIC_EV_CONN_PRSHPKT , qc );
419- qc_frm_free (qc , & ss );
420- goto out ;
421- }
422-
423- rs -> reset_stream .id = id ;
424- rs -> reset_stream .app_error_code = app_error_code ;
425- rs -> reset_stream .final_size = 0 ;
426-
427- LIST_APPEND (& qel -> pktns -> tx .frms , & ss -> list );
428- LIST_APPEND (& qel -> pktns -> tx .frms , & rs -> list );
429- ret = 1 ;
430- out :
431- TRACE_LEAVE (QUIC_EV_CONN_PRSHPKT , qc );
432- return ret ;
433- }
434-
435380/* Remove a <qc> quic-conn from its ha_thread_ctx list. If <closing> is true,
436381 * it will immediately be reinserted in the ha_thread_ctx quic_conns_clo list.
437382 */
@@ -1204,6 +1149,7 @@ struct quic_conn *qc_new_conn(void *target,
12041149 qc -> conn = conn ;
12051150 qc -> qcc = NULL ;
12061151 qc -> app_ops = NULL ;
1152+ qc -> request_reject = NULL ;
12071153 qc -> path = NULL ;
12081154
12091155 /* Keyupdate: required to safely call quic_tls_ku_free() from
0 commit comments