As you might have noticed, I am doing some cleanup work on mod_h2 and want to 
create THE PATCH for backporting soon. The new core directives "Protocols" and 
"ProtocolsHonorOrder" are implemented, such as on a server or virtual host one 
may write

   Protocols  h2c http/1.1      # enable h2c and http/1.1 here, preference 
decided by client ordering

   Protocols  http/1.1          # only allow http/1.1 here

   Protocols  h2 http/1.1       # enable h2c and http/1.1 here, with preference 
to h2
   ProtocolsHonorOrder on

   Protocols  YOLO h2 http/1.1  # enable YOLO protocol among others, which has 
no effect unless a module claims to implement it. 

With no "Protocols" specified, all protocols offered by the client and 
implemented by a module may be negotiated with the preference being in the 
client's ordering. This allows "drop in" of protocol modules without further 
configuration.

Inheritance of "Protocols" between servers and virtual hosts is copyOrReplace, 
meaning vhosts without Protocols inherit from base server. vhosts with a 
"Protocols" ignore base server lists. This allows restrictions in the vhosts at 
the cost of some redundancy. But Protocols differences between base servers and 
vhosts seem to be rather esotheric right now. So, I tried to keep it simple.

The "ProtocolsHonorOrder" name I tried to name in the spirit of the 
SSLHonorCipherOrder directive. No strong feelings about it.

I hope this works for everyone. The next weeks might be a good time to think 
about it and propose any changes and correct my mistakes.

Thanks.

<green/>bytes GmbH
Hafenweg 16, 48155 Münster, Germany
Phone: +49 251 2807760. Amtsgericht Münster: HRB5782



Reply via email to