Re: Trying to get a mod_h3 working using openssl and nghttp3

Tarek <[email protected]> Wed, 22 Jul 2026 03:16:04 -0400
Newsgroups gmane.comp.apache.devel
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------yyw10nCz3WEoBVRRoGcL6lHV
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

Expanded to add support for mpm worker and prefork.

PATCH: 
https://github.com/machine-moon/httpd/commit/07edab0c0bb314e140117fb357b24b9f622c0357

Any concerns?


On 2026-07-17 17:49, Tarek wrote:
>
> Hi,
>
> This patch adds optional hooks so modules that manage connections 
> outside the event MPM accept loop (UDP connections) can be accounted for.
>
> Patch against trunk for feedback: 
> https://github.com/machine-moon/httpd/commit/9ae19a4b0af00973d867f0740a709e059b4e6c7c
>
> This patch is critical for mod_http3.
>
> You can find the project here: https://github.com/machine-moon/mod_http3
>
>
> On 2026-05-12 14:55, Pierre Brochard wrote:
>>
>> A syntax to specify udp listening sockets should be found for 
>> virtualhosts. nginx add quic and reuseport keyword to their listen 
>> directive in config files.
>>
>> Pierre
>>
>> Le 12/05/2026 à 19:11, Pierre a écrit :
>>> I was thinking of adding the udp ports to the list of ports to 
>>> listen in the listening thread of thé event pool.
>>>
>>> Le 12 mai 2026 18:48, tarek i <[email protected]> a écrit :
>>>
>>>     Hi,
>>>
>>>     I’m new here and participating in GSoC 2026, currently working
>>>     on the mod_http3 project. I’ve made some cleanups to the
>>>     codebase here: https://github.com/machine-moon/mod_http3/
>>>
>>>     Could someone point me toward beginner documentation on the
>>>     Worker MPM?
>>>
>>>     Also I’d appreciate any help with testing my changes using
>>>     (curl, chrome, etc).
>>>
>>>     Cheers,
>>>     Tarek
>>>
>>>
>>>     On Tue, May 12, 2026 at 11:53 AM Eric Covener
>>>     <[email protected]> wrote:
>>>
>>>         On Tue, May 12, 2026 at 11:24 AM jean-frederic clere
>>>         <[email protected]> wrote:
>>>         >
>>>         > On 5/10/26 6:53 PM, Pierre Brochard wrote:
>>>         > > Hi,
>>>         > >
>>>         > > What about the Event MPM which has workers threads, a
>>>         thread for waiting
>>>         > > sockets and others (for each child) ?
>>>         > >
>>>         > > It may be more adequate than the Worker MPM ?
>>>         >
>>>         > If we want to use the openssl streams like sockets we need
>>>         to write a
>>>         > specialized worker, for the moment the prototype use
>>>         threads that aren't
>>>         > in the MPM logic.
>>>         >
>>>         > I did a bunch of tries and on linux the upd data seem to
>>>         stick on the
>>>         > process/thread that was used to "accept" the new connection.
>>>
>>>         Did you see PT_USER / ap_mpm_register_poll_callback_timeout
>>>         in trunk?
>>>
>>>
> -- 
> Cheers,
> Tarek
>
> GPG Fingerprint: B9BD295C26A1ED077599810CA284507F96DB79EF

-- 
Cheers,
Tarek

GPG Fingerprint: B9BD295C26A1ED077599810CA284507F96DB79EF

--------------yyw10nCz3WEoBVRRoGcL6lHV
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi,<br>
      <br>
      Expanded to add support for mpm worker and prefork.<br>
      <br>
      PATCH:
<a class="moz-txt-link-freetext" href="https://github.com/machine-moon/httpd/commit/07edab0c0bb314e140117fb357b24b9f622c0357">https://github.com/machine-moon/httpd/commit/07edab0c0bb314e140117fb357b24b9f622c0357</a><br>
      <br>
      Any concerns?<br>
      <br>
      <br>
    </p>
    <div class="moz-cite-prefix">On 2026-07-17 17:49, Tarek wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:[email protected]">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>Hi,<br>
        <br>
        This patch adds optional hooks so modules that manage
        connections outside the event MPM accept loop (UDP connections)
        can be accounted for.<br>
        <br>
        Patch against trunk for feedback:
        <a class="moz-txt-link-freetext"
href="https://github.com/machine-moon/httpd/commit/9ae19a4b0af00973d867f0740a709e059b4e6c7c"
          moz-do-not-send="true">https://github.com/machine-moon/httpd/commit/9ae19a4b0af00973d867f0740a709e059b4e6c7c</a><br>
        <br>
        This patch is critical for mod_http3. <br>
        <br>
        You can find the project here: <a class="moz-txt-link-freetext"
          href="https://github.com/machine-moon/mod_http3"
          moz-do-not-send="true">https://github.com/machine-moon/mod_http3</a></p>
      <div class="moz-cite-prefix"><br>
      </div>
      <div class="moz-cite-prefix">On 2026-05-12 14:55, Pierre Brochard
        wrote:<br>
      </div>
      <blockquote type="cite"
cite="mid:[email protected]">
        <meta http-equiv="Content-Type"
          content="text/html; charset=UTF-8">
        <p>A syntax to specify udp listening sockets should be found for
          virtualhosts. nginx add quic and reuseport keyword to their
          listen directive in config files.</p>
        <p>Pierre</p>
        <div class="moz-cite-prefix">Le 12/05/2026 à 19:11, Pierre a
          écrit :<br>
        </div>
        <blockquote type="cite"
cite="mid:[email protected]">
          <meta http-equiv="content-type"
            content="text/html; charset=UTF-8">
          <div dir="auto">I was thinking of adding the udp ports to the
            list of ports to listen in the listening thread of thé event
            pool.</div>
          <div class="gmail_extra"><br>
            <div class="gmail_quote">Le 12 mai 2026 18:48, tarek i <a
                class="moz-txt-link-rfc2396E"
                href="mailto:[email protected]" moz-do-not-send="true">&lt;[email protected]&gt;</a>
              a écrit :<br type="attribution">
              <blockquote class="quote"
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                <div dir="ltr">
                  <div dir="ltr">Hi,<br>
                    <br>
                    I’m new here and participating in GSoC 2026,
                    currently working on the mod_http3 project. I’ve
                    made some cleanups to the codebase here: <a
                      href="https://github.com/machine-moon/mod_http3/"
                      moz-do-not-send="true"
                      class="moz-txt-link-freetext">https://github.com/machine-moon/mod_http3/</a><br>
                    <br>
                    Could someone point me toward beginner documentation
                    on the Worker MPM?<br>
                    <br>
                    Also I’d appreciate any help with testing my
                    changes using (curl, chrome, etc).<br>
                    <br>
                    Cheers,<br>
                    Tarek<br>
                    <br>
                  </div>
                  <br>
                  <div>
                    <div dir="ltr">On Tue, May 12, 2026 at 11:53 AM Eric
                      Covener &lt;<a href="mailto:[email protected]"
                        moz-do-not-send="true"
                        class="moz-txt-link-freetext">[email protected]</a>&gt;
                      wrote:<br>
                    </div>
                    <blockquote
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb( 204 , 204 , 204 );padding-left:1ex">On
                      Tue, May 12, 2026 at 11:24 AM jean-frederic clere
                      &lt;<a href="mailto:[email protected]"
                        moz-do-not-send="true"
                        class="moz-txt-link-freetext">[email protected]</a>&gt;
                      wrote:<br>
                      &gt;<br>
                      &gt; On 5/10/26 6:53 PM, Pierre Brochard wrote:<br>
                      &gt; &gt; Hi,<br>
                      &gt; &gt;<br>
                      &gt; &gt; What about the Event MPM which has
                      workers threads, a thread for waiting<br>
                      &gt; &gt; sockets and others (for each child) ?<br>
                      &gt; &gt;<br>
                      &gt; &gt; It may be more adequate than the Worker
                      MPM ?<br>
                      &gt;<br>
                      &gt; If we want to use the openssl streams like
                      sockets we need to write a<br>
                      &gt; specialized worker, for the moment the
                      prototype use threads that aren't<br>
                      &gt; in the MPM logic.<br>
                      &gt;<br>
                      &gt; I did a bunch of tries and on linux the upd
                      data seem to stick on the<br>
                      &gt; process/thread that was used to "accept" the
                      new connection.<br>
                      <br>
                      Did you see PT_USER / 
                      ap_mpm_register_poll_callback_timeout in trunk?<br>
                    </blockquote>
                  </div>
                </div>
              </blockquote>
            </div>
            <br>
          </div>
        </blockquote>
      </blockquote>
      <pre class="moz-signature" cols="72">-- 
Cheers,
Tarek

GPG Fingerprint: B9BD295C26A1ED077599810CA284507F96DB79EF</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Cheers,
Tarek

GPG Fingerprint: B9BD295C26A1ED077599810CA284507F96DB79EF</pre>
  </body>
</html>

--------------yyw10nCz3WEoBVRRoGcL6lHV--