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